袁 浩,劉紫燕,梁 靜,梁水波,孫昊堃
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽(yáng) 550025)
視覺(jué)導(dǎo)航作為機(jī)器人和機(jī)器視覺(jué)的研究基礎(chǔ)[1],已有諸多相關(guān)研究成果。傳統(tǒng)的機(jī)器人導(dǎo)航需要事先完成環(huán)境建圖,在對(duì)環(huán)境有了解的情況下才能較為精準(zhǔn)地導(dǎo)航,大致需要經(jīng)過(guò)3個(gè)步驟:同步定位和建圖(SLAM)[2]、路徑規(guī)劃[3]和運(yùn)動(dòng)控制,但無(wú)法滿足要求實(shí)時(shí)性或緊急狀況下的機(jī)器人導(dǎo)航,這對(duì)無(wú)人機(jī)[4]和航天[5]的實(shí)時(shí)導(dǎo)航控制造成了諸多不便。
為了解決上述問(wèn)題,即實(shí)現(xiàn)在無(wú)地圖狀況下的導(dǎo)航,Zhu等人[6]首次將深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)應(yīng)用到視覺(jué)導(dǎo)航領(lǐng)域,提出了一個(gè)完整的視覺(jué)導(dǎo)航架構(gòu),該框架使機(jī)器人僅僅依靠圖像輸入就可導(dǎo)航到目的地,極大地推動(dòng)了機(jī)器人視覺(jué)導(dǎo)航研究的發(fā)展。該框架的局限在于當(dāng)前觀察的和目標(biāo)必須處于同一個(gè)場(chǎng)景下,而且策略網(wǎng)絡(luò)已經(jīng)在此場(chǎng)景下得到了很好的訓(xùn)練。在跨場(chǎng)景的導(dǎo)航過(guò)程中,模型的性能有明顯下降。文獻(xiàn)[7]在Zhu等人工作的基礎(chǔ)上將LSTM加在策略生成層之前,以保存最近所走的路徑,但穩(wěn)定性較差。文獻(xiàn)[8]用可變通用后繼特征逼近器(Variational Universal Successor Features Approximator,VUSFA)解決相當(dāng)復(fù)雜的視覺(jué)導(dǎo)航,此框架很容易適應(yīng)處理導(dǎo)航以外的其他任務(wù)。文獻(xiàn)[9]提出了一種混合異步通用后繼表示(Hybrid Asynchronous Universal Successor Representations,HAUSR)的方法,將它與異步優(yōu)勢(shì)演員-評(píng)論家算法(Asynchronous Advantage Actor-Critic,A3C)結(jié)合從而提升模型在新場(chǎng)景下的適應(yīng)能力,但是對(duì)于長(zhǎng)時(shí)間及跨場(chǎng)景的導(dǎo)航任務(wù),導(dǎo)航的性能會(huì)有所下降。
本文在Zhu等人提出的目標(biāo)驅(qū)動(dòng)視覺(jué)導(dǎo)航框架上改進(jìn),提出了一種基于長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)和后繼表征的視覺(jué)導(dǎo)航網(wǎng)絡(luò)模型,使智能體可以跨場(chǎng)景導(dǎo)航(各個(gè)場(chǎng)景下的性能不會(huì)有較大差異)并具有一定軌跡意識(shí),即結(jié)合已有的軌跡在選擇動(dòng)作時(shí)能夠有意識(shí)地躲避場(chǎng)景中的障礙物,提升在多個(gè)場(chǎng)景下的導(dǎo)航性能。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是一種允許信息持續(xù)存在的神經(jīng)網(wǎng)絡(luò)[10],依靠已有的知識(shí)預(yù)測(cè)未知的信息,其結(jié)構(gòu)如圖1所示。
圖1 RNN原理Fig.1 Schematic diagram of RNN
RNN主要分為輸入層、隱藏層和輸出層。圖1中,輸入Xt為字或詞的特征向量,U為輸入層到隱藏層的參數(shù)矩陣,At為隱藏層的向量,V為隱藏層到輸出層的參數(shù)矩陣,Yt為輸出向量,W為每個(gè)時(shí)間點(diǎn)的權(quán)重矩陣。RNN之所以可以解決序列問(wèn)題,是因?yàn)樗梢杂涀∶恳粫r(shí)刻的信息,每一時(shí)刻的隱藏層不僅由該時(shí)刻的輸入層決定,還由上一時(shí)刻的隱藏層決定,輸出Yt和隱藏層向量At的更新公式為:
Yt=g(V·At),
(1)
At=f(U·Xt+W·At-1),
(2)
式中,g和f為激活函數(shù)。
RNN中的一部分信息會(huì)被循環(huán)使用,但RNN的主要問(wèn)題在于無(wú)法保存很多時(shí)間步之前的信息,當(dāng)某個(gè)信息經(jīng)歷一定的時(shí)間后可能無(wú)法利用它進(jìn)行預(yù)測(cè)或判斷新的信息,這種問(wèn)題稱為“長(zhǎng)依賴”。
LSTM是一種改進(jìn)RNN[11],通過(guò)增加“遺忘門”以避免“長(zhǎng)依賴”問(wèn)題,方法是在產(chǎn)生當(dāng)前時(shí)刻輸出時(shí),通過(guò)一個(gè)狀態(tài)參量來(lái)實(shí)現(xiàn)遺忘功能。LSTM網(wǎng)絡(luò)可以長(zhǎng)時(shí)間記憶信息,不僅可以從單個(gè)數(shù)據(jù)點(diǎn)提取信息,還可以從整個(gè)數(shù)據(jù)系列中提取信息,主要分為遺忘門、輸入門和輸出門3種。其結(jié)構(gòu)如圖2所示。
圖2 LSTM原理Fig.2 Schematic diagram of LSTM
門控單元:
(3)
(4)
(5)
存儲(chǔ)單元:
(6)
(7)
輸出狀態(tài):
ht=ot·tanh(ct),
(8)
式中,W,U表示輸入量Xt,ht-1的權(quán)值;b為偏置向量,用以調(diào)和門控激活函數(shù)的輸入水平;ct和ht是2個(gè)記憶向量;Wf,bf,Wi,bi,Wo,bo可以通過(guò)訓(xùn)練獲得?!?·)一般取Sigmoid函數(shù),激活函數(shù)Softmax取tanh(·),即:
(9)
(10)
強(qiáng)化學(xué)習(xí)(Reinforcement Learning,RL)的基本原理是利用智能體(Agent)與環(huán)境交互以產(chǎn)生新的數(shù)據(jù),再利用新的數(shù)據(jù)進(jìn)行策略的迭代學(xué)習(xí),從而改善自身的決策。通過(guò)迭代學(xué)習(xí),智能體學(xué)到最優(yōu)策略[12]。智能體根據(jù)每個(gè)時(shí)刻的環(huán)境狀態(tài)信息來(lái)學(xué)習(xí),可以用馬爾科夫決策過(guò)程(Markov Decision Process,MDP)來(lái)表示。智能體基于當(dāng)前狀態(tài)s,選擇以策略π為指導(dǎo)的行為,期望其未來(lái)折現(xiàn)獎(jiǎng)勵(lì)R最大:
(11)
式中,γ∈[0,1]為折扣因子。通過(guò)設(shè)置較大的γ值,鼓勵(lì)模型更加關(guān)注未來(lái)的回報(bào)。如果γ下降,模型的訓(xùn)練將更關(guān)注當(dāng)前行動(dòng)。
DRL模型定義轉(zhuǎn)換元組為,其中s表示機(jī)器人當(dāng)前的狀態(tài),a表示它的動(dòng)作,r表示獎(jiǎng)勵(lì),s′表示通過(guò)轉(zhuǎn)換實(shí)現(xiàn)的下一個(gè)狀態(tài)。
轉(zhuǎn)移概率P(st+1|s,a)表示從狀態(tài)s選擇動(dòng)作a轉(zhuǎn)移到狀態(tài)s′的轉(zhuǎn)移概率,對(duì)于任何目標(biāo)g,定義偽獎(jiǎng)勵(lì)函數(shù)rg(st,at,st+1)和偽折扣因子γg(s),對(duì)于任意的策略π(at|st),其通用值函數(shù)為:
(12)
通過(guò)讓策略不斷學(xué)習(xí),使智能體在每集(Episode)中得到的未來(lái)折扣獎(jiǎng)勵(lì)最大化[13]。
目標(biāo)驅(qū)動(dòng)視覺(jué)導(dǎo)航智能體的目的是學(xué)習(xí)一個(gè)隨機(jī)策略[14]π(st,gt),其中st是當(dāng)前狀態(tài),gt是目標(biāo)狀態(tài)。策略的輸出π是動(dòng)作的概率分布。智能體的目標(biāo)是通過(guò)最少的步數(shù)導(dǎo)航到目標(biāo)位置。經(jīng)過(guò)訓(xùn)練,智能體能夠在新的場(chǎng)景下導(dǎo)航,從而驗(yàn)證模型的泛化能力[15]。
如前文所述,基于DRL的視覺(jué)導(dǎo)航框架最早由Zhu提出,該框架融合了DRL模型和Actor-Critic算法來(lái)解決以往DRL算法泛化性差的問(wèn)題,智能體可以與環(huán)境交互,在此環(huán)境中收集更多有用的樣本[16]。目標(biāo)驅(qū)動(dòng)的視覺(jué)導(dǎo)航網(wǎng)絡(luò)模型如圖3所示,采用4張連續(xù)歷史幀描述智能體的動(dòng)作,再用預(yù)訓(xùn)練的ResNet50網(wǎng)絡(luò)分別進(jìn)行特征提取,投影到特征空間后,把2個(gè)孿生層的輸出特征串聯(lián)起來(lái)得到融合特征,最后輸入到特定的場(chǎng)景得到對(duì)應(yīng)的策略和Q值。
圖3 目標(biāo)驅(qū)動(dòng)的視覺(jué)導(dǎo)航網(wǎng)絡(luò)框架Fig.3 Target-driven visual navigation network framework
在特定的當(dāng)前場(chǎng)景中需要采取的動(dòng)作不僅取決于當(dāng)前狀態(tài),還取決于走過(guò)的路徑。Zhu等人提出的目標(biāo)驅(qū)動(dòng)視覺(jué)導(dǎo)航模型未將之前的狀態(tài)作為參考,故本文將狀態(tài)表征與LSTM相結(jié)合實(shí)現(xiàn)長(zhǎng)期路徑感知目標(biāo)驅(qū)動(dòng)導(dǎo)航,融合LSTM的改進(jìn)強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)如圖4所示。
圖4 改進(jìn)的融合LSTM的視覺(jué)導(dǎo)航網(wǎng)絡(luò)Fig.4 Improved visual navigation network with LSTM integrated
該網(wǎng)絡(luò)由圖像輸入、共享孿生網(wǎng)絡(luò)、策略生成網(wǎng)絡(luò)以及狀態(tài)表征與獎(jiǎng)勵(lì)預(yù)測(cè)網(wǎng)絡(luò)4部分組成。圖像輸入是智能體當(dāng)前觀察到的及目標(biāo)所在地的RGB圖像,經(jīng)由共享孿生網(wǎng)絡(luò)提取特征并投影到特征空間判斷2幅圖像的空間位置關(guān)系后,輸入有LSTM的策略生成網(wǎng)絡(luò),使用A3C算法,最終輸出四維的策略分布和單一的值函數(shù)。
2.2.1 共享孿生網(wǎng)絡(luò)
共享孿生網(wǎng)絡(luò)由圖4中ResNet50和全連接層構(gòu)成[17],當(dāng)前觀察的圖像和目標(biāo)圖像分別對(duì)應(yīng)共享孿生網(wǎng)絡(luò)的兩端。首先將輸入的RGB圖像(84×84×3)投影到特征空間產(chǎn)生2 048維特征,經(jīng)ResNet50和全連接層后產(chǎn)生512維特征。共享孿生網(wǎng)絡(luò)的參數(shù)在所有場(chǎng)景中的目標(biāo)之間共享以確保模型的泛化性。
2.2.2 策略生成網(wǎng)絡(luò)
策略生成網(wǎng)絡(luò)由特征融合層、全連接層和LSTM層組成,S1,S2,S3和S4分別為4個(gè)特征融合層,由S2引出一路經(jīng)過(guò)全連接層和LSTM后與S4的結(jié)果融合,最終輸出策略π和對(duì)應(yīng)的Q值。由于使用了A3C算法,智能體可以在多個(gè)線程下同時(shí)訓(xùn)練,并將訓(xùn)練結(jié)果用于更新模型參數(shù),輸入的當(dāng)前狀態(tài)和目標(biāo)狀態(tài)的圖像會(huì)被以融合特征的方式輸入LSTM作為“記憶”來(lái)保存,在應(yīng)對(duì)相似的場(chǎng)景或任務(wù)時(shí)能夠更好地做出動(dòng)作決策。
2.2.3 狀態(tài)表征與獎(jiǎng)勵(lì)預(yù)測(cè)網(wǎng)絡(luò)
對(duì)于視覺(jué)導(dǎo)航來(lái)說(shuō),當(dāng)場(chǎng)景更換時(shí),需要智能體基于對(duì)其他任務(wù)的經(jīng)驗(yàn)來(lái)選擇動(dòng)作。通用后繼表征(Universal Successor Representations,USR)用于表示可轉(zhuǎn)移的知識(shí)[18],通過(guò)獲得一個(gè)通用價(jià)值函數(shù),并以此來(lái)獲得最優(yōu)的策略,其獎(jiǎng)勵(lì)函數(shù)rg近似表示為[19]:
rg≈φ(st,at,st+1;θφ)Τω(gt;θω)≈φ(st+1;θφ)Τω(gt;θω),
(13)
即將獎(jiǎng)勵(lì)函數(shù)rg近似地表示為狀態(tài)st+1的編碼和目標(biāo)gt編碼的乘積形式,其中,θφ和θω是網(wǎng)絡(luò)訓(xùn)練的參數(shù)。于是,可以將通用價(jià)值函數(shù)改寫為:
ω(gt;θω)=ψπ(st,gt;θψ)Τω(gt;θω)。
(14)
而狀態(tài)st所對(duì)應(yīng)的USR為ψπ(st,gt),這樣對(duì)于任何目標(biāo)gt,都可以根據(jù)式(14)計(jì)算它的值函數(shù),從而為其設(shè)計(jì)最優(yōu)策略,USR使得知識(shí)可以在目標(biāo)之間轉(zhuǎn)移,從而增強(qiáng)模型的泛化能力[9]。狀態(tài)表征和獎(jiǎng)勵(lì)預(yù)測(cè)網(wǎng)絡(luò)如圖5所示。
圖5 獎(jiǎng)勵(lì)預(yù)測(cè)與狀態(tài)表征網(wǎng)絡(luò)Fig.5 Reward prediction and state representation network
2.2.4 動(dòng)作空間
在3D環(huán)境AI2-THOR中,每個(gè)場(chǎng)景被劃分為0.5 m×0.5 m的網(wǎng)格,類似于一個(gè)網(wǎng)格世界環(huán)境。智能體有4個(gè)離散的動(dòng)作:向前移動(dòng)0.5 m、向后移動(dòng)0.5 m、左轉(zhuǎn)和右轉(zhuǎn),采用恒定的步長(zhǎng)(0.5 m)和轉(zhuǎn)角(90°)。為了模擬現(xiàn)實(shí)世界系統(tǒng)動(dòng)力學(xué)中的不確定性,在每個(gè)位置的步長(zhǎng)和轉(zhuǎn)彎上添加高斯噪聲。
2.2.5 獎(jiǎng)勵(lì)設(shè)置
設(shè)置獎(jiǎng)勵(lì)函數(shù)如式(15)所示,如果智能體到達(dá)指定目標(biāo),則給予10的正獎(jiǎng)勵(lì),如果智能體發(fā)生碰撞,則給予0.1的負(fù)獎(jiǎng)勵(lì);如果在行進(jìn)狀態(tài),則給予0.01的負(fù)獎(jiǎng)勵(lì),以刺激智能體不斷探索:
(15)
實(shí)驗(yàn)環(huán)境為Ubuntu16.04,GPU為NVIDIA2080Ti,深度學(xué)習(xí)框架為TensorFlow,采用的DRL算法為A3C,學(xué)習(xí)過(guò)程中使用8線程A3C算法進(jìn)行參數(shù)優(yōu)化,采用Adam優(yōu)化器,學(xué)習(xí)率從[10-4,5×10-3]區(qū)間內(nèi)按對(duì)數(shù)均勻分布取樣,折扣因子γ=0.99。仿真環(huán)境AI2-THOR由120張逼真的平面圖組成,如圖6所示,包含4種不同的房間布局:廚房、客廳、臥室和浴室,每種布局有30張平面圖。將每個(gè)場(chǎng)景類型的前20個(gè)房間作為訓(xùn)練集,其余10個(gè)房間作為評(píng)估。在100個(gè)線程下同步訓(xùn)練,每個(gè)線程下都對(duì)不同的目標(biāo)學(xué)習(xí),訓(xùn)練一個(gè)模型需要100萬(wàn)個(gè)訓(xùn)練幀,從仿真環(huán)境中的20個(gè)室內(nèi)場(chǎng)景隨機(jī)抽取導(dǎo)航的起點(diǎn)和終點(diǎn)進(jìn)行訓(xùn)練。
圖6 AI2-THOR仿真環(huán)境Fig.6 AI2-THOR simulation environment
基線(Baseline):Zhu等人提出的視覺(jué)導(dǎo)航模型,這是目標(biāo)驅(qū)動(dòng)的視覺(jué)導(dǎo)航領(lǐng)域最早提出的模型。LSTM-Nav[7]:在Zhu等人基礎(chǔ)上在特征融合層之后,最終的策略輸出前添加LSTM網(wǎng)絡(luò)。HAUSR:提出了一種通用異步后繼特征表示方法,與A3C算法結(jié)合,使得模型有更好的泛化能力。
本文評(píng)價(jià)指標(biāo)為平均軌跡長(zhǎng)度(Average Trajectory Length,ATL)、平均獎(jiǎng)勵(lì)(Average Reward,AR)和平均碰撞率(Average Collision,AC)。在4種房間類型共20個(gè)場(chǎng)景中評(píng)估,每個(gè)場(chǎng)景下共100集(Episode),計(jì)算方法為:
(16)
(17)
(18)
式中,tli,ri,ci分別是每集(Episode)導(dǎo)航的路徑長(zhǎng)度、獎(jiǎng)勵(lì)和碰撞次數(shù)。
為了驗(yàn)證改進(jìn)模型的正確性和有效性,在AI2-THOR的浴室_02、臥室_04、廚房_02和客廳_08的部分場(chǎng)景下訓(xùn)練,結(jié)果如圖7~圖9所示,平均軌跡長(zhǎng)度單位為步數(shù),訓(xùn)練幀數(shù)單位為百萬(wàn)。
圖7 Baseline在4個(gè)場(chǎng)景下的平均軌跡Fig.7 Average trajectory of baseline in four scenarios
圖8 LSTM-Nav在4個(gè)場(chǎng)景下的平均軌跡Fig.8 Average trajectory of LSTM-Nav in four scenarios
圖9 本文模型在4個(gè)場(chǎng)景下的平均軌跡長(zhǎng)度Fig.9 Average trajectory length of the proposed model in four scenarios
從模型訓(xùn)練的收斂速度來(lái)看,Baseline收斂速度最快,改進(jìn)模型收斂速度介于Baseline和LSTM-Nav之間,LSTM-Nav的收斂速度最慢。
從平均軌跡長(zhǎng)度來(lái)看,Baseline除了浴室_02場(chǎng)景以外,在其他3個(gè)場(chǎng)景下最終收斂到的平均軌跡長(zhǎng)度效果較差,而LSTM-Nav除了廚房_02之外,其余3個(gè)場(chǎng)景下收斂的平均軌跡長(zhǎng)度均好于Baseline,而本文提出的模型相較于Baseline和LSTM-Nav的指標(biāo)都要更好一些,在4個(gè)場(chǎng)景下的平均軌跡長(zhǎng)度均收斂到一個(gè)較好的水平。
相較于Baseline,在收斂速度慢兩百萬(wàn)時(shí)間步的情況下,改進(jìn)模型在所有場(chǎng)景下的平均軌跡長(zhǎng)度能夠收斂到一個(gè)很低的水平,尤其是在除了浴室_02外其余3個(gè)場(chǎng)景下,最終的平均軌跡長(zhǎng)度遠(yuǎn)遠(yuǎn)小于Baseline的結(jié)果,平均軌跡長(zhǎng)度減少約50%;對(duì)比LSTM-Nav,除了廚房_02場(chǎng)景外(LSTM-Nav在此場(chǎng)景下泛化能力較差),平均軌跡長(zhǎng)度減少約30%。
除此之外,本文在測(cè)試集上進(jìn)行了模型的泛化性測(cè)試,在其他20個(gè)場(chǎng)景下測(cè)試,將文獻(xiàn)[7]中的HAUSR(Hybrid Asynchronous Universal Successor Representations)模型的方法加入作為對(duì)比,各模型的平均軌跡長(zhǎng)度測(cè)試結(jié)果如表1所示。
表1 不同模型的平均軌跡長(zhǎng)度對(duì)比
表1中,除了在臥室_04下和LSTM-Nav效果接近以外,其余每個(gè)場(chǎng)景下改進(jìn)模型都優(yōu)于其他3個(gè)模型,相較于baseline提升約8%,相較于LSTM-Nav提升約5%,因?yàn)長(zhǎng)STM-Nav在廚房_02場(chǎng)景下泛化能力較差,所以不將其計(jì)算在內(nèi),相較于HAUSR提升約6%,可以看到改進(jìn)模型和HAUSR在臥室_04和廚房_02場(chǎng)景下的性能較為接近,但在其他2個(gè)場(chǎng)景下的性能好于HAUSR,由此可以看出改進(jìn)模型有較好的泛化能力。由于LSTM-Nav在某些場(chǎng)景下泛化能力較弱,所以在比較平均獎(jiǎng)勵(lì)和平均碰撞率時(shí)選擇用性能更好的HAUSR代替。其次,在4個(gè)場(chǎng)景下對(duì)3個(gè)模型的平均獎(jiǎng)勵(lì)進(jìn)行測(cè)試,結(jié)果如表2所示。
表2 不同模型的平均獎(jiǎng)勵(lì)對(duì)比
表2中,Baseline和HAUSR只有在臥室_04場(chǎng)景下相差0.01,模型比其他2個(gè)模型有較小提升,雖然這與獎(jiǎng)勵(lì)設(shè)置有關(guān),但在一定程度上也能反映改進(jìn)模型的性能。最后,對(duì)不同模型在多個(gè)場(chǎng)景下的碰撞率進(jìn)行測(cè)試,結(jié)果如表3所示。
表3 不同模型的平均碰撞率對(duì)比
表3中,HAUSR相比Baseline在廚房_02和客廳_08場(chǎng)景下有較大提升,減少約為40%。同樣,改進(jìn)模型相比較HAUSR在廚房_02和客廳_08場(chǎng)景下也有較為明顯的提升,證明改進(jìn)模型良好的性能。
本文在已有的基于DRL視覺(jué)導(dǎo)航模型的基礎(chǔ)上做出改進(jìn),提出了一種新的視覺(jué)導(dǎo)航模型,該模型結(jié)合了LSTM和USR,能夠有效地利用智能體以往的路徑信息并對(duì)接下來(lái)要采取的動(dòng)作做出有效預(yù)測(cè),在AI2-THOR仿真環(huán)境下的實(shí)驗(yàn)結(jié)果表明,本文的方法相較于其他方法具有一定提升,在仿真環(huán)境下有較好的導(dǎo)航效果。未來(lái)的工作將考慮將視覺(jué)信息和語(yǔ)義等信息融合后實(shí)施跨模態(tài)的導(dǎo)航,智能化的視覺(jué)導(dǎo)航要想真正應(yīng)用到實(shí)際機(jī)器人上,需要進(jìn)一步提升模型在實(shí)際場(chǎng)景中的泛化能力,人機(jī)交互也是未來(lái)研究的一個(gè)重要方向。