張榮霞,武長(zhǎng)旭,孫同超,趙增順
山東科技大學(xué) 電子信息工程學(xué)院,山東 青島 266590
隨著機(jī)器人技術(shù)以及電子信息技術(shù)的發(fā)展,移動(dòng)機(jī)器人的應(yīng)用越來越智能化,智能移動(dòng)機(jī)器人的一個(gè)重要特征是在復(fù)雜動(dòng)態(tài)環(huán)境下可以進(jìn)行良好的路徑規(guī)劃[1]。智能機(jī)器人路徑規(guī)劃是指在搜索區(qū)域內(nèi)給出合理的目標(biāo)函數(shù),并在一定范圍內(nèi)找到目標(biāo)函數(shù)的最優(yōu)解,使機(jī)器人找到一條從起點(diǎn)到目標(biāo)點(diǎn)的安全無障礙路徑[2]。路徑規(guī)劃在許多領(lǐng)域有著廣泛的應(yīng)用,如機(jī)器人機(jī)械手臂的路徑規(guī)劃[3]、無人機(jī)的路徑規(guī)劃[4]等。
傳統(tǒng)的路徑規(guī)劃方法,如人工勢(shì)場(chǎng)法[5]、A*算法[6-7]、蟻群算法[8-9]、遺傳算法[10]等,在復(fù)雜環(huán)境中無法處理復(fù)雜高維環(huán)境信息,或者容易陷入局部最優(yōu)。
路徑規(guī)劃方法根據(jù)訓(xùn)練方法的不同,可分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)[11]、監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)在進(jìn)行路徑規(guī)劃時(shí)都需要大量的先驗(yàn)知識(shí),否則無法進(jìn)行良好的路徑規(guī)劃。強(qiáng)化學(xué)習(xí)(Reinforcement Learning,RL)是一種不需先驗(yàn)知識(shí)并且與環(huán)境直接進(jìn)行試錯(cuò)迭代獲取反饋信息來優(yōu)化策略的人工智能算法,并且能夠自主學(xué)習(xí)和在線學(xué)習(xí),逐漸成為機(jī)器人在未知環(huán)境下路徑規(guī)劃的研究熱點(diǎn)[12-13]。傳統(tǒng)的強(qiáng)化學(xué)習(xí)方法受到動(dòng)作空間和樣本空間維數(shù)的限制,難以適應(yīng)更接近實(shí)際情況的復(fù)雜問題情況,而深度學(xué)習(xí)(Deep Learning,DL)具有較強(qiáng)的感知能力,能夠更加適應(yīng)復(fù)雜的問題,但是缺乏一定的決策能力。因此,谷歌大腦將DL 和RL 結(jié)合起來,得到深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL),取長(zhǎng)補(bǔ)短,為移動(dòng)機(jī)器人復(fù)雜環(huán)境中的運(yùn)動(dòng)規(guī)劃問題提供了新的思路和方向。
深度強(qiáng)化學(xué)習(xí)具有深度學(xué)習(xí)強(qiáng)大的感知能力和強(qiáng)化學(xué)習(xí)智能的決策能力,在面對(duì)復(fù)雜環(huán)境和任務(wù)時(shí)表現(xiàn)突出,這有助于機(jī)器人的自主學(xué)習(xí)和避障規(guī)劃。2013年,Google DeepMind 提出深度Q 網(wǎng)絡(luò)[14](Deep Q-learning Network,DQN),是深度強(qiáng)化學(xué)習(xí)發(fā)展過程中的里程碑,它突破了傳統(tǒng)RL方法中基于淺層結(jié)構(gòu)的價(jià)值函數(shù)逼近和策略搜索的學(xué)習(xí)機(jī)制[15],通過多層深度卷積神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)了從高維輸入空間到Q值空間的端到端映射,以模擬人腦的活動(dòng)。由于Agent 需要不斷與周圍環(huán)境進(jìn)行交互,所以深度Q網(wǎng)絡(luò)(DQN)不可避免地面臨著學(xué)習(xí)大量網(wǎng)絡(luò)參數(shù)的需求,導(dǎo)致學(xué)習(xí)效率低下。針對(duì)這些問題,研究人員對(duì)DQN 算法從訓(xùn)練算法、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、學(xué)習(xí)機(jī)制、基于AC 框架的DRL 算法等方面進(jìn)行深入研究并提出了許多改進(jìn)策略。
本文主要通過研究DQN及其改進(jìn)算法在移動(dòng)機(jī)器人路徑規(guī)劃中的研究進(jìn)展,來闡述DRL 算法在路徑規(guī)劃中的演化過程。首先介紹DQN算法的工作原理及不足,然后根據(jù)DQN 算法的原理,從訓(xùn)練算法、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、學(xué)習(xí)機(jī)制、AC框架多種變形這四類進(jìn)行深入研究并歸納整理當(dāng)前的改進(jìn)策略,介紹移動(dòng)機(jī)器人進(jìn)行路徑規(guī)劃的其他強(qiáng)化學(xué)習(xí)算法,旨在為DRL算法在移動(dòng)機(jī)器人路徑規(guī)劃的進(jìn)一步研究提供依據(jù),最后對(duì)DRL 算法在移動(dòng)機(jī)器人路徑規(guī)劃的未來研究與發(fā)展進(jìn)行了展望。
傳統(tǒng)的Q-learning 算法在進(jìn)行路徑規(guī)劃時(shí)用Q 表存儲(chǔ)數(shù)據(jù),但當(dāng)路徑規(guī)劃的環(huán)境過于復(fù)雜和數(shù)據(jù)過多時(shí),Q 表不僅難以存儲(chǔ)而且難以搜索,容易出現(xiàn)維數(shù)爆炸,為解決這個(gè)問題,可以利用函數(shù)逼近來代替Q值表對(duì)值函數(shù)進(jìn)行計(jì)算,但容易出現(xiàn)算法的不穩(wěn)定。DQN算法結(jié)合了深度神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)強(qiáng)化學(xué)習(xí)算法Q-learning的優(yōu)點(diǎn)[16],一定程度上解決了用非線性函數(shù)逼近器近似表示值函數(shù)時(shí)算法的不穩(wěn)定性問題。DQN算法利用深度神經(jīng)網(wǎng)絡(luò)作為函數(shù)逼近來代替Q值表,并對(duì)值函數(shù)進(jìn)行計(jì)算,以神經(jīng)網(wǎng)絡(luò)作為狀態(tài)-動(dòng)作值函數(shù)的載體,用參數(shù)為ω的f網(wǎng)絡(luò)近似代替值函數(shù),公式為:
f(s,a,ω)為函數(shù)的近似替代,用神經(jīng)網(wǎng)絡(luò)的輸出代替Q值,具體如圖1[11]所示。s為輸入狀態(tài),F(xiàn)(s,ai,ω)(i=1,2,3,4)表示狀態(tài)s下動(dòng)作ai的Q值。DQN 在與環(huán)境互相迭代過程中,狀態(tài)st與狀態(tài)st+1具有高度相關(guān)性,導(dǎo)致神經(jīng)網(wǎng)絡(luò)過擬合而無法收斂。為打破數(shù)據(jù)相關(guān)性,提升神經(jīng)網(wǎng)絡(luò)更新效率和算法收斂效果,DQN 算法采用經(jīng)驗(yàn)庫(kù)[17](Experience Replay Buffer)將環(huán)境探索得到的數(shù)據(jù)以記憶單元的形式儲(chǔ)存起來,然后利用隨機(jī)樣本采樣的方法更新和訓(xùn)練神經(jīng)網(wǎng)絡(luò)參數(shù)。另外DQN算法還引入雙網(wǎng)絡(luò)結(jié)構(gòu),即同時(shí)使用Q估計(jì)網(wǎng)絡(luò)和Q目標(biāo)網(wǎng)絡(luò)來進(jìn)行模型訓(xùn)練,不是直接使用預(yù)更新的當(dāng)前Q 網(wǎng)絡(luò),以此來減少目標(biāo)值與當(dāng)前值的相關(guān)性。估計(jì)網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)的結(jié)構(gòu)完全相同,但是網(wǎng)絡(luò)參數(shù)不同。其中Q網(wǎng)絡(luò)的輸出為Q(s,a,θ),用來估計(jì)當(dāng)前狀態(tài)動(dòng)作的值函數(shù);目標(biāo)網(wǎng)絡(luò)的輸出表示為Q(s,a,θ′)。
圖1 DQN代替模型Fig.1 DQN instead model
DQN 網(wǎng)絡(luò)更新是利用TD 誤差進(jìn)行參數(shù)更新。公式如式(2)所示:
DQN 算法流程如圖2所示[18],將環(huán)境狀態(tài)s傳入到當(dāng)前值網(wǎng)絡(luò),以ε概率隨機(jī)選擇一個(gè)動(dòng)作at,執(zhí)行動(dòng)作a得到新的狀態(tài)st+1和獎(jiǎng)勵(lì)值r,并將(st,at,rt,st+1)存儲(chǔ)到經(jīng)驗(yàn)池D中,然后從經(jīng)驗(yàn)池D中選取隨機(jī)采集樣本進(jìn)行訓(xùn)練,最后根據(jù)TD損失函數(shù)進(jìn)行target網(wǎng)絡(luò)參數(shù)更新,更新參數(shù)的方法為隨機(jī)梯度下降,每隔N次迭代拷貝參數(shù)到目標(biāo)值網(wǎng)絡(luò)進(jìn)行參數(shù)更新并訓(xùn)練。
圖2 DQN更新流程Fig.2 DQN update process
基于DQN算法的路徑規(guī)劃流程如下所示:
算法1DQN路徑規(guī)劃算法
1.初始化經(jīng)驗(yàn)池D,初始化Q-target 網(wǎng)絡(luò)參數(shù)和當(dāng)前網(wǎng)絡(luò)參數(shù)容量為N,初始化折扣因子γ
2.forepisode=1,2,…,d0
3.初始化環(huán)境狀態(tài),將移動(dòng)機(jī)器人獲取的環(huán)境特征信息(s,a,r,s′)保存于記憶矩陣D中,并計(jì)算網(wǎng)絡(luò)輸出
4.根據(jù)概率ε機(jī)器人選擇一個(gè)隨機(jī)的動(dòng)作或者根據(jù)當(dāng)前的狀態(tài)輸入到目前的網(wǎng)絡(luò)中,計(jì)算出每個(gè)動(dòng)作的Q值,選擇Q值的最優(yōu)動(dòng)作
5.得到機(jī)器人執(zhí)行動(dòng)作at后的獎(jiǎng)勵(lì)rt和下一個(gè)網(wǎng)絡(luò)的輸入
6.將得到的數(shù)據(jù)作為機(jī)器人的狀態(tài)一起存入到記憶矩陣D中(記憶矩陣還保存著前N個(gè)時(shí)刻的狀態(tài)),設(shè)置合理的獎(jiǎng)勵(lì)函數(shù)
7.隨機(jī)從記憶矩陣D中取出一批樣本
8.將按照公式(2)更新過后的Q值作為目標(biāo)值,計(jì)算每一個(gè)狀態(tài)的目標(biāo)值
9.通過隨機(jī)快速下降法更新權(quán)重,利用TD更新網(wǎng)絡(luò)參數(shù)
10.每C次迭代后更新目標(biāo)網(wǎng)絡(luò)θ-=θ
11.end for
12.end for
近年來,將DRL算法應(yīng)用于移動(dòng)機(jī)器人路徑規(guī)劃的方面的工作已經(jīng)做了很多,DQN 算法的提出對(duì)移動(dòng)機(jī)器人路徑規(guī)劃的發(fā)展起著重要作用,2016年,文獻(xiàn)[19]最先利用DQN 算法實(shí)現(xiàn)了虛擬環(huán)境中的機(jī)器人路徑規(guī)劃;文獻(xiàn)[20]提出一種改進(jìn)深度強(qiáng)化學(xué)習(xí)算法(NDQN),加入了差值增長(zhǎng)概念,利用改正函數(shù)對(duì)DQN 算法進(jìn)行改進(jìn)并運(yùn)用到機(jī)器人三維路徑規(guī)劃中。圖3 為使用基于DRL算法的移動(dòng)機(jī)器人路徑規(guī)劃方法的總體框架[21],該框架由智能體和環(huán)境組成,后續(xù)很多方法都是從該框架的基礎(chǔ)上進(jìn)行改進(jìn),更多詳細(xì)介紹請(qǐng)見第3章。DQN算法實(shí)現(xiàn)了DL 和RL 的結(jié)合,對(duì)DRL 的發(fā)展有重要意義。但DQN 算法在實(shí)際應(yīng)用中存在不足,無法處理連續(xù)動(dòng)作控制任務(wù)。
圖3 基于DRL的機(jī)器人路徑規(guī)劃框架Fig.3 Robot path planning framework based on DRL
DQN 算法在路徑規(guī)劃等領(lǐng)域得到了廣泛的應(yīng)用,但是仍然存在許多問題,比如過估計(jì)問題、容易陷入局部最優(yōu)、學(xué)習(xí)效率低、不能滿足高維動(dòng)作的輸入、算法穩(wěn)定性差、探索過程中目標(biāo)丟失、數(shù)據(jù)探索效率低下等問題,另外DQN算法只能處理短期記憶問題,無法處理長(zhǎng)期記憶的問題。分析存在以上問題的原因如下:
(1)過估計(jì)問題
機(jī)器人運(yùn)用DQN 算法進(jìn)行路徑規(guī)劃時(shí),神經(jīng)網(wǎng)絡(luò)以狀態(tài)-動(dòng)作對(duì)作為輸入,以Q函數(shù)值為輸出,實(shí)現(xiàn)環(huán)境端對(duì)端的控制,每一次網(wǎng)絡(luò)更新時(shí)機(jī)器人都會(huì)對(duì)目標(biāo)Q 網(wǎng)絡(luò)采取最大化操作,這樣容易高估動(dòng)作值,導(dǎo)致算法將次優(yōu)行為價(jià)值認(rèn)定為最優(yōu)行為價(jià)值[22],移動(dòng)機(jī)器人容易陷入局部最優(yōu)。
(2)學(xué)習(xí)效率低
機(jī)器人進(jìn)行路徑規(guī)劃的時(shí)候需要不停地與環(huán)境進(jìn)行交互,這就導(dǎo)致DQN 算法會(huì)面臨學(xué)習(xí)大量參數(shù)的局面,導(dǎo)致機(jī)器人學(xué)習(xí)效率低下。另外DQN 算法在與環(huán)境互相迭代過程中,所采集的運(yùn)動(dòng)樣本具有較大的關(guān)聯(lián)性,導(dǎo)致神經(jīng)網(wǎng)絡(luò)過擬合而無法收斂,降低了神經(jīng)網(wǎng)絡(luò)更新效率,影響了算法收斂效果。傳統(tǒng)DQN 算法只使用單個(gè)機(jī)器人進(jìn)行訓(xùn)練,在進(jìn)行路徑規(guī)劃時(shí),機(jī)器人的數(shù)量也會(huì)影響機(jī)器人的學(xué)習(xí)效率。
(3)算法穩(wěn)定性差
DQN算法一般都是使用傳統(tǒng)卷積網(wǎng)絡(luò)處理原始輸入,比如機(jī)器人上安裝的傳感器獲得的外部環(huán)境圖像,將處理后的數(shù)據(jù)分流到兩個(gè)全連接網(wǎng)絡(luò)中,分別為動(dòng)作值和目標(biāo)值,數(shù)值之間具有相關(guān)性,導(dǎo)致算法穩(wěn)定性差,所以必須打破數(shù)據(jù)相關(guān)性,提高算法穩(wěn)定性。另外,用神經(jīng)網(wǎng)絡(luò)的非線性函數(shù)逼近器來表示Q值函數(shù)容易產(chǎn)生誤差。
(4)數(shù)據(jù)探索效率低下
在路徑規(guī)劃問題中,機(jī)器人為了獲得最短路徑,在運(yùn)用DQN 算法進(jìn)行路徑規(guī)劃時(shí),只為獲得最大的獎(jiǎng)勵(lì)值,忽略探索過程,陷入死循環(huán),導(dǎo)致機(jī)器人探索環(huán)境效率低下。所以在機(jī)器人在運(yùn)用DQN算法進(jìn)行路徑規(guī)劃時(shí),需要設(shè)置合理的獎(jiǎng)懲函數(shù),提高機(jī)器人的性能。
(5)長(zhǎng)短期記憶
運(yùn)用DQN 算法進(jìn)行路徑規(guī)劃時(shí),需要不斷更新經(jīng)驗(yàn)池,將當(dāng)前的記憶數(shù)據(jù)存儲(chǔ)到經(jīng)驗(yàn)池中,將卷積神經(jīng)網(wǎng)絡(luò)當(dāng)前得到的Q函數(shù)與之前的數(shù)據(jù)進(jìn)行比較;隨后將兩者的誤差通過梯度下降法反向傳播回卷積神經(jīng)網(wǎng)絡(luò)中,從而實(shí)現(xiàn)Q-Network的訓(xùn)練與更新,但是卷積神經(jīng)網(wǎng)絡(luò)只能存儲(chǔ)短期記憶,這就導(dǎo)致神經(jīng)網(wǎng)絡(luò)的更新具有延遲性,降低了機(jī)器人路徑規(guī)劃算法的性能。將只能實(shí)現(xiàn)短期記憶的卷積神經(jīng)網(wǎng)絡(luò)更換成具有長(zhǎng)期記憶的神經(jīng)網(wǎng)絡(luò)是十分必要的,比如LSTM(Long Short-Term Memory)。
針對(duì)上述問題,Hasselt等人[23]、Wang等人[24]、Foerster等人[25]對(duì)DQN 算法進(jìn)行深入研究,改進(jìn)算法主要從訓(xùn)練方法、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、學(xué)習(xí)機(jī)制、基于AC 框架的RL算法等方面提高算法的優(yōu)化能力,為后續(xù)移動(dòng)機(jī)器人路徑規(guī)劃算法提供理論基礎(chǔ)。
(1)分布式深度Q網(wǎng)絡(luò)
在訓(xùn)練過程中,傳統(tǒng)DQN 算法只使用單個(gè)機(jī)器進(jìn)行訓(xùn)練,這就會(huì)導(dǎo)致較長(zhǎng)的訓(xùn)練時(shí)間,學(xué)習(xí)效率低。針對(duì)此類問題,Nair 等人[26]提出了分布式深度Q 網(wǎng)絡(luò)算法,可以多個(gè)機(jī)器同時(shí)進(jìn)行訓(xùn)練,用分布式重放存儲(chǔ)器和分布式神經(jīng)網(wǎng)絡(luò)并行工作和學(xué)習(xí),與單個(gè)機(jī)器訓(xùn)練相比,有效地提供了增大容量的分布式經(jīng)驗(yàn)回放內(nèi)存,不僅可以生成更多的訓(xùn)練數(shù)據(jù),分布式參與者還可以更加有效地探索空間,因?yàn)槊總€(gè)這樣的參與者都可以存儲(chǔ)其自己的過去經(jīng)驗(yàn)記錄,根據(jù)一定差異性策略進(jìn)行操作,使機(jī)器人的訓(xùn)練時(shí)間大大減少,提高了學(xué)習(xí)效率。分布式深度Q網(wǎng)絡(luò)算法主要由四部分組成,分別為并行參與者、平行學(xué)習(xí)者、參數(shù)服務(wù)器、經(jīng)驗(yàn)回放存儲(chǔ)機(jī)制,算法框架圖如圖4所示[26]。
圖4 分布式DQN算法框架Fig.4 Distributed DQN algorithm framework
參與者用于產(chǎn)生新行為;從儲(chǔ)存的經(jīng)驗(yàn)中訓(xùn)練出平行學(xué)習(xí)者;參數(shù)服務(wù)器用以表示價(jià)值函數(shù)或者行為策略的分布式神經(jīng)網(wǎng)絡(luò);經(jīng)驗(yàn)回放存儲(chǔ)制用以儲(chǔ)存分布式經(jīng)驗(yàn)存儲(chǔ)。分布式DQN算法能夠利用大量的計(jì)算資源來擴(kuò)大DQN 算法的規(guī)模,但是也對(duì)計(jì)算機(jī)本身的計(jì)算能力和內(nèi)存有了更高的要求。
(2)平均DQN算法
DQN算法的不穩(wěn)定性和可變性可能會(huì)對(duì)機(jī)器人路徑規(guī)劃的效率產(chǎn)生影響,針對(duì)這個(gè)問題,Anschel等人[27]提出平均DQN(Averaged-DQN,ADQN)算法。ADQN算法是傳統(tǒng)DQN算法新的擴(kuò)展,ADQN算法與DQN算法的主要差異是目標(biāo)值的不同選擇,ADQN算法通過使用之前學(xué)習(xí)的Q值進(jìn)行平均估計(jì),產(chǎn)生當(dāng)前的行動(dòng)價(jià)值估計(jì)來減少目標(biāo)近似誤差的方差,可以使得學(xué)習(xí)進(jìn)度更加穩(wěn)定,價(jià)值估計(jì)也更加保守,實(shí)現(xiàn)更穩(wěn)定的訓(xùn)練過程。ADQN算法能夠?qū)W(xué)習(xí)曲線產(chǎn)生方差減少效應(yīng),該算法解決了由Q學(xué)習(xí)和函數(shù)逼近相結(jié)合而產(chǎn)生的問題,表明了平均DQN 算法在理論上比DQN 算法在降低方差方面更有效。文獻(xiàn)[28]表明ADQN 算法在玩具問題和街機(jī)學(xué)習(xí)環(huán)境中的幾個(gè)Atari 2600游戲中表現(xiàn)良好,但同時(shí)也使得訓(xùn)練時(shí)間變長(zhǎng),資源消耗增加。
DQN 算法是通過神經(jīng)網(wǎng)絡(luò)來估計(jì)Q 函數(shù),網(wǎng)絡(luò)結(jié)構(gòu)決定了網(wǎng)絡(luò)的學(xué)習(xí)效率和表達(dá)能力[29],神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的選擇對(duì)DQN算法的性能的高低非常重要。
(1)Double DQN算法
DQN算法每一次更新時(shí)都會(huì)對(duì)目標(biāo)Q網(wǎng)絡(luò)采取最大化操作,這樣會(huì)導(dǎo)致Q值受到了嚴(yán)重的高估,即網(wǎng)絡(luò)輸出的Q值高于真實(shí)的Q值。為有效解決過估計(jì)問題,Hasselt等人[23]提出深度雙Q網(wǎng)絡(luò)(Double DQN,DDQN)算法,對(duì)DQN 的優(yōu)化目標(biāo)進(jìn)行優(yōu)化改進(jìn)。DDQN 算法將目標(biāo)中的最大運(yùn)算分解為動(dòng)作選擇和動(dòng)作評(píng)估來減少高估問題,通過隨機(jī)分配每個(gè)經(jīng)驗(yàn)來更新兩個(gè)值函數(shù)中的一個(gè)來學(xué)習(xí)兩個(gè)值函數(shù),這樣就有了兩組權(quán)重,對(duì)于每次更新,一組權(quán)重用于確定貪婪策略,另一組用于確定其值,有效解決了DQN算法中存在的過估計(jì)問題,使得智能體能夠選擇相對(duì)較優(yōu)的動(dòng)作。實(shí)驗(yàn)表明DDQN算法在價(jià)值準(zhǔn)確性和策略質(zhì)量方面都優(yōu)于DQN,不僅產(chǎn)生更準(zhǔn)確的價(jià)值估計(jì),而且產(chǎn)生更好的策略,使機(jī)器人的學(xué)習(xí)更加穩(wěn)定。
但DDQN算法在選擇相對(duì)較優(yōu)的動(dòng)作時(shí),是利用當(dāng)前估計(jì)網(wǎng)絡(luò)參數(shù),而不是已經(jīng)更新的先驗(yàn)知識(shí)庫(kù),所以解決價(jià)值高估問題的同時(shí),也會(huì)帶來價(jià)值低估問題。董永峰等人[30]提出動(dòng)態(tài)目標(biāo)雙深Q網(wǎng)絡(luò)(DTDDQN)算法,將DDQN算法與平均DQN算法相結(jié)合,取長(zhǎng)補(bǔ)短,對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行培訓(xùn),使網(wǎng)絡(luò)輸出的Q值更接近實(shí)際Q值,解決了路徑規(guī)劃中的估計(jì)值誤差大的問題。
(2)基于決斗架構(gòu)的DQN算法
決斗網(wǎng)絡(luò)是一種新的無模型強(qiáng)化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),Wang等人[24]提出基于決斗架構(gòu)的DQN(Dueling DQN)算法,從神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)方面對(duì)DQN 算法進(jìn)行改進(jìn)?;跊Q斗網(wǎng)絡(luò)的DQN算法采用卷積神經(jīng)網(wǎng)絡(luò)處理原始輸入,將處理過的原始輸入分流到兩個(gè)全連接網(wǎng)絡(luò)中,分別為狀態(tài)值和優(yōu)勢(shì)函數(shù)。這種分流的優(yōu)點(diǎn)是在動(dòng)作之間推廣學(xué)習(xí),而不對(duì)底層的強(qiáng)化學(xué)習(xí)算法進(jìn)行任何改變,結(jié)構(gòu)如圖5所示[24]。
圖5 決斗架構(gòu)的DQN網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Dueling DQN network structure
基于決斗架構(gòu)的DQN算法的優(yōu)勢(shì)部分在于它能夠有效地學(xué)習(xí)狀態(tài)值函數(shù)。當(dāng)決斗架構(gòu)中的Q值每次更新時(shí),價(jià)值流也會(huì)更新,這與傳統(tǒng)DQN算法結(jié)構(gòu)中的更新方式形成鮮明對(duì)比,在DQN結(jié)構(gòu)中,只更新一個(gè)動(dòng)作的值,所有其他動(dòng)作的值保持不變。在基于決斗架構(gòu)的DQN 算法中,更頻繁的價(jià)值流更新將更多的資源分配給價(jià)值函數(shù),從而允許更好地逼近狀態(tài)值,這對(duì)于基于時(shí)間差異的方法來說是非常必要的和準(zhǔn)確的[31]。實(shí)驗(yàn)表明,當(dāng)動(dòng)作數(shù)較大時(shí),決斗結(jié)構(gòu)比單流Q 網(wǎng)絡(luò)的優(yōu)勢(shì)更大,可以獲得更高的平均獎(jiǎng)勵(lì),以及更快的早期訓(xùn)練速度,提高算法的穩(wěn)定性。
基于決斗架構(gòu)的DQN算法通過兩個(gè)決斗數(shù)據(jù)流來估計(jì)Q值,但是它只專注于Q函數(shù)內(nèi)的決斗,影響了算法的性能,而且決斗網(wǎng)絡(luò)只適用于那些基于Q值的算法,使得算法有局限性。為了解決這些問題,Qiu等人[32]提出用一個(gè)創(chuàng)新的狀態(tài)表示決斗網(wǎng)絡(luò)來提高強(qiáng)化學(xué)習(xí)算法的性能,將狀態(tài)表示決斗網(wǎng)絡(luò)與決斗DQN相結(jié)合,形成了一種新的算法——SR 決斗DQN(State Representation Dueling DQN)算法,結(jié)果表明,與決斗DQN相比,SR決斗DQN算法更有利于解決高維環(huán)境下的任務(wù),提高了決斗DQN 算法在CartPole 環(huán)境下的訓(xùn)練速度和性能。
(3)深度循環(huán)Q網(wǎng)絡(luò)算法
長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)是循環(huán)神經(jīng)網(wǎng)絡(luò)的升級(jí)版,具有長(zhǎng)期記憶的特點(diǎn),最早由Hochreiter 等人[33]在1997 年提出。傳統(tǒng)的DQN 算法進(jìn)行路徑規(guī)劃時(shí),機(jī)器人在與環(huán)境進(jìn)行交互傳遞信息的過程中,神經(jīng)網(wǎng)絡(luò)只能傳遞當(dāng)前的信息,而忽視了后面的影響,而且數(shù)據(jù)之間是有聯(lián)系的。為了解決這個(gè)問題,Hausknecht 等人[34]提出了一種基于LSTM 的DQN 算法,深度循環(huán)Q 網(wǎng)絡(luò)算法(Deep Recurrent Q-Network,DRQN),將遞歸LSTM替換第一個(gè)后卷積全連接層來增加深度Q 網(wǎng)絡(luò)(DQN)的遞歸性的效果,并對(duì)DQN濾波進(jìn)行改進(jìn),降低對(duì)較遠(yuǎn)信息的權(quán)重,增加關(guān)系強(qiáng)的信息權(quán)重。在Atari2600 游戲平臺(tái)驗(yàn)證了其性能,在相同的歷史長(zhǎng)度下,LSTM 是在DQN的輸入層中儲(chǔ)存歷史記憶的一種可行的替代方案,可以更好地適應(yīng)評(píng)估時(shí)間。
單層LSTM記憶歷史信息能力有限,在一些連續(xù)性不強(qiáng)的環(huán)境中進(jìn)行路徑規(guī)劃時(shí),機(jī)器人不能取得滿意的結(jié)果。2017年,翟建偉[35]在DRQN算法的基礎(chǔ)上加入自注意力機(jī)制,提出一種具有視覺注意機(jī)制的深層循環(huán)Q網(wǎng)絡(luò)(Deep Recurrent Q-Network with Visual Attention Mechanism,VAM-DRQN),能夠聚焦圖像中的關(guān)鍵信息,使得機(jī)器人獲得的環(huán)境圖像更加清楚。2019年,劉全等人[36]提出一種帶探索噪音的深度循環(huán)Q 網(wǎng)絡(luò)模型(EN-DRQN),引入改進(jìn)的簡(jiǎn)單循環(huán)單元,解決了單層LSTM記憶力能力有限的問題,既保留了狀態(tài)序列之間的相關(guān)性,又可以在序列之間有效的探索出新狀態(tài),同時(shí)在歷史信息的指引下做出有效決策,進(jìn)一步加快了網(wǎng)絡(luò)的運(yùn)算。實(shí)驗(yàn)證明EN-DRQN 加快了機(jī)器人的訓(xùn)練速度,減少了訓(xùn)練時(shí)間。
(1)基于優(yōu)先經(jīng)驗(yàn)回放的DQN算法
機(jī)器人連續(xù)運(yùn)動(dòng)時(shí)所采集的樣本本身之間存在較強(qiáng)的相關(guān)性,將導(dǎo)致機(jī)器人價(jià)值網(wǎng)絡(luò)更新梯度消失,機(jī)器人無法繼續(xù)學(xué)習(xí),容易陷入局部最優(yōu),使得算法穩(wěn)定性差。為打破數(shù)據(jù)相關(guān)性,提高算法穩(wěn)定性,Schaul等人[37]提出了基于優(yōu)先經(jīng)驗(yàn)回放的DQN(Prioritized Replay DQN)算法,使用基于優(yōu)先級(jí)的經(jīng)驗(yàn)回放機(jī)制替代等概率的抽樣方式,解決了經(jīng)驗(yàn)回放中的采樣問題。該算法使機(jī)器人能夠在更多數(shù)量級(jí)的數(shù)據(jù)中有效地學(xué)習(xí),并且將行動(dòng)與學(xué)習(xí)結(jié)合。行動(dòng)者根據(jù)共享的神經(jīng)網(wǎng)絡(luò)選擇行動(dòng),與之前的環(huán)境實(shí)例進(jìn)行交互,并在共享的經(jīng)驗(yàn)重放存儲(chǔ)器中積累所得經(jīng)驗(yàn),學(xué)習(xí)者回放經(jīng)驗(yàn)樣本并更新神經(jīng)網(wǎng)絡(luò)[38],提高有價(jià)值樣本的利用率。但經(jīng)驗(yàn)回放就意味著每個(gè)真實(shí)交互中的環(huán)境信息將使用更多的內(nèi)存和計(jì)算,機(jī)器人需要很多探索行為才能得到積極的反饋,這就使得基于優(yōu)先經(jīng)驗(yàn)回放的DQN算法進(jìn)行路徑規(guī)劃時(shí)需要耗費(fèi)大量的時(shí)間和資源,導(dǎo)致算法很難收斂。
(2)示范DQN算法
DQN 算法進(jìn)行路徑規(guī)劃時(shí)需要大量的訓(xùn)練數(shù)據(jù),嚴(yán)重地限制了深度學(xué)習(xí)在許多真實(shí)世界任務(wù)的適用性,學(xué)習(xí)過程中的表現(xiàn)非常差。Hester 等人[39]提出示范DQN(Deep Q-learning from Demonstrations,DQFD)算法,該算法利用少量演示數(shù)據(jù),可以訪問來自系統(tǒng)先前控制的數(shù)據(jù),即使是從相對(duì)少量的演示數(shù)據(jù)中,也能大大加快學(xué)習(xí)過程。DQFD 算法利用少量的演示數(shù)據(jù)對(duì)機(jī)器人進(jìn)行預(yù)培訓(xùn),使其能夠從學(xué)習(xí)開始就很好地完成任務(wù),然后從自己生成的數(shù)據(jù)中繼續(xù)改進(jìn),而且優(yōu)先重放機(jī)制能夠在學(xué)習(xí)時(shí)自動(dòng)評(píng)估演示數(shù)據(jù)的必要比例,將時(shí)間差異更新與演示者行為的監(jiān)督分類相結(jié)合來工作,減少了和環(huán)境交互次數(shù),提高了學(xué)習(xí)效率。DQFD算法使逆向?qū)W習(xí)應(yīng)用于許多現(xiàn)實(shí)問題成為可能,但不能對(duì)示范者的行為進(jìn)行準(zhǔn)確的分類,示范和代理數(shù)據(jù)之間存在差異,無法應(yīng)用于連續(xù)動(dòng)作域。
(3)策略與網(wǎng)絡(luò)深度Q學(xué)習(xí)算法
DQN算法能通過模仿人類學(xué)習(xí)技能的過程從經(jīng)驗(yàn)中學(xué)習(xí),當(dāng)機(jī)器人學(xué)習(xí)過去的經(jīng)驗(yàn)時(shí),全面多樣的經(jīng)驗(yàn)有助于提高算法的性能。基于不同學(xué)習(xí)階段對(duì)經(jīng)驗(yàn)深度和廣度的不同需求,LV 等人[40]提出了一種快速學(xué)習(xí)策略,策略與網(wǎng)絡(luò)深度Q學(xué)習(xí)算法(Policy and Network Deep Q-Network,PN-DQN),該算法計(jì)算Q值采用密集網(wǎng)絡(luò)架構(gòu),在學(xué)習(xí)的初始階段創(chuàng)建經(jīng)驗(yàn)值評(píng)估網(wǎng)絡(luò),增加深度經(jīng)驗(yàn)的比例,從而更快地理解環(huán)境,改變了技能學(xué)習(xí)過程中經(jīng)驗(yàn)的概率分布,使得模型可以在學(xué)習(xí)的不同階段獲得更多所需的經(jīng)驗(yàn),從而提高學(xué)習(xí)效率。在路徑規(guī)劃應(yīng)用中,只需要輸入地圖圖像,不需要對(duì)地圖進(jìn)行建模,旨在提高路徑規(guī)劃的速度和精度。仿真實(shí)驗(yàn)表明,PN-DQN 算法在學(xué)習(xí)速度、路徑規(guī)劃成功率和路徑精度方面都優(yōu)于傳統(tǒng)的DQN 算法,但該算法只適用于離散狀態(tài)空間,對(duì)于連續(xù)動(dòng)作控制的效果并不好。
基于強(qiáng)化學(xué)習(xí)的運(yùn)動(dòng)規(guī)劃是一種基于數(shù)據(jù)的非監(jiān)督式機(jī)器學(xué)習(xí)方法,將感知、規(guī)劃集成于一體,通過策略學(xué)習(xí)實(shí)現(xiàn)端到端的運(yùn)動(dòng)規(guī)劃[41],基于強(qiáng)化學(xué)習(xí)的DQN算法對(duì)移動(dòng)機(jī)器人路徑規(guī)劃的發(fā)展具有深遠(yuǎn)意義。除了從訓(xùn)練方法、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、學(xué)習(xí)機(jī)制等方面研究DQN算法,通過其他角度對(duì)DQN算法的研究也取得了一些進(jìn)展。
根據(jù)機(jī)器人路徑規(guī)劃是否存在價(jià)值函數(shù)的指導(dǎo),分為基于值函數(shù)算法和策略梯度算法兩種運(yùn)動(dòng)規(guī)劃算法[42]。以價(jià)值函數(shù)為基礎(chǔ)的強(qiáng)化學(xué)習(xí)方法常被應(yīng)用于機(jī)器人離散動(dòng)作空間的運(yùn)動(dòng)規(guī)劃,但對(duì)連續(xù)動(dòng)作的處理能力不足,無法解決隨機(jī)策略問題;基于策略的強(qiáng)化學(xué)習(xí)算法直接通過給定的策略評(píng)價(jià)函數(shù)在策略空間內(nèi)搜索得到最優(yōu)控制策略[43],能夠處理連續(xù)動(dòng)作問題,但學(xué)習(xí)效率較低,缺乏隨機(jī)探索能力。將值函數(shù)算法和策略梯度算法結(jié)合得到新的一種結(jié)構(gòu):行動(dòng)者-評(píng)論家(Actor-Critic,AC),融合了值函數(shù)算法和策略梯度算法的優(yōu)點(diǎn),在進(jìn)行訓(xùn)練時(shí),Actor和Critic的交替更新參數(shù),優(yōu)化了算法的性能。
(1)DDPG
無模型、脫離策略的行動(dòng)者-評(píng)論家算法,使用深度函數(shù)逼近器,可以在高維、連續(xù)的行動(dòng)空間中學(xué)習(xí)策略,Lillicrap 等人[44]將行動(dòng)者-評(píng)論家方法與DQN 算法相結(jié)合,得到一種無模型的深度確定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG),用來自重放緩沖器的樣本對(duì)網(wǎng)絡(luò)進(jìn)行離線訓(xùn)練,以最小化樣本之間的相關(guān)性,同時(shí)通過雙網(wǎng)絡(luò)結(jié)構(gòu)和優(yōu)先經(jīng)驗(yàn)回放機(jī)制,解決了Actor-Critic難收斂的問題,提高了算法的效率。但DDPG進(jìn)行路徑規(guī)劃時(shí)存在訓(xùn)練時(shí)間過長(zhǎng)、訓(xùn)練數(shù)據(jù)需求大、訓(xùn)練初期的學(xué)習(xí)策略不穩(wěn)定等問題,而且由于環(huán)境的復(fù)雜性和隨機(jī)性,DDPG往往受到低效的探索和不穩(wěn)定的訓(xùn)練的影響。
眾多研究者對(duì)DDPG 算法進(jìn)行了改進(jìn),Hou 等人[45]提出基于知識(shí)驅(qū)動(dòng)的DDPG算法,在策略搜索階段應(yīng)用混合探索策略來驅(qū)動(dòng)有效的探索,使機(jī)器人能夠從經(jīng)驗(yàn)中高效、穩(wěn)定地學(xué)習(xí)多孔裝配技能。Zheng 等人[46]提出自適應(yīng)雙自舉DDPG算法,該算法將DDPG擴(kuò)展到自舉演員-評(píng)論家體系結(jié)構(gòu),通過多個(gè)Actor捕捉更多潛在的行動(dòng)和多個(gè)Critic協(xié)作評(píng)估更合理的Q值,提高了機(jī)器人探索效率和算法性能。武曲等人[47]將LSTM 算法與DDPG 算法相結(jié)合,以環(huán)境圖像作為輸入,通過預(yù)先訓(xùn)練的自動(dòng)編碼器進(jìn)行圖像降維,方便準(zhǔn)確提取環(huán)境特征信息,利用LSTM 處理數(shù)據(jù)時(shí)的預(yù)測(cè)特性,實(shí)現(xiàn)了有預(yù)測(cè)的機(jī)器人動(dòng)態(tài)路徑規(guī)劃。
(2)TRPO
在DDPG策略梯度的優(yōu)化過程中,得到合適的步長(zhǎng)對(duì)移動(dòng)機(jī)器人路徑規(guī)劃學(xué)習(xí)效率和訓(xùn)練效率至關(guān)重要。為確定合適的步長(zhǎng),Schulman等人[48]提出了一種基于信賴域策略優(yōu)化的強(qiáng)化學(xué)習(xí)算法(Trust Region Policy Optimization,TRPO)。實(shí)驗(yàn)表明,最小化某個(gè)替代損失函數(shù)可以保證策略在非平凡步長(zhǎng)下的改進(jìn),使策略始終朝著好的方向持續(xù)更新,但計(jì)算過程復(fù)雜、對(duì)策略與環(huán)境的交互依賴大、容易出現(xiàn)較大誤差的問題。
Jha等人[49]提出了一種擬牛頓信賴域策略優(yōu)化(QNTRPO)方法,將計(jì)算步長(zhǎng)作為搜索方向計(jì)算的一部分,而且步長(zhǎng)能夠根據(jù)目標(biāo)的精度而變化,使得該算法的學(xué)習(xí)速度比TRPO 要快。Zhang 等人[50]對(duì)TRPO 算法進(jìn)行了從不同目標(biāo)中學(xué)習(xí)信息能力的擴(kuò)展,解決了獎(jiǎng)賞稀少、算法誤差大的問題,進(jìn)一步優(yōu)化了算法的性能。Shani等人[51-52]對(duì)TPRO算法進(jìn)行改進(jìn),使得改進(jìn)后的TPRO有更強(qiáng)的學(xué)習(xí)能力。
(3)PPO
針對(duì)TRPO算法計(jì)算過程繁雜,過于依賴策略和環(huán)境的交互,從而導(dǎo)致機(jī)動(dòng)機(jī)器人運(yùn)動(dòng)規(guī)劃路徑與最優(yōu)路徑產(chǎn)生偏差的問題,Schulman等人[53]在TRPO算法基礎(chǔ)上提出了近端策略優(yōu)化算法(Proximal Policy Optimization,PPO)。它通過與環(huán)境的交互作用來采樣數(shù)據(jù),使用隨機(jī)梯度代替標(biāo)準(zhǔn)策略梯度優(yōu)化目標(biāo)函數(shù)交替,使得機(jī)器人路徑規(guī)劃算法具有較好的數(shù)據(jù)效率和魯棒性。PPO 和TRPO 算法最大的區(qū)別是PPO 支持多個(gè)時(shí)段的小批量更新,實(shí)施起來更簡(jiǎn)單、更通用,并且具有更好的樣本復(fù)雜性。
PPO 算法可以在各種具有挑戰(zhàn)性的任務(wù)中實(shí)現(xiàn)最先進(jìn)的性能,但是,PPO 算法不能嚴(yán)格限制似然比和強(qiáng)制執(zhí)行定義明確的命令與約束,這就導(dǎo)致PPO算法的性能不穩(wěn)定。為了解決這個(gè)問題,Wang 等人[54]提出了一種增強(qiáng)型PPO 算法,真實(shí)PPO 算法(Truly PPO,TPPO)采用新的函數(shù)來支持回滾行為,限制新舊策略的差異,優(yōu)化目標(biāo)函數(shù),改善最終策略性能,通過將策略限制在信任域內(nèi),TPPO 算法在樣本效率和性能上都有了很大的提高。
(4)A3C
Mnih 等人[55]基于異步強(qiáng)化學(xué)習(xí)(Asynchronous Reinforcement Learning,ARL)的思想,提出一種概念簡(jiǎn)單、輕量級(jí)的深度強(qiáng)化學(xué)習(xí)框架——異步優(yōu)勢(shì)的演員評(píng)論家算法(Asynchronous Advantage Actor-Critic,A3C)。基于A3C的移動(dòng)機(jī)器人路徑規(guī)劃算法主要是將異步梯度下降算法和DQN 算法以及多種強(qiáng)化學(xué)習(xí)算法相結(jié)合,讓不同的機(jī)器人在相同的環(huán)境進(jìn)行不同步的交互學(xué)習(xí),訓(xùn)練時(shí)間和數(shù)據(jù)效率隨著并行參與者學(xué)習(xí)者的數(shù)量而變化,當(dāng)使用更多的平行參與者學(xué)習(xí)者時(shí),并行應(yīng)用在線更新的多個(gè)參與者學(xué)習(xí)者對(duì)參數(shù)進(jìn)行的總體改變?cè)跁r(shí)間上的相關(guān)性可能較小。因此,A3C算法不再依賴經(jīng)驗(yàn)回放來穩(wěn)定學(xué)習(xí),能夠使用基于策略的強(qiáng)化學(xué)習(xí)方法,使得訓(xùn)練時(shí)間更短,效率更高。
在實(shí)際問題中,當(dāng)并行參與訓(xùn)練的機(jī)器人過多時(shí),就會(huì)導(dǎo)致訓(xùn)練數(shù)據(jù)過大,應(yīng)用成本增加,而且存在收斂于局部最優(yōu)策略和樣本探索效率低下等問題。Kartal等人[56]將終端預(yù)測(cè)(Terminal Prediction,TP)任務(wù)集成到A3C 中,并進(jìn)行了最小程度的細(xì)化,通過讓機(jī)器人預(yù)測(cè)其終端狀態(tài)的距離來學(xué)習(xí)控制策略。實(shí)驗(yàn)表明,A3C-TP算法在大多數(shù)測(cè)試領(lǐng)域的性能都優(yōu)于標(biāo)準(zhǔn)的A3C算法,在針對(duì)不同對(duì)手的策略方面學(xué)習(xí)效率和收斂性都有顯著提高。Labao 等人[57]提出了一種基于異步梯度共享(Gradient Sharing,GS)機(jī)制的A3C 算法(A3C-GS),用于改進(jìn)A3C算法探索數(shù)據(jù)的效率。該算法具有在短期內(nèi)自動(dòng)使策略多樣化以供探索的特性,從而減少了對(duì)熵?fù)p失項(xiàng)的需求,而且在需要探索的高維環(huán)境中表現(xiàn)良好。
(5)SAC
一般基于強(qiáng)化學(xué)習(xí)的移動(dòng)機(jī)器人路徑規(guī)劃算法樣本學(xué)習(xí)效率都比較差,是因?yàn)榛谔荻炔呗缘乃惴▽W(xué)習(xí)有效策略所需的梯度步驟和每個(gè)步驟的樣本數(shù)量隨著任務(wù)的復(fù)雜性而增加。針對(duì)這個(gè)問題,Haarnoja 等人[58]提出了一種基于最大熵的離線學(xué)習(xí)強(qiáng)化學(xué)習(xí)方法:軟行動(dòng)者-批評(píng)者(Soft Actor-Critic,SAC)算法。SAC 算法將非策略更新與穩(wěn)定的隨機(jī)Actor-Critic公式相結(jié)合,在最大化熵的同時(shí),最大化預(yù)期回報(bào),即在盡可能隨機(jī)行動(dòng)的同時(shí)成功完成任務(wù)。實(shí)驗(yàn)證明,SAC算法提高了樣本的學(xué)習(xí)效率和算法穩(wěn)定性,很容易擴(kuò)展到非常復(fù)雜的高維任務(wù)[59],更加適應(yīng)于真實(shí)環(huán)境。
Fu 等人[60]提出了一種基于最大熵框架的SAC 算法,并成功應(yīng)用到車載互聯(lián)網(wǎng)中的實(shí)時(shí)流媒體服務(wù)控制中。Cheng等人[61]將無人機(jī)的決策問題建模為馬爾可夫決策過程(MDP),構(gòu)建強(qiáng)化學(xué)習(xí)框架,并將SAC算法與仿真環(huán)境相連接,訓(xùn)練模型使得無人機(jī)學(xué)習(xí)任務(wù)的決策,生成基于SAC算法的自主決策能力,使無人機(jī)在與環(huán)境交互的過程中不斷總結(jié)經(jīng)驗(yàn),做出最佳的戰(zhàn)略選擇。Tang 等人[62]提出了一種層次化的SAC 算法來解決多物流機(jī)器人分配任務(wù)問題,通過引入子目標(biāo)在不同的時(shí)間尺度上對(duì)模型進(jìn)行了訓(xùn)練,其中頂層學(xué)習(xí)了策略,底層學(xué)習(xí)了實(shí)現(xiàn)子目標(biāo)的策略,與原本SAC算法相比,該方法能夠使多物流AGV 機(jī)器人協(xié)同工作,在稀疏環(huán)境下的獎(jiǎng)勵(lì)提高了約2.61倍。
DQN 算法在移動(dòng)機(jī)器人路徑規(guī)劃中得到廣泛應(yīng)用,為了進(jìn)一步提升DQN算法的學(xué)習(xí)效率,許多學(xué)者提出了許多富有成效的改進(jìn)措施,將上述的主要內(nèi)容進(jìn)行總結(jié),如表1所示。
表1 DQN算法的改進(jìn)總結(jié)Table 1 Summary of improvements in DQN algorithms
單一的DQN 改進(jìn)算法的都能實(shí)現(xiàn)顯著的性能改進(jìn),因?yàn)樗鼈兊母倪M(jìn)都是為了解決單一的問題,把DQN改進(jìn)算法相互融合,取長(zhǎng)補(bǔ)短,它們很大程度上可以更好地提高算法性能。Xie等人[63]提出了一種基于決斗結(jié)構(gòu)的深度雙Q 網(wǎng)絡(luò)避障算法(Dueling Double Deep-Q Network,D3QN)。D3QN 算法可以有效地學(xué)習(xí)如何在模擬器中避開障礙物,實(shí)驗(yàn)表明,D3QN 與傳統(tǒng)的DQN算法相比,能夠?qū)崿F(xiàn)雙倍的學(xué)習(xí)速度,而且可以將在虛擬環(huán)境中訓(xùn)練的模型直接應(yīng)用到復(fù)雜未知的路徑規(guī)劃環(huán)境中?;趦?yōu)先經(jīng)驗(yàn)的DDQN和決斗DDQN都使用雙Q 學(xué)習(xí),決斗DDQN 也可以與優(yōu)先經(jīng)驗(yàn)重放相結(jié)合。Hessel等人[64]提出了Rainbow的概念,將DQN算法的六個(gè)擴(kuò)展集成到單個(gè)集成代理中,將Rainbow的表現(xiàn)與A3C、DQN、DDQN、優(yōu)先DDQN、決斗DDQN、分布式DQN和噪音DQN的相應(yīng)曲線進(jìn)行比較,Rainbow的性能明顯優(yōu)于任何基線,數(shù)據(jù)效率和最終性能都表現(xiàn)良好。
除了對(duì)DQN 算法進(jìn)行以上改進(jìn)外,還從其他角度對(duì)DQN 算法及模型架構(gòu)進(jìn)行了研究。Kulkarni 等人[65]提出一種分層DQN算法(hierarchical-DQN,h-DQN),將控制任務(wù)分成若干層次,從多層策略中學(xué)習(xí),每一層都負(fù)責(zé)在不同的時(shí)間和行為抽象層面進(jìn)行控制,提高了學(xué)習(xí)效率。徐志雄等人[66]將Sarsa與DQN 算法相融合,提出了基于動(dòng)態(tài)融合目標(biāo)的深度強(qiáng)化學(xué)習(xí)算法(Dynamic Target Deep Q-Network,DTDQN),有效地減少了值函數(shù)過估計(jì),提高學(xué)習(xí)性能和訓(xùn)練穩(wěn)定性。張俊杰等人[67]提出了狀態(tài)值再利用的決斗深度Q 學(xué)習(xí)網(wǎng)絡(luò)(Reuse of State Value-Dueling Deep Q-learning Network,RSVDueling DQN),將機(jī)器人訓(xùn)練樣本時(shí)得到的獎(jiǎng)勵(lì)值標(biāo)準(zhǔn)化后與Dueling-DQN算法中的Q網(wǎng)絡(luò)值進(jìn)行結(jié)合,加強(qiáng)狀態(tài)-動(dòng)作對(duì)的內(nèi)在聯(lián)系,使得機(jī)器人能夠得到更加準(zhǔn)確的獎(jiǎng)勵(lì)值,不僅使算法的穩(wěn)定性大大提高,更加加快了算法的收斂速度。Avrachenkov等人[68]、Hui 等人[69]也對(duì)DQN 算法從不同的角度進(jìn)行改進(jìn),并取得了良好的效果。
深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)綜合利用了強(qiáng)化學(xué)習(xí)的心理和神經(jīng)機(jī)制以及深層神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征表示能力,在人工智能的發(fā)展中發(fā)揮著重要作用[70]。計(jì)算機(jī)博弈是人工智能領(lǐng)域最具挑戰(zhàn)性的研究方向之一,已經(jīng)研究出了很多重要的理論和方法,并應(yīng)用到實(shí)際問題中。2016 年,DeepMind 團(tuán)隊(duì)根據(jù)深度學(xué)習(xí)和策略搜索的方法研制出了圍棋博弈系統(tǒng)AlphaGo,并以4∶1的戰(zhàn)績(jī)打敗了圍棋冠軍李世石[71],之后AlphaGo 的升級(jí)版Master 在與世界頂尖圍棋大師柯潔的對(duì)戰(zhàn)中以3∶0 的成績(jī)?nèi)〉昧藙倮?017 年,Deep-Mind 團(tuán)隊(duì)在此基礎(chǔ)上研制出完全基于DRL 的系統(tǒng)AlphaGo Zero,完全不需要人類的經(jīng)驗(yàn)數(shù)據(jù),在短時(shí)間內(nèi)并且自己訓(xùn)練自己的情況下以100∶0 的成績(jī)打敗了AlphaGo[72]。計(jì)算機(jī)博弈分為完備信息博弈和非完備信息博弈,破解完備信息博弈游戲相對(duì)來說比較容易,但非完備信息博弈更加復(fù)雜,破解更加困難,具有更大的挑戰(zhàn)性。對(duì)于人工智能的研究者來說,對(duì)非完備信息博弈游戲的研究仍是一個(gè)充滿挑戰(zhàn)性的方向。
由于DRL 的訓(xùn)練需要大量的采樣和試錯(cuò)訓(xùn)練,而游戲環(huán)境能夠提供充足的樣本,并且避免了試錯(cuò)的成本[73],所以DRL適用于視頻游戲領(lǐng)域。游戲環(huán)境具有多樣性,但DQN算法較早應(yīng)用于Atari 2600的算法,在跨越49 場(chǎng)比賽的專業(yè)人類游戲測(cè)試儀的水平上進(jìn)行,計(jì)算機(jī)能夠在超過一半的比賽中實(shí)現(xiàn)超過75%的人類分?jǐn)?shù)的成績(jī)[74]。之后,Nair[26]、Hasselt[23]、Wang[24]、Schaul 等人[37]對(duì)DQN算法進(jìn)行改進(jìn),分別在Atari 2600游戲中取得了成績(jī),并得到不同程度的提升,Atari 2600 的游戲數(shù)據(jù)集已經(jīng)達(dá)到了人類級(jí)的控制精度。2020 年,Badia等人[75]提出Agent57 算法,在Atari 2600 游戲中取得了良好的成績(jī),超越了人類的平均水平。除了Atari平臺(tái),人們也基于其他游戲平臺(tái)對(duì)DRL進(jìn)行了研究。Kempka等人[76]、Vinyals 等人[77]通過研究DRL 算法,提出了將ViZDoom 和StarCraftII 為DRL 的測(cè)試平臺(tái),ViZDoom基于監(jiān)督學(xué)習(xí)的方法,StarCraftII 基于實(shí)時(shí)策略(RTS)的方法,大大提高了算法的訓(xùn)練速度,顯著地提高了智能體在游戲中的表現(xiàn)性能。RTS游戲被視為AI研究的大挑戰(zhàn),MOBA(Multi-player Online Battle Arena)是一種RTS游戲。騰訊的AI Lab利用DRL研究MOBA中的王者榮耀(Honor of Kings)游戲,其中重點(diǎn)研究1V1 模式[78],經(jīng)過訓(xùn)練后,在2 100 場(chǎng)的1v1 競(jìng)賽中的獲勝率為99.81%。目前,視頻游戲是DRL 算法最好的訓(xùn)練方法之一,人們對(duì)視頻游戲的研究對(duì)未來人工智能的發(fā)展具有重要意義。
導(dǎo)航是指移動(dòng)機(jī)器人在復(fù)雜環(huán)境下在一個(gè)地方運(yùn)動(dòng)到一個(gè)指定的目的地,在運(yùn)動(dòng)過程中要避開障礙物、找到最優(yōu)路徑。近年來,利用DRL在迷宮導(dǎo)航、室內(nèi)導(dǎo)航、視覺導(dǎo)航等方面的研究取得了一定進(jìn)展。在迷宮導(dǎo)航方面,Jaderberg等人[79]提出采用無監(jiān)督的輔助任務(wù)的強(qiáng)化學(xué)習(xí),在沒有外在獎(jiǎng)勵(lì)的情況下也能繼續(xù)迷宮導(dǎo)航,使得迷宮學(xué)習(xí)的平均速度提高10 倍。在室內(nèi)環(huán)境中,Zhu等人[80]利用遷移強(qiáng)化學(xué)習(xí)方法,以深度圖像作為神經(jīng)網(wǎng)絡(luò)輸入提取環(huán)境特征,訓(xùn)練后的移動(dòng)機(jī)器人經(jīng)過參數(shù)微調(diào)可以被直接應(yīng)用到現(xiàn)實(shí)環(huán)境中的導(dǎo)航控制?;谝曈X的導(dǎo)航對(duì)機(jī)器人的應(yīng)用至關(guān)重要,Kulhanek等人[81]提出一種基于視覺的端到端的DRL導(dǎo)航策略,設(shè)計(jì)了視覺輔助任務(wù)、定制的獎(jiǎng)勵(lì)方案和新的強(qiáng)大模擬器,能夠在真實(shí)的機(jī)器人上直接部署訓(xùn)練好的策略。在30次導(dǎo)航實(shí)驗(yàn)中,機(jī)器人在超過86.7%的情況下到達(dá)目標(biāo)的0.3 m 鄰域,該方法直接適用于移動(dòng)操作這樣的任務(wù)。導(dǎo)航技術(shù)的發(fā)展對(duì)于機(jī)器人路徑規(guī)劃技術(shù)的發(fā)展是非常重要的,導(dǎo)航技術(shù)的應(yīng)用也越來越廣泛。
多機(jī)器人協(xié)作是指機(jī)器人之間通過相互合作完成任務(wù),從而得到聯(lián)合的獎(jiǎng)勵(lì)值,通過并行計(jì)算提升算法的效率或者可以通過博弈互相學(xué)習(xí)對(duì)手的策略。單個(gè)機(jī)器人在一個(gè)復(fù)雜的環(huán)境中進(jìn)行路徑規(guī)劃發(fā)揮的作用總是有限的,多機(jī)器人與單機(jī)器人相比,通常能夠完成更加復(fù)雜的任務(wù)[82]。基于DRL 的多機(jī)器人協(xié)作問題是機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)重要的研究熱點(diǎn)和應(yīng)用方向,因此研究多機(jī)器人路徑規(guī)劃具有極高的價(jià)值和意義[16]。
目前解決多機(jī)器人的路徑規(guī)劃問題取得了一定進(jìn)展,梁宸[83]提出一種基于改進(jìn)的DDPG多機(jī)器人DRL算法。該算法將DDPG算法中的AC網(wǎng)絡(luò)加入了帶注意力神經(jīng)元的雙向循環(huán)神經(jīng)網(wǎng)絡(luò),用于多機(jī)器人之間的通訊,改進(jìn)后的算法不僅提高了算法的收斂速度,任務(wù)的完成度也有顯著提升。Foerster等人[84]提出了一種多機(jī)器人行為-批評(píng)方法,采取分散的政策,即每個(gè)主體只根據(jù)其局部行動(dòng)觀察歷史來選擇自己的行動(dòng),同時(shí)提高所有智能體共同的獎(jiǎng)勵(lì)值,顯著提高了機(jī)器人路徑規(guī)劃的平均性能。Mao等人[85]提出了一種基于深度多主體強(qiáng)化學(xué)習(xí)的算法:學(xué)習(xí)-交流的ACC(Actor-Coordinator-Critic)網(wǎng)絡(luò),解決多機(jī)器人之間的“學(xué)習(xí)-交流”問題。ACC網(wǎng)絡(luò)有兩種模式:一種是在Coordinator 的幫助下學(xué)習(xí)Actor 之間的通信協(xié)議,并保持Critic 的獨(dú)立性;另一種是在Coordinator 的幫助下學(xué)習(xí)Critic 之間的通信協(xié)議,并保持Actor 的獨(dú)立性,由于Actor 是獨(dú)立的,在訓(xùn)練完成后,機(jī)器人之間即使沒有交流也可以相互配合。Sunehag等人[86]、Iqbal等人[87]也對(duì)多機(jī)器人之間的協(xié)作進(jìn)行了研究,并取得了一定成果,促進(jìn)了多機(jī)器人協(xié)作的發(fā)展。
DRL訓(xùn)練通常需要大量樣本進(jìn)行訓(xùn)練,多機(jī)器人協(xié)作可以使得多個(gè)機(jī)器人并發(fā)產(chǎn)生大量樣本,增加了樣本數(shù)量,提高了學(xué)習(xí)速率,但多機(jī)器人環(huán)境下的學(xué)習(xí)任務(wù)仍然面臨著諸多挑戰(zhàn),因?yàn)槿祟惿鐣?huì)中很多問題都可以抽象為復(fù)雜的多機(jī)器人協(xié)作問題,所以還需要進(jìn)一步探索研究該領(lǐng)域[88]。
本文主要通過研究DQN 算法的原理、改進(jìn)算法以及實(shí)際應(yīng)用等,體現(xiàn)了DRL的演化過程。如今,雖然基于改進(jìn)DQN 算法的深度強(qiáng)化學(xué)習(xí)模型已經(jīng)較為完善,在機(jī)械臂、電動(dòng)汽車實(shí)時(shí)調(diào)度策略[89]、室內(nèi)外路徑規(guī)劃、無人機(jī)等方面得到了廣泛應(yīng)用,但對(duì)DQN 算法的研究主要集中在虛擬環(huán)境中,算法的實(shí)際應(yīng)用現(xiàn)仍處于發(fā)展階段。DRL算法的自主學(xué)習(xí)應(yīng)用需要大量的學(xué)習(xí)樣本,但在實(shí)際環(huán)境中獲取大量樣本是不實(shí)際的,樣本收集成本高,但少量樣本使得機(jī)器人學(xué)習(xí)到的經(jīng)驗(yàn)準(zhǔn)確性不足。探索過程中目標(biāo)的丟失也是路徑規(guī)劃研究中的一個(gè)重要問題,計(jì)算機(jī)本身的計(jì)算能力也限制了移動(dòng)機(jī)器人路徑規(guī)劃算法性能。另外,DRL算法在進(jìn)行路徑規(guī)劃時(shí),需要時(shí)刻與環(huán)境進(jìn)行交互,機(jī)器人依靠傳感器和圖像信息完成復(fù)雜環(huán)境中的避障任務(wù),所以從傳感器獲取信息的準(zhǔn)確性,對(duì)算法的性能有重要影響。DQN 及其改進(jìn)算法都是首先在模擬環(huán)境中進(jìn)行的,模擬環(huán)境的成功應(yīng)用才可以推廣到現(xiàn)實(shí)環(huán)境中,但是模擬與現(xiàn)實(shí)環(huán)境總是存在差距的。據(jù)此,未來對(duì)DQN 算法的研究可以從以下方面展開:
(1)建立精準(zhǔn)環(huán)境預(yù)測(cè)模型。建立準(zhǔn)確的環(huán)境模型,Agent就可以減少與真實(shí)環(huán)境的交互,通過學(xué)到的環(huán)境模型預(yù)測(cè)未來狀態(tài)[90],這不僅有助于提供一個(gè)潛在的無限數(shù)據(jù)源,還可以緩解真實(shí)機(jī)器人的安全問題。然而面對(duì)復(fù)雜多變的環(huán)境,在有限樣本的情況下,建立精準(zhǔn)的環(huán)境模型是十分困難的。
(2)避免在探索過程中失去目標(biāo)。在路徑規(guī)劃問題中,機(jī)器人可能過于專注于探索路徑以避開障礙物而忽略學(xué)習(xí)目標(biāo)。獎(jiǎng)勵(lì)函數(shù)是移動(dòng)機(jī)器人的訓(xùn)練的支撐,設(shè)計(jì)合理有效的獎(jiǎng)勵(lì)函數(shù),對(duì)過度專注于探索路徑的機(jī)器人進(jìn)行懲罰是至關(guān)重要的。另外可以進(jìn)行模仿學(xué)習(xí),使智能體模仿人類思考,與給定觀察環(huán)境進(jìn)行交互,使其最終獲得最大的累積獎(jiǎng)勵(lì)。
(3)提高勘探數(shù)據(jù)的有效性。利用遞歸神經(jīng)網(wǎng)絡(luò)模塊在機(jī)器人的學(xué)習(xí)過程中加入記憶單元。機(jī)器人的輸出動(dòng)作可以由多個(gè)狀態(tài)控制,可以解決信息丟失導(dǎo)致的低效探索問題。但在實(shí)際問題中,環(huán)境往往都是復(fù)雜且未知的,機(jī)器人探索得到的數(shù)據(jù)龐大且復(fù)雜,無法快速篩選得到有效的樣本,導(dǎo)致算法學(xué)習(xí)效率差。
(4)提高計(jì)算機(jī)的計(jì)算能力。計(jì)算機(jī)的計(jì)算能力對(duì)于算法性能,就像大腦的思考能力對(duì)于人類生命,無論多么優(yōu)秀的算法,都需要以計(jì)算機(jī)為載體進(jìn)行實(shí)驗(yàn)仿真,然后運(yùn)用到實(shí)際環(huán)境中,所以提高計(jì)算機(jī)本身的計(jì)算能力,對(duì)于算法性能的提升至關(guān)重要。
(5)增強(qiáng)處理傳感器信息技術(shù)的發(fā)展。DRL算法可以完成各種傳感器信息的融合,做出合理決策,但是不同類型的傳感器具有不同的信息冗余性,處理不同渠道的傳感器信息[91],獲取準(zhǔn)確的環(huán)境信息是亟待解決的問題,一些傳統(tǒng)的規(guī)劃方法可以作為輔助決策,來提高算法決策的可靠性。
(6)縮小模擬環(huán)境與真實(shí)環(huán)境的差距。虛擬模型被轉(zhuǎn)換到真實(shí)環(huán)境中會(huì)降低策略的性能[92],提高模擬環(huán)境的真實(shí)性能更好地為現(xiàn)實(shí)世界做準(zhǔn)備,但縮小虛擬和現(xiàn)實(shí)的差距需要更廣泛的理論和經(jīng)驗(yàn),以便更好地理解DRL算法在學(xué)習(xí)過程中的效果。
就目前發(fā)展現(xiàn)狀而言,基于DRL 路徑規(guī)劃算法大多還處于實(shí)驗(yàn)室階段,與應(yīng)用到現(xiàn)實(shí)世界中的運(yùn)動(dòng)規(guī)劃算法還具有較大的差距。未來對(duì)DRL算法的應(yīng)用研究不能僅僅局限于算法本身的改進(jìn),可以多學(xué)科合作,將人機(jī)交互知識(shí)領(lǐng)域的經(jīng)驗(yàn)融于DRL算法,提高Agent應(yīng)對(duì)環(huán)境的不確定性和突發(fā)性情況的能力;將DRL 算法與自動(dòng)控制理論相聯(lián)系,兩者相互借鑒,讓Agent 向著更加智能化的方向發(fā)展。