郭萬春, 解武杰, 尹 暉, 董文瀚
(1.空軍工程大學(xué)航空工程學(xué)院, 西安, 710038; 2.空軍工程大學(xué)教研保障中心, 西安, 710051)
近年來,各種控制理論和方法研究為自主空戰(zhàn)決策提供了解決方案。文獻(xiàn)[1]利用差分博弈論,將空戰(zhàn)模型建模為一個確定的、完全信息的追逃博弈模型。文獻(xiàn)[2]研究了一種實時自主一對一的近似動態(tài)規(guī)劃空戰(zhàn)方法。文獻(xiàn)[3]采用了一種基于可達(dá)性的方法來解決追逃博弈問題。此外,還有多級影響圖法[4]、滾動時域法[5]和基于統(tǒng)計學(xué)原理的方法[6]等。由于現(xiàn)實環(huán)境的不確定性以及真實測試昂貴、耗時和危險等原因,這些探索大多停留在理論研究階段,難以付諸工程實踐和實戰(zhàn)。
深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning,DRL)正成為利用AI解決決策問題的主流研究方向[7-10]。文獻(xiàn)[11]采用了深度Q學(xué)習(xí)(deep Q-learning network,DQN)的方法控制無人機(jī)的速度和轉(zhuǎn)角,然而DQN對次優(yōu)動作高估的狀態(tài)動作值超過最優(yōu)動作的動作值時將無法找到最優(yōu)動作,并且它只能處理離散的、低維的動作空間,這與大多實際情境不符。文獻(xiàn)[12]使用異步的優(yōu)勢行動者評論家算法(asynchronous advantage actor-critic,A3C)訓(xùn)練無人機(jī)進(jìn)行空戰(zhàn),利用多線程的方法,同時在多個線程里分別與環(huán)境進(jìn)行交互學(xué)習(xí),避免了DQN中出現(xiàn)的經(jīng)驗回放相關(guān)性過強(qiáng)的問題,但是訓(xùn)練出的無人機(jī)空戰(zhàn)性能有待提高。文獻(xiàn)[13]假定對戰(zhàn)的兩架飛機(jī)速度恒定,使用深度確定性策略梯度算法(deep deterministic policy gradient, DDPG)訓(xùn)練了無人機(jī),雖然取得了良好的訓(xùn)練效果,但是訓(xùn)練出的追擊策略較為單一,并且沒有考慮飛機(jī)的火力打擊區(qū)域,僅僅以兩機(jī)間的距離在某一范圍內(nèi)作為成功打擊目標(biāo)的準(zhǔn)則。
本文討論自主空戰(zhàn)中深度強(qiáng)化學(xué)習(xí)在無人機(jī)反追擊的應(yīng)用??紤]非對稱性的追逃博弈問題,具有扇形火力打擊區(qū)域的兩架無人機(jī)進(jìn)行追擊/反追擊的空中對抗,攻擊(以下標(biāo)注為ATTACK)無人機(jī)采用純追蹤法(pure pursuit)打擊目標(biāo),目的是訓(xùn)練速度不大于ATTACK無人機(jī)的智能(以下標(biāo)注為RL)無人機(jī)擺脫其追擊并進(jìn)行反制。
無人機(jī)自主機(jī)動反追擊使用參數(shù)化動作空間馬爾科夫決策過程[14]的形式化框架,由一個五元組構(gòu)成:。RL無人機(jī)通過與環(huán)境交互學(xué)習(xí)狀態(tài)到動作的映射關(guān)系以此獲得最大累計期望回報。假設(shè)這是一個理想模型,環(huán)境的動態(tài)特性P(·|(s,a))=1是確定的,即不存在風(fēng)等對無人機(jī)飛行有干擾的因素。時間步為t時觀測到的無人機(jī)狀態(tài)st∈S。RL無人機(jī)從可用的行動集合A中選用行動at∈A,環(huán)境在at的作用下,轉(zhuǎn)換至新狀態(tài)st+1,在進(jìn)行狀態(tài)轉(zhuǎn)移到下一個新狀態(tài)的同時產(chǎn)生獎勵r(st,at)。RL無人機(jī)根據(jù)新觀測到的狀態(tài)st+1,再做出新的決策,采取行為at+1,依次反復(fù)進(jìn)行直至達(dá)到環(huán)境的終止?fàn)顟B(tài)。γ∈[0,1]為未來回報折扣因子,RL無人機(jī)旨在尋找一個策略π使得其從任意初始狀態(tài)s0出發(fā)在達(dá)到終止?fàn)顟B(tài)時獲得最大的累計獎勵:
(1)
根據(jù)文獻(xiàn)[15],無人機(jī)反追擊模型可描述為:
(3)
設(shè)ATTACK無人機(jī)和RL無人機(jī)的偏航角分別為α和β,則其位置信息分別為XATTACK=(x1,y1,α),XRL=(x2,y2,β)。
根據(jù)文獻(xiàn)[11],ATTACK無人機(jī)對RL無人機(jī)進(jìn)行火力打擊的示意圖如圖1所示。
圖1 火力打擊示意圖
ATTACK無人機(jī)進(jìn)行火力打擊的規(guī)則為純追蹤法:其速度方向?qū)r刻指向RL無人機(jī),試圖將RL無人機(jī)追擊在自己的打擊范圍內(nèi),該策略在文獻(xiàn)[16]中被證明是十分有效的追擊手段。根據(jù)最優(yōu)追逃策略[17],設(shè)ATTACK無人機(jī)相鄰兩次時間步長內(nèi)的偏航角變化量φATT滿足:
(3)
由于兩架無人機(jī)在同一高度上進(jìn)行追擊與反追擊的空中對抗,記位置信息為D=(x1,y1,α,x2,y2,β),在每個時間步長的開始,以ATTACK無人機(jī)的位置和偏航角為基準(zhǔn),將原有的坐標(biāo)系逆時針旋轉(zhuǎn)α角,使新坐標(biāo)系的原點位于ATTACK無人機(jī)處,并且x軸方向與ATTACK無人機(jī)的偏航角重合。在新坐標(biāo)系下,得出RL無人機(jī)的位置滿足以下關(guān)系:
(4)
(5)
β′=β-α
(6)
新坐標(biāo)系下無人機(jī)的相對位置信息為:
D′=(0,0,0,(x2-x1)cosα+(y2-y1)sinα,
(x2-x1)sinα-(y2-y1)cosα,β-α)
(7)
值得注意的是,這個新坐標(biāo)系是隨著ATTACK無人機(jī)的位置和偏航角實時變化的,由于ATTACK無人機(jī)也在做機(jī)動,所以每一時間步的原點和坐標(biāo)的橫縱軸方向,在真實物理空間上是不一樣的,引入這個坐標(biāo)系只是為了描述它們的相對位置。相對位置信息的6維向量有3維始終為0,因此通過相對坐標(biāo)系可以進(jìn)一步將無人機(jī)的飛行狀態(tài)空間壓縮一倍。構(gòu)造新的觀測狀態(tài)為:
s=((x2-x1)cosα+(y2-y1)sinα,
(x2-x1)sinα-(y2-y1)cosα,β-α,Nz)
(8)
在每個時間步的開始,無人機(jī)從其動作空間允許的速度和轉(zhuǎn)向過載向環(huán)境提供一個動作,給定的動作會立即更新當(dāng)前的速度和偏航角,在剩余的時間步長中保持不變。其中ATTACK無人機(jī)采用純追蹤法的策略,保持一個恒定的速度,可以選擇從一個連續(xù)范圍的轉(zhuǎn)彎角度,使用純追蹤法可以讓ATTACK無人機(jī)穩(wěn)步拉近與對手的距離并接近對手使其置于火力打擊范圍。RL無人機(jī)使用強(qiáng)化學(xué)習(xí)算法,它的動作空間包含速度和轉(zhuǎn)向過載值,定義為:
A={v,Na}
(9)
兩種無人機(jī)機(jī)動能力數(shù)據(jù)見表1。
表1 機(jī)動能力數(shù)據(jù)
定義反追擊成功時的回報,即:
(10)
值函數(shù)過估計的問題既在DQN中存在,也存在于“行動者-評論家”網(wǎng)絡(luò)。在DQN中采用的雙重深度Q學(xué)習(xí)[17](double deep Q-learning network,DDQN)方法可以一定程度上降低過估計的誤差,但在“行動者—評論家”網(wǎng)絡(luò)中使用類似DDQN的方法是無效的,因此本文采用雙延遲深度確定性策略梯度算法TD3來解決值函數(shù)過估計的問題;為了提高訓(xùn)練前期的效率和訓(xùn)練后期的穩(wěn)定收斂,將經(jīng)驗回放區(qū)進(jìn)行重構(gòu)并改進(jìn)傳統(tǒng)的隨機(jī)抽樣策略。
經(jīng)驗回放區(qū)重構(gòu)將成功經(jīng)驗和失敗經(jīng)驗分為兩個經(jīng)驗回放區(qū)。如果RL無人機(jī)反追擊任務(wù)滿足式(10)中r(s,a)=1,則被認(rèn)為是暫時的成功經(jīng)驗儲存在成功經(jīng)驗回放區(qū)中,記為Rs;相反,滿足r(s,a)=0,則將失敗經(jīng)驗儲存在失敗經(jīng)驗回放區(qū)中,記為Rf。由于RL的獎勵過程中存在著時間延遲,所以存儲在Rs中的一些即將達(dá)到失敗前的經(jīng)驗也與失敗有關(guān)。因此,可以把這些經(jīng)驗從Rs以ηf的比例提取出來。具體來說,對每一個時間步,如果是成功經(jīng)驗,
改進(jìn)傳統(tǒng)的隨機(jī)采樣策略:更新時,行動者和評論家同時從Rs以ξs比例以及從Rf抽取(1-ξs)的樣本來進(jìn)行優(yōu)化。其中,考慮訓(xùn)練前期的效率和訓(xùn)練后期局部最優(yōu)的制衡,ξs應(yīng)隨著訓(xùn)練總迭代次數(shù)M衰減:
(11)
經(jīng)驗回放區(qū)重構(gòu)的TD3方法見圖2。
圖2 經(jīng)驗回放區(qū)重構(gòu)的TD3方法框架圖
傳統(tǒng)TD3使用經(jīng)驗回放區(qū)解決訓(xùn)練數(shù)據(jù)間的相關(guān)性,在環(huán)境中探索得到的樣本數(shù)據(jù),以狀態(tài)轉(zhuǎn)換序列
從重構(gòu)經(jīng)驗回放區(qū)采樣得到一個小批量的訓(xùn)練數(shù)據(jù),TD3通過梯度上升/下降算法更新當(dāng)前網(wǎng)絡(luò)的參數(shù)。然后再通過優(yōu)化的滑動平均方法更新目標(biāo)網(wǎng)絡(luò)的參數(shù),使得目標(biāo)網(wǎng)絡(luò)參數(shù)緩慢變化,以此提高學(xué)習(xí)的穩(wěn)定性。
TD3采用行動者-評論家框架,包含6個神經(jīng)網(wǎng)絡(luò),見表2。
表2 TD3中的神經(jīng)網(wǎng)絡(luò)
擬合策略函數(shù)的策略網(wǎng)絡(luò)πφ,參數(shù)為φ,輸入為當(dāng)前狀態(tài)st,輸出無人機(jī)的動作:
at=πφ(st|φ)
(12)
策略網(wǎng)絡(luò)圖見圖3,網(wǎng)絡(luò)參數(shù)見表3。
圖3 策略網(wǎng)絡(luò)
表3 策略網(wǎng)絡(luò)的參數(shù)
網(wǎng)絡(luò)參數(shù)通過確定性策略網(wǎng)絡(luò)梯度定理更新:
(13)
目標(biāo)策略網(wǎng)絡(luò)πφ′的參數(shù)為φ′,輸入為下一狀態(tài),輸出下一狀態(tài)的動作:
at+1=πφ′(st+1|φ′)
(14)
擬合狀態(tài)動作值函數(shù)的Q1網(wǎng)絡(luò)Qθ1和Q2網(wǎng)絡(luò)Qθ2,參數(shù)分別為θ1和θ2,輸入為當(dāng)前狀態(tài)st和實際執(zhí)行的動作at,輸出為狀態(tài)動作值即Q1值和Q2值:
Qi=Qθi(st,at|θi)
(15)
Q1網(wǎng)絡(luò)還輸出狀態(tài)動作值函數(shù)對動作的梯度?aQθ1(st,at|θ1)用于式(13)的參數(shù)更新。
狀態(tài)動作值網(wǎng)絡(luò)見圖4,網(wǎng)絡(luò)參數(shù)見表4。
圖4 狀態(tài)動作值網(wǎng)絡(luò)
表4 狀態(tài)動作值網(wǎng)絡(luò)的參數(shù)
(16)
TD3在兩個目標(biāo)Q網(wǎng)絡(luò)中選擇較小的Q值,防止DDPG中評論家網(wǎng)絡(luò)對動作Q值過估計的問題:
Q′=min{Q1′,Q2′}
(17)
對于Q1網(wǎng)絡(luò)和Q2網(wǎng)絡(luò),定義損失函數(shù):
(18)
通過損失函數(shù)的反向傳播算法更新得到Q1網(wǎng)絡(luò)和Q2網(wǎng)絡(luò)的參數(shù)。其中y表示時序差分(temporal-difference,TD)目標(biāo)值:
(19)
(20)
Q1網(wǎng)絡(luò)和Q2網(wǎng)絡(luò)的TD誤差分別為:
TDerrori=y-Qθi(st,at|θi)
(21)
對評論家更新2次后,行動家再進(jìn)行更新,策略網(wǎng)絡(luò)πφ、Q1網(wǎng)絡(luò)和Q2網(wǎng)絡(luò)的參數(shù)通過滑動平均分別得到目標(biāo)策略πφ′網(wǎng)絡(luò)和目標(biāo)Q1網(wǎng)絡(luò)和Q2網(wǎng)絡(luò)的參數(shù):
(22)
無人機(jī)反追擊決策算法訓(xùn)練流程如下:
初始化經(jīng)驗回放庫Rf、Rs、策略網(wǎng)絡(luò)πφ、Q1網(wǎng)絡(luò)和Q2網(wǎng)絡(luò),并將它們的參數(shù)復(fù)制給目標(biāo)策略網(wǎng)絡(luò)πφ'和目標(biāo)Q1網(wǎng)絡(luò)和目標(biāo)Q2網(wǎng)絡(luò)。For episode = 1,2,…,M: a←πθμ(s)+ε,其中ε~N(0,σ),給行為添加噪聲; 獲取無人機(jī)飛行仿真環(huán)境的初始狀態(tài)。 For t = 1,2,…,T: 根據(jù)當(dāng)前策略和探索噪聲,獲得行為a; 執(zhí)行行為a,獲得回報r(s,a)和下一個狀態(tài)s';
狀態(tài)轉(zhuǎn)換序列存儲于回放記憶庫Rf、Rs中; Rf、Rs中分別以ξs和(1-ξs)的比例抽取N個狀態(tài)轉(zhuǎn)換序列,作為策略網(wǎng)絡(luò)和Qi網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù); 根據(jù)式(20)計算 a; 根據(jù)式(19)計算時序差分值y; 根據(jù)式(18)更新Q1網(wǎng)絡(luò)和Q2網(wǎng)絡(luò)參數(shù); IFt mod 2: 根據(jù)式(13)計算樣本策略梯度,更新策略網(wǎng)絡(luò); 根據(jù)式(22)更新目標(biāo)策略網(wǎng)絡(luò)和目標(biāo)Q1網(wǎng)絡(luò)和Q2網(wǎng)絡(luò)。 End if End forEnd for輸出最優(yōu)策略網(wǎng)絡(luò)參數(shù)以及最優(yōu)策略。
設(shè)置訓(xùn)練集為M=10 000,隨機(jī)初始化兩架無人機(jī)初始位置與姿態(tài)信息。其中ATTACK無人機(jī)的初始位置在原點,偏航角在[0,2π]內(nèi)均勻分布;RL無人機(jī)的初始位置是以原點為中心的橫縱坐標(biāo)x、y變量呈正態(tài)分布的隨機(jī)分布,其中x、y方向標(biāo)準(zhǔn)差均為0.5 km。這樣的隨機(jī)初始化可以做到讓RL無人機(jī)在一個時間步長后擺脫追擊并進(jìn)行反制,實際上加快了收斂速度。超參數(shù)設(shè)置見表5。
表5 超參數(shù)
分別使用面向連續(xù)動作空間的確定性策略方法TD3算法和DDPG算法進(jìn)行訓(xùn)練,每100次訓(xùn)練記錄當(dāng)前100次訓(xùn)練的勝率。訓(xùn)練效果見圖5。
圖5 訓(xùn)練效果對比圖
可以看出,與基準(zhǔn)DDPG算法相比,本文方法的勝率約高出10%左右。改進(jìn)后的TD3算法雖然在訓(xùn)練的后期與傳統(tǒng)的TD3算法能達(dá)到的勝率相差不大,但是由于經(jīng)驗回放區(qū)的重構(gòu),新的采樣策略代替原始的隨機(jī)采樣策略,使得在訓(xùn)練伊始可以更多學(xué)習(xí)到任務(wù)成功經(jīng)驗序列,使改進(jìn)后的TD3算法在訓(xùn)練前期的收斂速度較快,波動也較弱。
算法訓(xùn)練完成后,對訓(xùn)練集進(jìn)行大量仿真測試,在訓(xùn)練集中進(jìn)行4 000次對抗,每次包括100個時間步長,該時間步之內(nèi)未能分出勝負(fù)則為平局。仿真表明,RL無人機(jī)成功實施反追擊的次數(shù)為3 761次,成功率為94.025%,達(dá)到了預(yù)定目的。與TD3算法和DDPG算法的對比見表6。
表6 測試效果對比表
可以看到,改進(jìn)后的TD3算法勝率略高于TD3算法,明顯高于DDPG算法,但是由于整個算法當(dāng)中比DDPG多了兩個神經(jīng)網(wǎng)絡(luò)的參數(shù),所以從決策時間來看,決策時間均略長于DDPG 算法。
在測試集中,RL無人機(jī)使用本文訓(xùn)練好的策略進(jìn)行反追擊的勝率也很難低于93%。圖6~10展示了測試集中具有代表性的雙機(jī)軌跡,從中可以觀察到典型的RL反追擊策略。圖6~9顯示了RL無人機(jī)為了獲勝所采用的最常見的策略,圖10展示了RL平局時的大部分場景。
圖6 軌跡1
圖7 軌跡2
圖8 軌跡3
圖9 軌跡4
圖10 軌跡5
如圖6所示,RL無人機(jī)通過在被追擊的早期改變速度同時調(diào)整轉(zhuǎn)向過載值來做出長期決策:一開始加速是防止在前期就被擊中,隨后進(jìn)行減速和轉(zhuǎn)彎機(jī)動,誘騙對手也進(jìn)行轉(zhuǎn)彎大機(jī)動,從而拉開與對手的距離,再之后采用的策略類似于圖7。
如圖7所示,RL無人機(jī)在ATTACK無人機(jī)前面先進(jìn)行轉(zhuǎn)彎機(jī)動,隨即降低速度,由于ATTACK無人機(jī)按照純追蹤法以不小于RL無人機(jī)的恒定速度向其方向移動,最終,ATTACK無人機(jī)最終被鎖定在RL無人機(jī)的前方的火力打擊區(qū)域內(nèi)。
如圖8所示,RL無人機(jī)通過調(diào)整速度和轉(zhuǎn)向過載圍繞ATTACK無人機(jī)軌跡兩側(cè)蜿蜒的方式進(jìn)行機(jī)動,逐漸縮小與對手的距離,最后同樣采用類似圖7的策略,使ATTACK無人機(jī)飛行至自己的前方,被鎖定在自己的火力打擊范圍內(nèi)。
如圖9所示,RL無人機(jī)還可以學(xué)習(xí)到的策略是機(jī)會性的,不需要做過多的機(jī)動即可以在較短的時間步長內(nèi)取得對抗的勝利而非依靠上述提及的策略。根據(jù)一些合適的初始條件,RL無人機(jī)基本不調(diào)整轉(zhuǎn)向過載地徑直飛行,只是在前期需要采用類似于圖6的策略調(diào)整速度防止前期被攻擊。
如圖10所示,還可以學(xué)到一種在規(guī)定時間步長內(nèi)平局的策略,即RL無人機(jī)誘導(dǎo)ATTACK無人機(jī)一起做圓周運(yùn)動,以此讓ATTACK無人機(jī)的扇形火力區(qū)域無法攻擊自己。
本文針對無人機(jī)近距空戰(zhàn)的自主機(jī)動反追擊問題,提出經(jīng)驗回放區(qū)重構(gòu)TD3算法。該方法將經(jīng)驗回放區(qū)重構(gòu)為成功、失敗兩個經(jīng)驗回放區(qū),取代傳統(tǒng)的隨機(jī)采樣使用基于成功、失敗經(jīng)驗區(qū)的采樣策略。仿真結(jié)果表明,RL無人機(jī)學(xué)到的策略在訓(xùn)練集上兼顧了訓(xùn)練前期的學(xué)習(xí)效率與訓(xùn)練后期的穩(wěn)定收斂,在測試集上展示了較好的性能。
本文研究基于無人機(jī)的狀態(tài)全局可觀測這一假設(shè)條件,而真實空戰(zhàn)環(huán)境下,受我機(jī)感知范圍限制,敵機(jī)位置等態(tài)勢信息并不能時刻被精確獲取。針對不完全信息博弈條件進(jìn)行空戰(zhàn)決策研究,更具挑戰(zhàn)性和實用性,將是本文下一步研究的重點。