国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于輸出層具有噪聲的DQN的無人車路徑規(guī)劃*

2023-05-15 07:02:10閆冬梅
關(guān)鍵詞:無人噪聲狀態(tài)

李 楊, 閆冬梅, 劉 磊

(1. 河海大學(xué) 理學(xué)院, 南京 211100;2. 南京郵電大學(xué) 現(xiàn)代郵政學(xué)院, 南京 211100)

0 引 言

無人車是電子計(jì)算機(jī)等最新科技成果與現(xiàn)代汽車工業(yè)相結(jié)合的產(chǎn)物,是集環(huán)境感知、規(guī)劃決策、自主行駛等功能于一體的綜合系統(tǒng),它集中運(yùn)用計(jì)算機(jī)、現(xiàn)代傳感、信息融合、通訊、人工智能與自動(dòng)控制等技術(shù),是典型的高新技術(shù)綜合體.路徑規(guī)劃是無人車自主導(dǎo)航的重要前提,也是無人車完成其他各項(xiàng)任務(wù)的基礎(chǔ).路徑規(guī)劃常采用A*算法[1]、遺傳算法[2]、蟻群算法[3]、人工勢場法[4]等,這些算法在無人車路徑規(guī)劃過程中都需要環(huán)境信息.強(qiáng)化學(xué)習(xí)方法[5-7]的出現(xiàn)以其獨(dú)特的運(yùn)行過程和泛化性能解決了眾多問題,使得無人車進(jìn)行路徑規(guī)劃時(shí)完全不需要環(huán)境信息,通過在訓(xùn)練過程中不斷試錯(cuò),與環(huán)境進(jìn)行交互,采用延遲回報(bào)的方式尋找最優(yōu)動(dòng)作以獲得最優(yōu)決策能力[8],最終得到規(guī)劃路徑.

針對狀態(tài)數(shù)較少的離散狀態(tài)下的無人車路徑規(guī)劃,訓(xùn)練一般選取Q-learning算法[9-12],主要通過改進(jìn)Q-learning算法或修改獎(jiǎng)勵(lì)函數(shù)提高算法訓(xùn)練效率.但當(dāng)狀態(tài)數(shù)較多時(shí),使用此算法進(jìn)行訓(xùn)練會(huì)出現(xiàn)維度爆炸問題,訓(xùn)練和收斂時(shí)間較長,成功率也較低.針對連續(xù)狀態(tài)下的無人車路徑規(guī)劃,Q-learning等表格型強(qiáng)化學(xué)習(xí)(reinforcement learning,RL)算法無法勝任,鑒于神經(jīng)網(wǎng)絡(luò)有極強(qiáng)的表達(dá)能力[13-14],眾多學(xué)者使用神經(jīng)網(wǎng)絡(luò)代替Q表格,采用DQN(deepQ-network)[15]等深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning,DRL)算法進(jìn)行訓(xùn)練研究.為提高算法的性能,一些新穎的訓(xùn)練技巧被應(yīng)用到DQN中,例如董永峰等[16]通過動(dòng)態(tài)融合DDQN(double deepQ-network)與averaged-DQN的先驗(yàn)知識進(jìn)行訓(xùn)練,有效降低了過估計(jì)的影響,但算法總體迭代次數(shù)較多,對算力要求較高.姜蘭[17]提出了基于啟發(fā)式知識的DQN算法,有助于加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,但該算法在運(yùn)用啟發(fā)式知識時(shí)只考慮了避障而忽略了路徑規(guī)劃,致使規(guī)劃路徑過于冗余.丁志強(qiáng)[18]以DQN為基礎(chǔ),編程實(shí)現(xiàn)了one-hot編碼狀態(tài)映射、縮減浮點(diǎn)數(shù)位數(shù)、調(diào)用SIMD指令集等,最終在路徑規(guī)劃仿真中提高了算法的運(yùn)行速度.總體來說,上述的多數(shù)改進(jìn)算法都是基于貪婪策略進(jìn)行探索,為增強(qiáng)DQN算法的探索性能,Fortunato等[19]提出了noisynet-DQN算法,該算法將DQN網(wǎng)絡(luò)中的線性層替換成噪聲層取代傳統(tǒng)的貪婪策略, 通過增加較少的計(jì)算成本實(shí)現(xiàn)探索性能的極大提升, 但是這樣將導(dǎo)致算法的不穩(wěn)定與計(jì)算能力的消耗.故本文借鑒noisynet-DQN的思想,在解決探索不足問題的前提下,保證算法的穩(wěn)定與節(jié)省計(jì)算成本,并沒有在全部全連接層添加噪聲,只在輸出層中加入Gauss噪聲用于無人車避障.

