高顯忠,項(xiàng) 磊,王寶來,賈高偉,侯中喜
(1. 國防科技大學(xué) 空天科學(xué)學(xué)院, 湖南 長沙 410073; 2. 國防科技大學(xué) 計(jì)算機(jī)學(xué)院, 湖南 長沙 410073)
近年來,隨著無人機(jī)小型化、智能化、集群化技術(shù)快速發(fā)展,無人機(jī)智能集群作戰(zhàn)已從理論走向戰(zhàn)爭實(shí)踐,成為軍事領(lǐng)域最活躍、最創(chuàng)新、最貼近實(shí)戰(zhàn)的發(fā)展方向,已成為新型戰(zhàn)斗力生成的重要創(chuàng)新發(fā)展途徑。有矛就有盾,無人機(jī)智能集群技術(shù)的發(fā)展,持續(xù)推動著反無人機(jī)集群技術(shù)的發(fā)展??v觀人類武器發(fā)展史,當(dāng)一種新質(zhì)作戰(zhàn)力量誕生后,應(yīng)對該種作戰(zhàn)武器最有效的方式往往是該武器本身。在無人機(jī)集群與反無人機(jī)集群武器的競爭式對抗發(fā)展過程中,也不可避免地將走向無人機(jī)集群與無人機(jī)集群對抗的作戰(zhàn)樣式[1]。為對抗無人機(jī)集群的攻擊,最有效的方法就是利用無人機(jī)集群對入侵的無人機(jī)集群進(jìn)行攔截,這將導(dǎo)致無人機(jī)集群之間的空中對抗,凸顯出無人機(jī)集群對抗策略研究的重大意義[2]。
當(dāng)前,在無人機(jī)集群對抗的方式、方法、策略方面,還處在初步階段,亟須開展深入研究。目前主流的無人機(jī)集群對抗算法主要包括三類:基于專家系統(tǒng)、基于博弈論和基于強(qiáng)化學(xué)習(xí)的算法。
在前期有人機(jī)對抗過程中,人類專家總結(jié)整理出了一些空戰(zhàn)經(jīng)驗(yàn),通過這些經(jīng)驗(yàn)可以建立專家知識庫,可以應(yīng)用在小規(guī)模的無人機(jī)集群對抗場景中。目前周歡等針對無人機(jī)集群控制系統(tǒng)方面存在的一些問題,提出了一種基于規(guī)則實(shí)現(xiàn)的無人機(jī)集群系統(tǒng)飛行與規(guī)避自主協(xié)同控制方法[3]。羅德林等在大規(guī)模無人機(jī)集群對抗決策系統(tǒng)中采用多agent理論方法,為每一個無人機(jī)單獨(dú)設(shè)立行為規(guī)則集并給出決策方法,建立了無人機(jī)對抗模型[4],但是模型過度依賴專家指定的針對性規(guī)則,當(dāng)環(huán)境發(fā)生變化時,規(guī)則必須重新制定。為了解決此問題,Xing等研究了一種動態(tài)群與群無人機(jī)作戰(zhàn)問題,提出了一種自組織攻防對抗決策(offense-defense confrontation decision-making, ODCDM)算法,該ODCDM算法采用分布式體系結(jié)構(gòu)來考慮實(shí)時實(shí)現(xiàn),其中每個無人機(jī)被視為智能體,并能夠通過與鄰居的信息交換來解決其局部決策問題[5],可以有效地解決大規(guī)模無人機(jī)集群對抗問題。基于專家系統(tǒng)的算法雖然可以有效地解決無人機(jī)集群對抗問題,但是當(dāng)無人機(jī)集群規(guī)模較大時,集群系統(tǒng)過于復(fù)雜,導(dǎo)致專家知識庫難以建立。
基于博弈論的方法可以在沒有最優(yōu)策略先驗(yàn)知識的情況下學(xué)習(xí)如何對抗。陳俠等利用傳統(tǒng)有限策略靜態(tài)博弈模型與純策略納什均衡的求解方法對多無人機(jī)協(xié)同打擊任務(wù)開展研究,但是無法應(yīng)用于集群規(guī)模較大的對抗中[6]。Duan等基于捕食獵物粒子群優(yōu)化(predator-prey particle swarm optimization, PP-PSO)的博弈論方法,將多個無人作戰(zhàn)飛行器在軍事行動中的動態(tài)任務(wù)分配問題分解為每個決策階段的雙人博弈問題,使得各階段的最優(yōu)分配方案均符合混合納什均衡,之后,利用PP-PSO求解,對多無人機(jī)的空戰(zhàn)模型問題進(jìn)行了探索性研究[7]。Park等基于博弈論方法設(shè)計(jì)了無人機(jī)的得分函數(shù)矩陣,建立無人機(jī)視距內(nèi)對抗過程中的機(jī)動自動生成方法,在動態(tài)環(huán)境下尋找最優(yōu)作戰(zhàn)策略[8]。Alexopoulos等采用多人動態(tài)博弈分解的方法來求解多無人機(jī)追討問題[9]?;诓┺恼摰姆椒ù嬖跔顟B(tài)量過多、求解過于復(fù)雜等問題,同樣無法應(yīng)用于大規(guī)模無人機(jī)集群對抗環(huán)境中。
不需要環(huán)境模型信息的強(qiáng)化學(xué)習(xí)算法,通過與環(huán)境不斷交互,最大化接收到的獎勵來優(yōu)化自身策略。何金等基于強(qiáng)化學(xué)習(xí)算法,通過對空戰(zhàn)中優(yōu)勢區(qū)域和暴露區(qū)域的定義,采用雙深度Q網(wǎng)絡(luò)(double deep Q network, DDQN)對連續(xù)狀態(tài)空間無人機(jī)隱蔽接敵問題進(jìn)行了研究[10]。Li 等基于深度確定性策略梯度(deep deterministic policy gradient, DDPG)建立了一個智能決策框架,該策略可以使得有人/無人機(jī)參與近距離的一對一空中對抗,并通過自學(xué)提高空中對抗中的智能決策水平[11]。張耀中等更進(jìn)一步,基于DDPG算法,開展無人機(jī)集群通過相互協(xié)作追擊敵方來襲目標(biāo)的研究,結(jié)果表明,通過訓(xùn)練,無人機(jī)集群在追擊任務(wù)中的成功率可達(dá)95%,表明該算法在無人機(jī)集群方面具有廣闊應(yīng)用前景[12],但是該方法在攻擊對抗方面的效果仍有待深入研究。陳燦等針對不同機(jī)動能力無人機(jī)群體間的攻防對抗問題,建立了多無人機(jī)協(xié)同攻防演化模型,基于多智能體強(qiáng)化學(xué)習(xí)理論,研究了多無人機(jī)協(xié)同攻防的自主決策方法,實(shí)現(xiàn)了多無人機(jī)的穩(wěn)定自主學(xué)習(xí)[13]。Xu等針對無人機(jī)區(qū)域偵察和空對空對抗的典型任務(wù)場景,采用深度強(qiáng)化學(xué)習(xí)方法,開發(fā)了無人機(jī)自主決策方法,構(gòu)建任務(wù)決策模型,并對基于遺傳算法的決策模型進(jìn)行優(yōu)化,仿真結(jié)果驗(yàn)證了該方法的有效性[14]。
本文在總結(jié)現(xiàn)有研究成果基礎(chǔ)上,基于無人機(jī)集群攻防對抗構(gòu)想,考慮無人機(jī)動力學(xué)約束,建立了多無人機(jī)集群對抗仿真環(huán)境。以無人機(jī)實(shí)際攻防中的具體戰(zhàn)術(shù)問題為對象,基于多智能體深度確定性策略梯度(multi-agent deep deterministic policy gradient, MADDPG)算法,建立無人機(jī)對抗模型,對無人機(jī)集群與集群的對抗形式進(jìn)行深入研究。針對傳統(tǒng)強(qiáng)化學(xué)習(xí)算法中難以通過獎勵信號精準(zhǔn)控制對抗過程中無人機(jī)的速度和攻擊角度等問題,提出了一種智能與規(guī)則耦合約束訓(xùn)練策略,有效提高無人機(jī)集群的對抗能力。
MADDPG算法是對DDPG[15]在多智能體領(lǐng)域的拓展,是一種基于演員-評論家框架的算法[16]。MADDPG算法中有兩個神經(jīng)網(wǎng)絡(luò)模塊:演員模塊和評論家模塊。演員模塊獲取環(huán)境中的當(dāng)前狀態(tài)、選擇相應(yīng)的動作,評論家模塊依據(jù)當(dāng)前的狀態(tài)和動作信息計(jì)算一個Q值,作為對演員模塊輸出動作的評估反饋,演員模塊則通過評論家模塊的反饋來更新策略,做出在當(dāng)前狀態(tài)下的最優(yōu)動作[17]。MADDPG算法中的演員模塊輸出的是一個具體的動作,可以在連續(xù)動作空間中進(jìn)行學(xué)習(xí)。MADDPG算法最核心的部分就是在訓(xùn)練的時候引入可以觀察全局信息的評論家模塊來指導(dǎo)演員模塊的訓(xùn)練,而執(zhí)行的時候只使用有局部觀測的演員模塊采取行動,進(jìn)行中心化訓(xùn)練和非中心化執(zhí)行[18]。MADDPG的算法架構(gòu)如圖1所示。
圖1 MADDPG算法架構(gòu)Fig.1 Algorithm architecture of MADDPG
在圖1中MADDPG網(wǎng)絡(luò)結(jié)構(gòu)由環(huán)境、經(jīng)驗(yàn)池、多個智能體組成,其中每個智能體均由演員-評論家網(wǎng)絡(luò)模塊構(gòu)成。智能體獲得環(huán)境輸入的狀態(tài)信息,通過演員模塊輸出動作與環(huán)境進(jìn)行交互,并將交互過程中產(chǎn)生的樣本存儲在經(jīng)驗(yàn)池中,評論家模塊則獲取全局信息來指導(dǎo)演員模塊更新策略。智能體從經(jīng)驗(yàn)池中抽取經(jīng)驗(yàn)樣本進(jìn)行學(xué)習(xí)。演員模塊和評論家模塊中均存在兩個結(jié)構(gòu)相同但作用不同的網(wǎng)絡(luò),分別為估值網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)。在訓(xùn)練中只需要對估值網(wǎng)絡(luò)的參數(shù)進(jìn)行訓(xùn)練,而目標(biāo)網(wǎng)絡(luò)的參數(shù)則每隔一定的時間從估值網(wǎng)絡(luò)中復(fù)制[19]。
設(shè)n個智能體的觀測集合為x={o1,…,on},智能體的隨機(jī)策略集合為π={π1,…,πn},其參數(shù)分別表示為θπ={θ1,…,θn},動作集合為a={a1,…,an},則第i個智能體的累積期望獎勵和策略梯度為:
(1)
?θiJ(θi)=Es~pπ,ai~πi[?θilogπi(ai|oi)·
(2)
?θiJ(μi)=Ex,a~D[?θiμi(ai|oi)·
(3)
式中,D為經(jīng)驗(yàn)池,包含(x,x′,a1,…,an,r1,…,rn),記錄了所有智能體存儲的經(jīng)驗(yàn)樣本,分別為當(dāng)前時刻觀察信息x、下一時刻觀察信息x′、動作a、獎勵值r。
θi←θi+αd?θiJ(μ)
(4)
式中,αd為更新速率參數(shù)。
評論家模塊使用的是全局信息,它通過最小化損失函數(shù)L(θi)來實(shí)現(xiàn)價值評估,如式(5)所示:
(5)
式中,
(6)
μ′={μθ′1,…,μθ′n}是具有延遲參數(shù)的目標(biāo)策略集合。在式(5)、式(6)中智能體i通過環(huán)境信息和其他智能體的動作來計(jì)算y值,以此來函數(shù)逼近其他智能體的策略,使得評論家模塊可以利用全局信息來指導(dǎo)演員模塊。
評論家模塊中的目標(biāo)網(wǎng)絡(luò)會根據(jù)輸入的行為和狀態(tài)得到Q值輸出,并根據(jù)估值網(wǎng)絡(luò)所產(chǎn)生的真實(shí)值來計(jì)算梯度損失用于訓(xùn)練網(wǎng)絡(luò),目標(biāo)網(wǎng)絡(luò)也會間隔一定時間步長后進(jìn)行更新評論家模塊。更新規(guī)則如下:
θi←θi-αd?θiL(θ)
(7)
在整個過程中,每個智能體獨(dú)立采樣,統(tǒng)一學(xué)習(xí),并且每個智能體可以有獨(dú)立的獎勵機(jī)制。
基于無人機(jī)集群對抗構(gòu)想,本文設(shè)定的任務(wù)場景如下:藍(lán)方以無人機(jī)集群的形式向紅方基地攻擊,試圖從不同方向發(fā)起襲擊。紅方采用無人機(jī)集群對藍(lán)方無人機(jī)集群進(jìn)行防御攔截。紅方無人機(jī)集群由多個無人機(jī)智能體組成,智能體基于智能對抗算法構(gòu)建,以實(shí)現(xiàn)集群智能作戰(zhàn)。
如圖2所示,紅方無人機(jī)部署在圖中紅色星所在的基地周圍。本文任務(wù)場景中,雙方均為10架無人機(jī),并且雙方無人機(jī)處于同一個二維平面內(nèi),不考慮高度因素。當(dāng)藍(lán)方目標(biāo)突然出現(xiàn),朝著紅方基地移動并試圖發(fā)起進(jìn)攻時,紅方出動無人機(jī)集群對藍(lán)方無人機(jī)集群進(jìn)行攔截,在保護(hù)基地的同時盡可能多地?fù)袈渌{(lán)方無人機(jī)。場景中藍(lán)方的首要任務(wù)是成功靠近并攻擊基地,同時也可對紅方攔截的無人機(jī)進(jìn)行攻擊,若紅方基地被任一藍(lán)方無人機(jī)擊中,則視為藍(lán)方勝利。紅方無人機(jī)集群的任務(wù)是實(shí)現(xiàn)對來襲的藍(lán)方無人機(jī)集群進(jìn)行防御攔截,若藍(lán)方無人機(jī)集群全部被擊毀則視為紅方勝利。
圖2 無人機(jī)對抗場景Fig.2 UAVs confrontation scenes
任務(wù)場景中,無人機(jī)的動作是連續(xù)的,每架無人機(jī)具有三個屬性:速度V,航向α,坐標(biāo)位置(X,Y)。如圖3所示,以戰(zhàn)場中心為原點(diǎn)建立坐標(biāo)系。無人機(jī)在對抗過程中要服從以下約束:
圖3 無人機(jī)攻擊目標(biāo)示意圖Fig.3 Schematic diagram of UAV attack target
1)對抗環(huán)境邊界約束:
-10 km≤X≤10 km
(8)
-10 km≤Y≤10 km
(9)
2)速度約束:
50 m/s≤V≤150 m/s
(10)
3)最大偏航角約束:
-30°≤Δα≤30°
(11)
4)攻擊范圍約束:攻擊范圍是以攻擊角θ、攻擊半徑r形成的虛線扇形區(qū)域,它們分別為:
θ=45°
(12)
r=200 m
(13)
場景中,紅藍(lán)雙方無人機(jī)同構(gòu)。每架無人機(jī)擊落對方目標(biāo)具有一定的成功率,均設(shè)置為60%。假定基地雷達(dá)已經(jīng)探測到藍(lán)方所有無人機(jī)的位置和速度信息,紅方基地與無人機(jī)以及各無人機(jī)之間具有通信能力,因此無人機(jī)在訓(xùn)練時能夠?qū)ζ渌麊挝坏奈恢谩⑺俣鹊刃畔⑼耆兄?,即無人機(jī)的狀態(tài)空間包括所有無人機(jī)的位置、速度和航向信息以及基地的坐標(biāo)位置。
設(shè)定當(dāng)目標(biāo)處于無人機(jī)攻擊范圍時,無人機(jī)將會自動對目標(biāo)實(shí)施打擊,因此無人機(jī)在環(huán)境中的運(yùn)動狀態(tài)只由航向和速度決定。無人機(jī)i的動作空間ai={ai1,ai2,ai3,ai4},ac=ai1-ai2為無人機(jī)的速度改變值,p=ai3-ai4為無人機(jī)的航向改變值。無人機(jī)的運(yùn)動方程如式(14)所示:
(14)
式中:αt為無人機(jī)在t時刻的航向;αt+1為無人機(jī)在t+1時刻的航向;at為速度在t時刻的改變值;Vt為無人機(jī)在t時刻的速度;Vt+1為無人機(jī)在t+1時刻的速度;Xt、Yt為無人機(jī)在t時刻的位置;Xt+1、Yt+1為無人機(jī)在t+1時刻的位置;pt為無人機(jī)在t時刻的轉(zhuǎn)向值。
基于MADDPG算法的無人機(jī)智能體需要在合適的強(qiáng)化學(xué)習(xí)框架下進(jìn)行對抗環(huán)境的訓(xùn)練和模擬。本文基于OpenAI的場景,構(gòu)建適合用于無人機(jī)強(qiáng)化學(xué)習(xí)對抗任務(wù)的環(huán)境和算法框架,形成無人機(jī)智能對抗平臺。
本文將對抗任務(wù)分為訓(xùn)練和對抗兩個階段。如圖4所示,在訓(xùn)練階段,環(huán)境初始化并將環(huán)境信息和獎勵值傳遞給智能體(由多智能體強(qiáng)化學(xué)習(xí)算法構(gòu)建),環(huán)境信息中包含了智能體的速度、位置等狀態(tài)信息,獎勵函數(shù)包括智能體每一步獲得的獎勵值或懲罰值。智能體根據(jù)環(huán)境信息選擇動作再輸出給環(huán)境,對抗環(huán)境平臺根據(jù)算法輸入的動作生成新的環(huán)境信息和獎勵值,再傳給智能體,算法根據(jù)新的獎勵值通過學(xué)習(xí)產(chǎn)生新的動作,形成循環(huán)。在對抗階段,將訓(xùn)練完成后得到的智能體模型與對抗環(huán)境進(jìn)行交互,檢測模型的對抗能力和算法的性能。
圖4 智能體與環(huán)境的交互關(guān)系Fig.4 Interactions between environment and agents
將MADDPG算法直接應(yīng)用于紅方無人機(jī)集群對抗中,可以實(shí)現(xiàn)對藍(lán)方無人機(jī)集群的攔截對抗,但是勝率較低。通過對對戰(zhàn)過程進(jìn)行分析,基于MADDPG算法的集群對抗存在下面幾個具體問題:①在靠近藍(lán)方目標(biāo)時,紅方無人機(jī)因當(dāng)前速度過大而導(dǎo)致目標(biāo)逃離攻擊范圍,進(jìn)而再去追擊時需要經(jīng)過更多的路程。如圖5所示,紅方無人機(jī)與一架藍(lán)方無人機(jī)靠近,但藍(lán)方未在其攻擊范圍內(nèi),因此需要重新靠近再次發(fā)起攻擊。而紅方因?yàn)楫?dāng)前速度過大,所以轉(zhuǎn)了較大的彎才重新得以追擊藍(lán)方,但此時藍(lán)方無人機(jī)已經(jīng)進(jìn)入紅方基地范圍并發(fā)起了攻擊,導(dǎo)致紅方無人機(jī)攔截失敗。②紅方無人機(jī)會朝著藍(lán)方目標(biāo)移動并且航向指向藍(lán)方,但是當(dāng)紅方與藍(lán)方都處在各自的攻擊范圍內(nèi)時,雙方可能同時被對方擊毀。我們希望的是紅方無人機(jī)以最佳態(tài)勢接近藍(lán)方目標(biāo),使得紅方無人機(jī)較容易擊中藍(lán)方,而較難被藍(lán)方無人機(jī)擊中,形成如圖3所示的有利態(tài)勢。紅方無人機(jī)存活率將得到顯著提升,從而更好地完成攔截對抗任務(wù)。
圖5 一對一對抗軌跡Fig.5 One-to-one confrontation trajectory
綜上情況,基于MADDPG的無人機(jī)沒有很好地實(shí)現(xiàn)對藍(lán)方目標(biāo)快速追擊和精準(zhǔn)打擊。出現(xiàn)這一現(xiàn)象的原因在于:智能體通過不斷試錯學(xué)習(xí)找到在模型約束下所遍歷行為中的最優(yōu)解,但這種最優(yōu)解在實(shí)際執(zhí)行時又遠(yuǎn)非理想的預(yù)期結(jié)果,這種現(xiàn)象普遍存在于強(qiáng)化學(xué)習(xí)的最優(yōu)訓(xùn)練過程中。解決這一問題最終需要依據(jù)客觀事實(shí)對獎勵函數(shù)進(jìn)行精細(xì)化設(shè)計(jì),但是這對于大多數(shù)空戰(zhàn)模型而言都是不現(xiàn)實(shí)的。這其實(shí)是強(qiáng)化學(xué)習(xí)通過獎勵函數(shù)實(shí)現(xiàn)的“自驅(qū)式智能”決策與人類認(rèn)識上的“客觀式規(guī)則”決策之間的矛盾。
要調(diào)和這一矛盾,還需回到人類對客觀事實(shí)的認(rèn)識過程上來。人類空戰(zhàn)過程中,也是先進(jìn)行試錯性嘗試,然后通過對已有經(jīng)驗(yàn)的總結(jié)、提煉,確定在某個狀態(tài)下執(zhí)行某種策略是最優(yōu)的,進(jìn)而形成特定情況下的戰(zhàn)術(shù)條令、條例,也就是規(guī)則。然后再結(jié)合這些規(guī)則進(jìn)行進(jìn)一步的“智能體式”的試錯與嘗試,不斷豐富和完善規(guī)則,從而由一名“新手”變成“老手”。受這一過程的啟發(fā),本文嘗試通過“智能體訓(xùn)練—發(fā)現(xiàn)問題—編寫規(guī)則—再次智能體訓(xùn)練—再次發(fā)現(xiàn)問題—再次編寫規(guī)則”的方式,對智能體動作選擇進(jìn)行一定規(guī)則化約束來進(jìn)一步優(yōu)化智能體的策略。與純粹的基于算法的智能體在環(huán)境中不斷試錯學(xué)習(xí)相比,無人機(jī)智能體使用一定的規(guī)則可以有更少的無效探索動作和更有效的攻擊選擇,同時也希望這樣的規(guī)則可以指導(dǎo)智能體的訓(xùn)練。
因此,本文建立了一個基于規(guī)則實(shí)現(xiàn)的動作輸出模塊與算法進(jìn)行融合。在動作輸出選擇方面,根據(jù)無人機(jī)當(dāng)前在環(huán)境中的狀態(tài),在算法輸出的動作和規(guī)則動作模塊輸出的動作兩者之間進(jìn)行判斷決策以選擇下一步無人機(jī)智能體的動作。為紅方無人機(jī)的動作進(jìn)行規(guī)則約束,主要從航向和速度兩塊編寫規(guī)則,設(shè)計(jì)思想如下:
1)航向模塊。為使得無人機(jī)智能體在靠近藍(lán)方單位時,可以有一個更好的航向使得藍(lán)方單位處于自身的攻擊范圍而自身不在藍(lán)方單位的攻擊范圍內(nèi),需要讓其提前在合適距離時轉(zhuǎn)向。根據(jù)無人機(jī)的攻擊距離和轉(zhuǎn)向條件,設(shè)計(jì)當(dāng)紅方無人機(jī)位于藍(lán)方攻擊夾角之內(nèi)時,若無人機(jī)與藍(lán)方單位之間的距離滿足2r 2)速度模塊。當(dāng)藍(lán)方單位距離較遠(yuǎn)時或智能體朝向藍(lán)方單位的背面時,我們希望無人機(jī)智能體通過加速快速靠近藍(lán)方。當(dāng)無人機(jī)智能體距離藍(lán)方單位較近時,若此時智能體朝向藍(lán)方單位的正面,我們不希望在未擊中藍(lán)方后,由于速度過大而需要更多的距離再追擊目標(biāo),這時就需要在合適的距離減速。因此無人機(jī)智能體的速度與距離藍(lán)方單位的遠(yuǎn)近有關(guān),于是在一對一的對抗環(huán)境中測試了無人機(jī)智能體在速度與距離不同比值時的攔截成功率,以此確定速度模塊的規(guī)則。如圖6所示,當(dāng)無人機(jī)智能體的速度與距離的比值接近1.1時,攔截勝率最高。因此,當(dāng)智能體的速度與距離比值小于1.1時選擇加速動作,大于1.1時則選擇減速動作。 圖6 無人機(jī)速度與距離在不同比值時的勝率Fig.6 Winning rate of the UAV at different ratios of speed and distance 基于MADDPG算法規(guī)則約束訓(xùn)練的無人機(jī)智能對抗架構(gòu)如圖7所示。將算法的動作輸出和規(guī)則的動作模塊進(jìn)行整合,具體如下: 圖7 基于MADDPG規(guī)則約束訓(xùn)練的無人機(jī)對抗架構(gòu)Fig.7 UAV countermeasure architecture based on MADDPG rule constraint training 1)雙方無人機(jī)在環(huán)境中對抗,環(huán)境將對抗過程產(chǎn)生的狀態(tài)傳給算法和規(guī)則模塊。 2)算法根據(jù)當(dāng)前狀態(tài)生成智能體的下一步動作。而規(guī)則模塊同時接收環(huán)境輸入的狀態(tài)和算法生成的動作,根據(jù)狀態(tài)和動作來判斷此時是否需要使用規(guī)則約束下一步的動作行為。 3)若不需要使用規(guī)則,則直接將算法生成的動作傳給環(huán)境;若需要使用規(guī)則,則由規(guī)則模塊生成規(guī)則動作并傳給環(huán)境。 4)智能體使用規(guī)則約束的方法進(jìn)行訓(xùn)練,直到本輪訓(xùn)練結(jié)束。 將基于MADDPG的規(guī)則與智能耦合約束訓(xùn)練方法命名為RIC-MADDPG方法。為簡化研究紅方無人機(jī)的速度控制與攻擊角選擇是否有了改善,首先在紅藍(lán)雙方一對一的對抗環(huán)境中進(jìn)行訓(xùn)練測試。進(jìn)行多輪測試后選取其中典型的運(yùn)動軌跡進(jìn)行對比分析,然后分析對比在集群對抗環(huán)境中RIC-MADDPG相較于MADDPG算法的勝率。 在仿真環(huán)境中,藍(lán)方無人機(jī)集群使用規(guī)則進(jìn)行控制,紅方無人機(jī)集群使用智能對抗算法控制,對來襲的藍(lán)方目標(biāo)進(jìn)行攔截打擊。紅方無人機(jī)的初始航向?yàn)?,初始速度為50 m/s。藍(lán)方無人機(jī)的初始位置在環(huán)境地圖中為隨機(jī)位置,每架無人機(jī)的初始航向?yàn)?80°,速度固定為80 m/s。 MADDPG和RIC-MADDPG算法的演員模塊和評論家模塊的隱藏層均具有四層隱藏層結(jié)構(gòu),每層隱藏層為擁有128個神經(jīng)元的全連接層。算法的超參數(shù)設(shè)置見表1。 表1 超參數(shù)設(shè)置Tab.1 Hyper-parameter settings 無人機(jī)在擊毀一架敵方無人機(jī)時獲得+5的獎勵值,被敵機(jī)擊毀則獲得-5的懲罰。為了加快學(xué)習(xí)速度,引入了無人機(jī)與敵方目標(biāo)之間的距離作為懲罰值,鼓勵無人機(jī)去靠近敵方目標(biāo),將其設(shè)置為-min(Ddis),其中Ddis為無人機(jī)與所有敵方目標(biāo)的距離的集合。 4.2.1 速度控制 經(jīng)過訓(xùn)練后得到兩次典型的使用規(guī)則約束方法后無人機(jī)的運(yùn)動軌跡和速度變化,如圖8和圖9所示。在使用規(guī)則約束訓(xùn)練策略后,從圖8(a)和圖9(a)中可以看出,紅方無人機(jī)先是加速接近藍(lán)方,在藍(lán)方目標(biāo)即將進(jìn)入紅方攻擊范圍內(nèi)時紅方進(jìn)行了減速,這使得無人機(jī)有更多的空間調(diào)整好攻擊角,最終紅方在半途成功攔截了藍(lán)方目標(biāo)。從圖8(b)和圖9(b)中可以看到,紅方第一次攻擊未能命中藍(lán)方目標(biāo),但與之前未使用規(guī)則約束訓(xùn)練策略有所不同,紅方無人機(jī)在轉(zhuǎn)彎前進(jìn)行了減速,因此轉(zhuǎn)彎半徑較小,在轉(zhuǎn)過彎后紅方又通過加速快速接近藍(lán)方,在轉(zhuǎn)彎期間紅方無人機(jī)還進(jìn)行了小幅度的減速調(diào)整,使得航向能快速調(diào)整到朝向藍(lán)方目標(biāo),最終紅方在藍(lán)方進(jìn)入基地前成功將其擊落,完成了攔截對抗任務(wù)。 (a) 正面攔截(a) Frontal interception (b) 后方追擊(b) Rear pursuit圖8 規(guī)則約束的對抗軌跡Fig.8 Confrontation trajectories of rule constraints (a) 正面攔截(a) Frontal interception (b) 后方追擊(b) Rear pursuit圖9 紅方無人機(jī)的速度變化曲線Fig.9 Speed curve of the red UAV 4.2.2 攻擊角選擇 同樣,為了簡化研究經(jīng)過規(guī)則約束后無人機(jī)的攻擊角是否有了合理的選擇,依然在紅藍(lán)雙方一對一的正面對抗環(huán)境中進(jìn)行訓(xùn)練測試,從對抗測試結(jié)果中選取紅藍(lán)雙方一次典型的運(yùn)動軌跡進(jìn)行分析。 在圖10中可以看出,紅方與藍(lán)方的正面對抗中,當(dāng)紅方即將接近藍(lán)方時選擇了向左轉(zhuǎn)向,之后再次調(diào)整航向使得藍(lán)方處在自身的攻擊范圍內(nèi)而藍(lán)方由于攻擊距離不夠而無法攻擊到紅方,因此紅方在正面的對抗中成功擊毀了藍(lán)方并且保證了自身的安全。 圖10 規(guī)則約束的正面對抗軌跡Fig.10 The positive confrontation trajectory of a rule constraint 將紅方基于MADDPG算法的無人機(jī)對抗模型和基于RIC-MADDPG方法的無人機(jī)對抗模型分別在相同的對抗環(huán)境中進(jìn)行訓(xùn)練。兩種算法的參數(shù)設(shè)置相同,經(jīng)過50 000輪的訓(xùn)練后,獲得了兩種模型的獎勵值變化曲線如圖11所示。從圖中可以發(fā)現(xiàn),當(dāng)兩種模型訓(xùn)練均達(dá)到收斂后,RIC-MADDPG相較于MADDPG的平均獎勵值得到了提升,從11提升到15,這說明使用規(guī)則約束訓(xùn)練策略后無人機(jī)對抗模型在訓(xùn)練中表現(xiàn)更為出色,能獲得更多的獎勵值。實(shí)驗(yàn)中同時也獲取了紅方無人機(jī)智能體平均每1 000輪的訓(xùn)練時間,其中MADDPG平均需要515 s,而RIC-MADDPG平均僅需要430 s,這大大節(jié)省了模型訓(xùn)練時間,提高了無人機(jī)智能體的學(xué)習(xí)效率。 圖11 兩種模型訓(xùn)練中的獎勵值變化曲線Fig.11 Changes in the reward values of two models during training 將上一步訓(xùn)練完成的兩種模型在對抗環(huán)境下各自進(jìn)行500輪的對抗測試。經(jīng)過測試后,獲得如表2所示的紅方的平均勝率和紅方獲勝局中擊毀全部藍(lán)方無人機(jī)所需的平均戰(zhàn)斗步長。通過勝率對比可以看出,在使用規(guī)則與智能耦合約束方法后,紅方的勝率從53%提升到了79%,大大提高了無人機(jī)的勝率。對比紅方獲勝的每局中擊毀對方所有無人機(jī)平均所需步長,RIC-MADDPG方法比MADDPG減少了9步,紅方無人機(jī)攔截?fù)魵{(lán)方所有無人機(jī)所需的對戰(zhàn)步長縮減,反映出基于RIC-MADDPG方法的無人機(jī)對抗模型整體對抗能力有了很大的提升。 表2 對抗勝率和步長Tab.2 Against winning percentage and stride length 同時,也獲得了如圖12和圖13所示的分別基于MADDPG和RIC-MADDPG方法的紅方無人機(jī)獲得勝利的典型運(yùn)動軌跡。從中也可以看到,使用規(guī)則約束方法后無人機(jī)的對抗軌跡有了一些變化,紅方無人機(jī)更多地從側(cè)面去攻擊藍(lán)方。雖然與之前相比仍存在與藍(lán)方無人機(jī)正面對抗并互相擊中的情況,這是由于距離藍(lán)方較近時,如果再通過調(diào)整航向從側(cè)面攻擊可能會使得藍(lán)方很容易逃離攻擊范圍,因此無人機(jī)選擇了正面對抗,降低藍(lán)方攻擊基地的成功率。但是這種情況明顯減少,更多的是提前調(diào)整了方向進(jìn)行側(cè)面攻擊。 圖12 基于MADDPG算法的紅藍(lán)雙方對抗軌跡Fig.12 Confrontation trajectories of red and blue UAVs based on MADDPG algorithm 本文基于多智能體深度強(qiáng)化學(xué)習(xí)中的MADDPG算法對無人機(jī)集群對抗任務(wù)進(jìn)行了研究,對藍(lán)方無人機(jī)集群進(jìn)攻紅方基地,紅方無人機(jī)集群進(jìn)行防衛(wèi)對抗的任務(wù)場景,在OpenAI的環(huán)境基礎(chǔ)上構(gòu)建了無人機(jī)集群對抗強(qiáng)化學(xué)習(xí)平臺,并基于算法建立了無人機(jī)集群對抗模型。通過訓(xùn)練后,紅方無人機(jī)集群對抗模型能有效對來襲的藍(lán)方無人機(jī)集群進(jìn)行攔截和追擊。 針對模型在對抗測試中暴露出的兩個問題,即對藍(lán)方無人機(jī)攔截過程中,紅方無人機(jī)速度無法精準(zhǔn)控制導(dǎo)致不能快速精確地進(jìn)行追擊的問題,以及紅方無人機(jī)在與藍(lán)方無人機(jī)正面對抗中存在的攻擊角選擇問題,通過編寫相應(yīng)的速度控制和航向控制規(guī)則,在MADDPG算法的模型訓(xùn)練中使用規(guī)則約束訓(xùn)練策略來改善紅方無人機(jī)在與藍(lán)方無人機(jī)對抗中存在的速度和攻擊角控制的問題,并提出了RIC-MADDPG方法。實(shí)驗(yàn)結(jié)果表明,使用規(guī)則與智能耦合約束的訓(xùn)練方法后,紅方無人機(jī)集群在與藍(lán)方無人機(jī)集群對抗中的勝率從53%大幅提高至79%,獲勝局中紅方無人機(jī)擊毀所有藍(lán)方無人機(jī)所需的平均戰(zhàn)斗步長從48步減少至39步,有效提升了無人機(jī)集群的作戰(zhàn)能力和作戰(zhàn)效率,也為后一步基地的防衛(wèi)提供了更多的防御時間和空間。 論文研究成果對建立無人機(jī)集群智能攻防策略訓(xùn)練體系、開展規(guī)則與智能相耦合的集群戰(zhàn)法研究具有一定參考意義。3.2 算法流程
4 實(shí)驗(yàn)驗(yàn)證
4.1 實(shí)驗(yàn)設(shè)計(jì)
4.2 實(shí)驗(yàn)結(jié)果
4.3 無人機(jī)集群對抗
5 結(jié)論