張 磊,李 姜,侯進永,高 遠,王 燁
(1.中國科學(xué)院 長春光學(xué)精密機械與物理研究所, 長春 130033;2.中國科學(xué)院大學(xué),北京100049; 3. 32802部隊, 北京 100191)
近年來,隨著以機器學(xué)習(xí)為代表的人工智能技術(shù)的進一步突破,無人控制系統(tǒng)領(lǐng)域飛速發(fā)展[1],無人機和無人車廣泛應(yīng)用于物流配送[2]、航拍[3]、電力檢修、工廠車間運輸和軍事偵察[4]。特別是在軍事應(yīng)用領(lǐng)域,各國都致力于研究控制無人機自主決策執(zhí)行特定任務(wù)[5]。到目前為止,在自主決策空戰(zhàn)算法研究領(lǐng)域,有3個主要研究方向:① 采用數(shù)學(xué)求解法,這個方法自從20世紀(jì)60年代就已經(jīng)被提出,但是早年研究的任務(wù)較為簡單,對于目前的復(fù)雜任務(wù)而言,具有很大的局限性,除此以外,這種方法需要嚴(yán)格的數(shù)學(xué)推導(dǎo)證明和復(fù)雜的數(shù)學(xué)模型。② 機器搜索方法[6],典型的方法有蒙特卡洛搜索[7]、決策樹等,該類算法根據(jù)無人機所面對的不同情形進行態(tài)勢評估并對威脅目標(biāo)進行排序[8],最后根據(jù)評估結(jié)果和威脅目標(biāo)排序進行動作決策[9],機器搜索方法的核心在于專家經(jīng)驗,所以要求研究人員具有很強的戰(zhàn)場經(jīng)驗,模型泛化能力較弱,且難以應(yīng)對復(fù)雜多變的戰(zhàn)場情況。③ 處于研究前沿的深度強化學(xué)習(xí)方法,利用智能體的不斷試錯提升動作決策水平。
2013年DeepMind發(fā)表了一篇利用強化學(xué)習(xí)算法玩Atari游戲的論文,強化學(xué)習(xí)真正意義走上了大眾舞臺。
不同于監(jiān)督學(xué)習(xí),強化學(xué)習(xí)不需要大量已標(biāo)記的數(shù)據(jù),只需通過與環(huán)境交互進行大量的強化訓(xùn)練[10]。當(dāng)面對不同的環(huán)境狀態(tài),智能體會根據(jù)算法選擇不同的動作,環(huán)境會根據(jù)所做的動作更新下一個環(huán)境狀態(tài),同時還會根據(jù)不同的動作給予智能體一個獎勵值。智能體訓(xùn)練的目標(biāo)就是使得總獎勵值最大,經(jīng)過大量的訓(xùn)練,智能體將一步步優(yōu)化決策策略。深度強化學(xué)習(xí)是強化學(xué)習(xí)的進一步發(fā)展,是與深度學(xué)習(xí)的有機結(jié)合。利用神經(jīng)網(wǎng)絡(luò)擬合策略函數(shù)或者價值函數(shù),從而達到控制要求。相較于強化學(xué)習(xí),深度強化學(xué)習(xí)更能勝任連續(xù)動作和復(fù)雜的任務(wù)[11]。
現(xiàn)如今,強化學(xué)習(xí)逐步應(yīng)用于游戲、自動駕駛決策、推薦算法等領(lǐng)域。根據(jù)環(huán)境中智能體的數(shù)量,強化學(xué)習(xí)劃分為單智能體強化學(xué)習(xí)和多智能體強化學(xué)習(xí)[12]。單智能體強化學(xué)習(xí)是指環(huán)境中只有一個智能體需要進行動作決策,AlphaGo就是典型的單智能體算法。由于環(huán)境中只有一個智能體進行決策,狀態(tài)轉(zhuǎn)移簡單,控制相對容易。無人機群協(xié)同自主對抗屬于多智能體強化學(xué)習(xí),環(huán)境中存在多個智能體,競爭關(guān)系、合作關(guān)系以及合作競爭關(guān)系等復(fù)雜的關(guān)系存在于各個智能體之間。隨著智能體數(shù)量的增加以及智能體之間的復(fù)雜關(guān)系讓強化學(xué)習(xí)任務(wù)變得愈發(fā)困難。目前主流的單智能體強化學(xué)習(xí)算法包括DQN[13]、DDPG[14]、PPO[15]、A3C[16]等,主流的多智能體強化學(xué)習(xí)算法包括MADDPG[17]、QMIX[18]、VDN[19]等。
目前強化學(xué)習(xí)技術(shù)在無人機自主決策領(lǐng)域被廣泛研究,在多無人機協(xié)同搜索、路徑規(guī)劃和編隊控制等研究中,已經(jīng)獲得了不俗的成果[20]。
文獻[21]提出了一種基于深度強化學(xué)習(xí)的任務(wù)動態(tài)分配方法。該方法使無人機進行實時交互,對任務(wù)執(zhí)行的優(yōu)先級順序和執(zhí)行時間加以約束,提高了有限時間內(nèi)總體的任務(wù)完成度。文獻[22]提出一種基于深度確定性策略梯度算法的改進算法,提高了算法訓(xùn)練速度以及無人機在導(dǎo)航過程中對環(huán)境的適應(yīng)能力。文獻[23]提出了一種多機協(xié)同空戰(zhàn)決策流程框架,該框架提高了在多架無人機協(xié)同對抗場景下智能體間的協(xié)同程度。
結(jié)合現(xiàn)有的成熟算法研究以及目前所遇到的工程項目難題,發(fā)現(xiàn)現(xiàn)有算法在工程應(yīng)用中存在了以下的不足之處:
1) 隨著實驗環(huán)境中無人機數(shù)量的增加,算法適應(yīng)能力下降,任務(wù)完成度低,且精度不高。
2) 狀態(tài)空間和動作空間過于龐大,經(jīng)驗回收池中有效經(jīng)驗較少,有時候會出現(xiàn)不收斂的問題。
3) 訓(xùn)練時間過長,且收斂效果不理想。
針對目前算法的不足之處和實際的工程項目需求,作者在現(xiàn)有多智能體算法MADDPG的基礎(chǔ)上,在經(jīng)驗存儲過程中引入了選擇性經(jīng)驗存儲機制,設(shè)置經(jīng)驗回收標(biāo)準(zhǔn)以及選擇性因子。并根據(jù)實際任務(wù)環(huán)境合理設(shè)定獎勵函數(shù),最后通過仿真驗證,證明了改進后的算法相較其他強化學(xué)習(xí)算法,在保證算法時間復(fù)雜度的前提下,有了更好的收斂效果。
紅藍雙方展開軍事對抗仿真,紅方出動無人機集群,無人機具有偵察和干擾功能,藍方陣地布設(shè)雷達、空中預(yù)警機和防空導(dǎo)彈發(fā)射系統(tǒng)。紅方的任務(wù)為出動無人機集群對藍方雷達進行協(xié)同偵察,確定藍方雷達位置,并對雷達進行協(xié)同干擾,掩護后方轟炸機進入投彈區(qū)域。無人機群自主決策飛行路線,自主分派干擾任務(wù),并快速完成既定任務(wù)要求。藍方的任務(wù)為阻擋紅方的進攻并保護指揮部,在指揮部周圍布設(shè)地面雷達和火力打擊系統(tǒng),并在空中布設(shè)預(yù)警機一架,圍繞藍方陣地進行飛行預(yù)警。場景示意圖如圖1所示。
圖1 對抗過程示意圖
1.2.1紅方模型的建立
紅方無人機群在執(zhí)行任務(wù)時,受到包含風(fēng)力、天氣狀況、地形地貌等自然因素的影響,以及藍方防空雷達、預(yù)警機以及地面火力單元的威脅。構(gòu)建智能體訓(xùn)練環(huán)境所需的計算模型概述如下。
紅方無人機偵察到藍方雷達信號的概率為:
(1)
式中:ξ為目標(biāo)的橫坐標(biāo);ζ為目標(biāo)的縱坐標(biāo)。該公式表示在時間(t0,t1)內(nèi)發(fā)現(xiàn)目標(biāo)的概率。
1.2.2藍方模型的建立
藍方地面雷達偵察到紅方的概率:當(dāng)目標(biāo)進入到雷達的探測區(qū)域后,雷達不一定發(fā)現(xiàn)目標(biāo),目標(biāo)只是存在一定的概率會被發(fā)現(xiàn)。這個概率取決于雷達與目標(biāo)發(fā)生直接的能量接觸。一般而言,雷達的技術(shù)性能、目標(biāo)的反射面積、目標(biāo)的飛行高度與距離、雷達陣地(天線)高度等是影響目標(biāo)被發(fā)現(xiàn)的主要概率。通常雷達有多種工作方式,為討論方便,這里僅針對雷達的慢速掃描和快速掃描進行討論[24]。
1) 雷達慢速掃描。
當(dāng)雷達慢速掃描時,可將雷達對目標(biāo)的探測視為離散觀察,此時雷達的發(fā)現(xiàn)概率PD為:
(2)
式中:m為在持續(xù)搜索時間t時間段內(nèi),雷達與探測目標(biāo)的接觸次數(shù),可按式(3)計算;Pdi(1≤i≤m)為第i次與目標(biāo)接觸時的發(fā)現(xiàn)概率。
m=「t/tsearch?
(3)
式中,tsearch為雷達的周期[24]。
在無電子干擾條件下,Pdi(1≤i≤m)的計算表達式為:
(4)
式中:n0為一次掃描的脈沖累積數(shù);SNi為第i次與目標(biāo)接觸時單個脈沖的信噪比[24]。
2) 雷達快速掃描。
當(dāng)雷達快速掃描時,可視為連續(xù)觀察,在無干擾的情況下,雷達對點目標(biāo)的發(fā)現(xiàn)概率為:
(5)
(6)
令y0+Vδt=X0tanφ,則
(7)
在該段上發(fā)現(xiàn)目標(biāo)的概率為:
PX0=1-e-U(x0)
(8)
單發(fā)防空導(dǎo)彈打擊的概率為:
(9)
式中:Wd為導(dǎo)彈的戰(zhàn)斗部質(zhì)量;σd為沒有干擾情況下導(dǎo)彈精度誤差的均方差值;α、β、γ為比例系數(shù),在此α取0.6,β取0.5,γ取0.7。
多智能體強化學(xué)習(xí)以馬爾科夫決策過程(MDP)作為算法的研究基礎(chǔ),可以利用一個高維元組(S,A1,…,An,R1,…,Rn,P,γ)進行描述。其中S是馬爾科夫決策過程的狀態(tài)集合,n代表智能體的數(shù)量,A1,…,An代表各個智能體所選擇的動作,R1,…,Rn代表每個智能體的收到環(huán)境給予的獎勵回報,P代表狀態(tài)的轉(zhuǎn)移函數(shù),γ代表折扣率。
多智能體深度確定性策略梯度(multi-gent deep deterministic policy gradient,MADDPG)算法是OpenAI團隊在2017年提出的專門用來解決多智能體問題的算法,該算法可應(yīng)用于合作、競爭以及競爭合作等多種環(huán)境場景下。它可以使多個智能體在高維度、動態(tài)化環(huán)境下通過智能體之間的通信以及智能體與環(huán)境之間的交互。能夠使得多個智能體協(xié)同決策完成較為復(fù)雜的任務(wù),是分布式計算方法在多智能體領(lǐng)域的優(yōu)秀應(yīng)用。除此之外,還能利用其他智能體的觀測信息進行集中訓(xùn)練。訓(xùn)練過程采用集中訓(xùn)練,分散執(zhí)行(centralized training with decentralized execution)的算法思想[17]。
MADDPG是單智能體強化學(xué)習(xí)算法在多智能體領(lǐng)域的擴展,系統(tǒng)中的每個智能體都采用DDPG框架,每個網(wǎng)絡(luò)學(xué)習(xí)策略函數(shù)(policy)πactor和動作價值函數(shù)(action value)Qcritic;同時具有目標(biāo)網(wǎng)絡(luò)(target network),用Q-learning算法的異策略(off-policy)學(xué)習(xí)。Q值計算公式為:
Q=Q(st,a1,a2,…,an,θ)
(10)
每個智能體都有一個Actor和Critic網(wǎng)絡(luò),當(dāng)訓(xùn)練Actor網(wǎng)絡(luò)時給予Critic更多的信息(其他智能體的觀測信息以及動作信息),而在測試時去掉Critic部分,使智能體在得到充分的訓(xùn)練之后,可以只通過Actor獲取自己下一步的動作。這種獲取全局信息的訓(xùn)練策略,可以避免像Q-Learning、Policy Gradient等單智能體算法直接遷移到多智能體環(huán)境下,由于只能獲取自己的狀態(tài)和動作,而產(chǎn)生的環(huán)境不穩(wěn)定、經(jīng)驗回放失效等問題。MADDPG算法能夠使得每個智能體所面臨的環(huán)境仍然可以視為穩(wěn)定的,其原因為,系統(tǒng)的動力學(xué)模型可以描述為:
P(s′∣s,a1,a2,…,an,π1,π2,…,πn)=
P(s′∣s,a1,…,an)=
(11)
利用θ=(θ1,θ2,…,θn)代表n個智能體策略函數(shù)的參數(shù),用π=(π1,π2,…πn)表示n個智能體的策略函數(shù)[25]。針對第i個智能體,我們把累計獎勵期望值定義為:
(12)
式中:γi為第i個智能體的獎勵;γ為折扣率。
針對隨機策略梯度,求解策略梯度的公式為:
(13)
式中:oi為第i個智能體的觀測值;s=[o1,o2,…,on]為所觀測的向量,也就是狀態(tài)。
系統(tǒng)的損失函數(shù)定義為:
(14)
對于actor網(wǎng)絡(luò),參數(shù)的更新公式為:
θu=θu+αu▽θπJ
(15)
(16)
其中:θμ為actor網(wǎng)絡(luò)的參數(shù)值;αμ為actor網(wǎng)絡(luò)的學(xué)習(xí)率。
選擇性經(jīng)驗存儲策略的多智能體深度確定性策略梯度(selective experience storage multi-agent deep deterministicpolicy gradient,SES-MADDPG)算法是MADDPG算法的改進提升。經(jīng)過前期仿真實驗可知,隨著環(huán)境系統(tǒng)內(nèi)智能體的數(shù)量增加,狀態(tài)空間爆炸式擴張,導(dǎo)致算法訓(xùn)練時間延長,算法的獎勵值收斂緩慢或者收斂值不理想。MADDPG算法流程中存在經(jīng)驗池機制,智能體與環(huán)境交互產(chǎn)生的經(jīng)驗被存入經(jīng)驗池中,經(jīng)驗池里的經(jīng)驗將會被二次抽取,重新用于訓(xùn)練。經(jīng)驗池?zé)o保留地存儲了所有的經(jīng)驗,其中高質(zhì)量的經(jīng)驗便于算法的快速收斂,低質(zhì)量的經(jīng)驗將不利于算法訓(xùn)練。其中低質(zhì)量的經(jīng)驗占大多數(shù),采用隨機抽取將會抽取大量的低質(zhì)量經(jīng)驗,因此將會消耗了大量的訓(xùn)練時間。前人研究者們?yōu)榱烁纳七@種問題,提出了一種優(yōu)先經(jīng)驗抽取的機制[27],該機制為了抽出更好的經(jīng)驗,不再采用隨機抽取,而是將進入經(jīng)驗池的經(jīng)驗根據(jù)損失進行排序,損失越大,排序越靠前。這種改進可以優(yōu)先抽取高質(zhì)量經(jīng)驗,加快算法的收斂速度,但是該機制存在時間復(fù)雜度較高的問題。每當(dāng)一條新的經(jīng)驗進入經(jīng)驗池,該經(jīng)驗將會與經(jīng)驗池里的其他經(jīng)驗進行排序,排序的時間復(fù)雜度較高,大大增加了系統(tǒng)開銷。
一方面為了改善經(jīng)驗優(yōu)先回放算法時間復(fù)雜度過高的問題,另一方面需要控制經(jīng)驗池中經(jīng)驗的抽取。除了控制抽取的過程,還可以控制經(jīng)驗存儲經(jīng)驗的過程。在經(jīng)驗回收存儲時,并非無選擇性地將交互產(chǎn)生的經(jīng)驗逐條存儲至經(jīng)驗池內(nèi),而是設(shè)立經(jīng)驗回收標(biāo)準(zhǔn),回收標(biāo)準(zhǔn)的具體數(shù)值應(yīng)該根據(jù)獎勵函數(shù)和實際問題進行設(shè)定。對于每條經(jīng)驗里的獎勵值參量,對其求累積均值,當(dāng)均值大于回收標(biāo)準(zhǔn)時,該條經(jīng)驗將會被存入經(jīng)驗池中 ,當(dāng)小于回收標(biāo)準(zhǔn)時,系統(tǒng)產(chǎn)生0~1的隨機數(shù),當(dāng)隨機數(shù)小于選擇性因子時,該條經(jīng)驗將會被存入經(jīng)驗池。該經(jīng)驗選擇機制,既保證了對低質(zhì)量經(jīng)驗的過濾,又避免了訓(xùn)練初期經(jīng)驗池內(nèi)缺乏經(jīng)驗數(shù)據(jù)。除此之外,該算法實現(xiàn)簡單,算法的時間復(fù)雜度為常數(shù)級別,有效地減輕了系統(tǒng)的開銷。算法基本框架示意圖如圖2所示,SES-MADDPG算法示意圖如圖3所示。
圖2 基本算法框架示意圖
圖3 SES-MADDPG算法示意圖
算法的偽代碼實現(xiàn)如下。
對超參數(shù)進行隨機初始化
對價值網(wǎng)絡(luò)和策略網(wǎng)絡(luò)的參數(shù)進行隨機初始化
對目標(biāo)價值網(wǎng)絡(luò)和目標(biāo)策略網(wǎng)絡(luò)的參數(shù)進行隨機初始化
初始化經(jīng)驗池D和動作噪聲Nt
for episode from 1 to num_episode do:
對環(huán)境和所有智能體的狀態(tài)集合進行隨機初始化
for step from 1 to max_episode_length do:
對于每個智能體進行動作選擇,其中ai=μθi(oi)+Nt
執(zhí)行動作a=(a1,…,an),環(huán)境給與獎勵r,進入下一個環(huán)境s′
獲得到一條經(jīng)驗(s,a,r,s′)
if (r>W):
存儲經(jīng)驗進入經(jīng)驗池D
else:
if(random(0,1 )<β):
存儲經(jīng)驗進入經(jīng)驗池D(其中W是回收標(biāo)準(zhǔn),β是選擇因子)
結(jié)束if判斷語句
結(jié)束else判斷語句
更新環(huán)境s←s′
for agent from 1 tondo:
從回收池隨機抽取一條經(jīng)驗(s,a,r,s′)
根據(jù)目標(biāo)評估網(wǎng)絡(luò)計算每個動作的期望回報y
通過最小化損失更新critic網(wǎng)絡(luò)的參數(shù)
使用隨機梯度下降更新actor
結(jié)束(agent) 循環(huán)
對于每個智能體更新目標(biāo)網(wǎng)絡(luò)參數(shù)
θQ′=τθQ+(1-τ)θQ′
結(jié)束(step)循環(huán)
結(jié)束(episode)循環(huán)
本文中將無人機集群偵察、干擾敵方雷達的問題求解過程抽象為序列化決策過程,將作戰(zhàn)環(huán)境中每個無人機視為一個智能體。強化學(xué)習(xí)的訓(xùn)練目標(biāo)是構(gòu)造一個智能網(wǎng)絡(luò)模型,在每個狀態(tài)都能做出決策,在避免被敵方發(fā)現(xiàn)的情況下,實現(xiàn)對敵方雷達的偵察與干擾。為了減少維度,訓(xùn)練環(huán)境在二維空間內(nèi)進行。
無人機群的狀態(tài)空間分為2個部分:第一部分為環(huán)境狀態(tài)空間S,代表了總體的環(huán)境狀態(tài);第二部分是智能體的觀測狀態(tài)O,代表了無人機自身的狀態(tài)以及對環(huán)境的捕獲數(shù)據(jù)。分別如表1和表2所示。
表1 環(huán)境狀態(tài)空間
表2 智能體觀測狀態(tài)空間
為了減小動作空間的維度,對部分動作做了離散和簡化處理,具體動作可分為以下6個方面。① 飛行動作:無人機的飛行動作可以選擇前、后、左、右和懸停等5個飛行動作。② 飛行速度:無人機的飛行速度可以選擇低速、中速和高速等3個飛行速度。③ 定向偵察方向:無人機的定向偵察方向可以選擇左前方、正前方和右前方等3個方向。④ 定向干擾強度:無人機的定向干擾強度可以選擇不開干擾、低強度、中強度和高強度等4個強度。⑤ 干擾頻段:無人機的干擾頻段可以選擇低頻段(0.03~1 GHz)、中頻段(1~15 GHz)和高頻段(15~30 GHz)等3個頻段。⑥ 干擾目標(biāo):無人機可以選擇7個雷達的任意一個,共有7個選擇目標(biāo)。
根據(jù)以上6個方面進行動作組合選擇,可產(chǎn)生3 780種不同的動作,即為動作空間,所有的動作選擇采用獨熱編碼格式。
強化學(xué)習(xí)的目標(biāo)是要獲取最大的獎勵值,根據(jù)任務(wù)場景設(shè)定獎勵值,將有利于完成任務(wù)的狀態(tài)設(shè)置正獎勵值,將不利于完成任務(wù)的狀態(tài)設(shè)置負獎勵值。
由于無人機群之間需要協(xié)同完成任務(wù),如果距離太遠,將無法完成通信,因此需要設(shè)置無人機之間的距離獎勵。
(17)
式中:D(i,j)為無人機i和無人機j之間的距離;(xi,yi)為無人機i的坐標(biāo);(xj,yj)為無人機j的坐標(biāo)。
無人機之間的距離獎勵為:
(18)
式中,C為無人機之間的通信距離。
接近目標(biāo)區(qū)域的獎勵為:
(19)
式中:D藍代表藍方雷達的探測距離;dnow代表此時無人機與藍方雷達中心的距離;dlast代表上一時刻無人機與藍方雷達中心的距離;D紅代表無人機的探測距離。
被雷達發(fā)現(xiàn)的獎勵為:
R=-10
(20)
發(fā)現(xiàn)雷達的獎勵為:
R=20
(21)
對雷達的干擾獎勵為:
(22)
式(22)中:D藍now代表被干擾后雷達的探測距離;D藍代表雷達最大的探測距離。
無人機被火力擊落的獎勵為:
R=-100
(23)
開辟投彈區(qū)域的獎勵為:
R=200
(24)
為了驗證由SES-MADDPG算法控制的無人機集群在戰(zhàn)場對抗的有效性,在自建的多無人機智能對抗仿真推演平臺進行對比實驗驗證。該仿真平臺以海上登陸戰(zhàn)為作戰(zhàn)背景,以固定空域為作戰(zhàn)環(huán)境,紅方無人機集群在前方負責(zé)對藍方的地面雷達和空中預(yù)警機進行偵察、干擾,為后方的轟炸機開辟投彈通道,使之順利進入投彈范圍進行投彈,對藍方陣地進行火力打擊。該仿真模擬環(huán)境選取了1 000 km×850 km的空域范圍作為作戰(zhàn)區(qū)域,以1 km為一單位進行劃分,將整個作戰(zhàn)區(qū)域劃分為1 000 km×850 km的網(wǎng)格區(qū)域,便于多無人機集群在此區(qū)域進行飛行動作模擬和偵察動作模擬等。紅方配備由10架偵干一體機構(gòu)成的無人機集群,通過強化算法進行自主決策。藍方配備7臺地面雷達,1架空中預(yù)警機和數(shù)發(fā)航空導(dǎo)彈,其中地面雷達位置固定,預(yù)警機繞藍方陣地作“8”字形或者沿跑道飛行。
紅方無人機集群需要自主決策飛行路線,自主選擇偵察方向等,對雷達進行偵察,同時鎖定雷達位置,并對其進行干擾,為后方的轟炸機開辟投彈通道(即通道內(nèi)無雷達探測信號覆蓋)。
在自建的多無人機智能對抗仿真推演平臺分別采用DQN算法、DDPG算法、MADDPG算法和SES-MADDPG算法進行 20 000個實驗周期的訓(xùn)練。每個周期的最大時間步為1 900步,當(dāng)環(huán)境內(nèi)的無人機個數(shù)不滿足完成任務(wù)的最低個數(shù)或者任務(wù)提前完成時,該實驗周期將會提前結(jié)束。通過對4種不同的算法進行對比,對算法進行評價比較。
以每個實驗周期內(nèi)的累積獎勵以及任務(wù)的完成率作為評價指標(biāo)。由于長機的設(shè)置與其他無人機稍有區(qū)別,因此當(dāng)對比每個實驗周期的獎勵時,不僅比較10架無人機的平均獎勵,也對長機獲得的獎勵進行單獨比較。實驗代碼中部分超參數(shù)如表3所示。
表3 超參數(shù)
在自建的多無人智能仿真推演平臺分別使用了DQN算法、DDPG算法、MADDPG算法和SES-MADDPG算法進行20 000個周期的訓(xùn)練。其中圖4為集群內(nèi)所有無人機平均獎勵的對比圖片,圖5為長機平均獎勵的對比圖片。由圖4、圖5中可以看出,大約5 000個周期后,訓(xùn)練過程進入了較為平穩(wěn)的收斂狀態(tài)。MADDPG算法和SES-MADDPG算法的獎勵收斂值明顯高于DQN算法和DDPG算法。其中SES-MADDPG算法的收斂效果最好,相較于沒有選擇性回收機制的MADDPG算法,收斂值有了一定的提升。
圖4 所有無人機平均獎勵對比圖
圖5 長機的獎勵對比圖
表4和表5分別展示了不同強化學(xué)習(xí)算法在20 000個實驗周期內(nèi)的每架無人機的平均獎勵和長機的獎勵,由實驗數(shù)據(jù)可看出,DQN和DDPG算法的平均獎勵值均為負數(shù),而SES-MADDPG算法的獎勵值在100左右,遠遠高于其他的算法,充分證明了該算法的優(yōu)越性。
表4 每架無人機前20 000輪的平均獎勵對比
表5 長機前20 000輪的平均獎勵對比
評估算法好壞的另一種方式是任務(wù)的完成度,為了避免訓(xùn)練前期收斂值不穩(wěn)定對實驗產(chǎn)生的影響,分析了后10 000個實驗周期的任務(wù)完成情況,如表6所示,展示了在10 000次的訓(xùn)練過程中,成功完成任務(wù)的次數(shù)。雖然任務(wù)的完成率不高,但是相較于MADDPG算法,任務(wù)完成率提高了25.427%。
表6 任務(wù)成功完成的次數(shù)
利用SES-MADDPG算法經(jīng)過20 000次訓(xùn)練后得到的模型,執(zhí)行單次仿真推演進行效果的可視化評估分析。
可視化演示如圖6所示。圖6(a)為仿真開始,10架偵干一體機構(gòu)成的集群做好出發(fā)準(zhǔn)備,設(shè)置0號為長機。圖6(b)集群內(nèi)的無人機試探前進,對范圍內(nèi)的信號進行掃描探測。圖6(c)無人機集群進入藍方陣地,開始對雷達進行分散探測定位。圖6(d)無人機確定雷達方位,對雷達進行持續(xù)干擾,被干擾后的雷達的探測范圍大大降低。圖6(e)集群內(nèi)無人機團結(jié)協(xié)作,在藍方陣地開辟出投彈通道,任務(wù)成功結(jié)束。
圖7為DQN算法模型經(jīng)過20 000次訓(xùn)練后得到的無人機運動軌跡圖,圖7中藍色點代表雷達的位置。有4架無人機被藍方雷達發(fā)現(xiàn)并被擊毀。其余無人機沒有進行有效的偵察和干擾,運動無規(guī)律性,僅僅在某個區(qū)域進行徘徊。圖8為SES-MADDPG算法模型經(jīng)過20 000次訓(xùn)練后得到的無人機運動軌跡圖,從圖8中可以看出,在未發(fā)現(xiàn)雷達前,無人機集群試探性前進,當(dāng)發(fā)現(xiàn)藍方雷達后,0號無人機繞著藍方陣地進行往復(fù)移動,其目的是對運動的偵察機進行持續(xù)性干擾。其余的無人機各自進行任務(wù)分配,對藍方的地面雷達進行持續(xù)性干擾,最后成功壓制了雷達的探測范圍,為轟炸機開辟了投彈通道。
圖6 對抗的仿真結(jié)果
圖7 基于DQN算法的無人機飛行軌跡
圖8 基于SES-MADDPG算法的無人機飛行軌跡
針對紅藍對抗問題,將深度強化學(xué)習(xí)算法引入到無人機集群協(xié)同偵察、干擾雷達的任務(wù)中。為了解決收斂效果差、任務(wù)完成率低的問題,在MADDPG算法的基礎(chǔ)上,加入選擇性經(jīng)驗回收機制,提出了SES-MADDPG算法。仿真實驗結(jié)果表明:SES-MADDPG算法比其他幾種強化學(xué)習(xí)算法具有更好的收斂效果,同時任務(wù)完成率相較于MADDPG算法提高了25.427%。
該算法雖然提高了收斂效果和任務(wù)完成率,但是會存在一定概率陷入局部最優(yōu)的情況。下一步研究方向:一方面要克服陷入局部最優(yōu)的缺陷,另一方面將該算法的環(huán)境推廣至三維空間環(huán)境中。