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