陳昱宏,高飛飛
(清華大學(xué) 自動(dòng)化系信息處理研究所,北京 100084)
無人駕駛飛機(jī)(Unmanned Aerial Vehicle,UAV)簡稱無人機(jī),是一種無搭載人員的空中飛行器,一般會(huì)使用無線遙控設(shè)備、自定義程序等手段來實(shí)現(xiàn)半自主或自主飛行控制。由于無人機(jī)不需要飛行人員隨行控制,常被用于在較為危險(xiǎn)、惡劣或不適合人類工作的環(huán)境中執(zhí)行特定任務(wù)。隨著無人機(jī)控制技術(shù)的發(fā)展,越來越多領(lǐng)域開始應(yīng)用無人機(jī)來解決困難任務(wù)或提升效率。在農(nóng)業(yè)領(lǐng)域,無人機(jī)可以用來監(jiān)控農(nóng)作物受到害蟲的情況[1],或是協(xié)助噴灑農(nóng)藥[2];在航拍領(lǐng)域,無人機(jī)航拍可以獲得更廣闊的全景照片,用于監(jiān)控巡查或街景拍攝;在通信上,無人機(jī)可以作為空中可移動(dòng)基站提供有效且快速的信息傳輸[3];在軍事上,無人機(jī)也可以運(yùn)用在偵察和定點(diǎn)打擊目標(biāo)等任務(wù)。本文主要目標(biāo)為研究無人機(jī)在災(zāi)害救援領(lǐng)域的應(yīng)用場景。
隨著5G技術(shù)的發(fā)展,無人機(jī)的技術(shù)和性能也隨之提高,其相應(yīng)的應(yīng)用領(lǐng)域也越來越廣泛。自然或人為災(zāi)難,例如地震、洪水、火災(zāi)、核事故和輻射事故等,可能造成重大生命和財(cái)產(chǎn)損失。發(fā)生災(zāi)難時(shí),可以利用無人機(jī)完成災(zāi)難現(xiàn)場的偵察任務(wù)[4];抑或是作為空中可移動(dòng)基站來提供救災(zāi)通信服務(wù),以保證信息傳輸?shù)姆€(wěn)定性[5]。
本文考慮的無人機(jī)場景是室內(nèi)火災(zāi)救援勘察的任務(wù)。由于火災(zāi)現(xiàn)場通常保持著高溫并且有火焰持續(xù)燃燒的現(xiàn)象,搜救人員進(jìn)入現(xiàn)場進(jìn)行探查時(shí)較為危險(xiǎn),且容易發(fā)生搜救人員的傷亡??梢岳脽o人機(jī)不需要人員跟隨的特性,先于救災(zāi)人員進(jìn)入災(zāi)難現(xiàn)場搜救,一來保護(hù)搜救人員的安全,二來無人機(jī)小巧的個(gè)體也能夠更好地進(jìn)入火災(zāi)現(xiàn)場。
在災(zāi)害救援方面,無人機(jī)可以代替人前往危險(xiǎn)的現(xiàn)場進(jìn)行探勘,有利于避免人員的重大傷亡。傳統(tǒng)無人機(jī)的路徑規(guī)劃,大部分采用搜索的方式來進(jìn)行路徑規(guī)劃,在遇到較為復(fù)雜的場景時(shí),搜索空間的增大會(huì)導(dǎo)致規(guī)劃效率低下,可以利用強(qiáng)化學(xué)習(xí)算法更好地指導(dǎo)無人機(jī)學(xué)習(xí),完成指定任務(wù)。
與傳統(tǒng)的搜索算法相比,深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)可以處理較大且連續(xù)的狀態(tài)空間和時(shí)變環(huán)境[6-7],其中一種用來處理連續(xù)動(dòng)作和連續(xù)狀態(tài)的算法為深度確定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG),可以應(yīng)用于自主導(dǎo)航的無人機(jī)[8]。
如今,世界各國對無人機(jī)產(chǎn)業(yè)更加重視,都開始大力投資和鼓勵(lì)無人機(jī)的創(chuàng)新創(chuàng)業(yè)。2016年11月,中國政府網(wǎng)發(fā)布了國務(wù)院關(guān)于“十三五”國家戰(zhàn)略性新型產(chǎn)業(yè)發(fā)展規(guī)劃的相關(guān)文件,國家對于無人機(jī)產(chǎn)業(yè)更加重視,明確提出加大無人機(jī)科研實(shí)驗(yàn)和基礎(chǔ)設(shè)施建設(shè),并大力支持開發(fā)市場需求。2019年美國空軍發(fā)布新版《科技戰(zhàn)略:加強(qiáng)2030年及以后的美國空軍科技》,計(jì)劃在未來10年內(nèi)開發(fā)并部署以無人機(jī)為代表的技術(shù),并將其融入到美國空軍力量中。此外,多個(gè)國家和大型科技公司也因5G技術(shù)的發(fā)展,加大對于無人機(jī)技術(shù)的投入,不僅是在軍事領(lǐng)域上提出相應(yīng)的戰(zhàn)略規(guī)劃,也在其他民生領(lǐng)域展開相應(yīng)的技術(shù)布局。
可以看出,無論是在未來發(fā)展方面或是解決舊有算法問題方面,深度強(qiáng)化學(xué)習(xí)在無人機(jī)技術(shù)的發(fā)展上都有著不可忽視的潛力,本文主要利用深度強(qiáng)化學(xué)習(xí)算法解決災(zāi)難救援領(lǐng)域的任務(wù)。
機(jī)器學(xué)習(xí),是透過數(shù)據(jù)和預(yù)測模型指導(dǎo)機(jī)器學(xué)習(xí)人類的行為,而在機(jī)器學(xué)習(xí)中,主要分為深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)兩個(gè)研究方向。
深度學(xué)習(xí)是一種對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法,目前已經(jīng)在圖像識別、語音辨識、自然語言處理等領(lǐng)域,獲得了顯著的成果。深度學(xué)習(xí)的概念來自于人工神經(jīng)網(wǎng)絡(luò),基本思想是透過堆疊多層神經(jīng)網(wǎng)絡(luò),對輸入的信息進(jìn)行分級處理,抽取其低層次的特征,經(jīng)過樣本數(shù)據(jù)的學(xué)習(xí),獲得更高層次的特征,學(xué)習(xí)到數(shù)據(jù)的特征結(jié)構(gòu)。在多個(gè)抽象的特征上,促使機(jī)器自動(dòng)學(xué)習(xí)將輸入的信息數(shù)據(jù),映射到輸出數(shù)據(jù)的復(fù)雜功能,以獲得與輸入數(shù)據(jù)差異最小的輸出結(jié)果,而不需要仰賴人工制造的功能。在圖像識別的領(lǐng)域中一般使用卷積神經(jīng)網(wǎng)絡(luò)來完成圖像識別、圖像分類等任務(wù)。例如文獻(xiàn)[9]利用深度學(xué)習(xí)的技術(shù),將輸入的圖像透過多層神經(jīng)網(wǎng)絡(luò)進(jìn)行語義分析。
強(qiáng)化學(xué)習(xí)的概念是借由智能體與環(huán)境的交互過程,對于不同的行為給予一定的獎(jiǎng)勵(lì),訓(xùn)練智能體選擇做出獲得最大獎(jiǎng)勵(lì)函數(shù)的行為。如圖1所示,環(huán)境會(huì)給予智能體一個(gè)狀態(tài),智能體根據(jù)自身策略選擇一種行為在環(huán)境中操作,環(huán)境根據(jù)不同的行為,返回給相應(yīng)的獎(jiǎng)勵(lì)函數(shù)和新的狀態(tài),經(jīng)過多次的交互過程后,智能體會(huì)學(xué)習(xí)到一個(gè)較好的行為策略,從而獲得更大的獎(jiǎng)勵(lì)。因此在強(qiáng)化學(xué)習(xí)中,如何設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù),顯得尤為重要,一些可能影響學(xué)習(xí)策略的先驗(yàn)知識,都是必須考慮如何在獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)中體現(xiàn)[10]。
圖1 強(qiáng)化學(xué)習(xí)基本概念圖Fig.1 Basic concept of Reinforcement learning
隨著人工智能需要處理的情境越來越復(fù)雜,谷歌的人工智能團(tuán)隊(duì)DeepMind提出了創(chuàng)新性的概念,將對感知信號處理的深度學(xué)習(xí)與進(jìn)行決策處理的強(qiáng)化學(xué)習(xí)相結(jié)合,形成所謂的深度強(qiáng)化學(xué)習(xí),利用深度強(qiáng)化學(xué)習(xí)可以解決以前強(qiáng)化學(xué)習(xí)難以處理的問題。傳統(tǒng)的強(qiáng)化學(xué)習(xí)算法雖然已經(jīng)盡可能地模擬了人在學(xué)習(xí)事情的過程,但是依然會(huì)遇到一些無法處理的問題,主要是環(huán)境狀態(tài)的改變與智能體所做的行為有關(guān),二者間可能含有強(qiáng)烈的時(shí)間相關(guān)性,如果不使用深度學(xué)習(xí)的算法,容易造成智能體的行為策略難以收斂或是不穩(wěn)定,此外如果一個(gè)行為的后果,需要經(jīng)過一段時(shí)間的過程才會(huì)實(shí)現(xiàn),例如信用分配問題,也容易造成智能體在訓(xùn)練過程的不穩(wěn)定[11]。
在深度強(qiáng)化學(xué)習(xí)中,主要的核心還是在于強(qiáng)化學(xué)習(xí)的基礎(chǔ),透過深度學(xué)習(xí)抽取特征和函數(shù)復(fù)雜映射的能力,將強(qiáng)化學(xué)習(xí)中的一些痛點(diǎn)加以解決。在強(qiáng)化學(xué)習(xí)中,主要是希望智能體學(xué)習(xí)一種行為策略,能夠根據(jù)當(dāng)前環(huán)境信息對應(yīng)地輸出一個(gè)行為:
a=π(s),
(1)
式中,a是動(dòng)作,s則是智能體在環(huán)境中的狀態(tài)。根據(jù)不同的環(huán)境,動(dòng)作和狀態(tài)可能是離散或連續(xù)的。
強(qiáng)化學(xué)習(xí)的問題可以被建模成一個(gè)馬爾可夫決策過程[12],馬爾可夫過程的特點(diǎn)是一個(gè)系統(tǒng)中,下一個(gè)時(shí)刻的狀態(tài)僅跟當(dāng)前狀態(tài)有關(guān),與之前的狀態(tài)無關(guān);而馬爾可夫決策過程則是指下一時(shí)刻的狀態(tài)由當(dāng)前狀態(tài)和當(dāng)前時(shí)刻的動(dòng)作決定。馬爾可夫決策過程可以用一個(gè)五元組表示:
{S,A,Pa,Ra,γ}。
(2)
在這個(gè)五元組中,S代表著狀態(tài)空間,A代表著動(dòng)作空間,Pa代表著狀態(tài)轉(zhuǎn)移的概率,一般用來描述執(zhí)行一個(gè)動(dòng)作后從當(dāng)前狀態(tài)轉(zhuǎn)移到下一個(gè)狀態(tài)的概率,Ra代表著當(dāng)前狀態(tài)執(zhí)行一個(gè)動(dòng)作后的獎(jiǎng)勵(lì),γ是折現(xiàn)因子,用來將未來獲得的獎(jiǎng)勵(lì)折扣到當(dāng)前時(shí)刻的獎(jiǎng)勵(lì)中。
馬爾可夫決策過程要解決的核心問題就是選擇動(dòng)作的策略,在數(shù)學(xué)上使用π函數(shù)來表示:
π(a|s0)=p(at=a|st=s0)。
(3)
在獎(jiǎng)勵(lì)上,要考慮的是當(dāng)前狀態(tài)下的總回報(bào),從模型上來說,將來獎(jiǎng)勵(lì)的不確定性大,不能夠簡單地將未來獎(jiǎng)勵(lì)直接加和;從數(shù)學(xué)上來說,需要滿足級數(shù)收斂的問題。因此,需要透過一個(gè)折現(xiàn)因子將未來每個(gè)時(shí)刻的期望獎(jiǎng)勵(lì)折現(xiàn)到當(dāng)前時(shí)刻:
(4)
從上面的數(shù)學(xué)建模上,由于馬爾可夫決策過程的核心在于策略,需要將狀態(tài)轉(zhuǎn)移的概率和狀態(tài)獲得的獎(jiǎng)勵(lì)和策略相結(jié)合,后續(xù)才能更好地對策略進(jìn)行評價(jià)。利用全概率公式,基于策略的狀態(tài)轉(zhuǎn)移概率和行動(dòng)期望回報(bào)如下:
(5)
同理可得,基于策略的行動(dòng)期望回報(bào)如下:
(6)
為了評價(jià)策略的好壞,根據(jù)當(dāng)前時(shí)刻的期望回報(bào)定義了行動(dòng)價(jià)值函數(shù)Q(s0,a)和狀態(tài)價(jià)值函數(shù)Vπ(s0),使用貝爾曼方程來表示行動(dòng)價(jià)值函數(shù)和狀態(tài)價(jià)值函數(shù):
Qπ(s0,a)=Ra(s0)+
(7)
(8)
一個(gè)好的策略應(yīng)該要有更高的行動(dòng)價(jià)值,從貝爾曼方程的最優(yōu)性可以得出,最優(yōu)策略應(yīng)該在每個(gè)狀態(tài)中選擇行動(dòng)價(jià)值最高的行動(dòng)來執(zhí)行,對應(yīng)地可以得到最優(yōu)策略的數(shù)學(xué)描述:
Q*(s0,a)=maxπQπ(s0,a),
(9)
π*(s0)=argmaxaQ*(s0,a)。
(10)
強(qiáng)化學(xué)習(xí)是基于馬爾可夫決策模型,可以將不同的強(qiáng)化學(xué)習(xí)方法歸類成幾種類型。從依賴環(huán)境與否可以分成Model-free和Model-based兩種,區(qū)別在于智能體是否了解環(huán)境。在Model-free的方法中,智能體只根據(jù)環(huán)境給予的反饋去學(xué)習(xí),而不需要去了理解環(huán)境或環(huán)境對于狀態(tài)轉(zhuǎn)移的規(guī)則;而Model-based的方法需要先讓智能體學(xué)習(xí)環(huán)境的相關(guān)信息,從而對于自己的狀態(tài)轉(zhuǎn)移和行為有一定的預(yù)判,更好地去采取行動(dòng)策略。
從行為選擇上,可以分為基于概率Policy-based和基于價(jià)值Value-based的兩種方法。基于概率的強(qiáng)化學(xué)習(xí)是通過分析得到采取不同的行為的概率,再根據(jù)概率采取下一步行動(dòng),典型的算法有Policy Gradients;基于價(jià)值的強(qiáng)化學(xué)習(xí)則是根據(jù)不同動(dòng)作的價(jià)值,選擇一個(gè)價(jià)值更高的動(dòng)作進(jìn)行行動(dòng),典型的算法有Q-Learning[13]、Sarsa[14-15]等。兩種不同的方法各有其優(yōu)缺點(diǎn)。經(jīng)過多年的發(fā)展,許多學(xué)者也提出了將二者相結(jié)合的強(qiáng)化學(xué)習(xí)方法,例如Actor-Critic[16],Actor采用概率選擇動(dòng)作,Critic根據(jù)動(dòng)作給出相應(yīng)的動(dòng)作價(jià)值,在原有Policy Gradients的基礎(chǔ)上,結(jié)合Value-based方法的優(yōu)點(diǎn),加速了智能體的學(xué)習(xí)速度。
從學(xué)習(xí)的經(jīng)驗(yàn)來源上,可以分為在線學(xué)習(xí)On-Policy和離線學(xué)習(xí)Off-Policy。在線學(xué)習(xí)方法采用邊玩邊學(xué)的方式,必須由智能體在自己探索的過程學(xué)習(xí);離線學(xué)習(xí)方法可以采用和在線學(xué)習(xí)一樣的方式邊玩邊學(xué),也可以利用之前探索或他人探索的經(jīng)驗(yàn)進(jìn)行學(xué)習(xí)。典型的在線學(xué)習(xí)方法如Sarsa、Sarsa lamba等,離線學(xué)習(xí)方法主要是Q-Learning。
在室內(nèi)場景搜救問題上,和傳統(tǒng)機(jī)器學(xué)習(xí)領(lǐng)域中的迷宮問題有些許類似,與之不同的是,真實(shí)的搜救環(huán)境中是連續(xù)且大規(guī)模的,并且環(huán)境中待搜救的目標(biāo)通常不止一個(gè),衍生出來的是智能體的多目標(biāo)任務(wù)。為了完成在多目標(biāo)任務(wù)上的無人機(jī)路徑規(guī)劃問題,首先需要解決傳統(tǒng)迷宮問題存在的稀疏獎(jiǎng)勵(lì)問題,再者室內(nèi)搜救場景中的狀態(tài)空間較大,需要采用處理連續(xù)狀態(tài)空間和動(dòng)作空間的深度強(qiáng)化學(xué)習(xí)算法。
在采用深度強(qiáng)化學(xué)習(xí)算法進(jìn)行路徑規(guī)劃前,我們需要先將環(huán)境信息建模,將其數(shù)字化與離散化,以便進(jìn)行算法的訓(xùn)練和仿真。
本文選擇室內(nèi)救災(zāi)場景(圖2)進(jìn)行實(shí)驗(yàn),在救災(zāi)任務(wù)中,受困人員的信息是需要重點(diǎn)關(guān)注的,該類型信息是帶有一定先驗(yàn)知識的,比如:人一般在房間、餐廳、客廳等地活動(dòng),并且該類信息不僅僅包含一個(gè)目標(biāo)點(diǎn),將這一部分的先驗(yàn)信息當(dāng)作無人機(jī)路徑的目標(biāo),要求無人機(jī)以更快的速度飛往目標(biāo)點(diǎn)。
對于多目標(biāo)的無人機(jī)搜救問題而言,為了更好地進(jìn)行建模,在無人機(jī)上做出了以下幾點(diǎn)簡化:
① 無人機(jī)僅搭載GPS(用于定位)、前方的紅外感應(yīng)器(用于感測前方是否存在障礙)和簡易攝像頭(用于拍攝場景圖片)。
② 無人機(jī)的飛行控制理想化,不對其飛行控制系統(tǒng)進(jìn)行更深入的控制。
③ 無人機(jī)接收到的速度指令為一幀的速度,其最大位移距離不超過一個(gè)單位格。
基于上述幾點(diǎn)的簡化,下面將對于狀態(tài)空間建模和算法設(shè)計(jì)進(jìn)行詳細(xì)的介紹。
圖2 實(shí)驗(yàn)場景示意圖Fig.2 Experimental scene
在采用深度強(qiáng)化學(xué)習(xí)對智能體進(jìn)行訓(xùn)練前,需要將待執(zhí)行的問題進(jìn)行分析,對其狀態(tài)空間合適地建模。在類似的迷宮問題中,涉及到迷宮地圖的建模、智能體的狀態(tài)和動(dòng)作描述,需要考慮如何能更好地描述問題并更有效地幫助智能體訓(xùn)練。
在搜救問題上,本質(zhì)類似于多目標(biāo)的迷宮問題,本文采用三維矩陣對地圖進(jìn)行離散化建模,將實(shí)際場景保存成100×100×10的三維矩陣,對于實(shí)際場景中的障礙物透過不同的數(shù)值和可飛行區(qū)作區(qū)分。
為了更真實(shí)地模擬實(shí)際的飛行過程,對于無人機(jī)飛行過程中的狀態(tài)和動(dòng)作采用連續(xù)值進(jìn)行描述,任意時(shí)刻的狀態(tài)st采用無人機(jī)在環(huán)境中的x、y、z坐標(biāo)表示,任意時(shí)刻的動(dòng)作at則采用無人機(jī)在x、y、z三個(gè)方向上的速度值進(jìn)行表示。
st=[xt,yt,zt],
(11)
at=[vxt,vyt,vzt]。
(12)
無人機(jī)的狀態(tài)本質(zhì)上是無人機(jī)在環(huán)境地圖中的坐標(biāo),而本文使用的是連續(xù)值(無人機(jī)的狀態(tài))來對離散空間(環(huán)境地圖)進(jìn)行描述,這二者之間將進(jìn)行如下的處理:
對于飛行到新狀態(tài)st+1=[xt+1,yt+1,zt+1],對該狀態(tài)向下取整,判斷環(huán)境地圖坐標(biāo)為[?xt+1」,?yt+1」,?zt+1」]的位置是否是障礙物,若是障礙物,則代表無人機(jī)的飛行路徑會(huì)撞到障礙物,視為不合法飛行;若不是障礙物,則該飛行路徑視為合法路徑,并轉(zhuǎn)移無人機(jī)狀態(tài)到新狀態(tài)st+1。
在搜救任務(wù)中,主要面臨兩個(gè)難點(diǎn):稀疏獎(jiǎng)勵(lì)和搜索空間過大的問題。為了有效解決這兩個(gè)難點(diǎn),MTDDPG算法在基礎(chǔ)的深度強(qiáng)化學(xué)習(xí)算法DDPG[17-18]上,采用類似于分層學(xué)習(xí)[19]的框架,加入一定的獎(jiǎng)勵(lì)重塑[20],將問題分區(qū)簡化,從而達(dá)到更好的訓(xùn)練效果和路徑。
在真實(shí)的搜救環(huán)境中,一般會(huì)提前獲取到待搜救環(huán)境的一個(gè)大體空間分區(qū),比如在室內(nèi)環(huán)境中,搜救人員可以事先了解室內(nèi)的隔間信息。在此基礎(chǔ)上,可以事先對整個(gè)大的搜索空間進(jìn)行分區(qū),把原本100×100×10甚至更大的空間簡化,分成若干個(gè)小區(qū),在每個(gè)小區(qū)內(nèi)訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)進(jìn)行決策,一是可以更快地收斂訓(xùn)練結(jié)果,二是不同區(qū)的網(wǎng)絡(luò)可以同步訓(xùn)練,縮短整體訓(xùn)練時(shí)間,從而更快地把握黃金救援時(shí)間。
為了模擬方便,在本問題中將空間劃分成矩形空間,有利于在訓(xùn)練過程中更容易判斷所在區(qū)域。如圖3所示,本文將環(huán)境簡單地劃分為10個(gè)區(qū)域,每個(gè)區(qū)域內(nèi)有1個(gè)或n個(gè)網(wǎng)絡(luò)負(fù)責(zé)決策,這些子網(wǎng)絡(luò)主要考慮該區(qū)域是否有目標(biāo)點(diǎn)以及如何前往相鄰區(qū)域的連接處。
圖3 室內(nèi)空間分區(qū)示意圖Fig.3 Schematic diagram of indoor space partitions
經(jīng)過環(huán)境分區(qū)后,除了有效地縮小各個(gè)網(wǎng)絡(luò)的搜索空間外,根據(jù)不同區(qū)域間的鄰接關(guān)系,可以將環(huán)境空間抽象成圖結(jié)構(gòu)(如圖4所示)?;趫D結(jié)構(gòu),可以利用圖算法來決定遍歷各區(qū)的路徑,也可以在實(shí)際飛行過程中,根據(jù)實(shí)時(shí)環(huán)境(如溫度、濕度等信息)動(dòng)態(tài)選擇不同區(qū)域的訪問順序,有利于在部署上更加泛用。
圖4 室內(nèi)空間分區(qū)圖結(jié)構(gòu)Fig.4 Graph structure of indoor space partitions
透過環(huán)境分區(qū)將問題從“多目標(biāo)”問題化簡為“多個(gè)單目標(biāo)”問題,然而在單目標(biāo)迷宮問題中存在的稀疏獎(jiǎng)勵(lì)問題依然存在,如果只采用式(13)全局獎(jiǎng)勵(lì)形式進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果難以快速地收斂。
(13)
考慮到場景的特殊性,待搜救的目標(biāo)屬于先驗(yàn)信息的一部分,而各個(gè)區(qū)域的連接點(diǎn)在環(huán)境劃分后可以事先指定,因此每個(gè)子網(wǎng)絡(luò)的目標(biāo)點(diǎn)皆屬于已知信息,可以利用這些先驗(yàn)信息對獎(jiǎng)勵(lì)進(jìn)行密集化重塑,在獎(jiǎng)勵(lì)中加入當(dāng)前位置和目標(biāo)距離的負(fù)數(shù)進(jìn)行重塑,可以得到新獎(jiǎng)勵(lì):
(14)
式中,ɡt代表每個(gè)子網(wǎng)絡(luò)的目標(biāo)點(diǎn),d(st+1,ɡt)則代表下一時(shí)刻位置與目標(biāo)點(diǎn)的距離。
多目標(biāo)任務(wù)的兩個(gè)重要難點(diǎn)通過環(huán)境分區(qū)和獎(jiǎng)勵(lì)重塑后,可以得到有效的改進(jìn),因此在搜救任務(wù)中,基于處理連續(xù)空間的深度強(qiáng)化學(xué)習(xí)算法——DDPG,在多目標(biāo)任務(wù)的基礎(chǔ)上,透過分層強(qiáng)化學(xué)習(xí)和獎(jiǎng)勵(lì)重塑的結(jié)合,對整個(gè)搜索空間化簡,加速單一區(qū)域內(nèi)收斂速度;同時(shí)由于各個(gè)區(qū)域間的決策互不干擾,分區(qū)訓(xùn)練的架構(gòu)適合并行訓(xùn)練,加快整體訓(xùn)練速度,提出基于多目標(biāo)任務(wù)的深度強(qiáng)化學(xué)習(xí)算法——MTDDPG。
MTDDPG算法的整體框架類似于分層學(xué)習(xí),不同的是,在子控制器中,對于不同區(qū)域間的決策分為多個(gè)子網(wǎng)絡(luò),不僅僅靠唯一的網(wǎng)絡(luò)訓(xùn)練。如圖5所示,結(jié)合分區(qū)后的圖結(jié)構(gòu)選擇合適的圖算法決定不同區(qū)域的訪問順序,Goal Generator根據(jù)圖算法決定訪問順序,結(jié)合整體地圖給出n個(gè)子目標(biāo)G={ɡ1,ɡ2,…,ɡn}。
圖5 MTDDPG算法結(jié)構(gòu)圖Fig.5 MTDDPG algorithm structure diagram
Goal Generator給出下一個(gè)目標(biāo)后,智能體透過當(dāng)前區(qū)域和目標(biāo)點(diǎn)決定適用的子網(wǎng)絡(luò)Neti,每個(gè)子網(wǎng)絡(luò)都是一個(gè)DDPG算法。每個(gè)DDPG網(wǎng)絡(luò)中包含Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò),Actor網(wǎng)絡(luò)設(shè)計(jì)成一層隱層,隱層結(jié)構(gòu)為1 024×256,輸入層和隱層的激活函數(shù)選擇ReLU函數(shù),由于無人機(jī)在3個(gè)方向的速度限制在[-1,1],采用更為合適的tanh函數(shù)作為輸出層的激活函數(shù)(圖6(a));Critic網(wǎng)絡(luò)選擇和Actor網(wǎng)絡(luò)類似的結(jié)構(gòu),區(qū)別在于Critic網(wǎng)絡(luò)的輸出層不添加任何激活函數(shù)(圖6(b))。
(a) Actor網(wǎng)絡(luò)結(jié)構(gòu)
子網(wǎng)絡(luò)的更新類似于傳統(tǒng)DDPG算法,在參數(shù)更新上采用軟更新。此外,對于每一個(gè)子網(wǎng)絡(luò),利用并行訓(xùn)練的方式同步訓(xùn)練,進(jìn)而縮短整體的訓(xùn)練時(shí)間,詳細(xì)的偽代碼如算法1所示。
算法1 MTDDPG算法Require:·numofsub-networkn·Areaset … {}· - ɡ · ɡ θ μ θμ θ θμ ′ μ′ θ ′ ←θ θμ′ ←θμ ,… ? - ? ,… μ θμ ? - ? ? γ ′ μ′ θμ′ θ ′ ? ?∑ θ ?θμ ≈ ?∑ ? θ μ ?θμ μ θμ θ ′ ←τθ τ θ ′ θμ′ ←τθμ τ θμ′
DDPG算法基于深度學(xué)習(xí)的基礎(chǔ)上,改進(jìn)了連續(xù)狀態(tài)空間下的強(qiáng)化學(xué)習(xí)問題,在具有足夠資源和時(shí)間訓(xùn)練的情況下,透過神經(jīng)網(wǎng)絡(luò)的前向傳播過程進(jìn)行決策,同時(shí)借由反向傳播過程進(jìn)行參數(shù)更新,綜合了深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的優(yōu)勢。但是在一些特定問題上,DDPG算法仍有很大的局限性,一般要對問題有深入的認(rèn)識和了解,在建模上存在一定的難點(diǎn)。對于稀疏獎(jiǎng)勵(lì)問題而言,需要靠獎(jiǎng)勵(lì)重塑、分層學(xué)習(xí)等機(jī)制改進(jìn);復(fù)雜空間搜索問題則需要花費(fèi)更多的時(shí)間和資源進(jìn)行訓(xùn)練和部署;多目標(biāo)問題在不同目標(biāo)間的決策容易沖突甚至陷入局部最優(yōu)點(diǎn)。
在本文考慮的室內(nèi)搜救場景中,室內(nèi)環(huán)境復(fù)雜并且搜救任務(wù)的時(shí)效性強(qiáng),需要盡可能地縮短訓(xùn)練時(shí)間和部署的復(fù)雜性。此外,搜救任務(wù)中存在多個(gè)目標(biāo)點(diǎn)的問題也難以用DDPG算法直接解決。相比于DDPG算法,本文提出的MTDDPG算法充分利用搜救任務(wù)中的先驗(yàn)信息,簡化訓(xùn)練過程并提高了任務(wù)的完成度。與DDPG算法比較而言,MTDDPG算法具有以下幾點(diǎn)優(yōu)勢:
① 環(huán)境分區(qū)方法利用基礎(chǔ)的室內(nèi)隔間信息,簡化網(wǎng)絡(luò)訓(xùn)練時(shí)的搜索空間,并且將多目標(biāo)問題化簡為單目標(biāo)問題。
② 利用目標(biāo)點(diǎn)的先驗(yàn)信息,對環(huán)境獎(jiǎng)勵(lì)進(jìn)行重塑,更好地指導(dǎo)智能體完成搜索任務(wù)。
③ 多個(gè)區(qū)域網(wǎng)絡(luò)的并行訓(xùn)練,極大地縮短了整體的訓(xùn)練時(shí)間。
為了進(jìn)一步分析MTDDPG算法的優(yōu)勢,設(shè)計(jì)了3個(gè)實(shí)驗(yàn)來體現(xiàn)MTDDPG的訓(xùn)練效果,并對比與傳統(tǒng)深度強(qiáng)化學(xué)習(xí)算法的差異。
為了驗(yàn)證在搜救場景中MTDDPG算法的有效性,本文利用代碼模擬一個(gè)室內(nèi)搜救環(huán)境,作為算法驗(yàn)證的平臺。本文,設(shè)計(jì)了3個(gè)不同的實(shí)驗(yàn),用于對比DDPG和MTDDPG的差異,并根據(jù)實(shí)際救災(zāi)場景,模擬訓(xùn)練并部署MTDDPG算法,測試其路徑規(guī)劃的結(jié)果。
整體室內(nèi)環(huán)境如圖3所示,其中包含3個(gè)臥室、客廳、廚房、餐廳和陽臺,同時(shí)在各個(gè)房間內(nèi),安置了對應(yīng)的家具,包括床、衣柜、電視柜、沙發(fā)等家具。圖7是室內(nèi)環(huán)境的可視化建模,用于展示規(guī)劃后路徑在室內(nèi)環(huán)境飛行情況。可以看出和圖3中的各個(gè)房間和家具一一對應(yīng),并且根據(jù)不同家具尺寸進(jìn)行了坐標(biāo)化,用于存儲(chǔ)在三維離散矩陣中。
圖7 可視化環(huán)境圖Fig.7 Visualize the environment map
基于室內(nèi)搜救的背景下,在傳統(tǒng)深度強(qiáng)化學(xué)習(xí)算法的基礎(chǔ)上,提出適合完成多目標(biāo)任務(wù)的MTDDPG算法。為了驗(yàn)證MTDDPG算法的優(yōu)勢,本文設(shè)計(jì)了3個(gè)實(shí)驗(yàn),分別是:
① 空曠場景實(shí)驗(yàn):該場景不包含任何障礙物,僅有四面墻體和待搜索的4個(gè)目標(biāo)(圖8)。
圖8 空曠場景實(shí)驗(yàn)地圖Fig.8 Experimental map of an empty scene
② 無家具場景實(shí)驗(yàn):該場景僅有室內(nèi)各個(gè)房間的隔間信息和待搜集的4個(gè)目標(biāo),不包含詳細(xì)的家具信息(圖9)。
圖9 無家具場景實(shí)驗(yàn)地圖Fig.9 Experimental map of unfurnished scene
③ 完整家具場景實(shí)驗(yàn):該場景具備完整的室內(nèi)信息,包含墻體、家具和待搜救目標(biāo)(圖7)。
透過上面3個(gè)實(shí)驗(yàn)設(shè)置,驗(yàn)證MTDDPG算法和傳統(tǒng)深度強(qiáng)化學(xué)習(xí)算法的差異和優(yōu)勢,并且在搜救場景中,部署訓(xùn)練好的MTDDPG算法,觀察其在場景中規(guī)劃的無人機(jī)飛行路徑。此外,還會(huì)對比不完整先驗(yàn)信息場景和完整先驗(yàn)信息場景中的路徑差異,并對結(jié)果進(jìn)行分析。
4.2.1 空曠場景實(shí)驗(yàn)
空曠場景實(shí)驗(yàn)的環(huán)境如圖8所示,在環(huán)境中包含4個(gè)目標(biāo)點(diǎn),分別位于[x,y]=[18,68]、[40,20]、[75,29]、[67,82]4個(gè)坐標(biāo)上,由于無人機(jī)是在三維空間飛行,無論z坐標(biāo)為多少,只要滿足x、y坐標(biāo)位于目標(biāo)點(diǎn)的方格內(nèi)即算達(dá)到目標(biāo)。
主要驗(yàn)證DDPG、DDPG+Reward Shaping(下面簡稱DDPG+RS)和MTDDPG三個(gè)算法的優(yōu)劣,因此在除去各個(gè)算法本身差異的部分,其余訓(xùn)練上的參數(shù)均保持一致,如表1所示。在訓(xùn)練參數(shù)上,除表1的參數(shù)之外,每個(gè)episode中還需要指定訓(xùn)練次數(shù)(steps),在MTDDPG算法中,每個(gè)子網(wǎng)絡(luò)在一個(gè)episode中訓(xùn)練1 000次,由于共有7個(gè)子網(wǎng)絡(luò),因此對應(yīng)的DDPG算法和DDPG+RS算法則在一個(gè)episode中訓(xùn)練7 000次,以此來平衡不同算法總的訓(xùn)練次數(shù)。
表1 空曠場景實(shí)驗(yàn)網(wǎng)絡(luò)參數(shù)Tab.1 Network parameters for empty experiment
MTDDPG算法需要事先對環(huán)境進(jìn)行分區(qū),由于本實(shí)驗(yàn)場景較為空曠且只有4個(gè)目標(biāo)點(diǎn),為了仿真上的便利性,對環(huán)境簡單分為4個(gè)區(qū)域(如圖10所示),并從左下角開始順時(shí)針訪問4個(gè)目標(biāo)。根據(jù)預(yù)設(shè)的目標(biāo)訪問順序,加上決策如何在各個(gè)區(qū)域轉(zhuǎn)換的子網(wǎng)絡(luò),本實(shí)驗(yàn)的MTDDPG算法需要訓(xùn)練7個(gè)子網(wǎng)絡(luò),分別是4個(gè)子網(wǎng)絡(luò)控制前往目標(biāo)點(diǎn)和3個(gè)子網(wǎng)絡(luò)控制4個(gè)區(qū)域間的轉(zhuǎn)換。
圖10 MTDDPG在空曠場景實(shí)驗(yàn)下的環(huán)境分區(qū)示意圖Fig.10 Schematic diagram of the environment partitioning of MTDDPG in an empty scene experiment
對于MTDDPG算法而言,透過并行訓(xùn)練各個(gè)子網(wǎng)絡(luò),平均一個(gè)子網(wǎng)絡(luò)在5 min左右能夠訓(xùn)練完成,總的訓(xùn)練時(shí)間因?yàn)椴⑿杏?xùn)練的原因,相當(dāng)于只需要一個(gè)子網(wǎng)絡(luò)的訓(xùn)練時(shí)間即可。
根據(jù)這些訓(xùn)練好的子網(wǎng)絡(luò),基于MTDDPG的框架部署后,便可用于對完整路徑的決策,圖11(a)為路徑的三維圖,圖11(b)為路徑的上視圖,在兩個(gè)圖中,均用藍(lán)點(diǎn)代表起點(diǎn),綠點(diǎn)代表4個(gè)待搜救的目標(biāo)點(diǎn),紅線則代表MTDDPG算法規(guī)劃的路徑。
除了驗(yàn)證MTDDPG在簡單環(huán)境中的訓(xùn)練效果,本實(shí)驗(yàn)對于3個(gè)不同算法進(jìn)行了效果對比。圖12可以看出,紅線和紫線分別代表MTDDPG算法的全局獎(jiǎng)勵(lì)和局部獎(jiǎng)勵(lì),橫坐標(biāo)為訓(xùn)練次數(shù)(episode),縱坐標(biāo)為獎(jiǎng)勵(lì)(reward),對比于其他算法來說,MTDDPG算法在reward上的收斂速度和效果都較好。從橙線、綠線和藍(lán)線的對比來說,簡單的獎(jiǎng)勵(lì)重塑效果并不會(huì)比原始DDPG更好。圖13對比了3個(gè)不同算法的任務(wù)完成率,藍(lán)、橙、綠三線分別代表MTDDPG、DDPG、DDPG+RS算法,明顯可以看到MTDDPG在任務(wù)完成率上取得了更好的效果。
(a) 三維圖
圖12 3種算法的訓(xùn)練獎(jiǎng)勵(lì)對比Fig.12 Training reward comparison of three algorithms
圖13 3種算法的任務(wù)完成率對比Fig.13 Comparison of task completion rates of the three algorithms,the horizontal axis represents the number of training sessions
4.2.2 無家具場景實(shí)驗(yàn)
無家具場景實(shí)驗(yàn)的環(huán)境如圖9所示,實(shí)驗(yàn)場景中,模擬真實(shí)救災(zāi)中先驗(yàn)信息缺失的情況,比如家具信息。在此基礎(chǔ)上,對于MTDDPG算法的訓(xùn)練和部署需要進(jìn)行一定的處理,確保無人機(jī)在飛行過程中不會(huì)撞到未知的家具。在訓(xùn)練過程中,環(huán)境分區(qū)按照室內(nèi)隔間矩形分割,和有家具的場景類似,如圖3劃分;而訓(xùn)練參數(shù)上,和空曠場景類似,采用表2的參數(shù)進(jìn)行訓(xùn)練。
表2 無家具場景實(shí)驗(yàn)網(wǎng)絡(luò)參數(shù)Tab.2 Network parameters for unfurnished scene
本實(shí)驗(yàn)環(huán)境中包含4個(gè)目標(biāo)點(diǎn),分別位于[x,y]=[18,68]、[14,5]、[48,79]、[83,29]4個(gè)坐標(biāo)上,并且按照這個(gè)順序訪問各個(gè)目標(biāo)點(diǎn)。根據(jù)環(huán)境分區(qū)可以知道,總共需要14個(gè)子網(wǎng)絡(luò)進(jìn)行聯(lián)合決策,其中包含4個(gè)目標(biāo)點(diǎn)決策子網(wǎng)絡(luò)和10個(gè)區(qū)域轉(zhuǎn)換決策子網(wǎng)絡(luò)。
對于MTDDPG算法,我們關(guān)注于各個(gè)子網(wǎng)絡(luò)訓(xùn)練的reward以及任務(wù)完成率。圖14顯示14個(gè)子網(wǎng)絡(luò)的訓(xùn)練reward,可以看到,所有子網(wǎng)絡(luò)在全局獎(jiǎng)勵(lì)(藍(lán)線)上訓(xùn)練后都收斂到一個(gè)穩(wěn)定值,而對于多數(shù)的子網(wǎng)絡(luò)而言,局部獎(jiǎng)勵(lì)(橙線)也收斂到穩(wěn)定值。
(a) Agent0 Reward
雖然訓(xùn)練時(shí)采用的是無家具場景,但是在實(shí)際應(yīng)用中,應(yīng)該要部署在具有完整家具信息的場景。由于訓(xùn)練過程中缺乏家具信息,會(huì)導(dǎo)致訓(xùn)練好的MTDDPG算法在實(shí)際飛行中,規(guī)劃的路徑有撞到家具的風(fēng)險(xiǎn)。為了解決這一問題,在部署上,智能體每選擇一個(gè)動(dòng)作時(shí),需要對于下一個(gè)狀態(tài)進(jìn)行判斷,如果是障礙物,則根據(jù)隨機(jī)策略重新選擇動(dòng)作,確保不會(huì)撞到;如果不是障礙物,則無人機(jī)按照MTDDPG算法給出的動(dòng)作行動(dòng)。圖15顯示了通過MTDDPG算法在無家具場景中訓(xùn)練后實(shí)際的飛行軌跡(黑線)可以看到,經(jīng)過特殊處理后的軌跡,很好地完成目標(biāo)點(diǎn)(綠點(diǎn))搜索任務(wù),并且避開了可能存在的家具。
圖15 無家具場景下訓(xùn)練的無人機(jī)實(shí)際飛行軌跡Fig.15 Flight trajectory of the UAV trained in the unfurnished scene
4.2.3 完整家具場景實(shí)驗(yàn)
完整家具場景也稱為完整先驗(yàn)信息場景,本實(shí)驗(yàn)中的環(huán)境具有完整的家具信息,如圖7所示。在該場景下,網(wǎng)絡(luò)能得到充分的訓(xùn)練,并且訓(xùn)練和實(shí)際飛行的地圖是更接近的。在這個(gè)實(shí)驗(yàn)環(huán)境中,共有4個(gè)目標(biāo)點(diǎn),分別位于[x,y]=[18,68]、[14,5]、[48,79]、[83,29]4個(gè)坐標(biāo)上,并且按照上述的順序依次訪問。訓(xùn)練參數(shù)的部分,為了和無家具場景實(shí)驗(yàn)進(jìn)行對比,訓(xùn)練參數(shù)和無家具場景實(shí)驗(yàn)保持一致,如表2所示。
和無家具場景實(shí)驗(yàn)類似,根據(jù)環(huán)境分區(qū)的結(jié)果,一共需要14個(gè)子網(wǎng)絡(luò)進(jìn)行訓(xùn)練和決策。對這14個(gè)子網(wǎng)絡(luò)同樣用訓(xùn)練reward和任務(wù)完成率進(jìn)行評價(jià),圖16分別顯示了14個(gè)子網(wǎng)絡(luò)的訓(xùn)練reward??梢钥吹?,大部分子網(wǎng)絡(luò)在全局獎(jiǎng)勵(lì)(藍(lán)線)和局部獎(jiǎng)勵(lì)(橙線)上,經(jīng)過訓(xùn)練后收斂到穩(wěn)定值。
經(jīng)過訓(xùn)練后的網(wǎng)絡(luò),將該網(wǎng)絡(luò)部署在一樣的場景中進(jìn)行搜索任務(wù),根據(jù)MTDDPG算法的框架,利用14個(gè)訓(xùn)練好的子網(wǎng)絡(luò)對無人機(jī)飛行路徑進(jìn)行規(guī)劃,圖17(a)和圖17(b)分別展示了MTDDPG算法所規(guī)劃路徑的三維圖和上視圖,可以看見,無人機(jī)飛行的軌跡(上視圖中的黑線)避開了障礙物并完成4個(gè)目標(biāo)點(diǎn)(綠點(diǎn))的搜索任務(wù)。
本實(shí)驗(yàn)和無家具場景實(shí)驗(yàn)的對比中,兩個(gè)實(shí)驗(yàn)所規(guī)劃的路徑如圖18所示,可以看出,無家具場景下的路徑軌跡(紅線)更加大膽,比如在廚房中的軌跡,正常飛行高度下,無家具場景的軌跡更加靠近冰箱(障礙物),完整家具場景的軌跡(黑線)則會(huì)遠(yuǎn)離冰箱而靠近飛行高度下更為空曠的灶臺。此外,從二者的軌跡對比來說,無家具場景和完整家具場景實(shí)驗(yàn)所規(guī)劃的軌跡大體上沒有太大的差異。因此,MTDDPG算法在先驗(yàn)信息是否充分的兩種場景下,都能較好地完成多目標(biāo)的搜索任務(wù)。
(a) Agent0 Reward
(a) 三維圖
圖18 無家具場景和完整家具場景的軌跡對比Fig.18 Trajectory comparison between an unfurnished scene and a complete furniture scene
本文主要研究深度強(qiáng)化學(xué)習(xí)算法,在多目標(biāo)搜索任務(wù)中規(guī)劃無人機(jī)的飛行軌跡,基于稀疏獎(jiǎng)勵(lì)的場景中,對舊有算法分析并改進(jìn),提出基于多目標(biāo)任務(wù)的深度強(qiáng)化學(xué)習(xí)算法——MTDDPG。
對舊有的深度強(qiáng)化學(xué)習(xí)算法,本文基于環(huán)境分區(qū)和獎(jiǎng)勵(lì)重塑進(jìn)行了兩個(gè)方面的改進(jìn)。利用環(huán)境分區(qū)可以將多目標(biāo)問題化簡為多個(gè)單目標(biāo)問題,并且經(jīng)過分區(qū)后的各個(gè)區(qū)域搜索空間變小了,而負(fù)責(zé)各個(gè)區(qū)域決策的子網(wǎng)路不互相干擾,可以同步訓(xùn)練減少整體訓(xùn)練時(shí)間。在分秒必爭的搜救任務(wù)中,訓(xùn)練時(shí)間減少意味著可以更快地部署,對于場景探勘和搜救有著極大的幫助。
基于獎(jiǎng)勵(lì)重塑的改進(jìn)上,環(huán)境分區(qū)化簡問題后,每一段的決策可以建模成單目標(biāo)的迷宮問題。這類型的問題經(jīng)過許多學(xué)者的研究后,有比較好的獎(jiǎng)勵(lì)重塑形式,可以有效地解決訓(xùn)練結(jié)果收斂速度慢的問題。本文在全局稀疏獎(jiǎng)勵(lì)上,加入當(dāng)前狀態(tài)和目標(biāo)點(diǎn)距離的負(fù)數(shù)作為新獎(jiǎng)勵(lì)形式,結(jié)合環(huán)境分區(qū),有效地改善了多目標(biāo)任務(wù)中存在稀疏獎(jiǎng)勵(lì)和搜索空間大的兩個(gè)難點(diǎn)。
實(shí)驗(yàn)驗(yàn)證中,本文設(shè)計(jì)了3個(gè)實(shí)驗(yàn)對算法進(jìn)行驗(yàn)證,其中在空曠場景實(shí)驗(yàn)中對DDPG、DDPG+RS和MTDDPG算法進(jìn)行分析對比,可以看出MTDDPG算法在該任務(wù)中的優(yōu)勢。無家具場景實(shí)驗(yàn)和完整家具場景實(shí)驗(yàn)中,二者分別對于不完整先驗(yàn)信息和完整先驗(yàn)信息的場景進(jìn)行了建模,利用MTDDPG算法在兩個(gè)場景中訓(xùn)練,最終部署在完整家具場景中進(jìn)行軌跡規(guī)劃。本文對比兩個(gè)實(shí)驗(yàn)規(guī)劃的軌跡,并對于結(jié)果進(jìn)行了分析解釋。
綜合理論分析和實(shí)驗(yàn)驗(yàn)證結(jié)果,本文提出的MTDDPG算法在多目標(biāo)的搜救任務(wù)上,相比于傳統(tǒng)的深度強(qiáng)化學(xué)習(xí)算法,取得了較好的成果。