喻凱旋,林富生,宋志峰,余聯慶
(1.武漢紡織大學機械工程與自動化學院,湖北武漢 430200;2.三維紡織湖北省工程研究中心,湖北武漢 430200;3.湖北省數字化紡織裝備重點實驗室,湖北武漢 430200)
路徑規劃是當今移動機器人研究的一大熱點,同時也是一大難點。路徑規劃是指在起始點與終點之間尋找出一條合適的無碰撞路徑[1],在移動機器人導航中起到重要作用。隨著使用場景逐漸復雜以及安全要求不斷提高,如何快速、準確地規劃行駛路徑是一個難題。傳統路徑規劃算法有快速搜索隨機數[2](Rapidly-exploring Random Trees,RRT)、蟻群算法[3](Ant Colony Optimization,ACO)和遺傳算法[4](Genetic Algorithm,GA)等。以上算法經多次改進均有廣泛應用,但都存在相應缺陷,例如模型建造困難、搜索能力不足、容易陷入局部最優等。
機器學習的相關研究最近突飛猛進,機器人打敗人類精英將不再是夢想。針對機器學習的學習能力,許多研究者嘗試將機器學習應用到路徑規劃中。深度強化學習在路徑規劃上應用最廣的是DQN(Deep Q-Network,DQN)[5]算法,它結合了深度學習的感知能力和強化學習的決策能力。DQN使用神經網絡代替了Q-learning的Q表,解決了狀態過多時Q表的“維度災難”問題,同時增加了經驗回放和目標網絡,提高經驗利用率的同時改善了數據時序關聯的問題,但傳統的DQN算法存在過估計、收斂慢、稀疏獎勵等問題。
對于深度強化學習算法中的問題,徐志雄等[6]采用目標動態融合機制,將DQN與Sarsa算法融合,提出了DTDQN算法,既提高了訓練效率,也緩解了過估計問題。王軍等人[7]將后見經驗回放(Hindsight Experience Replay,HER)算法與DQN結合,采用置信區上界的方式選擇下一步的運動方向,輸入原始RGB圖像,輸出4個動作的Q值,一定程度上緩解了稀疏獎勵帶來的難以收斂問題。袁帥等人[8]提出了D3QN的路徑規劃算法,引入長短時記憶網絡(Long Short-Term Memory,LSTM),提高記憶和認知障礙物的能力,采用優先經驗回放機制(Prioritized Experience Replay,PER)提高重要樣本的利用率,明顯提升了神經網絡的收斂速度。
針對深度強化學習在路徑規劃上收斂過慢以及稀疏獎勵問題,本文作者提出了梯度獎勵機制,全新設計的獎勵函數提高了環境對機器人的反饋,結合去首動態貪婪策略以及基于均方誤差的優先經驗回放可有效緩解以上問題。
強化學習可以看作是一個剛出生的“嬰兒”通過不斷學習,逐漸成長為一個“成人”的過程[9]。智能體通過與環境互動,通過環境給予的獎勵來判斷當前動作的好壞。強化學習的過程如圖1所示,智能體根據當前狀態st做出動作at,環境根據動作給出當前動作的獎勵rt和下一時刻的狀態st+1,強化學習的目標就是最大化期望累計獎勵。

圖1 強化學習過程
貝爾曼方程是用來估計從當前時刻開始未來的所有累計獎勵總和,記為回報值Ut,如公式(1)所示:
Ut=Rt+γRt+1+γ2Rt+2+γ3Rt+3+……
(1)
式中:γ為折扣率,值介于0和1之間,γ值越大代表未來獎勵的權重越大。
Q-learning采用時序差分(Temporal Difference,TD)算法,利用貝爾曼方程估計未來所有獎勵的總和,是一種動態迭代的強化學習算法。迭代公式可以寫為公式(2):

