歐 洋,徐 揚,張金鵬,羅德林*
(1.廈門大學航空航天學院,福建廈門361102;2.西北工業(yè)大學民航學院,陜西西安710072;3.西北工業(yè)大學太倉長三角研究院,江蘇蘇州215400;4.中國空空導彈研究院,航空制導武器航空科技重點實驗室,河南洛陽471009)
隨著無人機(unmaned aerial vehicle,UAV)技術的發(fā)展,在空戰(zhàn)領域,為減少人員傷亡,UAV已經(jīng)開始慢慢取代了有人機,但是想要完全替代有人機,UAV需要高度的自主機動決策能力,各國學者對此紛紛進行了大量的研究,Garcia等[1]通過建立微分對策模型來解決空戰(zhàn)對抗雙方之間的追逃問題.Pan等[2]通過建立狀態(tài)預測影響圖模型來解決近距離空戰(zhàn)機動決策問題.雖然這些傳統(tǒng)算法能夠在不同程度上提高UAV的決策效率,但是通常適用范圍存在一定的局限性,泛化能力也存在著諸多限制,且計算量隨著問題復雜程度的上升呈指數(shù)型增長,導致這些方法很難滿足實際空戰(zhàn)的需求[3].
隨著人工智能的發(fā)展,智能決策方法逐步成為了未來主流的發(fā)展方向,主要包括專家系統(tǒng)、神經(jīng)網(wǎng)絡,仿生智能算法以及強化學習等算法.Ernest等[4]描述的AI空戰(zhàn)系統(tǒng)將遺傳模糊樹與專家系統(tǒng)結合起來,首次在仿真環(huán)境中擊敗人類飛行員,但是專家系統(tǒng)存在易失效,不能自學習等問題[5].呂躍等[6]使用k-means聚類算法實現(xiàn)空戰(zhàn)決策知識的推理與應用,但是該方法十分依賴訓練樣本.段海濱等[7]將狼群仿生算法應用在UAV協(xié)同對抗決策問題中,但是仿生智能算法搜索時間較長,實時性還有待提高.
近些年在智能空戰(zhàn)領域的應用最為廣泛的就是深度強化學習算法.深度強化學習算法通過agent與環(huán)境進行交互,得到環(huán)境所給予的獎勵值,根據(jù)獎勵值來判斷此次的經(jīng)驗是否有效,并更新自身的網(wǎng)絡參數(shù),探索進行到后期將會取得十分優(yōu)異的表現(xiàn)[8].馬文等[9]基于深度Q學習網(wǎng)絡(deep-Q-network,DQN)來處理UAV的狀態(tài)空間,使用線性規(guī)劃方法來求解最優(yōu)值函數(shù),該方法有效地提高了UAV的決策能力,但是在仿真時僅考慮了二維平面,并且Q值存在被過高估計的風險.
本文針對DQN算法存在的Q值容易被過高估計的現(xiàn)象,結合兩種DQN變種算法(dueling-DQN和double-DQN)的優(yōu)點,提出dueling-double-DQN(DDDQN)算法,并將其與UAV空戰(zhàn)格斗過程相結合.具體工作如下:1) 為更好地引導智能體進行決策,建立動態(tài)變權重獎勵模型,將空戰(zhàn)態(tài)勢分為4種基本態(tài)勢,通過貝葉斯推理計算態(tài)勢的概率,動態(tài)地選擇不同的獎勵權重.2) 將網(wǎng)絡的輸出分為價值函數(shù)與優(yōu)勢函數(shù)兩個部分,合并后得到最終的輸出.3) 計算目標Q值時不再直接從目標網(wǎng)絡中輸出最大Q值,而是從價值網(wǎng)絡中找到最大Q值對應的動作,然后在目標網(wǎng)絡中進行計算.4) 通過仿真對比實驗,驗證了DDDQN算法相對于DQN、dueling-DQN和double-DQN算法在空戰(zhàn)決策問題上的優(yōu)越性.
假設紅藍雙方在有邊界的三維空間中進行一對一近距離空中對抗,且對抗雙方能夠完全感知對方的位置,速度等基本信息.參考空戰(zhàn)態(tài)勢評估模型[10],選取6種相對信息作為兩機的初始狀態(tài),用輸入向量S表示,即S=[qr,qb,d,ΔV,Δh,β].如圖1所示,qr為偏離角,qb為脫離角,d為紅藍兩機之間的距離,ΔV為紅藍兩機之間的速度差,Δh為紅藍兩機之間的高度差,β為紅藍兩機的速度夾角.
圖1 空戰(zhàn)兩機態(tài)勢Fig.1Air combat situation
根據(jù)對抗雙方的幾何位置關系可得:
(1)
其中,r,b分別代表紅機和藍機,(xi,yi,zi)(i=r,b)為UAV在地面慣性坐標系中的位置信息,φi(i=r,b)為UAV的航向角,θi(i=r,b)表示UAV的航跡傾斜角.
由于本文研究的主要是UAV在空戰(zhàn)對抗中的機動決策方法,為便于研究與分析,這里將UAV視為一個質(zhì)點,不考慮UAV在動作轉換時的受力不平衡問題,選用三自由度的UAV質(zhì)心動力學方程,具體模型如下所示:
(2)
其中:ηx表示UAV所受到的切向過載,ηz表示UAV所受到的法向過載,γ為UAV的滾轉角.
在慣性坐標系下,UAV的質(zhì)心運動方程為
(3)
根據(jù)美國國家航空航天局(NASA)所提出的空戰(zhàn)基本機動動作庫來設置UAV的機動決策動作集合[11],如圖2所示,以三元組[ηx,ηz,γ]作為動作的控制變量.考慮到UAV的物理承受極限[12],假定切向過載的范圍為[-2,2],法向過載的范圍為[-5,5],滾轉角取值范圍為[-π/3,π/3].為避免雙方飛機性能的差異,每次動作執(zhí)行時均采用最大過載,機動動作集合的參數(shù)如表1所示.
圖2 七種機動動作Fig.2Seven maneuvers
表1 機動決策動作集合
從式(2)和(3)可以看出,如果已知三元組[ηx,ηz,γ],即已知UAV的接下來的動作,那么通過t時刻UAV的基本信息參數(shù)δi(t)(i=r,b),就可以根據(jù)積分運算得到t+1時刻的UAV在地面慣性坐標系中的位置、角度、速度等信息參數(shù)δi(t+1)(i=r,b).結合以上關系式,狀態(tài)轉移方程可以表示為
δ(t+1)=f(δ(t),ar,ab),
(4)
其中:f代表式(2)和(3)組成的狀態(tài)轉移函數(shù),ar和ab分別代表紅藍雙方所選取的機動動作.
由1.1節(jié)可知,在近距離空戰(zhàn)對抗中,需要給出狀態(tài)空間S和機動動作ar,ab才能確定一個機動策略,而戰(zhàn)術決策是由一系列的機動策略組成,所需的狀態(tài)維度是隨之呈指數(shù)增長的,很容易產(chǎn)生維度爆炸,傳統(tǒng)的Q表已經(jīng)不再適用,而DQN利用神經(jīng)網(wǎng)絡來對值函數(shù)進行逼近,很好地解決了維度問題,但是在計算目標Q值的時候,DQN采用的是貪婪算法,直接從目標網(wǎng)絡中選擇最大Q值輸出,這樣會很容易導致Q值被過高估計,從而選擇出“次優(yōu)”的動作.double-DQN通過當前網(wǎng)絡尋找出最大Q值對應的動作,然后在目標網(wǎng)絡里面計算目標Q值,比DQN取得了更好的表現(xiàn)[13].dueling-DQN將網(wǎng)絡的輸出分為了價值函數(shù)和優(yōu)勢函數(shù)兩個部分,降低了Q值被“過度估計”的風險[14].本文結合上述兩種算法的優(yōu)點對DQN進行改進,提出DDDQN算法,并應用在無人機空戰(zhàn)對抗決策問題中,以提高決策速度和效率.
2.1.1 空戰(zhàn)態(tài)勢獎勵模型
在強化學習中,agent需要與環(huán)境進行實時交互,得到環(huán)境反饋回來的獎勵或者懲罰,以此來判斷這一步是“好”還是“壞”,并且“學習”這條經(jīng)驗,使得agent能夠在未來盡可能地做出“最好”的動作,以獲得最大的獎勵.在當今空戰(zhàn)當中,判斷自身在戰(zhàn)斗中的優(yōu)劣狀態(tài)主要是根據(jù)對抗雙方對于彼此的威脅程度,我機對敵機的威脅程度越大,說明我機越處于有利的地位,反之亦然.因此,可以通過建立空戰(zhàn)態(tài)勢獎勵模型來作為agent的實時獎勵模擬真實的空戰(zhàn)場景.空戰(zhàn)決策通常以我機對敵機的威脅度作為自身的優(yōu)勢獎勵,構建空戰(zhàn)態(tài)勢獎勵模型[10,15],獎勵模型分別由角度獎勵函數(shù)、距離獎勵函數(shù)、速度獎勵函數(shù)和高度獎勵函數(shù)組成,具體如下.
(i) 角度獎勵函數(shù)
(5)
其中:ra表示可調(diào)參數(shù),取值為正;當Ra為正時,表示我機在角度上占據(jù)優(yōu)勢,為負表示我機處于劣勢.
(ii) 距離獎勵函數(shù)
(6)
其中:dmax表示雷達最大搜索距離,rd表示可調(diào)參數(shù),取值為正.
(iii) 速度獎勵函數(shù)
Rv=
(7)
其中,rv表示可調(diào)參數(shù),取值為正.
(iv) 高度獎勵函數(shù)
Rh=
(8)
其中:Hbest表示最佳空戰(zhàn)高度,為防止agent在學習中為取得最大獎勵而盲目向更高處飛行,因此設定Hmax為兩機之間最大相對高度,rh為可調(diào)參數(shù),取值為正.
在模型初始學習過程中,為了加快agent的學習速度,并防止其超出三維空間的限制邊界,為此加入一個離散獎勵項,定義如下:
(9)
2.1.2 空戰(zhàn)基本態(tài)勢
UAV在空戰(zhàn)對抗過程中會出現(xiàn)多種戰(zhàn)斗態(tài)勢,通??梢苑殖?種基本類型[16],分別是1)ζ1:我機處于優(yōu)勢,敵機處于劣勢,2)ζ2:我機處于劣勢,敵機處于優(yōu)勢,3)ζ3:敵我雙方處于均勢,4)ζ4:敵我雙方均處于劣勢,如圖3所示.
為確定在t時刻,敵我雙方處于哪一種態(tài)勢,這里采用一個互不相關的三元組構成的向量Ω來描述空
圖3 4種基本空戰(zhàn)態(tài)勢Fig.3Four basic air combat situations
戰(zhàn)態(tài)勢,即Ω=[qr,qb,d].根據(jù)條件概率公式可得,在狀態(tài)變量確定時,在t時刻,態(tài)勢的概率為P(ζi(t)|Ω(t)).
根據(jù)貝葉斯條件概率公式可得在任意時刻t下態(tài)勢的概率分布為[16]:
P(ζi(t+1)|Ω(t+1))=
(10)
式中i∈[1,2,3,4],分別對應4種基本態(tài)勢.
由于qr,qb,d是互不相關的,因此根據(jù)聯(lián)合條件概率密度公式可得,在某一種態(tài)勢下雙方狀態(tài)條件概率為:
P{Ω(t)|ξi(t)}=P{qr(t)|ζi(t)}·
P{qb(t)|ζi(t)}·P{d(t)|ζi(t)},
(11)
其中:P{qr(t)|ζi(t)},P{qb(t)|ζi(t)},P{d(t)|ζi(t)}三個條件概率密度函數(shù)的計算如表2所示[17].
表2 4種態(tài)勢下概率密度計算表
2.1.3 不同參數(shù)下態(tài)勢權重的確定
在空戰(zhàn)格斗環(huán)境中,針對不同的態(tài)勢情況下,agent所采取的機動動作所得到的獎勵應當是不同的,例如在處于優(yōu)勢的態(tài)勢下,我機采取的策略應該是提高自身的飛行速度,同時保持我機對敵機的角度優(yōu)勢,確保敵機能一直處于不可逃逸區(qū)域,并進一步擴大我機的優(yōu)勢地位.為此,agent所獲得的速度獎勵與角度獎勵的權重應該在所有獎勵中占更大的比重.
因此,在不同的空戰(zhàn)態(tài)勢情形下,獎勵模型中的權重應該進行動態(tài)的調(diào)整,4種態(tài)勢的權重系數(shù)如表3所示.
表3 動態(tài)權重系數(shù)表
圖4 網(wǎng)絡結構示意圖Fig.4Network structure diagram
綜上所述,強化學習的最終獎勵值為離散獎勵與連續(xù)的態(tài)勢獎勵之和,為使得agent在學習過程中,態(tài)勢獎勵能夠起關鍵性作用,因此在態(tài)勢獎勵的基礎上乘以一個比例系數(shù),再與離散獎勵相加,得到最終的獎勵值為
R=10·Rsit+Rdis,
(12)
Rsit=w1Ra+w2Rd+w3Rv+w4Rh.
(13)
其中:Rsit表示態(tài)勢獎勵值,Rdis表示離散獎勵值,wi(i∈[1,2,3,4])分別代表角度、距離、速度、高度獎勵的權重系數(shù).其中w1+w2+w3+w4=1.
針對第一節(jié)中所提出的空戰(zhàn)對抗問題,本算法采用4層前向全連接網(wǎng)絡來對動作價值進行求解,輸入值為狀態(tài)向量S,輸出層輸出之前有兩個分支,一個是代表狀態(tài)價值的價值函數(shù),另一個代表7個動作所對應Q值的優(yōu)勢函數(shù),價值函數(shù)是在狀態(tài)S下,UAV可能采取的7個動作對應的價值與各自動作概率的乘積之和,表明該狀態(tài)的“好壞”程度,優(yōu)勢函數(shù)表示在狀態(tài)S下該動作相較于其他動作的“好壞”程度,將兩者進行合并即可得到輸出層結果,輸入層神經(jīng)元節(jié)點數(shù)有6個,公共隱藏層設為2層,如圖4所示.
2.2.1 網(wǎng)絡輸出層計算
針對圖4網(wǎng)絡,計算各動作的Q值方式為[14]:
Q(S,a;?,α,μ)=V(S;?,μ)+A(S,a;?,α),
(14)
其中:V表示狀態(tài)函數(shù),A表示優(yōu)勢函數(shù),?表示公共隱藏層所共有的參數(shù),α表示優(yōu)勢函數(shù)獨有的參數(shù),μ表示價值函數(shù)獨有的參數(shù).
2.2.2 目標Q值計算
模型采用Double-DQN的計算方法,通過價值Q網(wǎng)絡進行動作的選擇,再將選擇出的動作輸入進目標Q網(wǎng)絡中計算目標Q值,實現(xiàn)了動作選擇與價值評估的解耦,使得Q值被高估的風險大大降低,計算方式為:
(15)
其中:?為價值網(wǎng)絡參數(shù),?′為目標網(wǎng)絡參數(shù),γ為折扣因子,R為agent獲得的獎勵.
2.2.3 網(wǎng)絡參數(shù)更新
均方差損失函數(shù)計算如下:
Q(St,at;?))2/b,
(16)
式中b表示從經(jīng)驗回放池中取出的樣本個數(shù).
圖5 模型結構Fig.5Model structure
采用Adam優(yōu)化算法對網(wǎng)絡參數(shù)進行更新,用mt-1表示上一個時刻的梯度指數(shù)平均值,nt-1表示梯度平方偏方差,則mt和nt可表示為:
(17)
其中:β1,β2為權重系數(shù),本文取β1=0.9,β2=0.99,Gradt為目標函數(shù)的梯度.
(18)
參數(shù)的更新公式為:
(19)
其中:σ為待更新的參數(shù)的集合,本文取ε=10-8,l代表學習率.
在模型訓練初始時,紅藍雙方各有一個空戰(zhàn)起始狀態(tài)δi(i=r,b),包含位置、角度等基本信息,下一時刻的狀態(tài)僅由當前時刻的狀態(tài)與所選擇的機動動作a決定.通過式(1)將δi(i=r,b)轉化成狀態(tài)向量Si(i=r,b),輸入到網(wǎng)絡中進行計算,網(wǎng)絡采用“競爭”結構,在輸出層之前分為價值函數(shù)和優(yōu)勢函數(shù)兩個部分,合并后得到7個動作對應的Q值,并使用不同的網(wǎng)絡來完成動作的選擇與動作的評估.通過當前的狀態(tài)δi(t)(i=r,b)和選擇出的動作,根據(jù)式(4)可以計算UAV的下一步狀態(tài)δi(t+1)(i=r,b),通過紅藍雙方的角度與距離判斷雙方是否有一方獲勝,如果此時一方獲勝或者訓練步數(shù)達到了規(guī)定的次數(shù),雙方還未分出勝負,則本次空戰(zhàn)訓練回合結束,重置紅藍雙方的狀態(tài),然后進行下一個回合的訓練.
將agent與環(huán)境交互后得到的狀態(tài)向量S,紅藍雙方所選擇的動作ar,ab,當前所選動作獲得的獎勵R,以及執(zhí)行完動作后的下一個狀態(tài)S′組合成為一個五元組存儲到經(jīng)驗回放池中,作為一條“經(jīng)驗”.當經(jīng)驗回放池中的經(jīng)驗存儲滿了以后,最新的一條經(jīng)驗會覆蓋掉最初的一條經(jīng)驗.每間隔一定的步長,從經(jīng)驗回放池中隨機地取出一組規(guī)模為b的經(jīng)驗數(shù)據(jù)作為訓練樣本,利用均方差損失函數(shù)和Adam優(yōu)化算法來對網(wǎng)絡參數(shù)進行迭代更新.模型的訓練過程如圖5所示.
根據(jù)以上訓練的步驟,DDDQN算法流程為:
DDDQN算法
初始化經(jīng)驗回放池,容量設置為D
初始化價值Q網(wǎng)絡,隨機生成參數(shù)?
初始化目標Q網(wǎng)絡,復制價值Q網(wǎng)絡的參數(shù)作為初始參數(shù)?′=?
Forepisode=1,2,…,M
初始化紅藍雙方的位置參數(shù)Pos,通過式(1)換算得到狀態(tài)向量S輸入到網(wǎng)絡中
Forstep=1, 2, …,T
在模型輸出的7個動作Q值中,通過貪婪算法選擇最終輸出的動作a
在空戰(zhàn)對抗環(huán)境中執(zhí)行動作a,通過式(4),得到下一個時刻的狀態(tài)St+1,和當前動作執(zhí)行完的獎勵R,以及回合結束標志done
將五元組
Ifdone
退出此次循環(huán),進入下一個回合
Endif
Endfor
每間隔learn_step個步長,從經(jīng)驗回放池中隨機抽取一組長度為batch_size大小的經(jīng)驗
根據(jù)式(16)計算Eloss,并對價值Q網(wǎng)絡進行更新
每間隔N個步長就將價值Q網(wǎng)絡的參數(shù)復制到目標Q網(wǎng)絡中
Endfor
以紅藍兩機空戰(zhàn)對抗為背景,對本文提出的算法進行仿真驗證.設置一個空戰(zhàn)決策周期為300個步長,每一個步長為0.5 s.分別對藍機非機動飛行和雙方空戰(zhàn)格斗兩種情形進行仿真分析.
本實驗假設藍方未發(fā)現(xiàn)紅方,紅方采用DDDQN算法對敵機進行空戰(zhàn)機動決策,來驗證算法的可行性和機動動作的合理性,實驗對模型超參數(shù)的設定如表4所示.
表4 超參數(shù)設置值
設定紅藍雙方的初始基本信息參數(shù),見表5.
表5 雙方無人機初始信息
起始時,紅藍雙方相向而飛,紅方采取的依次是基于DDDQN、dueling-DQN、double-DQN以及DQN算法為核心的機動決策策略,而藍方采用固定策略,執(zhí)行的動作始終為勻速直線飛行.進行5 000回合的對抗仿真后,DDDQN決策結果如圖6所示.將每1個回合的獎勵進行累加,并記錄每一個回合所執(zhí)行的步數(shù),每間隔20個回合對獎勵和步數(shù)求一次平均值,可得4種算法在與固定策略對抗中所獲得的獎勵與步數(shù)曲線圖,如圖7和圖8所示.為便于觀察智能體的機動策略,輸出紅藍雙方在對抗過程中的角度、高度、速度和彼此之間距離的變化圖,如圖9所示.
圖6 雙機對抗圖Fig.6Two-machine confrontation map
圖7 4種算法步長對比圖Fig.7Comparison chart of four algorithm steps
圖8 4種算法獎勵對比圖Fig.8Comparison chart of four algorithm returns
圖9 對抗參數(shù)圖Fig.9Adversarial parameters
從圖6和圖9中可以看出,紅方采取的策略是,首先盤旋向上飛,占據(jù)高度優(yōu)勢,然后調(diào)整自身的攻擊角度,居高臨下對藍方發(fā)動攻擊,形成在藍機后方的追尾態(tài)勢.從結果可以看出通過訓練,紅方學習到了合理的機動決策策略.
從圖7可以看出,DDDQN算法每回合的平均步長最少,說明該算法在機動決策時,尋找到的策略擊敗敵機所花費的時間比其他3種算法用時更短,從圖8中可以看出,DQN算法和double-DQN算法在1 000 回合以后獎勵曲線才開始逐漸收斂,但是波動較為劇烈,而dueling-DQN與DDDQN算法在500回合以后就開始收斂,并且波動較為平穩(wěn),但是DDDQN算法在整個訓練過程中波動更小.DDDQN算法的獎勵曲線收斂以后獎勵值比其余3種算法低的原因在于DDDQN算法尋找到的策略步長數(shù)更少,說明其余3種算法找尋到的擊敗敵機的策略并非最優(yōu),更偏向于“刷獎勵”.從以上兩個方面可以看出,所設計的DDDQN算法能夠在空戰(zhàn)對抗場景中取得更好的決策效果.
實驗驗證假設在紅藍雙方都發(fā)現(xiàn)對方的情況下,本文提出的空戰(zhàn)決策算法的有效性.將經(jīng)過訓練的DQN模型作為藍方的機動策略,未經(jīng)過訓練的double-DQN、dueling-DQN和DDDQN算法作為紅方的機動策略.為加快訓練速度,將神經(jīng)元隱藏層的個數(shù)設置為128,批處理大小設置為128,學習率調(diào)整為0.000 5,訓練5 000回合,每50個回合計算一次紅方的勝率,得到3種算法的對抗勝率(圖10),每20個回合計算一次平均獎勵(圖11)和平均步數(shù)(圖12),試驗重復進行10次,計算3種算法在后期勝率逐漸穩(wěn)定后的平均勝率(圖13),訓練結果如圖14所示.
圖10 勝率對比圖Fig.10Win percentage comparison chart
圖11 獎勵對比圖Fig.11Return comparison chart
圖12 步數(shù)對比圖Fig.12Step number comparison chart
圖13 平均勝率對比圖Fig.13Comparison chart of average winning rate
圖14 兩機格斗對抗圖Fig.14Two-machine fighting diagram
從圖10中可以看出,double-DQN算法與DDDQN算法在訓練初期,勝率要高于dueling-DQN,但是double-DQN的勝率在后期一直維持在0.5左右,遠低于dueling-DQN與DDDQN算法,后兩者在訓練后期雖然勝率基本上相等,但是DDDQN算法相較于dueling-DQN算法決策速度更快,決策能力更強.在圖11和圖12中,3種算法的獎勵曲線和步數(shù)曲線在后期都能夠收斂,但是DDDQN算法的收斂速度最快,步數(shù)曲線收斂以后的步長數(shù)最小,說明DDDQN算法找尋擊敗敵機策略的速度最快,并且找尋到的策略最優(yōu),收斂后的獎勵值低于其余兩種算法是因為DDDQN算法找尋到的策略步數(shù)最少.在圖13中可以看出,DDDQN算法的平均勝率高于其他兩種算法.
圖14表示了紅藍雙方對抗過程中紅方采用DDDQN算法的仿真軌跡圖,紅方最終成功繞到藍方后方,將敵機擊敗,為便于更好地觀察紅藍雙方之間的對抗過程,本文采用文獻[10]中所提出的空戰(zhàn)優(yōu)勢函數(shù)作為評判雙方優(yōu)劣態(tài)勢的標準,計算在對抗期間雙方的優(yōu)勢值,如圖15所示,輸出雙方的角度、高度、速度與距離,如圖16所示,同時輸出雙方在格斗過程中所選擇的動作編號,如圖17所示.
圖15 對抗優(yōu)勢圖Fig.15Confrontational advantage map
圖16 對抗參數(shù)圖Fig.16Adversarial parameters
圖17 動作編號圖Fig.17Action number chart
結合圖15~17可以看出,紅機選擇定常飛行,藍機選擇左轉彎來躲避紅機的攻勢,并試圖繞到紅機后方,紅機迅速采用左轉彎來應對,隨后藍機向上拉起,試圖占據(jù)高度優(yōu)勢,紅機隨后也迅速向上拉起.從整體上來看,紅藍雙方的策略都是試圖比對方搶先占據(jù)高度優(yōu)勢,同時調(diào)整攻擊角度,試圖使敵方處于自身的不可逃逸區(qū)域內(nèi).圖15中可以看出在對抗過程中雙方優(yōu)劣地位不斷互換,顯示了對抗的激烈程度,最終紅方成功繞后擊敗藍方.
本文設計的獎勵函數(shù)中包含離散獎勵與連續(xù)的態(tài)勢獎勵,為驗證離散獎勵對算法性能的影響,針對藍方進行非機動飛行情形,設計對比實驗,對比最終獎勵值R=10·Rsit+Rdis和R=10·Rsit兩種情況下的算法步長和獎勵曲線,如圖18所示.
圖18 步長與獎勵效果對比圖Fig.18Comparison of step length and reward effect
從圖18中可以看出,沒有離散獎勵的“約束”以后,算法的獎勵曲線并沒有很好的收斂,訓練所得獎勵升高的原因是由于每一個回合的步數(shù)增加了,基本上達到了每回合的最大限制步數(shù),說明算法沒有找到擊敗敵機的策略,策略更傾向于“刷獎勵”,由此說明離散獎勵的必要性.
為檢驗算法的魯棒性,在雙方空戰(zhàn)格斗情形中,假設每間隔10步,我機延遲觀測敵機的狀態(tài),在t時刻以敵機上一時刻的狀態(tài)St-1進行決策,敵機正常決策,對比我機正常觀測與延遲觀測的實驗效果如圖19所示.
圖19 魯棒性檢驗效果對比圖Fig.19Comparison diagram of robustness test effect
由圖19可以看出,當觀測出現(xiàn)延遲時,步長與勝率曲線收斂的速度比正常觀測會慢一點,但是收斂后的曲線基本上和正常觀測時曲線一致,說明模型具有良好的魯棒性.
針對傳統(tǒng)的DQN算法存在Q值容易被過高估計的現(xiàn)象,本文在DQN算法的基礎上引入了競爭網(wǎng)絡結構與雙重網(wǎng)絡的計算方法,并且基于貝葉斯推理建立了動態(tài)變權重獎勵模型,提出DDDQN的訓練框架.通過仿真實驗,將所設計的算法與double-DQN、dueling -DQN和DQN算法對比,表明了在一對一空戰(zhàn)格斗問題中,所提出的DDDQN算法有更快的決策速度和更優(yōu)的決策能力.未來的工作將考慮敵我雙方武器和性能的差異,構建更為復雜的空戰(zhàn)環(huán)境,并將一對一空戰(zhàn)決策問題擴展為多對多協(xié)同作戰(zhàn)問題,進行進一步的研究.