此外,為了提升探索效率,本文將處理連續(xù)狀態(tài)的DQN算法加以變化地應(yīng)用到離散狀態(tài),并選擇在輸出層添加噪聲的三層全連接層作為Q網(wǎng)絡(luò),避免了端對端處理模式對算力的依賴.考慮到有限的計(jì)算資源和算法落地的需求,本文選擇具有可遷移性的Gazebo仿真平臺對ROS無人車進(jìn)行實(shí)驗(yàn)仿真.仿真結(jié)果顯示此算法收斂速度、成功率與平均獎(jiǎng)勵(lì)明顯高于Q-learning算法、DQN算法與noisynet_DQN算法, 證明了在此環(huán)境下加入單層噪聲的輕量級網(wǎng)絡(luò)的有效性, 并通過測試證明了算法在起始點(diǎn)、 目標(biāo)點(diǎn)與障礙物方面具有泛化性能.

1 強(qiáng) 化 學(xué) 習(xí)

1.1 強(qiáng)化學(xué)習(xí)理論基礎(chǔ)

強(qiáng)化學(xué)習(xí)最初是受到心理學(xué)領(lǐng)域關(guān)于人類和動(dòng)物學(xué)習(xí)方面的影響而形成的.在強(qiáng)化學(xué)習(xí)中,智能體從外部環(huán)境感知狀態(tài)(st),隨后智能體執(zhí)行某動(dòng)作(at),該動(dòng)作改變環(huán)境中原來的狀態(tài)使智能體獲得一個(gè)新的狀態(tài)(st+1).在新的狀態(tài)下,環(huán)境產(chǎn)生對智能體當(dāng)前動(dòng)作的獎(jiǎng)勵(lì)(rt),此獎(jiǎng)勵(lì)是對動(dòng)作好壞的評價(jià),隨后智能體根據(jù)獲得的狀態(tài)和獎(jiǎng)勵(lì)修正動(dòng)作策略并采取下一個(gè)動(dòng)作,如此反復(fù)迭代,與環(huán)境通過反饋信息進(jìn)行交互以獲得最大的累積獎(jiǎng)勵(lì)(G=r1+r2+…+rn+…).

1.2 DQN算法

深度強(qiáng)化學(xué)習(xí)是在強(qiáng)化學(xué)習(xí)的基礎(chǔ)上使用了神經(jīng)網(wǎng)絡(luò),使得原始感官輸入映射到原始電機(jī)輸出成為可能(圖1).神經(jīng)網(wǎng)絡(luò)具有良好的擬合能力,能夠通過簡單函數(shù)的組成逼近任意的非線性函數(shù).在DQN中,Q網(wǎng)絡(luò)取代了Q-learning的Q表,將環(huán)境狀態(tài)利用非線性逼近映射成智能體的動(dòng)作值.

圖1 強(qiáng)化學(xué)習(xí)框架Fig. 1 The reinforcement learning framework