(2)
式中:α為學習率,表示更新Q值時,TD-error所占比重的大小。
DQN使用神經網絡代替Q表,解決了狀態過多時的維度災難問題。傳統DQN在尋找最優動作時都是根據最大Q值選擇,在網絡更新時容易產生過估計問題,對4個動作不均勻的過估計會影響動作決策。解決過估計問題常用的優化方式有DDQN[10](Double DQN,DDQN)和 Dueling DQN[11]。DDQN的目標值計算如公式(3)所示,利用當前網絡計算下一狀態的最優動作,然后將這個動作代入目標網絡重新計算Q值。目標網絡具有一定的遲緩性,因此DDQN可以在一定程度上降低DQN的高估問題。
(3)
argmax為當前集合對應值最大的動作序號。
Dueling DQN的優化方式在神經網絡的結構上,如圖2所示,將DQN輸出的Q值變為狀態價值函數V(s)與動作優勢函數A(s,a)的和,如公式(4)所示:
Q(s,a;ω,α,β)=V(s;ω,β)+A(s,a;ω,α)
(4)
Dueling DQN存在一種特殊情況,如果狀態價值函數V(s)為0時,此時動作優勢函數A(s,a)就等于Q值[12]。所以通常使用預測動作的A值減去其平均值作為動作優勢函數,使所有動作的A值相加和為零,如公式(5)所示:
(5)
相較于DQN,Dueling DQN在網絡參數更新時,可以學習到當前狀態對應的狀態價值函數V(s)的值,普通DQN只能學習到當前狀態下對應的動作大的Q值,在一些特殊情況下,狀態的選擇優于動作選擇時,例如路徑規劃中靠近終點的一些位置,這些位置上的獎勵值顯然需要優于距離目標點較遠位置的獎勵值,此時Dueling DQN在Q值估計的精準度上有更好的效果。
Dueling DQN網絡更新如公式(6)所示:

(6)
深度強化學習在簡單環境下經過多次訓練,可以達到較好的成功率,但效率低。而在復雜環境下,由于狀態數量多,模型復雜,可能出現無法收斂的情況。在多次實驗中發現深度強化學習在小范圍地圖下的路徑規劃效果遠遠優于大范圍地圖。基于這一特性,本文作者從獎勵機制入手,劃分獎勵區域縮小探索范圍,同時在探索策略和經驗回放上做相應的優化設計。具體方法如下:
獎懲政策是強化學習里面一個非常重要的參數,合適的獎勵函數可以使智能體與環境獲得更多的交互[13]。在路徑規劃中,傳統的二分獎勵函數設置為:到達目標點獎勵為1,碰到障礙物或超出邊界獎勵為-1,其余情況下為0。
傳統獎勵函數將目標點與障礙物區分,可以讓機器人明確自己的目標,此方法只有當機器人首次探索到目標點后,機器人才會學到正向的獎勵。對于復雜的大尺寸環境,機器人只能在安全區域隨機探索,探索時間長、樣本利用率低,可能造成無法收斂的情況。針對傳統獎勵函數的弊端,本文作者重新設計獎勵函數,提出一種梯度獎勵機制,劃分獎勵分布區域,誘導機器人逐步縮小探索范圍,同時讓機器人在安全區域內可以獲得正向獎勵。獎勵分布如圖3所示。
根據起始點與目標點的位置,可將環境劃分為4個區域,包括緩沖區、探索區、臨近區以及目標區。緩沖區為最外層區域,此區域被視為遠離目標點,用于起始點附近有障礙物的情況,此時可以起緩沖作用。探索區為起始點向目標點移動的開始區域,此時移動機器人以探索為主,搜索障礙物區域并向內層靠近。臨近區為路徑總長的中部區域,距離目標點的距離約為總長的一半。目標區為最接近目標點的區域,搜索到目標點所需時間最短。
獎勵函數如公式(7)所示:
(7)
式中:Δht為t時刻機器人距離目標點的歐幾里得距離;G為目標點;T為安全區域集合;H為障礙物集合;η為獎勵系數,值與Δht有關,如公式(8)所示:
(8)
式中:H為起始點距離終點的總長度。
在距離目標點越近的范圍,所對應的η值會越大,同時采用突變的更新方式,改變不同區域內獎勵值的大小,打破了邊緣位置上數據關聯性。突出強調4種不同的區域帶來的獎勵梯度,讓探索的范圍逐次減小,改善其盲目探索的特點,對移動機器人的運動起到指引的作用。
在DQN中,通常以當前狀態的最大Q值的動作作為下一步的動作,在網絡訓練不完全時,容易出現探索區域過小或陷入局部最優等情況。貪婪策略利用隨機數n和探索因子ε可以實現探索與利用的平衡。首先生成一個隨意數n,若n>ε,則選擇Q值最大的動作;反之,隨機選擇一個動作。在隨機選擇動作的時候,仍有概率會選擇最大Q值的動作,未達到探索的效果。因此,本文作者提出一種去首動態貪婪策略,在探索階段,先排除最大Q值的動作,然后在剩余動作里面隨機選擇,所有動作的集合表示為A,去除最大Q值的動作集合為A-,動作選擇函數如公式(9)所示:
(9)
探索因子ε代表隨機探索環境的程度,陌生環境下,探索因子可認為隨著探索次數增加而逐漸減小,可加速網絡模型訓練。對此,本文作者采用變化率調節策略,ε遵循二次函數分布,如式(10)所示:
εt=k(x-αmax)2+αmin
(10)
式中:x為當前的回合數;αmax為最大探索率;αmin為最小探索率。
優先經驗回放使用sum tree的結構形式儲存數據,數據抽取的概率與優先級的大小成正比[14]。優先級大的數據有更高的抽取概率,同時優先級小的數據也有被抽取的可能,保證樣本多樣性的同時達到重要樣本的最大利用率。本文作者提出基于均方誤差的改進優先經驗回放機制,如公式(11)所示:
(11)
數據抽取的過程類似于蒙特卡洛積分,不同的數據估計的精準度不同。重要性采樣(Importance Sampling)是一種人為干預抽樣分布的方法[15],對重要性高的數據加權一個重要性權重,使其重要性在整體上達到平均。樣本概率分布和重要性采樣權重如公式(12),(13)所示:
(12)
(13)
式中:α和β介于0和1之間,用于適當調整優先級的大小,不改變優先級分布。
整體流程如圖4所示。首先通過Dueling DQN結構生成當前網絡和目標網絡,其中隱藏層為4層,每層包含64個神經元,激活函數為ReLU函數。網絡參數分別為ω和ω-,然后利用去首動態貪婪策略得到基于狀態s的動作a,與環境交互獲得下一個狀態s-和獎勵r,并將四元組儲存到經驗回放池,使用優先經驗回放抽取Batch組數據,利用當前網絡和目標網絡生成預測值和TD目標值,計算均方誤差后采用梯度下降更新當前網絡參數ω,最后每隔C步更新目標網絡參數ω-。

