邱 月,鄭柏通,蔡 超
(華中科技大學(xué)人工智能與自動(dòng)化學(xué)院多譜信息處理技術(shù)國(guó)家級(jí)重點(diǎn)實(shí)驗(yàn)室,武漢 430074)
戰(zhàn)場(chǎng)環(huán)境中的無人飛行器(Unmanned Aerial Vehicle,UAV)航跡規(guī)劃任務(wù)需要考慮多方面的因素,如無人飛行器的性能、地形、威脅、導(dǎo)航與制導(dǎo)方法等,其目的是在低風(fēng)險(xiǎn)情況下以更低的能耗得到最優(yōu)航跡。
目前,典型的無人飛行器航跡規(guī)劃算法包括A*算法[1]、遺傳算法[2]、蟻群算法[3]和粒子群算法[4]等,雖然它們具有很強(qiáng)的路徑搜索能力,但是在面臨新的飛行環(huán)境時(shí),多數(shù)算法無法從歷史經(jīng)驗(yàn)中獲得先驗(yàn)知識(shí),導(dǎo)致難以適應(yīng)多變的環(huán)境。強(qiáng)化學(xué)習(xí)通過智能體來不斷地試探環(huán)境,迭代學(xué)習(xí)從“狀態(tài)-動(dòng)作”對(duì)中獲得的累積經(jīng)驗(yàn),得到使收益最大化的策略,即狀態(tài)到動(dòng)作的映射。與傳統(tǒng)方法不同,將強(qiáng)化學(xué)習(xí)理論應(yīng)用于無人飛行器航跡規(guī)劃領(lǐng)域,能夠使無人飛行器獲得類似人類的學(xué)習(xí)能力,在未知環(huán)境中將學(xué)到的策略作為先驗(yàn)知識(shí)可以提高航跡規(guī)劃的效率,從而更快地適應(yīng)新環(huán)境。但是強(qiáng)化學(xué)習(xí)存在維度災(zāi)難問題,導(dǎo)致難以解決復(fù)雜的實(shí)際問題。人工智能技術(shù)的發(fā)展使得深度學(xué)習(xí)可以很好地處理高維信息。深度強(qiáng)化學(xué)習(xí)[5-7]結(jié)合了具有強(qiáng)大感知能力及表征能力的深度學(xué)習(xí)與具有決策能力的強(qiáng)化學(xué)習(xí),能夠提高航跡規(guī)劃策略在復(fù)雜多變環(huán)境中的泛化能力。
在實(shí)際的航跡規(guī)劃中,需要綜合考慮如何利用航跡規(guī)劃的任務(wù)、約束條件和優(yōu)化目標(biāo)等信息來設(shè)計(jì)強(qiáng)化學(xué)習(xí)系統(tǒng)的四要素,即狀態(tài)、動(dòng)作、獎(jiǎng)懲函數(shù)和策略。目前,研究人員從不同角度提出了較多航跡規(guī)劃方法。文獻(xiàn)[8]基于Q 學(xué)習(xí)來解決未知?jiǎng)討B(tài)環(huán)境中的移動(dòng)機(jī)器人路徑規(guī)劃問題,提出一種狀態(tài)空間的定義方法,即根據(jù)離智能體最近的障礙物的相關(guān)信息指導(dǎo)設(shè)計(jì)狀態(tài),該方法能夠加快收斂速度并提高系統(tǒng)學(xué)習(xí)效率。文獻(xiàn)[9]為了提高深度強(qiáng)化學(xué)習(xí)方法對(duì)新目標(biāo)的泛化能力,引入目標(biāo)驅(qū)動(dòng)模型,在狀態(tài)設(shè)計(jì)中考慮目標(biāo)信息。文獻(xiàn)[10]將深度強(qiáng)化學(xué)習(xí)應(yīng)用于探索室內(nèi)環(huán)境中的移動(dòng)機(jī)器人,將原始的深度圖像作為狀態(tài)輸入DQN 中,從而得到移動(dòng)指令。文獻(xiàn)[11]將一定角度內(nèi)等分布的稀疏10 維LIDAR 數(shù)據(jù)、移動(dòng)機(jī)器人相對(duì)于目標(biāo)的位置及其前一時(shí)刻的速度設(shè)計(jì)為狀態(tài),采用深度確定性策略梯度下降算法來輸出連續(xù)的轉(zhuǎn)向指令。
為了使航跡規(guī)劃策略在復(fù)雜多變的環(huán)境中具有更高的泛化能力,本文提出一種基于深度強(qiáng)化學(xué)習(xí)的策略自學(xué)習(xí)方法。在狀態(tài)、動(dòng)作空間方面,結(jié)合任務(wù)信息、全局和局部環(huán)境信息圖像化設(shè)計(jì)無人飛行器狀態(tài),利用2 個(gè)匹配導(dǎo)航點(diǎn)間的復(fù)雜約束條件得到下一匹配導(dǎo)航點(diǎn)的可行域,然后將可行域引入動(dòng)作空間的設(shè)計(jì)中,使得規(guī)劃所得的航跡滿足約束條件,同時(shí)降低搜索空間并加快規(guī)劃速度。在獎(jiǎng)勵(lì)函數(shù)方面,針對(duì)實(shí)際航跡規(guī)劃應(yīng)用場(chǎng)景中的優(yōu)化指標(biāo)設(shè)計(jì)相應(yīng)的獎(jiǎng)勵(lì)函數(shù)。在策略學(xué)習(xí)算法方面,利用神經(jīng)網(wǎng)絡(luò)引導(dǎo)的蒙特卡洛樹搜索(Monte Carlo Tree Search,MCTS)算法提高策略迭代學(xué)習(xí)效率,其中,神經(jīng)網(wǎng)絡(luò)用于提供先驗(yàn)策略與價(jià)值估計(jì),MCTS 算法在先驗(yàn)策略和價(jià)值估計(jì)的引導(dǎo)下進(jìn)行大量預(yù)演,以得到一個(gè)性能更優(yōu)的策略用于迭代學(xué)習(xí)。
本文針對(duì)景象匹配和慣性導(dǎo)航相結(jié)合的復(fù)合制導(dǎo)模式下的無人飛行器航跡規(guī)劃問題進(jìn)行研究。航跡規(guī)劃本質(zhì)上就是要獲取在飛行前或飛行過程中無人飛行器為完成任務(wù)所需的最優(yōu)飛行航路,所規(guī)劃的航跡必須滿足飛行器、飛行環(huán)境以及所執(zhí)行任務(wù)的各種約束。傳統(tǒng)航跡規(guī)劃方法都采用逐步搜索的方式尋找最優(yōu)航跡,從而將航跡規(guī)劃問題轉(zhuǎn)化為一個(gè)圖搜索問題。但是,由于飛行器是在連續(xù)的三維空間內(nèi)飛行,飛行空域往往十分廣闊,因此規(guī)劃算法所依賴的圖的節(jié)點(diǎn)和邊通常是在規(guī)劃過程中依據(jù)飛行約束而現(xiàn)場(chǎng)構(gòu)造。
在實(shí)際應(yīng)用中,由當(dāng)前節(jié)點(diǎn)(導(dǎo)航點(diǎn))依據(jù)當(dāng)前飛行方向、飛行器的機(jī)動(dòng)能力和導(dǎo)航精度要求等約束,構(gòu)造下一個(gè)導(dǎo)航點(diǎn)的可能搜索區(qū)域,對(duì)該搜索區(qū)域進(jìn)行離散化后獲得的節(jié)點(diǎn)就是當(dāng)前節(jié)點(diǎn)的所有鄰節(jié)點(diǎn)。規(guī)劃策略是依據(jù)當(dāng)前節(jié)點(diǎn)處飛行器的狀態(tài)(包括飛行器的位置、飛行方向、飛行速度、目標(biāo)位置、環(huán)境信息等)選取下一個(gè)節(jié)點(diǎn)的決策方法。性能較優(yōu)的規(guī)劃策略能夠引導(dǎo)規(guī)劃算法快速地獲得執(zhí)行任務(wù)的最優(yōu)航跡。規(guī)劃策略學(xué)習(xí)則是通過對(duì)規(guī)劃樣本的學(xué)習(xí)獲得多種狀態(tài)下的節(jié)點(diǎn)選取策略,學(xué)習(xí)得到的策略能夠引導(dǎo)無人飛行器在滿足約束的前提下,安全無碰撞地從起始位置出發(fā)到達(dá)目標(biāo)位置,實(shí)現(xiàn)航跡長(zhǎng)度、飛行安全性能和能耗等指標(biāo)的優(yōu)化[12]。規(guī)劃策略是解決航跡規(guī)劃問題的核心,也是實(shí)現(xiàn)武器智能的關(guān)鍵。
與無人飛行器航跡規(guī)劃相關(guān)的環(huán)境要素包括威脅區(qū)、禁飛區(qū)和匹配區(qū)。禁飛區(qū)為根據(jù)國(guó)家政策以及戰(zhàn)略要求禁止飛行器飛經(jīng)的區(qū)域。威脅區(qū)為敵方防御系統(tǒng)中的雷達(dá)威脅區(qū)、攔截導(dǎo)彈威脅區(qū)等區(qū)域。匹配區(qū)為適合飛行器做景象匹配的區(qū)域,其與地表的特征相關(guān),常通過對(duì)相關(guān)系數(shù)、相關(guān)長(zhǎng)度等參數(shù)進(jìn)行統(tǒng)計(jì)計(jì)算得到。本文所采用的上述環(huán)境要素?cái)?shù)據(jù)由航跡規(guī)劃系統(tǒng)的預(yù)處理模塊計(jì)算得到,后文不再詳述。
無人飛行器航跡規(guī)劃約束條件從來源和作用角度分為兩大部分,即飛行器特性約束和制導(dǎo)控制約束。飛行器特性約束體現(xiàn)飛行器本身的機(jī)動(dòng)能力,包括飛行器最大拐彎角Ψmax、最小拐彎角Ψmin(規(guī)劃時(shí)出現(xiàn)小于最小拐彎角的拐彎?rùn)C(jī)動(dòng)則忽略拐彎動(dòng)作)和最小轉(zhuǎn)彎半徑Rmin(最小轉(zhuǎn)彎半徑越大,飛行器機(jī)動(dòng)性能越差)。制導(dǎo)控制約束來源于飛行器在組合導(dǎo)航過程中對(duì)導(dǎo)航精度、控制規(guī)律的要求。本文采用圖像匹配和慣性導(dǎo)航組成的復(fù)合制導(dǎo)系統(tǒng),2 個(gè)匹配區(qū)之間依賴慣性導(dǎo)航制導(dǎo),這就要求2 個(gè)匹配區(qū)之間的距離不能太遠(yuǎn),記2 個(gè)匹配區(qū)之間的最大距離為L(zhǎng)max。為了保證飛行器進(jìn)行圖像匹配后能夠完成必要的機(jī)動(dòng)動(dòng)作并降低彈載計(jì)算機(jī)的計(jì)算負(fù)擔(dān),2 個(gè)相鄰匹配區(qū)之間的距離又不能太近,記2 個(gè)匹配區(qū)之間的最小距離為L(zhǎng)min。通常情況下要求飛行器在進(jìn)行圖像匹配的過程中保持直飛的狀態(tài),記匹配區(qū)的長(zhǎng)度為L(zhǎng)match。飛行器在完成圖像匹配后,應(yīng)當(dāng)留有一段糾偏距離,記糾偏距離為L(zhǎng)correct,在這段距離中理想的航跡應(yīng)該是平直的。
強(qiáng)化學(xué)習(xí)方法使智能體自主探索未知環(huán)境,學(xué)習(xí)在不同的環(huán)境下做出最優(yōu)動(dòng)作并完成指定任務(wù)。航跡規(guī)劃策略的強(qiáng)化學(xué)習(xí)過程如圖1 所示,智能體從當(dāng)前狀態(tài)依據(jù)策略采取動(dòng)作轉(zhuǎn)換到新的狀態(tài),利用預(yù)先定義的獎(jiǎng)懲函數(shù)測(cè)量該動(dòng)作的獎(jiǎng)懲值并反饋給智能體。智能體通過不斷地探索飛行環(huán)境,依據(jù)策略執(zhí)行動(dòng)作,生成大量樣本數(shù)據(jù),強(qiáng)化學(xué)習(xí)算法利用這些樣本數(shù)據(jù)調(diào)整智能體的策略,再根據(jù)新策略探索環(huán)境以生成新樣本從而修正策略。經(jīng)過上述迭代學(xué)習(xí)過程,智能體最終能夠?qū)W習(xí)到完成指定任務(wù)的最優(yōu)策略。
圖1 航跡規(guī)劃策略的強(qiáng)化學(xué)習(xí)過程Fig.1 Reinforcement learning process of track planning strategy
航跡規(guī)劃的任務(wù)是優(yōu)化設(shè)計(jì)無人飛行器的航跡,尤其是包括起點(diǎn)和終點(diǎn)在內(nèi)的N個(gè)導(dǎo)航點(diǎn)的規(guī)劃。每個(gè)導(dǎo)航點(diǎn)的信息包括位置信息(X,Y)和飛行方向信息Angle。在本文中,導(dǎo)航點(diǎn)規(guī)劃的重點(diǎn)在于匹配點(diǎn)的規(guī)劃,利用2 個(gè)匹配導(dǎo)航點(diǎn)間的復(fù)雜約束條件得到下一個(gè)匹配導(dǎo)航點(diǎn)的可行域,然后將可行域引入狀態(tài)和動(dòng)作空間的設(shè)計(jì)中。圖2 所示為2 個(gè)匹配導(dǎo)航點(diǎn)之間的航跡段,飛行器從當(dāng)前匹配導(dǎo)航點(diǎn)經(jīng)過直飛段-轉(zhuǎn)彎弧線段-直飛段到達(dá)下一個(gè)匹配導(dǎo)航點(diǎn),其中,轉(zhuǎn)彎點(diǎn)的位置和轉(zhuǎn)彎半徑不同會(huì)得到不同的航跡段。
圖2 2 個(gè)匹配導(dǎo)航點(diǎn)之間的航跡段信息Fig.2 Track segment information between two matching navigation points
為了簡(jiǎn)化下一個(gè)匹配導(dǎo)航點(diǎn)可行域的計(jì)算過程,本文將轉(zhuǎn)彎點(diǎn)作為輔助導(dǎo)航點(diǎn),根據(jù)當(dāng)前匹配導(dǎo)航點(diǎn)的位置信息(X,Y)和飛行方向信息,結(jié)合2 個(gè)匹配導(dǎo)航點(diǎn)間的約束條件得到轉(zhuǎn)彎點(diǎn)和下一個(gè)匹配導(dǎo)航點(diǎn)的可行域。上述計(jì)算過程如圖3 所示,其中,本文將2 個(gè)匹配導(dǎo)航點(diǎn)與轉(zhuǎn)彎點(diǎn)的直線距離之和作為2 個(gè)匹配導(dǎo)航點(diǎn)之間的航跡段長(zhǎng)度,從而簡(jiǎn)化計(jì)算。
圖3 轉(zhuǎn)彎點(diǎn)和下一個(gè)匹配導(dǎo)航點(diǎn)的可行域示意圖Fig.3 Schematic diagram of the feasible region of the turning point and the next matching navigation point
2.2.1 轉(zhuǎn)彎點(diǎn)可行區(qū)間判定
轉(zhuǎn)彎點(diǎn)在當(dāng)前導(dǎo)航匹配點(diǎn)飛行方向所在的直線上,為滿足2 個(gè)匹配導(dǎo)航點(diǎn)間的約束條件,轉(zhuǎn)彎點(diǎn)可行域的A、B兩端需要滿足式(2)、式(3):
2.2.2 匹配導(dǎo)航點(diǎn)的可行域
在確定轉(zhuǎn)彎點(diǎn)后可以得到其對(duì)應(yīng)的下一個(gè)匹配導(dǎo)航點(diǎn)的可行域。如圖3 所示,以轉(zhuǎn)彎點(diǎn)A為例,其對(duì)應(yīng)的下一個(gè)匹配區(qū)可行域?yàn)橛蒀、D、G、F點(diǎn)圍繞的環(huán)形區(qū)域,為了滿足最大轉(zhuǎn)彎約束,環(huán)形區(qū)域?qū)?yīng)的扇形頂角大小為2×Ψmax。為滿足其余2 個(gè)匹配導(dǎo)航點(diǎn)間的約束條件,本文設(shè)定環(huán)形可行域的最近半徑LAC、最遠(yuǎn)半徑LAD分別滿足式(4)、式(5):
其中,環(huán)形的最遠(yuǎn)半徑LAD是為了保證2 個(gè)匹配點(diǎn)間的距離小于最大距離Lmax,環(huán)形的最近半徑LAC不僅要保證2 個(gè)匹配點(diǎn)間的距離大于最小距離Lmin,而且要滿足匹配區(qū)的直飛約束與最小轉(zhuǎn)彎半徑約束。
從起始點(diǎn)開始,根據(jù)當(dāng)前匹配導(dǎo)航點(diǎn)的信息得到下一個(gè)轉(zhuǎn)彎點(diǎn)的可行域,確定轉(zhuǎn)彎點(diǎn)并得到該轉(zhuǎn)彎點(diǎn)對(duì)應(yīng)的下一個(gè)匹配點(diǎn)可行域,選擇新的匹配導(dǎo)航點(diǎn),重復(fù)上述過程直至找到終點(diǎn)。
將飛行器的狀態(tài)s用一組大小為N×N的二值特征圖層表示,其表達(dá)了規(guī)劃任務(wù)、飛行器所處環(huán)境、飛行方向以及位置等信息。特征圖層分為全局特征圖層和局部特征圖層兩部分,其中,全局特征圖層是全局區(qū)域信息的粗略表示,局部特征圖層是以匹配導(dǎo)航點(diǎn)A點(diǎn)為中心的局部區(qū)域信息詳細(xì)表示。如圖3 所示,A點(diǎn)對(duì)應(yīng)的下一個(gè)匹配導(dǎo)航點(diǎn)的位置范圍覆蓋了其他可行轉(zhuǎn)彎點(diǎn)對(duì)應(yīng)的匹配點(diǎn)可行域,且A點(diǎn)與當(dāng)前匹配導(dǎo)航點(diǎn)的位置關(guān)系表達(dá)了飛行方向。在規(guī)劃匹配點(diǎn)或轉(zhuǎn)彎點(diǎn)時(shí),飛行器將在局部區(qū)域中選擇一個(gè)位置(x,y)作為動(dòng)作執(zhí)行區(qū)域。
在規(guī)劃轉(zhuǎn)彎點(diǎn)時(shí),飛行器的狀態(tài)特征圖層如圖4(a)所示,每個(gè)特征圖層代表當(dāng)前匹配導(dǎo)航點(diǎn)的特定信息,其中,6 個(gè)全局區(qū)域圖層為禁飛區(qū)、威脅區(qū)、匹配區(qū)、起始點(diǎn)、終點(diǎn)以及當(dāng)前匹配導(dǎo)航點(diǎn)在全局區(qū)域中的位置。局部特征圖層除了前面的6 個(gè)特征項(xiàng)在局部區(qū)域中的位置信息外,還有一個(gè)特征圖層描述轉(zhuǎn)彎點(diǎn)在局部區(qū)域中的可行域。如圖4(b)所示,在選擇轉(zhuǎn)彎點(diǎn)位置為(N/2,N/2)后,規(guī)劃匹配導(dǎo)航點(diǎn)時(shí),飛行器的狀態(tài)特征圖層為轉(zhuǎn)彎點(diǎn)局部特征圖、轉(zhuǎn)彎點(diǎn)全局特征圖和下一個(gè)匹配區(qū)合法位置,該合法位置是下一個(gè)匹配導(dǎo)航點(diǎn)的可行域與匹配區(qū)的交集。
圖4 飛行器的狀態(tài)特征圖層示意圖Fig.4 Schematic diagram of aircraft state feature layer
無人飛行器航跡規(guī)劃的優(yōu)化目標(biāo)需要考慮三方面因素,即航跡總長(zhǎng)度、總威脅值和飛行器拐彎?rùn)C(jī)動(dòng)耗能。在確定下一個(gè)匹配導(dǎo)航點(diǎn)的位置動(dòng)作后,該動(dòng)作的獎(jiǎng)賞值如式(6)所示:
其中,Rlen為航跡長(zhǎng)度懲罰值,Rsafe為安全性能懲罰值,Rangle為飛行器拐彎?rùn)C(jī)動(dòng)耗能懲罰值,Rarrive為規(guī)劃成功獎(jiǎng)賞值。
當(dāng)前匹配導(dǎo)航點(diǎn)與下一個(gè)匹配導(dǎo)航點(diǎn)的航跡段長(zhǎng)為L(zhǎng),本文傾向于選擇航跡點(diǎn)個(gè)數(shù)少并且航跡段短的航跡,則航跡長(zhǎng)度懲罰值如下:
在確定下一個(gè)匹配導(dǎo)航點(diǎn)后,得到拐彎角度Ψ,如果Ψ>Ψmin,則設(shè)置飛行器拐彎?rùn)C(jī)動(dòng)耗能懲罰值Rangle=-0.01。
飛行器的安全性能保障重點(diǎn)考慮威脅區(qū)和禁飛區(qū)。航跡段二值圖像與局部區(qū)域禁飛區(qū)二值圖像之間若無交集,則表示安全;若有交集,則設(shè)置禁飛區(qū)懲罰值Rforbid=-1(若匹配導(dǎo)航點(diǎn)越出規(guī)劃區(qū)域,視為進(jìn)入禁飛區(qū))。將航跡段二值圖像與局部區(qū)域威脅區(qū)二值圖像相交,得到交集,統(tǒng)計(jì)交集中的元素個(gè)數(shù)N,設(shè)置威脅區(qū)懲罰值Rthreat=-0.01×N。飛行器安全性能懲罰值為Rsafe=Rforbid+Rthreat。若飛行器安全抵達(dá)終點(diǎn)區(qū)域,則Rarrive=1;否則,Rarrive=0。
在本文規(guī)劃策略學(xué)習(xí)方法中,利用深度學(xué)習(xí)網(wǎng)絡(luò)來學(xué)習(xí)由探索飛行環(huán)境而得到的樣本數(shù)據(jù)。其中,神經(jīng)網(wǎng)絡(luò)架構(gòu)參照AlphaZero[13-14],將策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò)合并為一個(gè)網(wǎng)絡(luò),即將智能體所處的狀態(tài)作為神經(jīng)網(wǎng)絡(luò)的輸入,輸出概率分布p和數(shù)值v,(p,v)=fθ(s)。概率分布p代表當(dāng)前狀態(tài)下選擇每個(gè)動(dòng)作的概率,pa=Pr(a|s)。數(shù)值v用于估計(jì)當(dāng)前狀態(tài)的價(jià)值。神經(jīng)網(wǎng)絡(luò)主要由帶有多個(gè)卷積層、批標(biāo)準(zhǔn)化[15]以及ReLU[16]的DenseBlock[17]組成。如圖5 所示,智能體所處的狀態(tài)圖層分為局部信息圖層、全局信息圖層以及位置信息圖層3 個(gè)部分,3 個(gè)圖層經(jīng)由DenseNet 提取特征后,使用一個(gè)1×1 的卷積核進(jìn)行降維處理,最后再整合所有信息,經(jīng)過全連接層分別輸出概率分布p和預(yù)估價(jià)值v。為了保留原始輸入圖像的信息,網(wǎng)絡(luò)中沒有使用任何池化層。由于本文規(guī)劃方法需要規(guī)劃轉(zhuǎn)彎點(diǎn)和匹配導(dǎo)航點(diǎn),因此設(shè)計(jì)2 個(gè)如圖5 所示的決策網(wǎng)絡(luò)。
圖5 決策神經(jīng)網(wǎng)絡(luò)架構(gòu)Fig.5 Decision neural network architecture
在智能體探索飛行環(huán)境時(shí),對(duì)于每個(gè)狀態(tài)s都會(huì)在決策網(wǎng)絡(luò)fθ的引導(dǎo)下利用MCTS 算法進(jìn)行飛行仿真,為了便于表達(dá),將這種結(jié)合神經(jīng)網(wǎng)絡(luò)的MCTS 算法稱為NN-MCTS。智能體根據(jù)NN-MCTS 輸出的動(dòng)作選擇概率π選擇動(dòng)作。在通常情況下,相比神經(jīng)網(wǎng)絡(luò)fθ,NN-MCTS 選擇更優(yōu)動(dòng)作的可能性更大。因此,MTCS 算法被視為功能強(qiáng)大的策略改進(jìn)方法[18-19]。
NN-MCTS 算法的仿真過程如圖6 所示,其由選擇、擴(kuò)展、評(píng)估以及回溯4 個(gè)部分組成。搜索樹的每條邊(s,a)都存儲(chǔ)著先驗(yàn)概率P(s,a)、訪問次數(shù)N(s,a)以及動(dòng)作價(jià)值Q(s,a)。每次仿真都從根節(jié)點(diǎn)狀態(tài)開始,不斷地選擇置信上限值Q(s,a)+U(s,a)最大的動(dòng)作,其中,U(s,a)∝P(s,a)/(1+N(s,a))[13],直至達(dá)到葉節(jié)點(diǎn)s′為止。隨后,在葉節(jié)點(diǎn)所在位置擴(kuò)展新的分支,使用神經(jīng)網(wǎng)絡(luò)估計(jì)葉節(jié)點(diǎn)的狀態(tài)價(jià)值并初始化分支的先驗(yàn)概率(P(s′,·),V(s′))=fθ(s′)。在NN-MCTS 算法的仿真過程中,被遍歷過的每條邊都會(huì)回溯更新其訪問次數(shù)N(s,a)和動(dòng)作價(jià)值Q(s,a)=W(s,a)/N(s,a),W(s,a)為評(píng)估值v的累計(jì)和。在仿真過程結(jié)束后,得到每個(gè)可執(zhí)行動(dòng)作的選擇概率,該概率正比于NN-MCTS 仿真時(shí)的動(dòng)作訪問次數(shù),即πt∝N(s,a)。
圖6 NN-MCTS 算法的仿真過程Fig.6 Simulation process of NN-MCTS algorithm
本文使用深度強(qiáng)化學(xué)習(xí)算法進(jìn)行策略學(xué)習(xí)迭代的流程如圖7 所示,根據(jù)智能體探索環(huán)境得到的樣本數(shù)據(jù)與卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的樣本數(shù)據(jù)進(jìn)行迭代。
圖7 策略學(xué)習(xí)的迭代過程Fig.7 Iterative process of strategy learning
智能體在狀態(tài)st時(shí)依據(jù)NN-MCTS 輸出的動(dòng)作選擇概率πt采取動(dòng)作at,然后轉(zhuǎn)換到狀態(tài)st+1,獎(jiǎng)懲函數(shù)測(cè)量該動(dòng)作的獎(jiǎng)懲值Rt并反饋給智能體,重復(fù)以上過程,直至T時(shí)刻達(dá)到終止?fàn)顟B(tài),即規(guī)劃成功或失敗。統(tǒng)計(jì)狀態(tài)st的價(jià)值,將每個(gè)狀態(tài)st的樣本數(shù)據(jù)按照(st,πt,zt)的形式存入記憶庫(kù)中。神經(jīng)網(wǎng)絡(luò)從記憶庫(kù)中隨機(jī)批量采樣樣本(st,πt,zt)進(jìn)行學(xué)習(xí),其中,s作為神經(jīng)網(wǎng)絡(luò)的輸入,神經(jīng)網(wǎng)絡(luò)的損失函數(shù)定義如下:
其中,參數(shù)c用于調(diào)整正則化權(quán)重,其可以防止神經(jīng)網(wǎng)絡(luò)過擬合。本文采用Adam 算法[20]訓(xùn)練網(wǎng)絡(luò)。此外,為了確保策略更新過程平穩(wěn)進(jìn)行,參考PPO、TRPO[21-22]方法,結(jié)合策略網(wǎng)絡(luò)更新前的概率分布p1與更新后的概率分布p2,通過KL計(jì)算KL 散度從而控制學(xué)習(xí)率,具體如下:
其中,KLmax為最大KL 散度值,KLmin為最小KL 散度值,lr 為網(wǎng)絡(luò)學(xué)習(xí)率。
為了驗(yàn)證本文所提方法的有效性,使用10 個(gè)不同的飛行環(huán)境進(jìn)行策略迭代學(xué)習(xí),評(píng)估在未知的測(cè)試飛行環(huán)境中智能體學(xué)習(xí)所得的規(guī)劃策略性能。在左上角高斯坐標(biāo)為(3 438 300.25,778 413.00)、范圍為82 km×72 km 的任務(wù)區(qū)域內(nèi)進(jìn)行仿真,實(shí)驗(yàn)環(huán)境設(shè)置如下:操作系統(tǒng)為Windows 系統(tǒng),GPU 為GeForce GTX 2080 Ti,內(nèi)存大小為32 GB,代碼基于Python3.7 及Tensorflow 框架實(shí)現(xiàn)。實(shí)驗(yàn)中起始點(diǎn)的高斯坐標(biāo)為(3 381 200.25,809 113.00),目標(biāo)點(diǎn)的高斯坐標(biāo)為(3 427 400.25,836 013.00),目標(biāo)點(diǎn)進(jìn)入方向?yàn)?0°(以正北方向?yàn)榛鶞?zhǔn),北偏東為正方向)。訓(xùn)練與測(cè)試的飛行環(huán)境如圖8 所示,其中多邊形區(qū)域?yàn)榻w區(qū),圓形區(qū)域?yàn)橥{區(qū)。無人飛行器航跡規(guī)劃任務(wù)的約束條件指標(biāo)設(shè)置如表1 所示。
圖8 訓(xùn)練與測(cè)試的飛行環(huán)境Fig.8 Flight environment for training and testing
表1 飛行器航跡規(guī)劃任務(wù)的約束條件指標(biāo)設(shè)置Table 1 Constraint condition indexes setting of aircraft track planning task
策略學(xué)習(xí)的迭代以完全隨機(jī)的行為開始,持續(xù)約3 天沒有人為干預(yù)的自訓(xùn)練。在每次迭代過程中,隨機(jī)選擇一個(gè)訓(xùn)練飛行環(huán)境,并用更新后的最新網(wǎng)絡(luò)fθ探索環(huán)境,得到一條從起始狀態(tài)到達(dá)終止?fàn)顟B(tài)的航跡樣本數(shù)據(jù)并存入記憶庫(kù)中。對(duì)于每個(gè)狀態(tài)s,NN-MCTS 算法進(jìn)行500 次仿真。神經(jīng)網(wǎng)絡(luò)fθ使用隨機(jī)初始化參數(shù),從記憶庫(kù)中最近的1 000 個(gè)樣本數(shù)據(jù)中隨機(jī)批量采樣,樣本批量大小設(shè)置為64,利用式(8)計(jì)算損失,其中,L2正則化參數(shù)c設(shè)置為0.000 5,然后采用Adam 算法[22]訓(xùn)練網(wǎng)絡(luò)。由式(9)和式(10)控制網(wǎng)絡(luò)學(xué)習(xí)率,其中,學(xué)習(xí)率初始值設(shè)置為0.000 01,KL 散度最大值KLmax=0.002,KL 散度最小值KLmin=0.000 2。局部信息圖層、全局信息圖層與位置信息圖層的降維模塊都使用結(jié)構(gòu)相同、參數(shù)不共享的DenseNet,其中,降維模塊包含6個(gè)DenseBlock,每個(gè)DenseBlock 包含8 對(duì)卷積和BN 層,DenseBlock 的growth rate 設(shè)置為32,DenseBlock 之間都用1×1×32 的卷積層進(jìn)行通道數(shù)降維。
3.2.1 規(guī)劃策略評(píng)估方法
為了驗(yàn)證本文方法學(xué)習(xí)得到的航跡規(guī)劃策略具有泛化能力,需要對(duì)強(qiáng)化學(xué)習(xí)算法不同階段迭代訓(xùn)練所得的決策網(wǎng)絡(luò)fθ進(jìn)行評(píng)估,具體評(píng)估過程為:智能體在測(cè)試飛行環(huán)境中首先從起始狀態(tài)s0出發(fā),根據(jù)每個(gè)狀態(tài)st得到NN-MCTS 輸出的動(dòng)作選擇概率πt,然后選擇πt最大的動(dòng)作,即最大訪問次數(shù)N對(duì)應(yīng)的動(dòng)作來執(zhí)行,使網(wǎng)絡(luò)發(fā)揮盡可能大的作用,直至T時(shí)刻到達(dá)終止?fàn)顟B(tài)(規(guī)劃成功或失?。?,最后通過所得的航跡總獎(jiǎng)懲值來評(píng)估該決策神經(jīng)網(wǎng)絡(luò)fθ的性能。
3.2.2 實(shí)驗(yàn)驗(yàn)證
性能評(píng)估時(shí)NN-MCTS 算法的仿真次數(shù)會(huì)影響同一決策網(wǎng)絡(luò)fθ規(guī)劃所得的航跡總獎(jiǎng)懲值。在測(cè)試飛行環(huán)境中,不同NN-MCTS 仿真次數(shù)下隨機(jī)初始參數(shù)網(wǎng)絡(luò)fθ的性能評(píng)估結(jié)果如圖9 所示。從圖9 可以看出,只有在經(jīng)過115 次仿真后才能規(guī)劃成功到達(dá)終點(diǎn)的航跡,并且隨著仿真次數(shù)的增加,規(guī)劃得到的航跡總獎(jiǎng)懲值呈穩(wěn)定上升的趨勢(shì),這說明在仿真次數(shù)足夠的情況下(達(dá)到115 次),即使無任何先驗(yàn)知識(shí),基于NN-MCTS 算法的規(guī)劃策略自學(xué)習(xí)方法在面對(duì)未知飛行環(huán)境時(shí),也可以通過MCTS 改進(jìn)策略引導(dǎo)無人飛行器到達(dá)目的地。
圖9 不同仿真次數(shù)下的規(guī)劃所得航跡總獎(jiǎng)懲值Fig.9 The total reward and punishment values of the track planned under different simulation times
為進(jìn)一步探究仿真次數(shù)對(duì)性能評(píng)估結(jié)果的影響,隨機(jī)選取規(guī)劃成功的航跡及其仿真過程中訪問過的節(jié)點(diǎn)進(jìn)行比較分析。如圖10 所示,NN-MCTS算法的仿真次數(shù)依次為160、220、300、600 和1 000,在訪問過程中,每個(gè)動(dòng)作節(jié)點(diǎn)的訪問次數(shù)由3 種深淺不同的實(shí)心圓點(diǎn)表示(彩色效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。從圖10 可以看出,規(guī)劃成功的航跡都避開了禁飛區(qū),表明該策略規(guī)劃的航跡在滿足約束條件的同時(shí)也滿足安全要求。根據(jù)各圖中不同實(shí)心圓點(diǎn)的分布可知,在仿真次數(shù)較少的情況下,該策略主要考慮避開禁飛區(qū),距離禁飛區(qū)較近的點(diǎn)多為動(dòng)作訪問次數(shù)較少的實(shí)心點(diǎn),距離較遠(yuǎn)的點(diǎn)多為動(dòng)作訪問次數(shù)較多的實(shí)心點(diǎn)。隨著仿真次數(shù)的增多,由于終點(diǎn)在禁飛區(qū)方向,逼近禁飛區(qū)的區(qū)域內(nèi)出現(xiàn)更多代表訪問次數(shù)多的實(shí)心點(diǎn)。通過對(duì)比分析可知,在禁飛區(qū)離起點(diǎn)較近的區(qū)域,當(dāng)仿真次數(shù)較少時(shí)策略會(huì)優(yōu)先繞開禁飛區(qū),當(dāng)仿真次數(shù)足夠多時(shí)策略才會(huì)規(guī)劃航跡短、拐彎次數(shù)少且安全的航跡。
圖10 不同仿真次數(shù)下規(guī)劃所得航跡及其搜索樹的節(jié)點(diǎn)訪問情況Fig.10 The planned track and its search tree node access situation under different simulation times
圖11(a)所示為不同迭代次數(shù)訓(xùn)練得到的決策網(wǎng)絡(luò)fθ的性能隨NN-MCTS 仿真次數(shù)的變化曲線。從圖11(a)可以看出,在相同的NN-MCTS 仿真次數(shù)條件下,迭代次數(shù)越高,越容易得到更大的航跡總獎(jiǎng)懲值。當(dāng)?shù)? 次時(shí),曲線的波動(dòng)幅度較大,隨著迭代次數(shù)的增加,曲線的波動(dòng)幅度逐漸減小。迭代140 次與160 次的網(wǎng)絡(luò)性能曲線差異較小,在迭代180 次時(shí),曲線波動(dòng)趨于平穩(wěn),迭代200 次時(shí),波動(dòng)幅度稍微變大。圖11(b)所示為不同迭代次數(shù)訓(xùn)練得到的決策網(wǎng)絡(luò)能夠成功規(guī)劃航跡所需的最少NN-MCTS 仿真次數(shù),其對(duì)應(yīng)圖11(a)中曲線的平穩(wěn)臨界點(diǎn)。從圖11(b)可以看出,未進(jìn)行迭代訓(xùn)練的網(wǎng)絡(luò)需要在115 次仿真后才能規(guī)劃成功,隨著迭代次數(shù)的增加,網(wǎng)絡(luò)進(jìn)行不斷學(xué)習(xí),在迭代140 次時(shí)網(wǎng)絡(luò)能以85 次仿真成功規(guī)劃航跡,提高近1/3 的規(guī)劃效率,而在迭代180 次時(shí),僅需17%的仿真次數(shù)就能規(guī)劃成功。但是,在迭代200 次時(shí),可能由于網(wǎng)絡(luò)過擬合而導(dǎo)致仿真次數(shù)回退到35次。結(jié)合圖11(a)和圖11(b)可以得出:經(jīng)過迭代訓(xùn)練學(xué)習(xí)的網(wǎng)絡(luò)能夠在更少的仿真次數(shù)下成功規(guī)劃航跡,即提高了規(guī)劃效率。
圖11 不同迭代次數(shù)訓(xùn)練所得的決策網(wǎng)絡(luò)fθ的性能評(píng)估結(jié)果Fig.11 Performance evaluation results of decision network fθ trained by different iterations
本文針對(duì)多約束復(fù)雜環(huán)境下的無人飛行器航跡規(guī)劃問題,提出一種基于深度強(qiáng)化學(xué)習(xí)的規(guī)劃策略自學(xué)習(xí)方法。利用飛行約束條件計(jì)算得到下一個(gè)導(dǎo)航點(diǎn)的可行域,結(jié)合飛行器所處的環(huán)境信息設(shè)計(jì)圖像表達(dá)的飛行器狀態(tài)及動(dòng)作,以在規(guī)劃所得航跡滿足約束條件的同時(shí),降低搜索空間,減輕神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)負(fù)擔(dān)并提高NN-MCTS 算法的仿真效率?;诤桔E規(guī)劃的優(yōu)化目標(biāo)設(shè)計(jì)獎(jiǎng)懲函數(shù),使得規(guī)劃得到的航跡能夠避開禁飛區(qū)并實(shí)現(xiàn)航跡長(zhǎng)度、飛行安全性能及能耗等指標(biāo)的優(yōu)化。在此基礎(chǔ)上,基于卷積神經(jīng)網(wǎng)絡(luò)引導(dǎo)的MCTS 算法自學(xué)習(xí)得到航跡規(guī)劃策略。仿真結(jié)果表明,該方法自學(xué)習(xí)得到的航跡規(guī)劃策略具有泛化能力,隨著迭代次數(shù)的增加,該策略能以較少的NN-MCTS 仿真次數(shù),引導(dǎo)無人飛行器在未知飛行環(huán)境中滿足約束條件并安全無碰撞地到達(dá)目的地。下一步將研究實(shí)現(xiàn)并行化的仿真過程以縮短搜索樹的構(gòu)建時(shí)間,從而在保證規(guī)劃效果的前提下提高規(guī)劃效率。