網(wǎng)絡(luò)架構(gòu)、網(wǎng)絡(luò)超參數(shù)的選擇與學(xué)習(xí)都在訓(xùn)練階段(Q網(wǎng)絡(luò)權(quán)重的學(xué)習(xí))中完成.在訓(xùn)練過程中,DQN通過經(jīng)驗(yàn)回放池來獲取訓(xùn)練樣本,網(wǎng)絡(luò)的輸入是智能體接收到的從環(huán)境中傳來的狀態(tài),輸出為智能體所有可能動(dòng)作的Q值,隨后,采用ε-greedy貪婪策略來選擇動(dòng)作并執(zhí)行以平衡探索與利用之間的關(guān)系,環(huán)境根據(jù)所選動(dòng)作反饋相應(yīng)的獎(jiǎng)勵(lì),定義損失函數(shù)為目標(biāo)Q值與Q值之間的差:

δloss=[r(st,at)+γmaxQ_(st+1,at+1)-Q(st,at)],

(1)

其中,maxQ_(st+1,at+1)表示當(dāng)狀態(tài)為st+1時(shí),在動(dòng)作空間中選取恰當(dāng)?shù)膭?dòng)作得到的最大的行為值函數(shù),Q_表示目標(biāo)Q網(wǎng)絡(luò).

對誤差進(jìn)行反向傳播來更新Q網(wǎng)絡(luò)的參數(shù),如此不斷進(jìn)行訓(xùn)練,直到誤差滿足特定條件或者到達(dá)迭代次數(shù)時(shí)學(xué)習(xí)結(jié)束.具體運(yùn)行流程見文獻(xiàn)[15].

2 算法模型設(shè)計(jì)

2.1 狀態(tài)空間與動(dòng)作空間設(shè)計(jì)

將圖片作為輸入的端對端算法需要強(qiáng)大的算力支持,將連續(xù)狀態(tài)作為輸入的算法計(jì)算時(shí)間相對較長,考慮到探索效率和算法性能,本實(shí)驗(yàn)采用離散化的思想,將連續(xù)狀態(tài)適度離散化為離散狀態(tài),并作為算法的輸入.狀態(tài)的各分量劃分成確定數(shù)量的非重疊區(qū)域,不同區(qū)域代表著無人車面臨的不同環(huán)境信息.狀態(tài)為五維向量,分別為無人車前進(jìn)方向與目標(biāo)點(diǎn)的夾角、雷達(dá)傳感器在4個(gè)區(qū)域d1,d2,d3,d4中所感知到的障礙物的最近距離,即s=(θ,d1,d2,d3,d4),狀態(tài)示意圖如圖2所示.

(a) 狀態(tài)向量各分量示意圖(b) d1~d4區(qū)域劃分圖(a) Schematic diagram of each component of the state vector(b) The zoning plan of d1~d4圖2 狀態(tài)示意圖Fig. 2 The state diagram

狀態(tài)分量具體劃分如下所示,共有3×4×4×4×4=768個(gè)狀態(tài).

本實(shí)驗(yàn)的動(dòng)作空間為A,A中共包含4個(gè)動(dòng)作: 前進(jìn)、 后退、 右轉(zhuǎn)、 左轉(zhuǎn), 具體為(0.5 m/s,0.0 rad/s),(-0.5 m/s,0.0 rad/s),(0.1 m/s,0.6 rad/s),(0.1 m/s,-0.6 rad/s),其中第一個(gè)分量表示線速度,第二個(gè)分量為角速度.

2.2 獎(jiǎng)勵(lì)函數(shù)的設(shè)置

在強(qiáng)化學(xué)習(xí)中,獎(jiǎng)勵(lì)函數(shù)是任務(wù)能否完美解決的重要因素,是無人車在某狀態(tài)下所采取動(dòng)作的評價(jià).本實(shí)驗(yàn)的目的是使小車從初始點(diǎn)無碰撞且能夠快速地到達(dá)目標(biāo)點(diǎn),故獎(jiǎng)勵(lì)函數(shù)的設(shè)置考慮到靠近目標(biāo)點(diǎn)與遠(yuǎn)離障礙物這兩個(gè)方面.