圖4 整體流程
實驗環境為CPU i5-12500H、GPU RTX 3050Ti、Python3.9、Tensorflow2.6.0、Cuda11.5,利用Python-Tkinter圖形化界面構建仿真地圖環境。其中黑色方塊代表障礙物,紅色方塊代表移動機器人,黃色圓圈代表終點。機器人有“上”“下”“左”“右”4種移動方式,遇到障礙物、超出邊界和到達終點代表回合結束。本文作者設置了小范圍地圖和大范圍地圖,分別如圖5和圖6所示。比較不同地圖下原始算法和改進算法的結果,驗證了改進算法的有效性。超參數設置如表1所示。

表1 超參數設置

圖5 小范圍地圖 圖6 大范圍地圖
由于環境尺寸不同,狀態信息數量有所差距,因此小范圍下經驗回放池容量和單次抽取樣本數量分別選擇10 000和32。首先使用隨機抽樣對梯度獎勵算法和普通二分獎勵的Dueling DQN算法比對,訓練回合為5 000次,規劃的路徑如圖7所示。

圖7 小范圍路徑規劃
無論是普通獎勵還是梯度獎勵,在小范圍環境下均可規劃出同樣的最短路徑,說明在路徑結果方面梯度獎勵所占優勢并不顯著,然而在路徑規劃的成功率上兩者有較大差距,成功率曲線如圖8所示。

圖8 小范圍成功率對比
由圖8可知:兩者在初次探索到目標點后均有一較大突變,隨后呈現逐漸上升的趨勢,說明強化學習中首次獲得目標點獎勵對網絡收斂起到非常重要的作用。對比可知:在梯度獎勵下,機器人首次到達目標點只需1 698回合,而傳統二分獎勵需要2 746回合,在探索效率上提升了約38%。梯度獎勵下機器人在3 000回合可達到0.8的成功率,總體成功次數2 493次;普通獎勵下機器人在3 900回合才能達到0.8的成功率,總體成功次數1 771次,成功率提升約40%。結果表明,梯度獎勵在小范圍環境下相比普通獎勵總體優化接近40%。
地圖尺寸增大,狀態數量因此增多,因此經驗回放池容量選擇16 000,單次抽取數據為64組。測試方式首先使用優先經驗回放、梯度獎勵和普通獎勵進行組合測試,然后與文獻[7]所使用的HERDQN算法進行比較測試,探索策略均為去首動態貪婪策略,訓練回合為10 000次。經多次重復實驗,累計成功次數如表2所示。

