基于深度強(qiáng)化學(xué)習(xí)的區(qū)域化視覺(jué)導(dǎo)航方法
人工智能技術(shù)與咨詢(xún)?
本文來(lái)自《上海交通大學(xué)學(xué)報(bào)》,作者李鵬等
關(guān)注微信公眾號(hào):人工智能技術(shù)與咨詢(xún)。了解更多咨詢(xún)!
?
在環(huán)境中高效導(dǎo)航是智能行為的基礎(chǔ),也是機(jī)器人控制領(lǐng)域研究的熱點(diǎn)之一.實(shí)現(xiàn)自主導(dǎo)航的傳統(tǒng)方法是結(jié)合一系列硬件和算法解決同步定位和建圖、路徑規(guī)劃及動(dòng)作控制等問(wèn)題,該類(lèi)方法在實(shí)際應(yīng)用中取得了良好效果,但需人工設(shè)計(jì)特征和預(yù)先構(gòu)造地圖[1].通過(guò)對(duì)空間認(rèn)知行為的研究,動(dòng)物神經(jīng)學(xué)家發(fā)現(xiàn),哺乳動(dòng)物可基于視覺(jué)輸入和環(huán)境信息(食物、巢穴、配偶等)在海馬體內(nèi)形成認(rèn)知地圖[2],從而實(shí)現(xiàn)大范圍導(dǎo)航.在探索環(huán)境過(guò)程中,端到端的學(xué)習(xí)方法可建立視覺(jué)到動(dòng)作的直接映射,使得動(dòng)作不會(huì)與視覺(jué)信息分離,而是在一起相互學(xué)習(xí),以此獲得與任務(wù)相關(guān)的空間表征.近年來(lái)備受關(guān)注的深度強(qiáng)化學(xué)習(xí)[3]具有類(lèi)似的學(xué)習(xí)方法,可通過(guò)構(gòu)建表征完成具有挑戰(zhàn)性的導(dǎo)航任務(wù).
當(dāng)機(jī)器人與環(huán)境交互時(shí),導(dǎo)航被看作一個(gè)尋優(yōu)過(guò)程[4],而隨著深度模型的發(fā)展和異步優(yōu)勢(shì)訓(xùn)練方法的應(yīng)用,深度強(qiáng)化學(xué)習(xí)在導(dǎo)航領(lǐng)域展現(xiàn)出強(qiáng)大的生命力.Zhu等[5]將預(yù)先訓(xùn)練好的ResNet與Actor-Critic(AC)算法結(jié)合,并在根據(jù)實(shí)際場(chǎng)景設(shè)計(jì)的3D仿真環(huán)境下進(jìn)行測(cè)試,實(shí)現(xiàn)了目標(biāo)驅(qū)動(dòng)的視覺(jué)導(dǎo)航,同時(shí)證明該方法具有更好的目標(biāo)泛化能力.Mirowski[4]等提出Nav A3C模型,且在訓(xùn)練過(guò)程中增加深度預(yù)測(cè)和閉環(huán)檢測(cè)任務(wù),使得在同樣訓(xùn)練數(shù)據(jù)下可兩次更新網(wǎng)絡(luò)參數(shù).Jaderberg等[6]則研究了關(guān)于非監(jiān)督輔助任務(wù)對(duì)訓(xùn)練的影響,這兩種方法為提升導(dǎo)航性能提供了新的思路.為適應(yīng)大比例地圖,Oh等[7]在探索過(guò)程中將重要環(huán)境信息存儲(chǔ)在外部記憶體中,待需要時(shí)再進(jìn)行調(diào)用,但當(dāng)處于非常大或終身學(xué)習(xí)場(chǎng)景中時(shí),該系統(tǒng)的內(nèi)存容量會(huì)隨探索周期的持續(xù)而線性增長(zhǎng).面對(duì)這種情況,可考慮通過(guò)分割環(huán)境緩解模型記憶壓力,類(lèi)似的區(qū)域劃分方法已在多個(gè)領(lǐng)域發(fā)揮作用.黃健等[8]在標(biāo)準(zhǔn)粒子群算法的基礎(chǔ)上加入?yún)^(qū)域劃分方法,針對(duì)不同區(qū)域的粒子采用不同策略自適應(yīng)調(diào)整粒子的慣性權(quán)重和學(xué)習(xí)因子,達(dá)到尋優(yōu)與收斂的平衡,降低了由聲速不確定性引發(fā)的水下定位誤差.張俊等[9]將邊指針和區(qū)域劃分結(jié)合,提高了大規(guī)模數(shù)據(jù)處理效率.Ruan等[10]則利用局部區(qū)域提高了數(shù)據(jù)關(guān)聯(lián)準(zhǔn)確性.在醫(yī)學(xué)研究中,區(qū)域劃分是研究腦片圖像中不同腦區(qū)分子表達(dá)、細(xì)胞數(shù)目及神經(jīng)網(wǎng)絡(luò)連接模式量化和比較的基礎(chǔ)[11],而在航空運(yùn)輸領(lǐng)域,區(qū)域劃分更是與航線規(guī)劃密切相關(guān).同樣,在利用深度強(qiáng)化學(xué)習(xí)實(shí)現(xiàn)導(dǎo)航的方法中,也有涉及區(qū)域劃分的研究.Kulkarni等[12]在框架中應(yīng)用繼承表征(SR)實(shí)現(xiàn)深度繼承強(qiáng)化學(xué)習(xí)(DSR),并在兩個(gè)簡(jiǎn)單的導(dǎo)航任務(wù)中進(jìn)行實(shí)驗(yàn).與深度Q網(wǎng)絡(luò)(DQN)[13]相比,DSR能更快適應(yīng)末端獎(jiǎng)勵(lì)值變化,且對(duì)于多區(qū)域環(huán)境可進(jìn)行子目標(biāo)提取.Shih等[14]提出一種分布式深度強(qiáng)化學(xué)習(xí)模型,可用于室內(nèi)不同區(qū)域間的導(dǎo)航.Tessler等[15]模仿動(dòng)物學(xué)習(xí)方式提出一種終身學(xué)習(xí)模型,在模型中可重復(fù)使用和同化其他任務(wù)中學(xué)習(xí)到的技巧,其中就包括某一環(huán)境下的導(dǎo)航策略,通過(guò)技巧之間的組合,可實(shí)現(xiàn)區(qū)域間導(dǎo)航.
本文研究在終身學(xué)習(xí)模型的基礎(chǔ)上展開(kāi),面對(duì)分布式環(huán)境,不再使用單一模型在整個(gè)環(huán)境中導(dǎo)航,而是利用子模塊在各區(qū)域內(nèi)獨(dú)立學(xué)習(xí)控制策略,并通過(guò)區(qū)域化模型集成控制策略實(shí)現(xiàn)大范圍導(dǎo)航.與此同時(shí),在訓(xùn)練方法上做出兩點(diǎn)改進(jìn):① 在子模塊中增加獎(jiǎng)勵(lì)預(yù)測(cè)任務(wù),緩解導(dǎo)航任務(wù)固有的獎(jiǎng)勵(lì)稀疏性,構(gòu)建對(duì)獎(jiǎng)勵(lì)敏感的空間表征.② 在原有探索策略基礎(chǔ)上結(jié)合深度信息躲避障礙物,防止遍歷停滯.實(shí)驗(yàn)在第一人稱(chēng)視角的3D環(huán)境下進(jìn)行.
1 深度強(qiáng)化學(xué)習(xí)簡(jiǎn)介
深度強(qiáng)化學(xué)習(xí)是深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的結(jié)合,利用深度學(xué)習(xí)可自動(dòng)抽象高維數(shù)據(jù)(圖像、文本、音頻等)的特性,解決了強(qiáng)化學(xué)習(xí)由于內(nèi)存、計(jì)算及樣本復(fù)雜度等引發(fā)的維數(shù)災(zāi)難問(wèn)題,這給人工智能領(lǐng)域帶來(lái)了革命性的變化,預(yù)示對(duì)視覺(jué)世界具有更高層次理解的端到端系統(tǒng)的建立.其中,典型架構(gòu)為深度Q網(wǎng)絡(luò)[13]及深度遞歸Q網(wǎng)絡(luò)[16].
1.1 深度Q網(wǎng)絡(luò)
深度Q網(wǎng)絡(luò)是第一個(gè)被證明的可以在多種環(huán)境中直接通過(guò)視覺(jué)輸入學(xué)習(xí)控制策略的強(qiáng)化學(xué)習(xí)算法,其模型如圖1所示,其輸入是4個(gè)連續(xù)串聯(lián)的狀態(tài)幀.
圖1?? DQN模型
?
Fig.1?? DQN model
?
標(biāo)準(zhǔn)的強(qiáng)化學(xué)習(xí)通過(guò)與環(huán)境交互實(shí)現(xiàn),在每一個(gè)時(shí)間步t,智能體會(huì)根據(jù)當(dāng)前環(huán)境狀態(tài)st和策略π選擇一個(gè)動(dòng)作at,在執(zhí)行動(dòng)作以后,將獲得一個(gè)獎(jiǎng)勵(lì)信號(hào)rt,并進(jìn)入下一狀態(tài)st+1.定義Rt為每一個(gè)時(shí)間步的累積折扣獎(jiǎng)勵(lì):
Rt=?[Math Processing Error]∑t'=tTγt'-trt'
(1)
式中:T為回合的最大步數(shù);γ∈[0, 1]為折扣因子;t'為下一時(shí)間步;rt'為下一時(shí)間步的獎(jiǎng)勵(lì).DQN使用動(dòng)作值函數(shù)學(xué)習(xí)控制策略,在給定策略π的情況下,動(dòng)作值函數(shù)Qπ定義為狀態(tài)s下執(zhí)行動(dòng)作a后的期望回報(bào):
Qπ(s,?a)=E[Rt|st=s,?at=a]
(2)
在定義Qπ的同時(shí)定義最優(yōu)動(dòng)作值函數(shù)Q*,即Q*(s,?a)=?[Math Processing Error]maxπQπ(s,?a),借助貝爾曼方程可迭代更新動(dòng)作值函數(shù):
Qi+1(s,?a)=Es'[r+γ[Math Processing Error]maxa'Qi(s',?a')]
(3)
式中:s'及a'分別為下一時(shí)間步的狀態(tài)和動(dòng)作.當(dāng)i→∞時(shí),Qi→Q*.DQN使用一個(gè)參數(shù)為θ的深度卷積神經(jīng)網(wǎng)絡(luò)擬合Q值,此時(shí)同樣可以利用貝爾曼等式更新參數(shù)θ,定義均方誤差損失函數(shù):
Lt(θt)=Es,a,r,s'[(yt-?[Math Processing Error]Qθt(s,?a))2]
(4)
式中:yt=r+γ[Math Processing Error]maxa'[Math Processing Error]Qθt(s',?a')代表目標(biāo),通過(guò)微分損失函數(shù)可得梯度更新值:
[Math Processing Error]ΔθtLt(θt)=Es,a,r,s'[(yt-?[Math Processing Error]Qθt(s,a))?[Math Processing Error]ΔθtQθt(s,?a)]
(5)
通過(guò)在環(huán)境中學(xué)習(xí)不斷減小損失函數(shù),使得Q(s,?a;θ)≈Q*(s,?a).其實(shí)DQN并不是第一個(gè)嘗試?yán)蒙窠?jīng)網(wǎng)絡(luò)實(shí)現(xiàn)強(qiáng)化學(xué)習(xí)的模型,它的前身是神經(jīng)擬合Q迭代(NFQ)[17],并且DQN架構(gòu)與Lange等[18]提出的模型密切相關(guān),而DQN之所以能達(dá)到與專(zhuān)業(yè)游戲測(cè)試人員相當(dāng)?shù)姆謹(jǐn)?shù),是因?yàn)閼?yīng)用了兩種關(guān)鍵改進(jìn):① 目標(biāo)網(wǎng)絡(luò),與標(biāo)準(zhǔn)的Q-learning相比,這種方法使用一組參數(shù)滯后的網(wǎng)絡(luò)生成目標(biāo),可在更新Q(st,?at)和yt的時(shí)間點(diǎn)之間增加延遲,從而降低策略發(fā)散或振蕩的可能性.② 經(jīng)驗(yàn)回放,這是一種受生物學(xué)啟發(fā)的機(jī)制,通過(guò)對(duì)經(jīng)驗(yàn)池中樣本均勻采樣,可有效打破數(shù)據(jù)的時(shí)間相關(guān)性,同時(shí)平滑數(shù)據(jù)分布.從訓(xùn)練角度看,經(jīng)驗(yàn)池的使用可大大減少與環(huán)境所需的交互量,并且能夠提高批量數(shù)據(jù)吞吐量.目標(biāo)網(wǎng)絡(luò)和經(jīng)驗(yàn)回放在隨后的深度強(qiáng)化學(xué)習(xí)方法中也得到了應(yīng)用和發(fā)展[19].
1.2 深度遞歸Q網(wǎng)絡(luò)
DQN已被證明能夠從原始屏幕像素輸入學(xué)習(xí)人類(lèi)級(jí)別的控制策略,正如其名字一樣,DQN根據(jù)狀態(tài)中每一個(gè)可能動(dòng)作的Q值(或回報(bào))選擇動(dòng)作,在Q值估計(jì)足夠準(zhǔn)確的情況下,可通過(guò)在每個(gè)時(shí)間步選擇Q值最大的動(dòng)作獲取最優(yōu)策略.然而,由1.1節(jié)可知,DQN的輸入是由智能體遇到的4個(gè)狀態(tài)組成的,這種從有限狀態(tài)學(xué)習(xí)的映射,本身也是有限的,因此,它無(wú)法掌握那些要求玩家記住比過(guò)去4個(gè)狀態(tài)更遠(yuǎn)事件的游戲.換句話說(shuō),任何需要超過(guò)4幀內(nèi)存的游戲都不會(huì)出現(xiàn)馬爾可夫式,此時(shí)游戲不再是一個(gè)馬爾可夫決策過(guò)程(MDP),而是一個(gè)部分可見(jiàn)的馬爾可夫決策過(guò)程(POMDP)[20].當(dāng)使用DQN在POMDP中學(xué)習(xí)控制策略時(shí),DQN的性能會(huì)有所下降,因?yàn)樵跔顟B(tài)部分可觀察的情況下,智能體需記住以前的狀態(tài)才能選擇最優(yōu)動(dòng)作.為此,Hausknecht等[16]將具有記憶功能的長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LSTM)[21]與DQN結(jié)合,提出深度遞歸Q網(wǎng)絡(luò)(DRQN),其模型如圖2所示.
圖2?? DRQN模型
?
Fig.2?? DRQN model
?
為隔離遞歸性影響,對(duì)DQN結(jié)構(gòu)進(jìn)行最小程度修改,只將DQN中第一個(gè)全連接層替換為相同大小的LSTM層,使LSTM輕易與DQN結(jié)合.實(shí)驗(yàn)中設(shè)計(jì)了多種環(huán)境測(cè)試DRQN處理部分可觀測(cè)狀態(tài)的效果:① 當(dāng)使用完整觀察狀態(tài)進(jìn)行訓(xùn)練并使用部分觀察狀態(tài)進(jìn)行評(píng)估時(shí),DRQN可更好地應(yīng)對(duì)信息丟失帶來(lái)的影響.② 在每個(gè)時(shí)間步只有一個(gè)狀態(tài)幀輸入時(shí),DRQN 仍可跨幀集成信息學(xué)習(xí)控制策略.
2 區(qū)域化導(dǎo)航方法
基于對(duì)分布式環(huán)境的分析,以深度強(qiáng)化學(xué)習(xí)為基礎(chǔ),在各區(qū)域內(nèi)學(xué)習(xí)控制策略,同時(shí)通過(guò)區(qū)域化模型結(jié)合控制策略完成復(fù)雜環(huán)境下的導(dǎo)航任務(wù).在學(xué)習(xí)過(guò)程中,為提高訓(xùn)練效率及導(dǎo)航性能,在子模塊中增加獎(jiǎng)勵(lì)預(yù)測(cè)任務(wù),并結(jié)合深度信息躲避障礙物.
2.1 景深避障
高效探索未知環(huán)境是導(dǎo)航的基礎(chǔ),以哺乳動(dòng)物為例,當(dāng)將其置于一個(gè)陌生環(huán)境時(shí),它會(huì)根據(jù)環(huán)境中的顏色、氣味及光照等特征快速遍歷空間,以便于后續(xù)的目的性行為.在設(shè)計(jì)機(jī)器人探索策略時(shí),同樣力求高效遍歷狀態(tài)空間,并盡量減少與障礙物碰撞,但由于傳感器限制,機(jī)器人并不能獲得如此多的環(huán)境信息,因此在探索起始階段需使用啟發(fā)式的探索策略,并結(jié)合硬件輔助完成遍歷過(guò)程.比較典型的探索方案是DQN以及DRQN所使用的ε-greedy[12,?15]策略,該策略在每一個(gè)時(shí)間步t選擇動(dòng)作at的方法如下式所示:
at=?[Math Processing Error]random(at∈A),εargmaxa∈AQ(st,a),1-ε
(6)
其中,ε在探索開(kāi)始時(shí)設(shè)置為1,并隨探索步數(shù)的增加線性減少,最后固定為一個(gè)比較小的值.在訓(xùn)練階段,機(jī)器人主要通過(guò)視覺(jué)信息在區(qū)域內(nèi)自主學(xué)習(xí).因此,當(dāng)撞到障礙物時(shí),如果此時(shí)沒(méi)有較好的避障措施,那么將長(zhǎng)時(shí)間停留在一個(gè)地點(diǎn).為了防止遍歷停滯,提高探索效率,本文在ε-greedy探索策略基礎(chǔ)上,結(jié)合狀態(tài)深度信息為探索動(dòng)作添加限制,單個(gè)回合的探索流程如圖3所示.
圖3?? 探索流程
Fig.3?? Exploration process
從流程圖可以看出,景深避障需在執(zhí)行動(dòng)作之前完成,即當(dāng)機(jī)器人獲取視覺(jué)信息后,并不立即使用視覺(jué)信息選取動(dòng)作,而是先通過(guò)狀態(tài)深度圖中的最小值與閾值相比較,在判斷是否撞到障礙物后再執(zhí)行下一步動(dòng)作.
2.2 獎(jiǎng)勵(lì)預(yù)測(cè)
在學(xué)習(xí)導(dǎo)航策略過(guò)程中,機(jī)器人需識(shí)別出具有高回報(bào)或高獎(jiǎng)勵(lì)的狀態(tài),以便于更高效地學(xué)習(xí)值函數(shù)和策略.然而,環(huán)境中的獎(jiǎng)勵(lì)往往是稀疏分布的,目標(biāo)也只有一個(gè),這就提出一個(gè)問(wèn)題:在不包含獎(jiǎng)勵(lì)的狀態(tài)下,智能體應(yīng)通過(guò)什么學(xué)習(xí)以及如何學(xué)習(xí).
其實(shí)除獎(jiǎng)勵(lì)外,環(huán)境中還包含大量可以用來(lái)學(xué)習(xí)的目標(biāo),例如當(dāng)前或后續(xù)幀中的某些特征,傳統(tǒng)的無(wú)監(jiān)督學(xué)習(xí)就是通過(guò)重建這些特征實(shí)現(xiàn)加速學(xué)習(xí)的.相反,在輔助任務(wù)[6]中,機(jī)器人的目標(biāo)是預(yù)測(cè)和控制環(huán)境中的特征,并把它們當(dāng)作強(qiáng)化學(xué)習(xí)中的偽獎(jiǎng)勵(lì),在缺少獎(jiǎng)勵(lì)的情況下進(jìn)行學(xué)習(xí).在狀態(tài)空間中,獎(jiǎng)勵(lì)一般代表環(huán)境中的長(zhǎng)期目標(biāo),而偽獎(jiǎng)勵(lì)代表環(huán)境中的短期目標(biāo),當(dāng)偽獎(jiǎng)勵(lì)的目標(biāo)與獎(jiǎng)勵(lì)的目標(biāo)緊密相關(guān)時(shí),將有助于形成對(duì)目標(biāo)敏感的空間表征.導(dǎo)航的目標(biāo)是最大化獎(jiǎng)勵(lì),為緩解獎(jiǎng)勵(lì)稀疏性和促進(jìn)表征學(xué)習(xí),在區(qū)域?qū)Ш阶幽K中增加獎(jiǎng)勵(lì)預(yù)測(cè)任務(wù),其模型如圖4所示.
圖4?? 獎(jiǎng)勵(lì)預(yù)測(cè)模型
Fig.4?? Reward prediction model
模型中通過(guò)前饋網(wǎng)絡(luò)連接被卷積編碼的狀態(tài)實(shí)現(xiàn)獎(jiǎng)勵(lì)預(yù)測(cè),其中有兩點(diǎn)值得注意:① 獎(jiǎng)勵(lì)預(yù)測(cè)主要針對(duì)感知環(huán)境的卷積部分進(jìn)行優(yōu)化,除用于獲取對(duì)獎(jiǎng)勵(lì)敏感的表征外,不會(huì)影響控制策略的學(xué)習(xí),所以獎(jiǎng)勵(lì)預(yù)測(cè)使用與動(dòng)作選取不同的體系結(jié)構(gòu).② 在模型訓(xùn)練方面,雖然獎(jiǎng)勵(lì)預(yù)測(cè)與動(dòng)作選取同步更新,但前者沒(méi)有使用在線學(xué)習(xí)方法,而是利用經(jīng)驗(yàn)池更新.在訓(xùn)練過(guò)程中,獎(jiǎng)勵(lì)預(yù)測(cè)需通過(guò)3幀連續(xù)序列Sτ={sτ-3,?sτ-2,?sτ-1}預(yù)測(cè)在隨后觀測(cè)中的獎(jiǎng)勵(lì)rτ,但不要求其給出具體數(shù)值,所用損失函數(shù)為交叉熵分類(lèi):
LRP=-?[Math Processing Error]rτlgr^τ+(1-rτ)lg(1-r^τ)
(7)
式中:?[Math Processing Error]r^τ為預(yù)測(cè)值.此外,為提高表征構(gòu)建效率,不再使用隨機(jī)方式采樣訓(xùn)練樣本,而是以P=0.5的概率從經(jīng)驗(yàn)池中抽取包含獎(jiǎng)勵(lì)的序列,經(jīng)驗(yàn)池中數(shù)據(jù)也會(huì)隨策略π產(chǎn)生的數(shù)據(jù)更新.
2.3 區(qū)域化導(dǎo)航模型
哺乳動(dòng)物具有非凡的空間探索和創(chuàng)造能力,通過(guò)感知不斷變化的環(huán)境可準(zhǔn)確地回到幾百米,甚至上千米以外的巢穴,但對(duì)于移動(dòng)機(jī)器人,隨著狀態(tài)和動(dòng)作空間的擴(kuò)張,導(dǎo)航性能會(huì)隨之下降,特別是當(dāng)面對(duì)具有多區(qū)域特性的大比例環(huán)境時(shí),往往會(huì)陷入無(wú)限探索困境.受終身學(xué)習(xí)模型啟發(fā),本文提出一種區(qū)域化導(dǎo)航方法,面對(duì)分布式環(huán)境,該方法使用單獨(dú)的子模塊在各區(qū)域內(nèi)學(xué)習(xí)控制策略,模塊結(jié)構(gòu)如圖5所示,圖中價(jià)值函數(shù)Vπ定義為在給定策略π的情況下以狀態(tài)s為起點(diǎn)的期望回報(bào):
[Math Processing Error]Vmπ(s)=ERt|st=s
(8)
圖5?? 區(qū)域?qū)Ш阶幽K
Fig.5?? Submodule of region navigation
式中:m為區(qū)域編號(hào).模塊中包括動(dòng)作選取和獎(jiǎng)勵(lì)預(yù)測(cè)兩部分.在整個(gè)學(xué)習(xí)過(guò)程中,動(dòng)作選取和獎(jiǎng)勵(lì)預(yù)測(cè)既相互獨(dú)立又相輔相成,它們會(huì)按照各自的方式更新參數(shù):動(dòng)作選取部分通過(guò)與環(huán)境交互不斷優(yōu)化導(dǎo)航策略,獎(jiǎng)勵(lì)預(yù)測(cè)部分則利用經(jīng)驗(yàn)池中的數(shù)據(jù)構(gòu)建表征.同時(shí)它們又相互聯(lián)系:當(dāng)執(zhí)行更優(yōu)導(dǎo)航策略后,經(jīng)驗(yàn)池中包含獎(jiǎng)勵(lì)的狀態(tài)會(huì)增多,有助于形成對(duì)獎(jiǎng)勵(lì)敏感的表征,而表征會(huì)以參數(shù)共享的方式傳遞到動(dòng)作選取部分,進(jìn)一步提升導(dǎo)航性能.
當(dāng)所有區(qū)域控制策略訓(xùn)練完成時(shí),按照收斂的先后順序?qū)⒉呗约傻侥P蛢?nèi)部,模型中的每一層代表一個(gè)區(qū)域的控制策略.環(huán)境控制策略由相同的子模塊在整個(gè)環(huán)境中學(xué)習(xí)獲得,主要起中繼作用,因此不要求其收斂,當(dāng)所有區(qū)域策略收斂后,環(huán)境控制策略也停止訓(xùn)練,并以當(dāng)前參數(shù)集成到模型中.本文策略選取的方法是基于動(dòng)作Q值實(shí)現(xiàn)的,為更好地分辨區(qū)域,不再使用單一觀測(cè)選取策略,而是綜合考慮機(jī)器人在環(huán)境中某一位置前后左右4個(gè)方向的觀測(cè)值:
Qv=?[Math Processing Error]Q(s,a)+Q90(s,a)+Q180(s,a)+Q270(s,a)4
(9)
式中:Qv為動(dòng)作均值;Q(s,?a)、Q90(s,?a)、Q180(s,?a)及Q270(s,?a)為機(jī)器人在起始位置每向右旋轉(zhuǎn)90°?度所選動(dòng)作的Q值.同時(shí)定義?[Math Processing Error]Qv0,用于表示環(huán)境控制策略的動(dòng)作均值,([Math Processing Error]Qv1,?[Math Processing Error]Qv2, …,?[Math Processing Error]QvN)用于表示各區(qū)域控制策略的動(dòng)作均值.計(jì)算出的各策略動(dòng)作均值存儲(chǔ)在緩沖區(qū),在結(jié)合最大值函數(shù)后,可選出擁有最大動(dòng)作均值的控制策略:
[Math Processing Error]I=max{Qv0,Qv1,…,QvN}
(10)
式中:I為最優(yōu)策略編號(hào).如果此時(shí)選取的是某一區(qū)域的控制策略,那么執(zhí)行該策略直到區(qū)域內(nèi)目標(biāo),然后將策略選取權(quán)交回.如果此時(shí)選取的是環(huán)境控制策略,只執(zhí)行單步動(dòng)作就將策略選取權(quán)交回,其流程如圖6所示.
圖6?? 多區(qū)域?qū)Ш搅鞒?/strong>
Fig.6?? Multi-area navigation process
3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)環(huán)境及參數(shù)設(shè)置
實(shí)驗(yàn)在第一人稱(chēng)3D游戲平臺(tái)DeepMind Lab[22]內(nèi)進(jìn)行,在實(shí)驗(yàn)過(guò)程中,仿真環(huán)境以60幀/s的速度運(yùn)行,部分運(yùn)行畫(huà)面如圖7所示.動(dòng)作空間是離散的,但允許細(xì)微控制,智能體可執(zhí)行向前、向后或側(cè)向加速,并以小幅度增量旋轉(zhuǎn).獎(jiǎng)勵(lì)通過(guò)在環(huán)境到達(dá)目標(biāo)獲得,每次接觸目標(biāo)后,智能體都將被隨機(jī)重置到一個(gè)新的起點(diǎn),同時(shí)開(kāi)始下一輪探索.構(gòu)建測(cè)試環(huán)境如圖8所示,其中包括單區(qū)域和多區(qū)域環(huán)境.在每個(gè)單區(qū)域環(huán)境中,包含1個(gè)目標(biāo)(+10)和4個(gè)促進(jìn)探索的稀疏獎(jiǎng)勵(lì)(蘋(píng)果,+1).
圖7?? 仿真環(huán)境運(yùn)行畫(huà)面
Fig.7?? Running screens of simulation environment
?
圖8?? 測(cè)試環(huán)境
Fig.8?? Test environment
區(qū)域?qū)Ш阶幽K結(jié)構(gòu)已在2.3節(jié)給出,在該模塊中使用具有遺忘門(mén)的LSTM[23],除接受卷積編碼的狀態(tài)外,LSTM還融合上一時(shí)間步的動(dòng)作和獎(jiǎng)勵(lì)信息,策略和值函數(shù)可由LSTM輸出線性預(yù)測(cè)所得.卷積層和全連接層后緊接ReLU非線性單元,卷積層濾波器數(shù)量、尺寸、跨度以及全連接層和LSTM層參數(shù)如表1所示.學(xué)習(xí)過(guò)程中使用8線程異步優(yōu)勢(shì)演員評(píng)論(A3C)方法[24]優(yōu)化參數(shù),ε在探索環(huán)境的前106步由1線性降低到0.1,并固定為0.1,學(xué)習(xí)率從[10-4,5×10-3]區(qū)間內(nèi)按對(duì)數(shù)均勻分布取樣,折扣因子γ=0.99.機(jī)器人學(xué)習(xí)導(dǎo)航的過(guò)程主要以獎(jiǎng)勵(lì)分值-時(shí)間(S-t)圖呈現(xiàn),獎(jiǎng)勵(lì)為1 h內(nèi)(虛擬時(shí)間)機(jī)器人所獲獎(jiǎng)勵(lì)與完成回合數(shù)的平均值,每個(gè)回合機(jī)器人執(zhí)行 4500 步動(dòng)作.
表1?? 神經(jīng)網(wǎng)絡(luò)參數(shù)
Tab.1? Neural network parameters
網(wǎng)絡(luò)部分 | 動(dòng)作選取 | 獎(jiǎng)勵(lì)預(yù)測(cè) |
---|---|---|
卷積層1 | 16, 8, 4 | 16, 8, 4 |
卷積層2 | 32, 4, 2 | 32, 4, 2 |
全連接層 | 256 | 128 |
LSTM | 256 | 無(wú) |
3.2 訓(xùn)練方法實(shí)驗(yàn)
3.2.1 景深避障實(shí)驗(yàn) 在結(jié)合深度信息探索環(huán)境時(shí),需預(yù)先設(shè)定碰撞閾值,所以在實(shí)驗(yàn)過(guò)程中首先研究不同約束值對(duì)訓(xùn)練的影響,然后對(duì)比使用不同深度信息探索環(huán)境的方法.在測(cè)試景深避障過(guò)程中只執(zhí)行導(dǎo)航子模塊中的動(dòng)作選取部分,不執(zhí)行獎(jiǎng)勵(lì)預(yù)測(cè)部分,實(shí)驗(yàn)在3個(gè)單區(qū)域環(huán)境中進(jìn)行.
使用不同約束值避障實(shí)驗(yàn)結(jié)果如圖9所示,數(shù)據(jù)為3個(gè)單區(qū)域平均所得.由圖9可知,當(dāng)閾值取?[Math Processing Error]0,3區(qū)間內(nèi)不同值時(shí),機(jī)器人探索效率和學(xué)習(xí)效果也各不相同.如果閾值設(shè)置為0,也就是只有在機(jī)器人撞到障礙物后才給予懲罰,會(huì)導(dǎo)致探索效率低下.而當(dāng)閾值較大時(shí),機(jī)器人將過(guò)早執(zhí)行避障措施,間接干擾了導(dǎo)航動(dòng)作,致使需要更多步數(shù)才能獲取獎(jiǎng)勵(lì).當(dāng)閾值為1或2時(shí),機(jī)器人既能有效避障,又可維持較高獎(jiǎng)勵(lì)的導(dǎo)航行為,但由于閾值為2時(shí)控制策略缺乏穩(wěn)定性,因此文中閾值設(shè)定為1.
圖9?? 不同閾值實(shí)驗(yàn)結(jié)果
Fig.9?? Experiment results of different thresholds
結(jié)合不同深度信息探索環(huán)境的實(shí)驗(yàn)結(jié)果如圖10所示,其中Nav A3C+D2參考文獻(xiàn)[4],深度圖認(rèn)知參考文獻(xiàn)[25].由圖10可知,Nav A3C+D2通過(guò)預(yù)測(cè)環(huán)境深度信息,高效利用學(xué)習(xí)樣本,可在短時(shí)間內(nèi)掌握控制策略,但該模型中包含兩層LSTM且結(jié)合深度預(yù)測(cè)任務(wù),訓(xùn)練過(guò)程中需消耗更多計(jì)算量.而深度圖認(rèn)知以環(huán)境深度信息作為輸入,易于形成景深趨向的控制策略,可高效探索未知環(huán)境,但只利用深度信息,忽略了環(huán)境的顏色特征,導(dǎo)致機(jī)器人無(wú)法進(jìn)一步理解環(huán)境.景深避障則是利用深度信息作為碰撞判別依據(jù),使機(jī)器人在探索環(huán)境過(guò)程中有效避障,且不會(huì)給訓(xùn)練帶來(lái)額外負(fù)擔(dān),不過(guò)對(duì)目標(biāo)導(dǎo)向行為沒(méi)有實(shí)質(zhì)性的幫助,這也是本文后續(xù)增加獎(jiǎng)勵(lì)預(yù)測(cè)的原因.
圖10?? 探索方法實(shí)驗(yàn)結(jié)果
Fig.10?? Experiment results of exploration method
3.2.2 獎(jiǎng)勵(lì)預(yù)測(cè)實(shí)驗(yàn) 在獎(jiǎng)勵(lì)預(yù)測(cè)任務(wù)中,要求機(jī)器人在給定連續(xù)3幀的情況下,預(yù)測(cè)在隨后不可見(jiàn)幀中的獎(jiǎng)勵(lì),但無(wú)需預(yù)測(cè)獎(jiǎng)勵(lì)的具體數(shù)值,只需給出有無(wú)獎(jiǎng)勵(lì)即可.同時(shí),使用經(jīng)驗(yàn)池抽取樣本,忽略原始數(shù)據(jù)中獎(jiǎng)勵(lì)序列的概率分布,以更高的概率抽取獎(jiǎng)勵(lì)事件.實(shí)驗(yàn)在單區(qū)域環(huán)境中進(jìn)行,在測(cè)試獎(jiǎng)勵(lì)預(yù)測(cè)過(guò)程中不使用景深避障,實(shí)驗(yàn)結(jié)果如圖11所示.由圖11可知,在增加獎(jiǎng)勵(lì)預(yù)測(cè)后,機(jī)器人可在相同時(shí)間內(nèi),學(xué)習(xí)到更高獎(jiǎng)勵(lì)的導(dǎo)航策略,并在一定程度上穩(wěn)定學(xué)習(xí)過(guò)程.
圖11?? 獎(jiǎng)勵(lì)預(yù)測(cè)實(shí)驗(yàn)結(jié)果
Fig.11?? Experiment results of reward prediction
為進(jìn)一步證明獎(jiǎng)勵(lì)預(yù)測(cè)對(duì)空間表征的影響,抽取[4×106,5×106] h區(qū)間內(nèi)的一個(gè)動(dòng)作序列構(gòu)建價(jià)值函數(shù)-時(shí)間圖(v-t圖),其結(jié)果如圖12所示.由圖12可知,在首次找到目標(biāo)后,具有獎(jiǎng)勵(lì)預(yù)測(cè)的機(jī)器人可在隨后的探索中以更少的動(dòng)作再次到達(dá)目標(biāo),從而提高單個(gè)回合內(nèi)所獲獎(jiǎng)勵(lì).由此可知,共享卷積層對(duì)模型性能起著決定性作用,同時(shí)訓(xùn)練動(dòng)作選取和獎(jiǎng)勵(lì)預(yù)測(cè),可使卷積層內(nèi)核捕捉到獎(jiǎng)勵(lì)的相關(guān)信息,并將包含獎(jiǎng)勵(lì)存在和位置的特征給予LSTM,形成對(duì)獎(jiǎng)勵(lì)敏感的空間表征,促進(jìn)目標(biāo)導(dǎo)向的控制策略.
圖12?? 價(jià)值函數(shù)-時(shí)間圖
Fig.12?? Value functions versus time
3.3 區(qū)域?qū)Ш綄?shí)驗(yàn)
3.3.1 單區(qū)域?qū)Ш綄?shí)驗(yàn) 為驗(yàn)證區(qū)域化模型在分布式環(huán)境中的性能,分別在單區(qū)域及多區(qū)域環(huán)境中進(jìn)行測(cè)試.在單區(qū)域環(huán)境中,并不涉及策略的切換與結(jié)合,因此只使用區(qū)域?qū)Ш阶幽K在環(huán)境中學(xué)習(xí)控制策略,并使用Nav A3C+D2和終身學(xué)習(xí)模型中的深度技巧模塊進(jìn)行對(duì)比.
單區(qū)域環(huán)境導(dǎo)航實(shí)驗(yàn)結(jié)果如圖13所示,由圖13可知,由于本身以DQN模型為基礎(chǔ),深度技巧模塊難以適應(yīng)部分可見(jiàn)環(huán)境,在所有單區(qū)域環(huán)境中均表現(xiàn)出學(xué)習(xí)時(shí)間長(zhǎng),所獲獎(jiǎng)勵(lì)少的缺陷.而在結(jié)合景深避障和獎(jiǎng)勵(lì)預(yù)測(cè)后,區(qū)域?qū)Ш阶幽K在單區(qū)域1和單區(qū)域3中展現(xiàn)出與Nav A3C+D2類(lèi)似的學(xué)習(xí)能力,但在單區(qū)域2內(nèi),由于環(huán)境特性,Nav A3C+D2具有更好的控制策略.
圖13?? 單區(qū)域?qū)Ш綄?shí)驗(yàn)結(jié)果
Fig.13?? Experiment result of single-area navigation
3.3.2 多區(qū)域?qū)Ш綄?shí)驗(yàn) 多區(qū)域環(huán)境由單區(qū)域環(huán)境組合而成,圖8(d)中包含兩個(gè)區(qū)域,圖8(e)中包含3個(gè)區(qū)域.在訓(xùn)練過(guò)程中,無(wú)論環(huán)境中包含幾個(gè)區(qū)域,區(qū)域化模型和終身學(xué)習(xí)模型都會(huì)根據(jù)人工劃分的區(qū)域分配相應(yīng)的子模塊在各區(qū)域內(nèi)獨(dú)立學(xué)習(xí),而Nav A3C+D2需在整個(gè)環(huán)境內(nèi)學(xué)習(xí)控制策略.與單區(qū)域不同,在多區(qū)域環(huán)境中,當(dāng)機(jī)器人接觸到目標(biāo)后,將被隨機(jī)重置到分布式環(huán)境中的任一位置,而不再局限于單個(gè)區(qū)域.
多區(qū)域?qū)Ш綄?shí)驗(yàn)結(jié)果如圖14所示,其中,在各區(qū)域策略穩(wěn)定收斂前,區(qū)域化模型和終身學(xué)習(xí)模型獎(jiǎng)勵(lì)為同一時(shí)間內(nèi)各子模塊所獲獎(jiǎng)勵(lì)的平均值.待策略集成后,獎(jiǎng)勵(lì)為區(qū)域間導(dǎo)航所得.由圖14可知,在分布式環(huán)境中,隨著區(qū)域數(shù)量的增加,受神經(jīng)網(wǎng)絡(luò)記憶能力限制,使用單一模型的Nav A3C+D2和區(qū)域?qū)Ш阶幽K的性能會(huì)隨之降低,雖然增加LSTM層數(shù)可在一定程度上減緩性能下降,但無(wú)法解決根本問(wèn)題,且增加的訓(xùn)練難度也是難以承受的.區(qū)域化模型利用子模塊在各區(qū)域內(nèi)學(xué)習(xí)控制策略,并通過(guò)策略的切換和結(jié)合實(shí)現(xiàn)區(qū)域間導(dǎo)航,受區(qū)域數(shù)量的影響較小.與此同時(shí),由于使用了改進(jìn)的訓(xùn)練方法,維持了較高的學(xué)習(xí)效率和導(dǎo)航性能.終身學(xué)習(xí)模型同樣可實(shí)現(xiàn)策略的切換和結(jié)合,但由于模型本身限制,難以形成高獎(jiǎng)勵(lì)的控制策略.同時(shí)可以看出,區(qū)域之間策略的切換和結(jié)合并不完美,這也是圖中策略集成后獎(jiǎng)勵(lì)降低的原因.
圖14?? 多區(qū)域?qū)Ш綄?shí)驗(yàn)結(jié)果
Fig.14?? Experiment results of multi-area navigation
4 結(jié)語(yǔ)
本文提出一種區(qū)域化視覺(jué)導(dǎo)航方法,面對(duì)分布式環(huán)境,該方法使用子模塊在各區(qū)域內(nèi)獨(dú)立學(xué)習(xí)控制策略,并通過(guò)區(qū)域化模型集成控制策略完成大范圍導(dǎo)航.經(jīng)實(shí)驗(yàn)驗(yàn)證,相比單一模型,區(qū)域化模型受神經(jīng)網(wǎng)絡(luò)記憶能力和區(qū)域數(shù)量影響較小,可更好地完成多區(qū)域環(huán)境下的導(dǎo)航任務(wù),且在訓(xùn)練過(guò)程中結(jié)合景深避障和獎(jiǎng)勵(lì)預(yù)測(cè),使得子模塊可高效探索環(huán)境,同時(shí)獲取良好導(dǎo)航策略.實(shí)際上,區(qū)域化并不是一個(gè)陌生的詞語(yǔ),它早已出現(xiàn)在生活的方方面面,如人類(lèi)居住的環(huán)境就是根據(jù)區(qū)域劃分.此外,區(qū)域劃分還在道路規(guī)劃、災(zāi)害救援和無(wú)人機(jī)導(dǎo)航等領(lǐng)域發(fā)揮作用,其中最具代表性的是醫(yī)學(xué)圖片研究中的區(qū)域分割,該方法是分辨病變位置和種類(lèi)的基礎(chǔ).本文提出的區(qū)域化導(dǎo)航方法可應(yīng)用于倉(cāng)儲(chǔ)機(jī)器人、無(wú)人駕駛車(chē)輛、無(wú)人機(jī)及無(wú)人船等無(wú)人智能系統(tǒng).但文中環(huán)境分割通過(guò)人工實(shí)現(xiàn),未來(lái)將在自主區(qū)域劃分做出進(jìn)一步研究.
?
關(guān)注微信公眾號(hào):人工智能技術(shù)與咨詢(xún)。了解更多咨詢(xún)!
編輯:fqj
評(píng)論
查看更多