本文在文獻(xiàn)[16]獎(jiǎng)勵(lì)函數(shù)的基礎(chǔ)上,加入漸進(jìn)式的獎(jiǎng)勵(lì),這樣可使小車能夠更快地完成任務(wù).具體為:當(dāng)無人車碰到障礙物時(shí),給予懲罰,獎(jiǎng)勵(lì)為負(fù)值;當(dāng)無人車到達(dá)目標(biāo)點(diǎn)時(shí),給予獎(jiǎng)勵(lì),獎(jiǎng)勵(lì)為正值.為了促使小車一直向目標(biāo)點(diǎn)移動(dòng),當(dāng)小車運(yùn)行一步后與目標(biāo)點(diǎn)的距離比上一步離目標(biāo)點(diǎn)的距離更近時(shí),以及當(dāng)小車進(jìn)入目標(biāo)點(diǎn)的某一范圍區(qū)域內(nèi)時(shí),給予正值獎(jiǎng)勵(lì);其余情況給予-2,是為了防止小車出現(xiàn)循環(huán)運(yùn)動(dòng)獲取值為1的獎(jiǎng)勵(lì).具體如下所示:

(2)

其中,dr_t(t)表示在t時(shí)刻無人車與目標(biāo)點(diǎn)的距離,dr_o(t)表示在t時(shí)刻無人車距離障礙物的最近距離,do表示無人車撞到障礙物的閾值,dt表示實(shí)驗(yàn)所設(shè)定的無人車到達(dá)目標(biāo)點(diǎn)的閾值,dn表示所設(shè)定的無人車靠近目標(biāo)點(diǎn)的閾值.

2.3 輸出層具有噪聲的DQN算法

對無人車進(jìn)行路徑規(guī)劃時(shí),當(dāng)所有可達(dá)狀態(tài)處于可控(能夠迭代)并且能存儲在計(jì)算機(jī)RAM中時(shí),Q-learning算法能夠很好地完成任務(wù).然而,當(dāng)環(huán)境中的狀態(tài)數(shù)超過計(jì)算機(jī)容量時(shí),Q-learning算法中的Q表由于狀態(tài)數(shù)過多,容易出現(xiàn)維度爆炸的問題.這時(shí),一般會(huì)選取DRL算法來完成任務(wù).

對于本文所設(shè)計(jì)的僅有768個(gè)狀態(tài)的環(huán)境中,若使用Q-learning算法進(jìn)行路徑規(guī)劃,雖不會(huì)出現(xiàn)維度爆炸問題,但狀態(tài)數(shù)過大易導(dǎo)致實(shí)驗(yàn)效果較差;若使用復(fù)雜的深度強(qiáng)化學(xué)習(xí)算法,例如DDPG、 PPO等會(huì)導(dǎo)致計(jì)算機(jī)算力成本增加.通過實(shí)驗(yàn)發(fā)現(xiàn), 使用網(wǎng)絡(luò)結(jié)構(gòu)簡單的DQN算法能夠更快更好地完成本文的路徑規(guī)劃任務(wù).

因狀態(tài)數(shù)僅為768個(gè),算法網(wǎng)絡(luò)層數(shù)過多會(huì)出現(xiàn)訓(xùn)練時(shí)間長、收斂慢、浪費(fèi)計(jì)算資源等問題.考慮到環(huán)境的復(fù)雜程度與計(jì)算效率,本文的算法網(wǎng)絡(luò)只有3層全連接層.為提高探索性能,本文受到文獻(xiàn)[19]的啟發(fā),在網(wǎng)絡(luò)結(jié)構(gòu)中加入Gauss噪聲;為保證算法的穩(wěn)定性和節(jié)省計(jì)算成本,僅在輸出層添加分解Gauss噪聲.所添加的噪聲通過梯度下降法自動(dòng)調(diào)整噪聲強(qiáng)度,減輕了對任何超參數(shù)調(diào)優(yōu)的需要,并且噪聲所引發(fā)的探索程度是前后相關(guān)的,能夠根據(jù)每個(gè)權(quán)重方差在不同的狀態(tài)之間進(jìn)行變化,此探索方法比DQN原本的ε-greedy貪婪策略隨機(jī)選擇動(dòng)作的探索性能更好,既保證了探索動(dòng)作多樣化,又提高了探索效率.具有p個(gè)輸入,q個(gè)輸出的全連接層添加噪聲后的具體表達(dá)式如下:

y=(μw+σw⊙εw)x+μb+(σb⊙εb),

(3)

其中,x∈Rp,y∈Rq,μw∈Rq×p,σw∈Rq×p,εw∈Rq×p,μb∈Rq,σb∈Rq,εb∈Rq,⊙表示逐元素乘法,εw,εb為隨機(jī)噪聲參數(shù).

綜上所述,本文選擇在輸出層添加分解Gauss噪聲的三層全連接層的DQN算法.具體的算法流程如圖3所示.

圖3 在輸出層添加噪聲的DQN算法框架Fig. 3 The DQN algorithm framework for adding noise in the output layer

算法偽代碼如下所示.

算法1 輸出層添加分解Gauss噪聲的DQN算法

初始化經(jīng)驗(yàn)回放池D

隨機(jī)初始化Q網(wǎng)絡(luò)的參數(shù)θ、目標(biāo)Q網(wǎng)絡(luò)的參數(shù)θ-與隨機(jī)噪音參數(shù)ε

for episode=1 to maxepisode do

觀測得到狀態(tài)s1

fort=1 toTdo

從Gauss分布中采樣得到噪聲ξ~ε

通過貪婪策略選擇動(dòng)作at=maxQ(st,at,ξ;θ)

在環(huán)境中執(zhí)行動(dòng)作at

獲得獎(jiǎng)勵(lì)rt并到達(dá)下一個(gè)狀態(tài)st+1

將經(jīng)驗(yàn)(st,at,rt,st+1)存儲到經(jīng)驗(yàn)回放池D中

令st=st+1

從經(jīng)驗(yàn)回放池中隨機(jī)采樣minibatch個(gè)經(jīng)驗(yàn)

forj=1 to minibatch do

從Gauss分布中采樣得到噪聲ξ′~ε

對(yj-Q(sj,aj,ξ″;θ))2執(zhí)行梯度下降策略更新Q網(wǎng)絡(luò)的參數(shù)(ξ″~ε)

end for

每隔固定步數(shù)對目標(biāo)網(wǎng)絡(luò)參數(shù)進(jìn)行更新θ-=θ

end for

end for.

2.4 仿真環(huán)境

為計(jì)算方便起見,大多數(shù)文獻(xiàn)(例如文獻(xiàn)[12,16-18,20-21])選擇在柵格地圖等可視化環(huán)境中進(jìn)行算法仿真,但這些仿真環(huán)境與現(xiàn)實(shí)環(huán)境有著較大的差別,致使實(shí)驗(yàn)結(jié)果難以令人信服.近年來,越來越多的學(xué)者采用Gazebo等逼真的仿真環(huán)境進(jìn)行實(shí)驗(yàn),例如文獻(xiàn)[22-25].在柵格環(huán)境中進(jìn)行實(shí)驗(yàn)與Gazebo環(huán)境進(jìn)行仿真相比,環(huán)境由二維平面轉(zhuǎn)換為三維空間,小車模型由一個(gè)點(diǎn)變?yōu)閾碛袆?dòng)力學(xué)仿真和傳感器仿真的真實(shí)模型,環(huán)境和模型的變化可使Gazebo平臺的實(shí)驗(yàn)結(jié)果更加真實(shí)可信.

故本算法選擇在Gazebo仿真環(huán)境下,使用基于機(jī)器人操作系統(tǒng)(ROS)搭建的差速式無人車進(jìn)行實(shí)驗(yàn).本實(shí)驗(yàn)中,在車體的前端安裝了一個(gè)雷達(dá)傳感器,可以檢測到車體周圍(-3 rad,3 rad)范圍內(nèi)的環(huán)境信息,雷達(dá)傳感器的檢測有效范圍為0.10~30 m,精確到0.01 m,雷達(dá)旋轉(zhuǎn)一周發(fā)射360條射線,每一條射線進(jìn)行一次測距,通過區(qū)域劃分,將傳感器感知到的范圍劃分成4個(gè)互不相交的區(qū)域,使用d1,d2,d3,d4表示無人車在4個(gè)區(qū)域內(nèi)與障礙物的最短距離.計(jì)算無人車前進(jìn)方向與目標(biāo)點(diǎn)的夾角的絕對值的公式如下:

θ=|ψ-φ|,

(4)

其中,φ表示無人車前進(jìn)方向與地圖坐標(biāo)系x軸正方向的夾角,ψ表示目標(biāo)點(diǎn)相對于無人車質(zhì)心處地圖坐標(biāo)系x軸正方向的夾角.

在Gazebo中建立了13×8單位距離的仿真環(huán)境,環(huán)境四周由墻圍住,中間設(shè)置6個(gè)障礙物,初始點(diǎn)為(0,0),目標(biāo)點(diǎn)為(-6,1),Gazebo仿真環(huán)境如圖4所示,Rviz仿真環(huán)境如圖5所示.

圖4 Gazebo仿真環(huán)境 圖5 Rviz仿真環(huán)境 Fig. 4 The Gazebo simulation environment Fig. 5 The Rviz simulation environment

注為了解釋圖中的顏色,讀者可以參考本文的電子網(wǎng)頁版本,后同.

本實(shí)驗(yàn)在UBUNTU操作系統(tǒng)上運(yùn)行,處理器為Intel(R) Core(TM) i7-9700 CPU @ 3.00 GHz.無人車仿真使用PYTHON編程,Adam優(yōu)化器進(jìn)行網(wǎng)絡(luò)訓(xùn)練優(yōu)化.算法的網(wǎng)絡(luò)訓(xùn)練參數(shù)設(shè)置如表1所示.

表1 算法訓(xùn)練參數(shù)

本實(shí)驗(yàn)的任務(wù)是利用在輸出層添加噪聲的DQN算法,使無人車在未知的環(huán)境中規(guī)劃出從初始點(diǎn)到目標(biāo)點(diǎn)的無碰撞路徑.實(shí)驗(yàn)共訓(xùn)練1 000個(gè)回合,智能體執(zhí)行一次動(dòng)作的時(shí)間為1 s,無人車到達(dá)目標(biāo)點(diǎn)或碰到障礙物則本回合結(jié)束.

3 實(shí)驗(yàn)結(jié)果分析

為了驗(yàn)證在輸出層添加噪聲的DQN算法在無人車路徑規(guī)劃中的有效性,采用PYTHON語言在Gazebo仿真環(huán)境中對Q-learning算法、DQN算法、3層全連接層都添加Gauss噪聲的DQN算法與僅在輸出層添加Gauss噪聲的DQN算法進(jìn)行1 000回合的實(shí)驗(yàn).為區(qū)分算法的名稱,用changed_DQN表示在輸出層添加噪聲的DQN算法,noisynet_DQN表示Q網(wǎng)絡(luò)中的3層全連接層都添加噪聲的DQN算法.

圖6為采用Q-learning算法、DQN算法、changed_DQN算法與noisynet_DQN算法訓(xùn)練1 000回合的成功率對比圖.從圖中看出,changed_DQN算法訓(xùn)練效果最好,在100回合內(nèi)成功率就開始快速提升,在200回合左右開始收斂,1 000回合時(shí)成功率為94.2%;Q-learning算法在訓(xùn)練期間因狀態(tài)空間略大,訓(xùn)練結(jié)果不穩(wěn)定,成功率十分低,相比之下,3個(gè)DQN算法的成功率都遠(yuǎn)高于Q-learning算法.依靠ε-greedy貪婪策略進(jìn)行探索的DQN算法,成功率提升速度緩慢,1 000回合時(shí)成功率才71.6%,明顯低于另外兩種DQN算法,這表明在網(wǎng)絡(luò)結(jié)構(gòu)中添加噪聲的DQN算法的探索效率高于使用ε-greedy貪婪策略的DQN算法;noisynet_DQN算法在前期探索階段成功率和changed_DQN相當(dāng),但后期因噪聲添加過多導(dǎo)致算法不好收斂,成功率明顯低于changed_DQN.