表2 累計成功次數
由表2可知:在10 000回合的訓練中,整體成功率最高的組合為梯度獎勵加上優先經驗回放的方式,達到56.19%;其次為未加優先經驗回放的梯度獎勵50.07%;而普通的Dueling DQN整體成功次數僅為4.48%。整體成功率上,梯度獎勵占據較大優勢。
同時從每千次的累計成功次數中可以看出:梯度獎勵優勢明顯,成功次數逐漸增加,而普通獎勵成功次數卻停滯不前;相同梯度獎勵下,優先經驗回放成功次數大于隨機抽樣約400次,因此優先經驗回放可顯著減少初次探索到目標點的次數,但在后期的探索上,兩者提升效率趨于相等。
從圖9所示的成功率曲線得知,整體趨勢上增加梯度獎勵的算法呈現上升趨勢,而普通獎勵在6 500次以后成功率降為0;在初次探索到目標點的時間上,梯度獎勵比普通獎勵時間縮短近50%,同時增加梯度獎勵的優先經驗回放比隨機抽樣時間縮短約15%,隨機抽樣梯度獎勵在2 100次訓練會初次達到終點,增加優先經驗回放后縮短為1 800次;6 000回合以上,增加梯度獎勵的算法趨近于收斂,其中優先經驗回放相比隨機抽樣的成功率波動明顯減少,成功率穩定在80%以上;對于普通獎勵,成功率一直為0,它陷入了局部最優解。

圖9 大范圍成功率對比
圖10為局部最優解路線,最終結果是機器人在圖中A和B兩點處一直進行無限循環。通過分析可得:在點A機器人認為最大回報為向下運動,即點B;在點B處機器人認為最大回報為向上運動,即點A,即使在貪婪策略下有少數情況可逃離循環,但后續仍會陷進局部最優解。梯度獎勵因其指引作用,在得到獎勵對比后,機器人可很快逃離此局部最優。從成功率可得到梯度獎勵對比普通獎勵規劃效率提升近50%,同時解決了局部最優的難題。

圖10 局部最優路徑示意
圖11為表示樣本偏差的代價函數(cost function)的數值,比較了在梯度獎勵下增加優先經驗回放與隨機抽樣的差別??芍簝烧咴诔跏茧A段未探索到目標點時均具有較小偏差,因為未達到目標點,導致數值整體偏小,后續逐漸增加,隨后趨于收斂。在總體偏差上,將每回合的偏差值累加后求平均,可得到梯度獎勵的平均樣本偏差約為0.99,增加優先經驗回放的平均樣本偏差約為0.39,優先經驗回放與隨機抽樣對比,偏差值可減少約59.6%。實驗結果表明:優先經驗回放可顯著減少樣本估計的偏差,同時提高探索效率,增強算法的魯棒性。

圖11 樣本偏差比較
在大范圍地圖下,使用梯度獎勵與文獻[7]的方法規劃的路徑分別如圖12和圖13所示。對比路徑的長度、拐點的個數以及成功率達到60%時的次數,如表3所示。

表3 指標對比

圖12 梯度獎勵規劃路徑 圖13 文獻[7]規劃路徑
可知:梯度獎勵與文獻[7]的HERDQN相比,路徑長度短兩格,兩者差距主要產生在圖13的C處,C處由于缺乏獎勵的引導,導致機器人認為向左走為最佳路徑,而后為了尋找到終點又不得不向右走,導致路徑變長;拐點次數兩者相等;在成功率的對比上,兩者達到60%成功率所需次數分別約為3 100次和4 050次,相差約1 000次。因此梯度獎勵在速率上,對比HERDQN提升約25%,可證實其優越性。
稀疏獎勵是深度強化學習中一個重大難題,在路徑規劃中體現出效率低、不易收斂等問題。本文作者提出一種梯度獎勵政策,劃分獎勵分布區域,讓機器人在安全區域也能得到正向獎勵,同時結合去首動態貪婪策略與優先經驗回放,實現探索程度最大化的同時提升對有效樣本的利用率。實驗結果表明:小范圍環境內梯度獎勵機制探索效率提升38%,整體成功率提升40%;在大范圍環境內,梯度獎勵可顯著增加探索效率,總體成功率可提升12倍以上,探索后期成功率穩定在80%以上,也改善了稀疏獎勵中不易收斂等難題,具有較強的穩定性。