符小衛(wèi),徐哲,朱金冬,王楠
1.西北工業(yè)大學(xué) 電子信息學(xué)院,西安 710129
2.西安應(yīng)用光學(xué)研究所,西安 710065
3.航空工業(yè)沈陽飛機(jī)設(shè)計(jì)研究所 體系部,沈陽 110035
自主空戰(zhàn)對抗決策是無人機(jī)(Unmanned Aerial Vehicle, UAV)走向智能化必須研究的課題[1]。雙方無人機(jī)根據(jù)觀測的態(tài)勢信息,如何快速做出有利于自身的機(jī)動動作以使得在對抗過程中盡量保存自己和消滅目標(biāo),是提升無人機(jī)智能化對抗水平的關(guān)鍵[2]。多無人機(jī)間攻防對抗將成為未來無人機(jī)間智能作戰(zhàn)的主要模式之一,對其進(jìn)行研究具有深刻的現(xiàn)實(shí)意義和必要性。多無人機(jī)對抗是指攻防雙方進(jìn)行多對一或多對多的對抗,本文選取多架防守?zé)o人機(jī)和單架具有高機(jī)動性能力的進(jìn)攻無人機(jī)的對抗場景,研究并設(shè)計(jì)多架防守?zé)o人機(jī)協(xié)同攔截進(jìn)攻無人機(jī)的機(jī)動策略。
學(xué)者針對多無人機(jī)間對抗過程提出了各種不同的研究方法來解決其機(jī)動決策問題。在傳統(tǒng)決策方法中,主要包括比例導(dǎo)引法、人工勢場法、幾何學(xué)法、微分博弈法等。文獻(xiàn)[3]為了避免無人機(jī)導(dǎo)引到敵機(jī)攻擊范圍內(nèi),提出一種基于數(shù)據(jù)鏈的變結(jié)構(gòu)對抗導(dǎo)引方式。比例導(dǎo)引實(shí)現(xiàn)容易,計(jì)算速度快,但其數(shù)學(xué)模型方法不能適應(yīng)于有障礙及威脅的復(fù)雜強(qiáng)對抗環(huán)境中,并且一般需已知目標(biāo)運(yùn)動方式,擴(kuò)展性比較差。文獻(xiàn)[4]將目標(biāo)和障礙物的速度引入人工勢場法中,使得無人機(jī)在動態(tài)環(huán)境下實(shí)現(xiàn)避障及目標(biāo)跟蹤。人工勢場需提前了解環(huán)境信息,且一般容易陷入局部最優(yōu)。文獻(xiàn)[5]利用阿波羅尼斯圓法來研究不同對抗條件下多追捕者追捕單逃逸者的成功捕獲條件。幾何學(xué)法一般假定對抗雙方能夠獲取所有對抗信息,且雙方初始狀態(tài)對機(jī)動決策影響極大。文獻(xiàn)[6]通過構(gòu)建微分博弈模型研究多無人機(jī)捕獲單一目標(biāo)的機(jī)動決策算法。微分博弈方法以數(shù)學(xué)公式形式描述對抗模型,有著嚴(yán)格的推導(dǎo)過程,然而求解過程隨著對象數(shù)量增加變得十分困難。上述方法在實(shí)際條件中存在各自的局限性問題,與實(shí)際條件很難對應(yīng),無法在多機(jī)對抗的復(fù)雜高動態(tài)場景下取得較好的應(yīng)用效果。
智能優(yōu)化算法的發(fā)展使得學(xué)者們嘗試將其引入多無人機(jī)對抗問題研究過程中,如仿生學(xué)[7]、群體智能算法[8]以及強(qiáng)化學(xué)習(xí)等。多智能體強(qiáng)化學(xué)習(xí)作為一種新型的人工智能算法,具有模型簡單、自學(xué)性強(qiáng)、魯棒性高等特點(diǎn),近年來有不少利用該方法研究多無人機(jī)對抗領(lǐng)域的相關(guān)問題,展現(xiàn)較好的應(yīng)用前景。文獻(xiàn)[9]提出了一種基于強(qiáng)化學(xué)習(xí)和追逃雙方運(yùn)動規(guī)劃策略的層次化框架方法,該方法可以使追捕者有效避開障礙物捕獲移動目標(biāo);文獻(xiàn)[10]基于多智能體強(qiáng)化學(xué)習(xí)算法,研究了多無人機(jī)的協(xié)同攻防對抗決策方法;文獻(xiàn)[11]設(shè)計(jì)了3種不同的實(shí)驗(yàn)場景,利用多智能體深度確定性策略梯度(Multi-Agent Deep Deterministic Policy Gradient, MADDPG)算法訓(xùn)練機(jī)器人實(shí)現(xiàn)了對目標(biāo)的圍捕;文獻(xiàn)[12]對MADDPG算法在獎勵(lì)函數(shù)及網(wǎng)絡(luò)結(jié)構(gòu)上做出改進(jìn),提出了解耦多智能體深度確定性策略梯度(DEcomposed Multi-Agent Deep Deterministic Policy Gradient, DE-MADDP)算法用來解決多無人機(jī)協(xié)同圍捕快速目標(biāo)的追逃問題;文獻(xiàn)[13]提出了一種基于 MADDPG 的多無人機(jī)協(xié)同任務(wù)決策方法;文獻(xiàn)[14]提出了一種基于雙延遲深度確定性策略梯度(Twin-Delayed Deep Deterministic policy gradient, TD3)的無人機(jī)近距空戰(zhàn)格斗自主決策模型,并設(shè)計(jì)了基于價(jià)值的樣本優(yōu)先度排序方法,提升算法的收斂速度;文獻(xiàn)[15]提出了一種相關(guān)經(jīng)驗(yàn)學(xué)習(xí)的DDPG算法以解決拒止環(huán)境下無人機(jī)運(yùn)動規(guī)劃問題;文獻(xiàn)[16]設(shè)計(jì)了基于TD3的無人機(jī)機(jī)動決策算法;文獻(xiàn)[17]基于TD3的算法以解決無人機(jī)在有多個(gè)動態(tài)障礙物環(huán)境下的路徑規(guī)劃問題;文獻(xiàn)[18]提出了一種基于改進(jìn)TD3的無人機(jī)反追擊機(jī)動決策算法。以上文獻(xiàn)均利用強(qiáng)化學(xué)習(xí)算法對各自提出的問題進(jìn)行研究及改進(jìn),然而針對復(fù)雜真實(shí)環(huán)境下的多無人機(jī)對抗研究較少,并未考慮無人機(jī)的避障探測能力和火力打擊能力,在多智能體算法的性能方面還有值得研究的內(nèi)容,例如如何在已有的訓(xùn)練算法基礎(chǔ)上繼續(xù)改進(jìn)完善,使得算法的收斂性更快、穩(wěn)定性更好。
本文主要針對存在障礙物的復(fù)雜環(huán)境下多無人機(jī)攻防對抗問題,在考慮無人機(jī)雷達(dá)探測范圍和火力打擊范圍的情況下,利用深度強(qiáng)化學(xué)習(xí)算法開展無人機(jī)攻防對抗機(jī)動決策方法的研究。主要是針對現(xiàn)有較流行的MADDPG算法中存在值函數(shù)高估問題,將單智能體TD3算法擴(kuò)展到多智能體領(lǐng)域,提出了多智能體雙延遲深度確定性策略梯度(Multi-Agent Twin Delayed Deep Deterministic policy gradient, MATD3)算法,緩解了值函數(shù)高估問題,從而提高了算法收斂速度;為了進(jìn)一步加快算法的收斂速度、提升算法的穩(wěn)定性,提出了優(yōu)先經(jīng)驗(yàn)回放多智能體雙延遲深度確定性策略梯度(Prioritized Experience Replay Multi-Agent Twin Delayed Deep Deterministic policy gradient, PER-MATD3)算法。
如圖1所示,多無人機(jī)攻防對抗場景可以描述為在有限平面區(qū)域內(nèi),存在1架藍(lán)方進(jìn)攻無人機(jī)和3架紅方防守?zé)o人機(jī),進(jìn)攻無人機(jī)的任務(wù)是從初始位置(左上角)突破防守?zé)o人機(jī)的阻攔到達(dá)紅方基地區(qū)域(右下角圓形小旗區(qū)域);而防守?zé)o人機(jī)的任務(wù)是從初始位置(右下角圓形小旗區(qū)域)去攔截并擊毀進(jìn)攻無人機(jī)。無人機(jī)通過機(jī)載激光雷達(dá)探測環(huán)境中隨機(jī)分布的大量圓形障礙物,無法提前獲知障礙物信息。假設(shè)防守?zé)o人機(jī)均載有通信數(shù)據(jù)鏈,并通過己方雷達(dá)站能夠?qū)崟r(shí)檢測敵機(jī)的位置信息及友機(jī)的狀態(tài)信息,具有一定的協(xié)同能力;假設(shè)進(jìn)攻無人機(jī)提前知道地面目標(biāo)區(qū)域位置,并通過攜帶的GPS和電子陀螺儀獲取自身狀態(tài)信息,但無法提前鎖定防守?zé)o人機(jī)的位置信息,只能通過激光雷達(dá)觀測獲取防守?zé)o人機(jī)的相對位置。本研究的假設(shè)條件可以更好的貼近實(shí)際攻防對抗場景。
圖1 多無人機(jī)攻防對抗場景Fig.1 Multi-UAVs attack-defence confrontation scenario
圖1中,a和dn(n=1,2,3)分別代表進(jìn)攻無人機(jī)和防守?zé)o人機(jī);sip=(xip,yip)(i=a,dn)表示雙方無人機(jī)的位置坐標(biāo);sid=ψi(i=a,dn)表示雙方無人機(jī)的航向角;siv=vi(i=a,dn)表示雙方無人機(jī)的速度大小;stp=(xtp,ytp)表示目標(biāo)區(qū)域中心點(diǎn)的位置;表示第k個(gè)障礙物中心點(diǎn)的位置。
為了開展對攻防雙方無人機(jī)對抗機(jī)動決策的研究,規(guī)定無人機(jī)的運(yùn)動學(xué)方程為
式中:ai和ωi作為無人機(jī)的控制量,分別表示無人機(jī)的加速度大小和角速度大?。籭=a,dn。
無人機(jī)的運(yùn)動需要滿足一定的運(yùn)動約束,因此其狀態(tài)量及控制量分別滿足式(2)和式(3):
式中:xmin和xmax分別為戰(zhàn)場邊界的最小橫坐標(biāo)和最大橫坐標(biāo);ymin和ymax分別為戰(zhàn)場邊界的最小縱坐標(biāo)和最大縱坐標(biāo);vimax為無人機(jī)的最大速度;aimax為無人機(jī)的最大加速度;ωimax為無人機(jī)最大角速度。
假設(shè)無人機(jī)當(dāng)前時(shí)刻t的狀態(tài)信息為在仿真步長ΔT內(nèi),在加速度大小ai及動作量ωi的作用下,其自身狀態(tài)量會發(fā)生改變,下一時(shí)刻t+1的狀態(tài)由狀態(tài)轉(zhuǎn)移方程確定為
假設(shè)雙方無人機(jī)均裝置激光雷達(dá),其探測情況如圖2所示。
圖2 無人機(jī)雷達(dá)探測模型Fig.2 UAV radar detection model
由圖2可知,第k類圓形障礙物的半徑為Rko(k=1,2,…,Nt),其中Nt為圓形障礙物類型數(shù)量;第k類障礙物的數(shù)量為Nk,障礙物的位置為(k=1,2,…,No),其中,No為障礙物的總數(shù)量;無人機(jī)雷達(dá)探測的角度范圍為θi(i=a,dn);無人機(jī)雷達(dá)的最大探測距離為Ri(i=a,dn)。為了更好地描述無人機(jī)對環(huán)境的感知,將無人機(jī)雷達(dá)探測角度范圍等間隔地離散化為(ll=7)個(gè)方向,在圖中用7條射線表示,每條射線長度為Dm(m=1,2,…,l)。最長射線的長度為無人機(jī)雷達(dá)的最大探測距離,其他射線的長度為無人機(jī)在相應(yīng)方向上探測到的與障礙物或邊界的相對距離。定義xmio(i=a,dn;m=1,2,…,l)為Dm與無人機(jī)雷達(dá)最大探測距離的比值,若該值越接近1,則表明無人機(jī)在該方向距離障礙物或邊界越遠(yuǎn);反之該值越接近0,則在該方向距離障礙物或邊界越近。即無人機(jī)對障礙物的探測狀態(tài)量可表示為
進(jìn)攻無人機(jī)a在執(zhí)行任務(wù)前,有一個(gè)已知的目標(biāo)位置[xtp,ytp],為了簡化無人機(jī)輸入狀態(tài)維度,可將目標(biāo)的位置信息合并到無人機(jī)的雷達(dá)探測信息中。具體地,在sao中找出狀態(tài)量(m=1,2,…,l)最大值所對應(yīng)的方向(可能存在多個(gè),如圖2中3個(gè)最長射線方向),然后在這些方向中選擇與無人機(jī)-目標(biāo)視線方向夾角最小的那個(gè)方向記為最優(yōu)航向ψo(hù)pti(如圖2中射線方向),將該方向上的探測狀態(tài)量記為這樣就可將目標(biāo)的位置信息合并到無人機(jī)的雷達(dá)探測信息中,后續(xù)可以利用合并后的信息使得無人機(jī)避障及靠近目標(biāo)。
在多智能體強(qiáng)化學(xué)習(xí)領(lǐng)域中,由于每個(gè)智能體均在環(huán)境中不斷學(xué)習(xí)改善自身策略,從每個(gè)智能體的角度看,不清楚其他智能體的動作策略,而這些智能體的動作會對環(huán)境帶來變化,導(dǎo)致環(huán)境變得不穩(wěn)定,因此多智能體強(qiáng)化學(xué)習(xí)的難點(diǎn)在于不僅需要了解每個(gè)智能體與環(huán)境的交互過程,還需要考慮到其他智能體對環(huán)境的影響,使得問題變得較為復(fù)雜[19-20]。
在多智能體領(lǐng)域中,每個(gè)智能體與環(huán)境的交互過程被定義為馬爾可夫博弈[21](Markov Game),也被稱為隨機(jī)博弈(Stochastic Game)。假設(shè)環(huán)境中存在N個(gè)智能體,馬爾可夫博弈可用多元組{N,S,A,O,R,P,γ}表示。其中,S為環(huán)境狀態(tài)空間,用s∈S表示環(huán)境狀態(tài);O={O1,O2,…,ON}為智能體對于環(huán)境的觀測量空間,其中Oi表示智能體i的觀測量空間,用oi∈Oi表示智能體i的觀測量,用o={o1,o2,…,oN}表示所有智能體的聯(lián)合觀測量;A={A1,A2,…,AN}為智能體的聯(lián)合動作空間,其中Ai表示智能體i的動作空間,用ai∈Ai表示智能體i的動作,用a={a1,a2,…,aN}表示所有智能體聯(lián)合動作;R={R1,R2,…,RN}為智能體獎勵(lì)函數(shù)集合,其中Ri:S×A→R表示智能體i的獎勵(lì)函數(shù),所有智能體在環(huán)境狀態(tài)s采用聯(lián)合動作a后所獲得的獎勵(lì)用ri表示,其中ri=Ri(s,a)??梢钥吹街悄荏wi的獎勵(lì)不僅跟自身動作策略有關(guān),還受到其他智能體策略的影響。狀態(tài)轉(zhuǎn)移概率P為指定智能體i在聯(lián)合狀態(tài)s及聯(lián)合動作a時(shí),環(huán)境狀態(tài)改變到下一個(gè)環(huán)境狀態(tài)s′的概率分布,可用P:S×A×S→[0,1]來表示,γ為累積獎勵(lì)衰減因子。強(qiáng)化學(xué)習(xí)中多智能體與環(huán)境交互的過程如圖3所示。
圖3 強(qiáng)化學(xué)習(xí)多智能體與環(huán)境交互過程Fig.3 Reinforcement learning process of interaction between multi-agent and environment
定義智能體i的策略概率密度函數(shù)為
式中:μ為智能體策略網(wǎng)絡(luò);θi為智能體i的策略網(wǎng)絡(luò)參數(shù)。
定義智能體i的累積獎勵(lì)函數(shù)為
式中:π-i表示除智能體i以外其他所有智能體的聯(lián)合策略。根據(jù)智能體之間獎勵(lì)函數(shù)的不同,可以分為不同的場景任務(wù),即若所有智能體獎勵(lì)函數(shù)相同,目標(biāo)一致,稱為完全合作型;若智能體間獎勵(lì)函數(shù)相反,通常為兩方零和博弈,一方收益是另一方的損失,稱為完全競爭型;若智能體間既有競爭,也有合作,多為一般博弈,稱為混合關(guān)系型。
本文多無人機(jī)攻防對抗問題屬于混合博弈,所有智能體學(xué)習(xí)的目標(biāo)可以表述為
式中:π*i為智能體i的最優(yōu)策略。
MADDPG算法[22]是一種經(jīng)典的多智能體強(qiáng)化學(xué)習(xí)算法,采用“集中式訓(xùn)練、分布式執(zhí)行”的方式,能夠適用于環(huán)境不穩(wěn)定的情況,可應(yīng)用在合作、競爭及混合合作競爭的多智能體環(huán)境。假設(shè)有個(gè)N智能體,對于每個(gè)智能體均有各自獨(dú)立的Actor策略網(wǎng)絡(luò)和Critic評價(jià)網(wǎng)絡(luò),設(shè)定Actor當(dāng)前網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)的參數(shù)分別為θ={θ1,θ2,…,θN}、θ′={θ′1,θ′2,…,θ′N},Critic當(dāng)前網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)的參數(shù)分別為w={w1,w2,…,wN}、w′={w′1,w′2,…,w′N},由于每個(gè)智能體的Critic網(wǎng)絡(luò)不僅輸入自己的觀測狀態(tài)及動作信息,也包括其他智能體的狀態(tài)及動作信息,因此對于MADDPG算法第i個(gè)智能體的Actor策略網(wǎng)絡(luò)和Critic值函數(shù)網(wǎng)絡(luò)輸入輸出關(guān)系如式(9)和式(10):
每個(gè)智能體的Critic網(wǎng)絡(luò)輸入相同,MADDPG算法的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)如圖4所示。
圖4 智能體i的Actor和Critic網(wǎng)絡(luò)Fig.4 Actor and Critic network of Agent i
從經(jīng)驗(yàn)池D中隨機(jī)抽取出m條訓(xùn)練樣本,第j條訓(xùn)練樣本為(oj,aj,rj,o′j),其中和o′j=分別表示該條經(jīng)驗(yàn)所有智能體的狀態(tài)量、動作、獎勵(lì)和下一刻的狀態(tài)量。
定義MADDPG算法智能體i的Critic動作值函數(shù)的損失函數(shù)為J(wi),它的梯度計(jì)算公式為
智能體i的策略梯度計(jì)算公式為
因此Critic當(dāng)前網(wǎng)絡(luò)參數(shù)w={w1,w2,…,wN}和目標(biāo)網(wǎng)絡(luò)參數(shù)w′={w′1,w′2,…,w′N}的更新公式可以表示為式(14)和式(15):
Actor當(dāng)前網(wǎng)絡(luò)參數(shù)θ={θ1,θ2,…,θN}和目標(biāo)網(wǎng)絡(luò)參數(shù)θ′={θ′1,θ′2,…,θ′N}的更新公式可以表示為式(16)和式(17):
式中:αC、αA、τ分別為Critic網(wǎng)絡(luò)學(xué)習(xí)率、Actor網(wǎng)絡(luò)學(xué)習(xí)率以及軟更新參數(shù)。
TD3算法[23]將動作值函數(shù)進(jìn)行解耦,使用2個(gè)Q網(wǎng)絡(luò)來近似動作選擇和動作評估,能夠有效解決高估問題,在單智能體中相較DDPG算法一般表現(xiàn)出更好的效果。MADDPG算法是DDPG算法在多智能體領(lǐng)域的擴(kuò)展,它并沒有改變動作值函數(shù)高估問題固有的特性[24],智能體i在策略評估及改善過程中依然存在以下高估誤差:
借鑒TD3算法的實(shí)現(xiàn)過程,利用MADDPG算法中“集中式評判、分布式學(xué)習(xí)”的網(wǎng)絡(luò)框架,提出MATD3算法。MATD3算法有以下幾個(gè)特點(diǎn):一是每個(gè)智能體不僅有各自的當(dāng)前策略網(wǎng)絡(luò)及對應(yīng)的目標(biāo)策略網(wǎng)絡(luò),還有2個(gè)中心化的獨(dú)立評估網(wǎng)絡(luò)及對應(yīng)的目標(biāo)網(wǎng)絡(luò),通過選擇較小的Q值從而接近真實(shí)Q值以緩解高估問題;二是為了適用于環(huán)境不穩(wěn)定的情況,采用中心訓(xùn)練分布執(zhí)行的架構(gòu);三是使用策略延遲更新方式,即評估網(wǎng)絡(luò)在更新一定步數(shù)之后再對策略網(wǎng)絡(luò)進(jìn)行更新。MATD3網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)如圖5所示。
圖5 MATD3算法網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)Fig.5 Design of MATD3 algorithm network structure
圖5中,每個(gè)智能體i包括6個(gè)網(wǎng)絡(luò),分別為:當(dāng)前策略網(wǎng)絡(luò)μ(oi;θi);目標(biāo)策略網(wǎng)絡(luò)μ(oi;θi′);當(dāng)前評估網(wǎng)絡(luò)1:q(o,a;wi,1);目標(biāo)評估網(wǎng)絡(luò)1:q(o,a;w′i,1);當(dāng)前評估網(wǎng)絡(luò)2:q(o,a;wi,2);目標(biāo)評估網(wǎng)絡(luò)2:q(o,a;w′i,2)。策略網(wǎng)絡(luò)仍采用分布式執(zhí)行方式,輸入自身的狀態(tài)信息,輸出決策的動作;2個(gè)Critic網(wǎng)絡(luò)采用集中式訓(xùn)練方式,不僅輸入自身局部的狀態(tài)和動作,還包括其他智能體的狀態(tài)和動作信息,輸出的是2個(gè)近似真值的Q值。在計(jì)算目標(biāo)Q值時(shí),為了緩解高估問題,同單智能體方式一樣,選擇較小的目標(biāo)Q值來指導(dǎo)策略網(wǎng)絡(luò)的參數(shù)更新。
經(jīng)驗(yàn)回放機(jī)制[25]是在深度Q網(wǎng)絡(luò)(DeepQNetwork, DQN)算法中首次提出的,在經(jīng)驗(yàn)回放時(shí)候,不是簡單地隨機(jī)采樣,而是依照每個(gè)樣本的重要程度對其優(yōu)先級排序,在抽樣時(shí)能夠更多次的訪問重要程度較高的樣本,從而能夠有效的學(xué)習(xí)。而樣本的重要程度可以利用時(shí)間差分法中的TD-error進(jìn)行衡量,TD-error較大的樣本被賦予較高的優(yōu)先級,相反,TD-error較小的樣本被賦予較低的優(yōu)先級[26]。PER方法在單智能體領(lǐng)域表現(xiàn)出色,而在多智能體中依然是一個(gè)研究熱點(diǎn)。因此本研究將PER方法擴(kuò)展到多智能體領(lǐng)域中,并與前文的MATD3算法進(jìn)行結(jié)合,提出了PER-MATD3算法。
TD-error為估計(jì)Q值與目標(biāo)Q值的差。而在MATD3算法中,假設(shè)經(jīng)驗(yàn)池D中第j個(gè)樣本為(oj,aj,rj,o′j),結(jié)合中心化訓(xùn)練和TD3方法中緩解過估計(jì)的問題,智能體i的目標(biāo)Q值定義為
為了打破隨機(jī)抽樣準(zhǔn)則,定義智能體i抽取第j個(gè)樣本的概率為
式中:m為當(dāng)前經(jīng)驗(yàn)池中樣本數(shù)為樣本的優(yōu)先級;α為一個(gè)0~1的數(shù),用來控制隨機(jī)采樣和貪婪采樣的調(diào)節(jié)系數(shù)。用和分別表示智能體i的第j個(gè)樣本采用評估網(wǎng)絡(luò)1和評估網(wǎng)絡(luò)2的TD-error,則由和中的較大值決定。選擇2個(gè)估計(jì)Q值與目標(biāo)Q值差較大的值的絕對值作為TD-error,定義為
Q網(wǎng)絡(luò)的學(xué)習(xí)過程就是不斷減小每個(gè)智能體TD-error的過程。由于智能體在與環(huán)境的交互中不斷存儲新的數(shù)據(jù),若在訓(xùn)練階段每次都要對經(jīng)驗(yàn)池的樣本按照優(yōu)先級從大到小的排序,是非常耗費(fèi)計(jì)算時(shí)間的??衫脭?shù)據(jù)結(jié)構(gòu)中的SumTree的樹形結(jié)構(gòu),在葉子節(jié)點(diǎn)上存儲每個(gè)樣本的數(shù)據(jù)和優(yōu)先級,而父節(jié)點(diǎn)只需存儲2個(gè)分叉子節(jié)點(diǎn)優(yōu)先級之和,因此樹的根節(jié)點(diǎn)就是所有樣本的優(yōu)先級之和,采用這種數(shù)據(jù)結(jié)構(gòu)可以使得時(shí)間復(fù)雜度變?yōu)镺log10n,大大簡化計(jì)算過程。
由于在使用了優(yōu)先經(jīng)驗(yàn)回放方法時(shí)會有偏的帶來樣本分布的變化,因此還需加入重要性采樣方法,這樣既保證每個(gè)樣本被選到的概率是不同的,從而加快訓(xùn)練速度,又可以使得在訓(xùn)練時(shí)每個(gè)樣本在梯度下降時(shí)的影響是相同的,從而保證收斂的結(jié)果,重要性采樣的權(quán)重定義為
式中:cji為智能體i對第j個(gè)樣本的采樣權(quán)重;m為當(dāng)前經(jīng)驗(yàn)池中的樣本數(shù);β為抵消優(yōu)先經(jīng)驗(yàn)回放方法對收斂結(jié)果的影響程度。
一般在程序中需要進(jìn)行歸一化處理,即將每個(gè)樣本權(quán)重除以最大的權(quán)重,推導(dǎo)公式為
式中:k為樣本權(quán)重最大的那個(gè)樣本序號。因此相較之前的MATD3的Cirtic損失函數(shù),現(xiàn)在考慮加入樣本優(yōu)先級的新的Critic1和Critic2的損失函數(shù)J(wi,1)和J(wi,2)分別為式(24)和式(25):
式中:yji為式(19)中的目標(biāo)Q值;q(oj,a;wi,1)和q(oj,a;wi,2)分別為Critic1和Critic2網(wǎng)絡(luò)的估計(jì)Q值。
進(jìn)攻無人機(jī)的狀態(tài)信息包括無人機(jī)自身的位置、航向角、速度大小、無人機(jī)對障礙物及邊界的探測信息和目標(biāo)方向信息。為了使得進(jìn)攻方更具智能性,進(jìn)攻無人機(jī)能夠通過激光雷達(dá)載荷探測到各架防守?zé)o人機(jī)位置,從而可提前規(guī)避。因此進(jìn)攻無人機(jī)的狀態(tài)空間總共包含11維數(shù)據(jù),定義為
對于第n架防守?zé)o人機(jī),狀態(tài)信息除了自身的位置信息、航向角、速度大小、無人機(jī)對障礙物及邊界的探測信息、進(jìn)攻目標(biāo)的方向信息以外,而且能夠通過地面雷達(dá)實(shí)時(shí)了解到其他2架無人機(jī)與自身的距離信息,記為sdnm。因此每架防守?zé)o人機(jī)的狀態(tài)信息變?yōu)?3維數(shù)據(jù),定義第n架防守?zé)o人機(jī)為
用代表防守?zé)o人機(jī)n與防守?zé)o人機(jī)m1的距離,在上式中dnm1的定義為
動作空間表征為加速度和角速度,如式(29)所示:
為了解決稀疏獎勵(lì)所帶來的樣本訓(xùn)練效率低下的問題,本實(shí)驗(yàn)中獎勵(lì)函數(shù)采用引導(dǎo)型獎勵(lì)和稀疏獎勵(lì)相結(jié)合的方式。在無人機(jī)與環(huán)境交互過程中,如果碰撞邊界、或者碰撞障礙物、或完成任務(wù),則采用稀疏獎勵(lì);這3種情況均不發(fā)生的時(shí)候,采用引導(dǎo)型獎勵(lì)。
設(shè)計(jì)引導(dǎo)型獎勵(lì)Rg為
式中:α1、α2、α3、α4、α5為加權(quán)系數(shù)。
Rg的各種引導(dǎo)獎勵(lì)的定義如式(31)所示:
式中:dt-1和dt為無人機(jī)上一時(shí)刻和當(dāng)前時(shí)刻距離目標(biāo)的相對距離;Rdis為無人機(jī)上一時(shí)刻和當(dāng)前時(shí)刻與目標(biāo)的相對距離的變化量;Rr為無人機(jī)的每個(gè)探測傳感器狀態(tài)量相對于1的值;Rv為無人機(jī)當(dāng)前速度大小所帶來的獎勵(lì)量;Rc為無人機(jī)當(dāng)前航向ψi與最優(yōu)航向ψo(hù)pti的偏差。
對于防守?zé)o人機(jī),考慮加入防守?zé)o人機(jī)之間碰撞懲罰Rne,僅當(dāng)防守?zé)o人機(jī)之間距離較近時(shí)才給予懲罰,定義為
設(shè)計(jì)稀疏獎勵(lì)Rs的公式為
式中:R1為無人機(jī)碰撞戰(zhàn)場邊界的懲罰;Rko為第k種障礙物的半徑;dis(·)為二維空間的歐式距離;R2為無人機(jī)碰撞障礙物的懲罰;Rt為目標(biāo)區(qū)域的半徑;Rf為防守?zé)o人機(jī)的火力打擊距離;R3為無人機(jī)完成任務(wù)的獎勵(lì)或任務(wù)失敗的懲罰,對于進(jìn)攻無人機(jī)到達(dá)目標(biāo)區(qū)域則為任務(wù)成功,被防守?zé)o人機(jī)擊毀為任務(wù)失敗,對于防守?zé)o人機(jī)則相反。
基于PER-MATD3的多無人機(jī)攻防對抗算法流程如算法1所示。
算法 1 基于PER-MATD3的多無人機(jī)攻防對抗機(jī)動決策算法1 2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.初始化每個(gè)無人機(jī)i的網(wǎng)絡(luò)參數(shù)θi、wi,2和wi,2及對應(yīng)目標(biāo)網(wǎng)絡(luò)參數(shù),經(jīng)驗(yàn)回放樹SumTree的默認(rèn)數(shù)據(jù)結(jié)構(gòu),其葉子節(jié)點(diǎn)的優(yōu)先級pj設(shè)為1,批樣本數(shù)m,調(diào)節(jié)系數(shù)α,采樣權(quán)重系數(shù)β,衰減因子γ,評估網(wǎng)絡(luò)相對策略網(wǎng)絡(luò)更新頻率C,軟更新系數(shù)τ,高斯噪聲σ For episode=1 to MaxEpisode do獲取雙方無人機(jī)各自的觀測狀態(tài)o1,1,o1,2,…,o1,N For t=1 to MaxStepdo For i=1 to N do對于無人機(jī)i,執(zhí)行動作at,i=fclip(μ(ot,i;θi)+N),其中fclip表示無人機(jī)的限制動作上下限的函數(shù),得到對應(yīng)的獎勵(lì)值rt,i,及下一時(shí)刻的狀態(tài)o(t+1),i End For將樣本數(shù)據(jù){ot,1,ot,2,…,ot,N,at,1,at,2,…,at,N,rt,1,rt,2,…,rt,N,o(t+1),1,o(t+1),2,…,o(t+1),N}存儲到SumTree中If StartTrain do根據(jù)式(20)得到m數(shù)量樣本數(shù)據(jù)(o,a,r,o′),并根據(jù)公式(22)計(jì)算oi,j For i=1 to N do根據(jù)式(24)和式(25)計(jì)算J(wi,1)和J(wi,2)根據(jù)式(20)和式(21)更新樣本的優(yōu)先級更新參數(shù)wi,1和wi,2每隔C步根據(jù)式(13)計(jì)算▽θiJ(θi),根據(jù)式(16)更新參數(shù)θi根據(jù)式(15)和式(17)更新參數(shù)w′i,1,w′i,2和θ′i End For End If End For End For
實(shí)驗(yàn)的軟件采用Pycharm 2020.1和Anaconda3平臺,實(shí)驗(yàn)的程序是基于Python語言,針對設(shè)定的對抗場景如圖1,采用python標(biāo)準(zhǔn)的GUI編寫庫Tkinter構(gòu)建二維戰(zhàn)場環(huán)境,神經(jīng)網(wǎng)絡(luò)的構(gòu)建采用Pytorch模塊,版本為1.3.1。
本次實(shí)驗(yàn)將利用多智能體強(qiáng)化學(xué)習(xí)算法研究多無人機(jī)攻防對抗場景的問題,首先需要構(gòu)建仿真環(huán)境,環(huán)境初始化具體參數(shù)設(shè)置如表1。
本實(shí)驗(yàn)分別采用基于模仿學(xué)習(xí)的深度確定性策略梯度算法(Imitation Learning based Deep Deterministic Policy Gradient algorithm,ILDDPG)[27]、MADDPG算法、MATD3算法及改進(jìn)的PER-MATD3算法對上述構(gòu)建的多機(jī)攻防對抗場景智能決策問題展開研究,由于4種算法均采用分布式執(zhí)行的設(shè)計(jì)框架,因此各個(gè)算法針對智能體i的Actor網(wǎng)絡(luò)均設(shè)計(jì)為圖6的網(wǎng)絡(luò)結(jié)構(gòu)。
圖6 智能體i的Actor網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Actor network structure of Agent i
而各個(gè)算法具體的Critic網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)如表2所示。Critic網(wǎng)絡(luò)的激活函數(shù)均采用Relu函數(shù),并采用Adma優(yōu)化算法進(jìn)行反向傳播更新網(wǎng)絡(luò)的參數(shù),算法的超參數(shù)設(shè)置如表3所示。將智能體與環(huán)境交互產(chǎn)生的數(shù)據(jù)樣本存入經(jīng)驗(yàn)池中,本文設(shè)定一旦樣本數(shù)量達(dá)到經(jīng)驗(yàn)池容量一半后才開始訓(xùn)練。對于MATD3和PER-MATD3算法,設(shè)置的策略延遲更新頻率系數(shù)為10,而對于PER-MATD3算法,式(20)和式(22)的參數(shù)α和β分別為0.6和0.5。
表2 智能體i的Critic網(wǎng)絡(luò)結(jié)構(gòu)Table 2 Critic network structure of Agent i
表3 超參數(shù)設(shè)置Table 3 Hyperparameter settings
強(qiáng)化學(xué)習(xí)算法的目的是訓(xùn)練智能體的策略使得它的累積獎勵(lì)的期望達(dá)到最大,訓(xùn)練結(jié)果的評價(jià)指標(biāo)一般可用回合的平均獎勵(lì)值來衡量?;睾系钠骄剟?lì)值是智能體最近回合所得獎勵(lì)的平均值,它是智能體訓(xùn)練所得的獎勵(lì)值隨回合變化的曲線圖,獎勵(lì)值上升越快,獎勵(lì)值收斂時(shí)越平穩(wěn)且越高,則證明訓(xùn)練的效果越好[28]。在本實(shí)驗(yàn)中使用最近100回合的平均獎勵(lì)作為最終的回合平均獎勵(lì)值,若在開始訓(xùn)練時(shí)不夠100回合就僅使用已有回合的平均獎勵(lì)值。針對圖1構(gòu)建的多無人機(jī)攻防對抗場景的機(jī)動決策問題,分別利用上述四種不同的多智能體強(qiáng)化學(xué)習(xí)算法進(jìn)行訓(xùn)練,等待無人機(jī)訓(xùn)練2 000回合的過程完成,分別將4種算法所有無人機(jī)平均獎勵(lì)總和曲線繪制在同一個(gè)坐標(biāo)軸內(nèi),如圖7所示。
圖7 4種算法的平均獎勵(lì)Fig.7 Average reward of four algorithms
在圖7中,橫坐標(biāo)代表訓(xùn)練的回合數(shù),縱坐標(biāo)代表4架無人機(jī)在最近100回合內(nèi)平均獎勵(lì)的總和。在起始階段,4種算法均是無人機(jī)與環(huán)境交互產(chǎn)生訓(xùn)練樣本的過程,回合獎勵(lì)很低,無人機(jī)并不清楚自身要做什么。在樣本數(shù)達(dá)到經(jīng)驗(yàn)池容量一半時(shí)開始進(jìn)行訓(xùn)練,隨著回合獎勵(lì)曲線逐漸上升,各架無人機(jī)逐漸開始學(xué)習(xí)到更為智能的策略,并都最終達(dá)到了收斂的結(jié)果,但是相比之下4種算法在性能表現(xiàn)上有所差異。經(jīng)過比較,可以得到4種算法中PER-MATD3算法收斂的速度最快,在收斂后的平均獎勵(lì)最高,同時(shí),PER-MATD3和MATD3算法在收斂后均保持有較好的穩(wěn)定性能,ILDDPG算法的穩(wěn)定性很差,這是由于智能體所觀測環(huán)境具有不穩(wěn)定性造成的。
表4 4種算法訓(xùn)練過程數(shù)據(jù)對比Table 4 Comparison of four algorithm training process data
將4種算法訓(xùn)練過程的重要參考數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,這些數(shù)據(jù)有利于直接表現(xiàn)各個(gè)算法的性能優(yōu)劣。主要包括開始訓(xùn)練的回合數(shù)、在1 000回合時(shí)的獎勵(lì)值、1 000~2 000回合的平均獎勵(lì)值、訓(xùn)練時(shí)獎勵(lì)所達(dá)到的峰值。表4結(jié)合圖7對以上指標(biāo)參數(shù)進(jìn)行統(tǒng)計(jì)分析。
從表4中可以得到,PER-MATD3算法在訓(xùn)練階段其訓(xùn)練速度非常快,可從1 000回合的獎勵(lì)值來得到;在達(dá)到收斂后的獎勵(lì)結(jié)果較高,穩(wěn)定性也較好,表現(xiàn)更好的性能優(yōu)勢,驗(yàn)證所提出的PERMATD3算法相較其他多智能體算法的有效性。
為了研究4種算法在收斂后的表現(xiàn),進(jìn)一步驗(yàn)證基于PER-MATD3算法的多機(jī)攻防對抗機(jī)動決策的優(yōu)勢,可利用4種算法在2 000回合收斂后的網(wǎng)絡(luò)參數(shù)進(jìn)行對抗測試分析,將進(jìn)行對抗結(jié)果測試分析,利用訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行10 000次蒙特卡洛實(shí)驗(yàn),具體方法是將2 000回合的一架進(jìn)攻無人機(jī)和3架防守?zé)o人機(jī)的Actor當(dāng)前網(wǎng)絡(luò)參數(shù)單獨(dú)拿出來,作為生成無人機(jī)動作的網(wǎng)絡(luò)參數(shù)。根據(jù)環(huán)境的初始設(shè)置輸入各架無人機(jī)所觀測環(huán)境的狀態(tài)量,利用動作網(wǎng)絡(luò)生成決策動作,與環(huán)境進(jìn)行交互。
一次回合終止條件具體分為2種,一種是無人機(jī)與環(huán)境交互的時(shí)間達(dá)到每回合設(shè)置的最大時(shí)間。另外一種是回合提前結(jié)束,其中,防守失敗包括3種情況:① 防守?zé)o人機(jī)碰撞邊界,此時(shí)獎勵(lì)函數(shù)采用稀疏獎勵(lì),對應(yīng)式(33)中稀疏獎勵(lì)Rs=R1;② 防守?zé)o人機(jī)碰撞障礙物,此時(shí)獎勵(lì)函數(shù)采用稀疏獎勵(lì),對應(yīng)式(33)中稀疏獎勵(lì)Rs=R2;③ 進(jìn)攻無人機(jī)成功完成任務(wù),即防守失敗,對防守?zé)o人機(jī)來說,式(33)中Rs=R3,這時(shí)的R3是一個(gè)懲罰項(xiàng),取負(fù)值。防守成功時(shí),防守?zé)o人機(jī)擊毀進(jìn)攻無人機(jī),這時(shí)的R3是一個(gè)獎勵(lì),取正值。
將4種算法在雙方無人機(jī)上的表現(xiàn)進(jìn)行分析,這里僅站在防守方角度來對成功、失敗及其他情況進(jìn)行統(tǒng)計(jì),而進(jìn)攻方的結(jié)果剛好與其相反。雙方對抗結(jié)果情況如圖8所示,其中綠線表示防守方的失敗次數(shù)、紅線表示防守方的成功次數(shù),藍(lán)線表示其他情況的次數(shù),即無人機(jī)碰撞邊界或障礙物的次數(shù)。
圖8 雙方對抗結(jié)果統(tǒng)計(jì)Fig.8 Statistics of results of confrontation between two sides
通過柱狀圖8,可以得到以下結(jié)論:首先,統(tǒng)計(jì)結(jié)果表明,通過設(shè)計(jì)的4種不同算法所訓(xùn)練的雙方無人機(jī),無論是在避免碰撞邊界或障礙物方面還是在完成自身規(guī)定任務(wù)方面的表現(xiàn),均具有一定的智能性,在圖中可看出其他情況的次數(shù)相對非常少;其次,在同一張柱狀圖內(nèi),進(jìn)攻方采用的是之前訓(xùn)練2 000回合的同一種算法的策略網(wǎng)絡(luò),而防守方分別采用4種不同的算法,相比之下PER-MATD3算法相較其他3種算法能夠使得防守方獲得更高的成功率,而ILDDPG算法在訓(xùn)練期間評估網(wǎng)絡(luò)并沒有觀測到全局狀態(tài)信息,因此其策略網(wǎng)絡(luò)使得防守方的訓(xùn)練效果表現(xiàn)最差;最后,在不同的柱狀圖之間,進(jìn)攻方采用PERMATD3算法同樣也比其他3種算法具有更高的成功率,進(jìn)一步驗(yàn)證所提出的PER-MATD3算法具有更好的性能。
由于4種算法所訓(xùn)練的環(huán)境一樣,將PERMATD3算法進(jìn)行測試,最終仿真對抗的測試效果圖如圖9所示。
圖9 PER-MATD3算法訓(xùn)練效果測試Fig.9 Test of training effect of PER-MATD3 algorithm
本文主要圍繞多無人機(jī)攻防對抗問題進(jìn)行了具體研究,建立1對3的環(huán)境模型,然后介紹了多智能體強(qiáng)化學(xué)習(xí)算法的理論推導(dǎo)與設(shè)計(jì)過程,具體包括MADDPG算法及MATD3算法,并在此基礎(chǔ)上詳細(xì)介紹了基于優(yōu)先經(jīng)驗(yàn)回放機(jī)制所設(shè)計(jì)的PER-MATD3算法,將算法與問題相結(jié)合使得無人機(jī)在環(huán)境交互中進(jìn)行學(xué)習(xí)。最終仿真實(shí)驗(yàn)結(jié)果表明,多智能體強(qiáng)化學(xué)習(xí)算法在多無人機(jī)攻防對抗問題上有不錯(cuò)的效果,并且通過4種算法在攻防雙方上應(yīng)用時(shí)橫向及縱向的實(shí)驗(yàn)對比,驗(yàn)證所提出的PER-MATD3算法相較其他3種算法具有更好的訓(xùn)練表現(xiàn)。
后面可嘗試將本文的算法應(yīng)用在三維場景的多機(jī)攻防對抗問題中,并考慮雙方不同機(jī)動參數(shù)對對抗結(jié)果的影響。