圖6 成功率對比圖Fig. 6 Comparison of success rates

訓(xùn)練過程中每回合的平均獎(jiǎng)勵(lì)對比如表2與圖7所示.從圖7(a)中可以看出,運(yùn)用changed_DQN算法的小車所獲得的平均獎(jiǎng)勵(lì)基本全部高于運(yùn)用Q-learning算法的小車,且收斂在較高水平.從圖7(b)可看出,在前期100回合左右時(shí),運(yùn)用changed_DQN算法的小車的平均獎(jiǎng)勵(lì)已經(jīng)開始收斂,而運(yùn)用DQN算法的小車的平均獎(jiǎng)勵(lì)到400回合左右才開始收斂,且后期波動(dòng)較大.從表2可看出,訓(xùn)練過程中,changed_DQN算法的平均獎(jiǎng)勵(lì)均值最大,方差最小,這說明此算法穩(wěn)定并且獎(jiǎng)勵(lì)收斂在較高的水平.

(a) Q-learning與changed_DQN (b) DQN與changed_DQN (c) Noisynet_DQN與changed_DQN 平均獎(jiǎng)勵(lì)對比 平均獎(jiǎng)勵(lì)對比 平均獎(jiǎng)勵(lì)對比 (a) Mean reward comparison between (b) Mean reward comparison between (c) Mean reward comparison between Q-learning and changed_DQN DQN and changed_DQN noisynet_DQN and changed_DQN圖7 平均獎(jiǎng)勵(lì)對比圖Fig. 7 Comparison of mean rewards

本實(shí)驗(yàn)的目的為無人車能夠無碰撞地到達(dá)目標(biāo)點(diǎn),故選擇無人車結(jié)束本回合訓(xùn)練時(shí)的位置與目標(biāo)點(diǎn)的距離作為誤差,誤差越小表明越接近目標(biāo)點(diǎn).圖8(a)表明選擇changed_DQN算法的小車在50回合后可較好地完成任務(wù),收斂后還有波動(dòng)是由于動(dòng)作策略的探索導(dǎo)致的,選擇Q-learning算法的無人車在訓(xùn)練中的大多數(shù)回合都未完成任務(wù).從圖8(b)的對比可知, changed_DQN算法比DQN算法收斂更快,且收斂后波動(dòng)較?。畯谋?中可知,changed_DQN算法誤差的均值最小,方差最小,說明此算法穩(wěn)定并且能更加精確地完成任務(wù).

表3 誤差的均值與方差

(a) Q-learning算法與changed_DQN(b) DQN算法與changed_DQN (c) Noisynet_DQN算法與changed_DQN 算法誤差對比 算法誤差對比 算法誤差對比 (a) Error comparison between Q-learning (b) Error comparison between DQN (c) Error comparison between noisynet_DQN and changed_DQN and changed_DQN and changed_DQN圖8 誤差對比圖Fig. 8 Error comparison diagrams

對訓(xùn)練好的算法進(jìn)行50次測試實(shí)驗(yàn),Q-learning、DQN、changed_DQN與noisynet_DQN算法的成功率分別為46%,98%,96%,94%,從實(shí)驗(yàn)結(jié)果可以看出訓(xùn)練好的changed_DQN算法成功率略低于DQN算法,但相差不大(圖9).從完成任務(wù)的規(guī)劃時(shí)間來看,changed_DQN算法所需時(shí)間穩(wěn)定且總體低于其他算法(圖10).這表明changed_DQN算法具有高效性.

圖9 測試實(shí)驗(yàn)成功率 圖10 測試實(shí)驗(yàn)規(guī)劃時(shí)間 Fig. 9 Success rates of testingFig. 10 Programming time of testing

圖11、12分別為Q-learning算法和changed_DQN算法在1 000回合左右的路徑圖.路徑圖以初始點(diǎn)為原點(diǎn),運(yùn)用Q-learning算法的小車在1 000回合左右未能規(guī)劃出從初始點(diǎn)到目標(biāo)點(diǎn)的無碰撞路徑,運(yùn)用changed_DQN算法的小車能規(guī)劃出較為完美的無碰撞路徑.

圖11 Q-learning算法路徑規(guī)劃效果圖圖12 Changed_DQN算法路徑規(guī)劃效果圖Fig. 11 Path programming effects based on Fig. 12 Path programming effects based on Q-learning changed_DQN

為了驗(yàn)證在輸出層添加噪聲的DQN算法的有效性和魯棒性,分別在改變起始點(diǎn)、改變目標(biāo)點(diǎn)和改變障礙物的環(huán)境中進(jìn)行仿真實(shí)驗(yàn).仿真結(jié)果表明,運(yùn)用changed_DQN算法的無人車均能快速地找到從起始點(diǎn)到目標(biāo)點(diǎn)的相對較優(yōu)的無碰撞路徑.圖13、14、15分別為改變起始點(diǎn)、目標(biāo)點(diǎn)和障礙物的路徑規(guī)劃圖.圖16為障礙物改變后的Gazebo仿真環(huán)境.

圖13 目標(biāo)點(diǎn)改變時(shí)changed_DQN算法路徑規(guī)劃效果圖 圖14 起始點(diǎn)改變時(shí)changed_DQN算法路徑規(guī)劃效果圖 Fig. 13 Path programming effects based on changed_DQN Fig. 14 Path programming effects based on changed_DQN with changing target point with changing starting point

圖15 障礙物改變后的changed_DQN算法路徑規(guī)劃效果圖 圖16 障礙物改變后的Gazebo仿真環(huán)境Fig. 15 Path programming effects of changed_DQN after Fig. 16 The Gazebo simulation environment after the obstacle change the obstacle change

4 結(jié) 束 語

本文針對離散狀態(tài)空間中狀態(tài)數(shù)量較多的無人車路徑規(guī)劃問題,提出了在輸出層添加分解Gauss噪聲的DQN算法進(jìn)行路徑規(guī)劃,該算法節(jié)省了計(jì)算成本,平衡了探索與利用.仿真實(shí)驗(yàn)表明,算法的收斂速度和規(guī)劃路線的優(yōu)越性都高于處理狀態(tài)離散問題常用的Q-learning算法,且誤差收斂到0的速度更快,誤差更小,通過與DQN、noisynet_DQN算法實(shí)驗(yàn)對比發(fā)現(xiàn),本文所采用的算法成功率更高,效果更好.在初始點(diǎn)、目標(biāo)點(diǎn)和障礙物方面對本文的算法進(jìn)行了泛化性能的測試,驗(yàn)證了該策略的有效性和魯棒性.

猜你喜歡
無人噪聲狀態(tài)
噪聲可退化且依賴于狀態(tài)和分布的平均場博弈
狀態(tài)聯(lián)想
無人戰(zhàn)士無人車
反擊無人機(jī)
生命的另一種狀態(tài)
控制噪聲有妙法
詩到無人愛處工
岷峨詩稿(2017年4期)2017-04-20 06:26:43
無人超市會(huì)流行起來嗎?
熱圖
家庭百事通(2016年3期)2016-03-14 08:07:17
堅(jiān)持是成功前的狀態(tài)
山東青年(2016年3期)2016-02-28 14:25:52
密云县| 兴仁县| 万载县| 枝江市| 洪泽县| 财经| 资兴市| 和田市| 崇义县| 临夏县| 高青县| 文山县| 乌兰浩特市| 格尔木市| 高淳县| 青阳县| 梁山县| 兴国县| 全椒县| 崇州市| 盈江县| 稻城县| 鄂州市| 绥棱县| 山阴县| 柯坪县| 汕尾市| 舟山市| 通州市| 泾阳县| 武夷山市| 连云港市| 西吉县| 巨野县| 宝鸡市| 乌兰察布市| 延川县| 盘山县| 天镇县| 苏尼特左旗| 宜丰县|