付宇鵬,鄧向陽,2,*,朱子強,張立民
1.海軍航空大學 航空作戰勤務學院,煙臺 264001
2.清華大學 自動化系,北京 100084
隨著電子對抗技術的發展和戰機隱身性能的提高,未來仍存在視距內空戰的場景[1],對抗雙方如何根據當前作戰態勢選擇精確有效的機動決策仍然是重要的研究方向[2]。為了提高訓練效能,飛行員對抗訓練中需要具有決策能力的智能化、風格化的陪練對手[3]。
2020 年,DARPA 舉辦Alpha Dogfight 狗斗大賽,最終美國蒼鷺公司獲得冠軍,洛克希德·馬丁公司獲得亞軍[4]。并且蒼鷺公司的AI 在人機對抗中以5:0 完勝人類飛行員。同年11 月,中國航空工業成都飛機設計研究所舉辦人工智能空戰大賽,是相關單位第1 次組織如此大規模人工智能對戰。2021 年開始,中國指揮與控制學會每年主辦全國空中智能博弈大賽,吸引全國各機構隊伍參賽。與傳統方法不同的是,各賽事中各參賽隊伍越來越多采用強化學習(Reinforcement Learning,RL)和模仿學習(Imitation Learning,IL)算法實現機動決策控制。
強化學習是一個旨在學習某種控制策略的過程,該策略可以最大化智能體獲得的獎勵[5]。結合深度神經網絡優秀的函數逼近能力,深度強化學習已被證明即使在復雜的連續動作空間也可以解決許多困難的任務并獲得超過人類專家的性能,具備近距格斗這類復雜場景的飛行機動決策控制的能力。
強化學習在飛行控制系統、航路規劃、空戰博弈等領域取得了一定的進展,文獻[5-6]設計了基于強化學習算法的姿態控制器,驗證了神經網絡模型控制固定翼飛機的可行性。文獻[7]利用經驗池Actor-Critic 算法,通過選擇原子動作實現了固定翼飛機軌跡跟蹤,為機動決策系統架構設計提供了寶貴的思路。文獻[2]采用基于原子行為的分層馬爾科夫決策過程,利用雙深度Q網絡(Double Deep Q-Network,DDQN)算法訓練網絡模型,實現了機動決策控制?;谠有袨榈目刂颇P头抡婢群驼鎸嵭允芟抻陔x散動作空間粒度,隨著離散動作空間的增長,模型訓練難度和內存需求將大幅上升。而采用端到端模型,即智能體直接控制飛機發動機油門開度、升降舵、副翼、方向舵偏轉,算法收斂難度大。文獻[4]采用分層策略的架構,利用柔性動作-評價(Soft Actor-Critic,SAC)算法訓練網絡模型,取得了較好的效果,但模型結構復雜,訓練周期長。文獻[8]基于雙延時確定策略梯度(Twin Delayed Deep Deterministic Policy Gradient,TD3)
算法,提出了基于價值的經驗池樣本優先度排序方法,提高了算法收斂速度。文獻[9-10]提出了應用于超視距空戰的機動決策方法,采用分層近端策略優化(Hierarchical Proximal Policy Optimization,H-PPO)算法,將動作空間映射到原子行為序列,分別實現了單機和多機的空戰機動決策智能體建模。
面對空戰對抗這類狀態空間復雜的環境,基于強化學習的空戰機動決策優化算法專家經驗利用不足,往往難以保證算法快速收斂。針對該問題,提出了價值濾波(Value-Filter)概念,并提出了基于價值濾波方法的示例策略約束算法(Demonstration Policy Constrain,DPC)。主要創新在于,算法利用價值濾波方法提取回放經驗池和示例經驗池的優勢數據,約束空戰智能體策略優化方向,從而提高傳統強化學習在線策略(on-policy)算法的收斂效率,并避免示例數據次優的問題。
在復雜的智能體機動決策優化任務中,訓練難點在于狀態空間龐大,且大多數據無效,導致智能體消耗大量時間學會平穩飛行,因此需要示例數據給予啟發式信息。少量的示例軌跡可以由人類專家或簡單的策略模型收集,示例軌跡數據集定義為DE={τ1,τ2,…,τn},其中τn=表示第n條飛行軌跡,由“狀態-動作-獎勵-狀態”四元組序列構成。這些軌跡的質量可以用獎勵函數來判斷?;谑纠龜祿牟呗詢灮椒ㄖ?,常用方法包括3 類:
1)利用模仿學習的策略優化方法。最常見的一類方式稱為行為克?。˙ehavioral Cloning,BC),直接通過監督學習的方式,從示例數據集的狀態-動作對中學習策略。行為克隆技術在自動駕駛[11-12],無人機導航控制[13-14]取得了進展。為了解決行為克隆技術存在的策略偏移和復合誤差,提出了基于數據增廣的DAgger 算法[15],但該類算法需要長時間在線干預,在空戰決策建模場景中不易實現。逆強化學習(IRL)是另一類模仿學習算法,通過示例推測獎勵函數[16],在無人機自主飛行控制,機械手臂等應用中取得一定成果[17-18]。但空戰對抗問題狀態空間復雜,示例策略分布往往不唯一或目標不明確,算法難以收斂。
2)將示例數據保存為示例經驗池,利用離線強化學習算法進行訓練。文獻[19-20]將深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法與BC 算法相結合,利用BC 約束策略優化方向,在稀疏獎勵下利用后驗經驗回放技術仍可獲得較高回報。但離線強化學習存在策略偏移問題,往往需要在線細調。
3)行為克隆預訓練,在線細調。AlphaStar[21]使用人類玩家對局數據和智能體自博弈數據結合訓練生成策略,在星際爭霸游戲中擊敗職業玩家。文獻[22]將模仿學習應用于無人駕駛環境,實現智能體自主駕駛。文獻[23]利用采集的飛行軌跡數據并進行軌跡分類預處理,通過模仿學習生成行為網絡集作為原子行為集合,有效提高行為逼真度,并利用DQN 算法優化智能體策略探索能力。文獻[24]提出SAIL 算法,通過將經驗池中的優勢軌跡數據擴充示例數據,提高算法收斂效率。
上述基于示例的策略優化方法中,第3 類方法目前應用廣泛,但基于行為克隆的預訓練策略在與環境交互過程中存在復合誤差,如果僅依靠強化學習算法在線細調,策略更新方向將不可控,例如,在飛行器機動控制時出現飛機不停滾轉、墜地等情況,破壞預訓練的初始化參數。這類情況下,學習率、batch size、更新次數等算法超參數設置不當可能直接導致算法無法收斂。因此示例數據應得到充分利用,在算法訓練中對智能體策略更新方向加以約束。
在基于策略分布正則項的約束方法中,將示例數據保存在經驗池DE中加以利用。設示例策略表示為πE,其狀態-動作概率分布表示為dπE(s,a),當前策略的狀態-動作概率分布表示為dπθ(s,a),πθ(s)即策略網絡,根據輸入狀態s輸出動作a。為衡量dπθ(s,a)與dπE(s,a)的相似性,采樣(s,a)~DE,將二者分布距離作為策略損失函數的正則項,記為D(dπE(s,a)||dπθ(s,a)),其中D(·||·)表示概率分布空間的距離測量方法。因此策略優化方向約束為式(1),用κ衡量概率分布約束邊界。
式(1)表示智能體策略在訓練過程中的目標是在策略分布約束范圍內,得到式(2)的最大期望回報Rπ,其中γ為折扣系數,確保無限長馬爾科夫決策過程能夠收斂。通過策略分布距離作為正則項,能夠引導策略向示例策略方向收斂。
現實中真實對抗數據獲得成本高,因此基于示例的策略優化方法的目標是充分利用少量的示例軌跡,結合在線訓練來提高樣本效率,但當示例數據質量低,如策略分布多峰或次優時,該方法難以得到最優解,會導致在線訓練時的負向引導。因此基于次優示例的策略約束面臨的難點在于如何對次優數據采樣,從而接近最優策略π*。在上述預訓練-在線細調的策略訓練框架下,本文提出價值濾波,通過對優勢經驗數據和優勢示例數據提取,提高算法收斂速度,并解決示例策略次優的問題。
強化學習算法中優勢動作評論(Advantage Actor Critic,A2C)、置信域策略優化(Trust Region Policy Optimization,TRPO)[25]、PPO[26]等在線策略(on-policy)算法,穩定性高,同時支持并行仿真,在計算資源充足的情況下具有優勢,但on-policy 算法的采樣機制導致經驗數據利用率低;DQN、DDPG、TD3、SAC 等離線策略(offpolicy)算法[27]經驗數據利用率高,為了提高有效樣本的利用率,常采用優先經驗回放等技術,但是當示例價值波動較大時,優先經驗回放會提高次優數據的采樣概率,從而降低價值網絡的準確性,進而影響策略網絡收斂性。為了解決上述問題,將基于策略梯度的在線策略算法和基于能量模型的離線策略算法相結合[28],提出價值濾波方法。
基于策略梯度的強化學習算法訓練的目標是接近最優策略π*,根據熵正則化強化學習和soft Q learning 理論[29],最優動作價值函數和最優狀態價值函數分別表示為
式中:Hπ表示策略的熵正則化,則推導出最優策略表示為
由式(5)可知,狀態價值滿足V*(st)≥Vφ(st),即當前策略狀態價值上界為最優策略π*的狀態價值,因此必然有V*(st)≥Rt-,即當前策略下的回報小于最優狀態價值。為了使當前策略快速逼近最優策略,訓練過程增加優勢樣本的采樣占比,選擇Rt->Vφ(st)的優勢數據進行增強訓練,由此提出價值濾波器(V-Filter),定義為
式(6)在實現中忽略策略熵,文獻[28]證明了當系數α很小時,狀態價值函數將逼近最優狀態價值函數的下界,說明價值濾波方法具有可收斂性。根據策略梯度算法得到利用回放經驗的策略損失函數,即
式(7)直觀表示算法訓練中選擇當前策略和狀態價值評估下的優勢狀態-動作進行進一步模型訓練。
為了實現利用價值濾波對優勢示例數據進行增強,提出基于價值濾波的示例策略約束算法(DPC)。為便于實現,首先將式(1)改寫為拉格朗日函數形式[30],即
該min-max 問題包含θ和η這2 個參數,為了降低算法設計和收斂難度,將η作為超參數,訓練中僅更新策略網絡參數θ,即
當獎勵函數設計的目標與示例策略目標一致時,根據式(9),可以通過對基于策略(policybased)的強化學習算法優化,實現利用少量示例數據實現策略約束。
考慮到通過mini-batch 采樣DE得到的策略分布dπE(s,a)存在較大誤差,因此在策略約束算法具體實現中,算法參考行為克隆,采樣示例狀態-動作(,)~DE,~πE。因此式(9)簡化為
針對實際示例數據中策略可能存在次優或不唯一的問題,將價值濾波與策略約束相結合,濾除采樣示例數據中回報低于當前狀態價值的非優勢數據,僅對優勢數據進行增強,因此式(10)改寫為
針對可能存在的價值函數過估計問題,可利用廣義優勢估計(GAE)方法更新價值網絡[31],降低偏差和方差,價值網絡損失函數表示為
注意到與優先經驗回放不同,采樣數據近似服從獨立同分布,在訓練初期,價值網絡隨機性較高,當其因過估計導致輸出Vφ(st)>V*(st)時,價值濾波器輸出為0,即當前策略僅根據在線策略算法更新;當價值網絡估計偏低時,策略同時由示例策略約束算法和在線策略算法更新;隨著價值網絡收斂,算法將對示例數據進行濾波從而解決示例次優問題。
本文的DPC 算法可優化任意在線策略算法。以結合分布式PPO 算法為例,設置N個分布式Rollout Worker 和一個中心Learner。每個Worker 與環境交互并將四元組軌跡數據存放在各自的回合經驗池(記為)中。回合結束后將數據存入全局回放經驗池(記為Doff)中。
PPO-DPC 算法流程如算法1 所示,首先建立示例經驗池,行為克隆生成預訓練策略,并利用示例數據對價值網絡進行初始化。由各Worker 與環境交互采集數據,回合結束后,將采樣數據分割成mini-batch,策略梯度為
式中:ct(θ)表示當前策略和舊策略的概率比,即
將其回傳Learner,由Learner 將各梯度累加并更新策略網絡和價值網絡參數,以上過程為近似在線策略訓練過程。
每回合結束后,Learner 分別從Doff和DE中采樣,根據式(12)計算策略梯度并更新策略網絡。下一回合開始前,Learner 將更新的網絡參數發布給各Worker,Worker 以新策略采樣獲得樣本。

為了使智能體行為在訓練初期能受示例策略約束,保證算法快速收斂,而訓練中后期利用強化學習的環境探索能力進一步優化當前策略,式中參數η隨訓練步數增加逐漸降低。
本文算法實驗系統框圖如圖1 所示。訓練過程包含3 個階段,

圖1 實驗系統框圖Fig.1 Structure of experiment system
1)數據采集階段:由專家策略模型與藍方對抗生成對抗軌跡數據,即策略πE與環境交互,產生四元組(st,at,st+1,rt),存入示例經驗池。
2)離線預訓練階段:利用行為克隆初始化神經網絡模型,提高初始階段模型訓練效率。
3)在線訓練階段:智能體與環境交互進行在線強化學習訓練,提高智能體狀態空間探索能力,解決行為克隆存在的策略偏移問題。
仿真環境中對抗雙方采用相同的六自由度(6DOF)固定翼飛機模型。藍方策略基于蒙特卡洛樹搜索的層次化建模方法,決策層預測紅藍雙方可到達位置點,并根據態勢評估函數選擇優勢目標航點;控制層由PID 控制器控制飛機模型到達指定目標點。紅方由基于神經網絡的智能體控制。紅藍雙方初始高度h∈[1,9] km,初始相對水平距離Δx∈[-10,10] km,Δy∈[-10,10] km,初始速度v∈[150,300] m/s,初始任意姿態。
飛機的運動主要由發動機推力、升降舵、副翼、方向舵控制。當各操縱面變化時,模型根據對應的氣動參數,改變飛機合力和合力矩。因此機動決策控制網絡輸出升降舵、副翼、方向舵和油門控制指令,實現飛機姿態和位置的控制,即
為了提高飛機控制的穩定性,飛機模型包含基于PID 控制器的穩定增強系統,包括角速度、過載反饋環路和控制指令前饋通路,控制器輸出升降舵、副翼、方向舵偏轉角度,分別表示為
對抗中考慮視距內格斗,同時具有預警機支援,雙方態勢透明,智能體模型輸入狀態st由自身狀態和雙方相對態勢組成。其中自身狀態表示為
其中:ψ、θ、φ分別表示航向角、俯仰角和滾轉角;為俯仰角速度;表示當前滾轉角;h表示歸一化高度;V表示NED 坐標系下的歸一化速度。相對態勢表示為
其中:ΔV表示速度差;ΔX表示NED 坐標系下的相對位置;αATA表示方位角;αAA表示目標進入角。
獎勵函數rt=r(st,at)是引導算法收斂的重要影響因素,本文獎勵函數設計考慮角度優勢、能量優勢、自身穩定性等關鍵空戰要素。
雙方位置關系圖如圖2 所示,αATA和αAA用來判斷角度優勢[32],相對歐式距離R用來引導我方接敵以到達格斗彈或航炮發射條件。因此,獎勵函數rt設計為

圖2 相對位置關系圖Fig.2 Diagram of relative position
其中:ηA、ηR、ηE分別代表的權重,本文中分別設置為0.5、0.3、0.2。
此外,當飛機飛行高度和飛行速度低于或高于閾值,引入懲罰項rpenalty,避免機動決策陷入快速‘死亡’等錯誤選擇的局部最優。
本文強化學習訓練環境采用OpenAI gym 平臺,飛機動力學和運動學解算基于JSBSim 開源平臺,飛機空氣動力學模型為公開的F16 模型。
1)模型預訓練階段,由基于PID 控制器的簡單策略模型對抗靶機目標,獲取20 回合對抗數據,形成約2×105規模的示例數據集。基于該示例數據并對智能體策略網絡和價值網絡參數初始化。
2)模型在線訓練階段,仿真共2 200 回合,飛機狀態仿真步長,即智能體決策間隔為20 ms,每回合最長時間5 min。算法中超參數設計如表1所示,策略網絡和價值網絡結構均采用全連接結構,其中隱藏層激活函數為均為ReLu 函數,策略網絡輸出層激活函數為tanh 函數。損失函數采用Adam 方法更新梯度[33]。

表1 PPO-DPC 算法參數設置Table 1 Parameters of PPO-DPC algorithm
回報函數的仿真曲線如圖3,仿真對比了傳統PPO 算法、PPO 算法結合自模仿學習[30]算法(PPO-SIL)、PPO 算法結合本文示例策略約束算法(圖中PPO-DPC)、TD3-BC[34]算法(TD3-BC)以及BC 算法,其中BC 算法生成的模型作為上述4 種算法的預訓練初始模型。結果顯示利用專家數據的TD3-BC 算法和PPO-DPC 算法收斂速度明顯高于PPO 算法,此外,PPO-DPC 算法通過優勢經驗數據的濾波,較TD3-BC 更快收斂。而PPO 與PPO-SIL 算法由于缺乏策略約束,態勢觀測發現智能體在訓練中花費大量時間才能學會平穩飛行,因此回報函數上升緩慢。

圖3 回合回報仿真曲線Fig.3 Simulation of returns per episode
價值函數的仿真曲線如圖4,仿真中設置γ=0.998,即價值網絡估計約10 s 仿真步長的策略價值。為了衡量價值網絡收斂情況,每次更新價值網絡隨機從DE中采樣,估計示例策略價值,結果表明具有策略約束的算法,其價值網絡在1×104仿真步數后基本收斂,能準確估計策略價值,而PPO-SIL 算法對狀態價值估值較低。結合圖3 回報函數曲線,說明策略約束能夠輔助價值網絡收斂,從而準確估計策略價值,在優化當前策略的同時有利于算法快速收斂。

圖4 價值函數仿真曲線Fig.4 Simulation of value function
示例利用率和動作誤差仿真曲線如圖5 所示。在訓練初期,由于策略網絡隨機性較強,策略分布隨機,此時示例數據利用率接近1,策略網絡輸出動作于示例動作誤差較大;隨著算法收斂,價值濾波器將采樣示例的次優數據濾除,示例數據利用率逐漸降低為0.25 左右,同時動作誤差在0.01 左右。結果表明在訓練初期策略約束能夠有效幫助策略收斂,后期利用價值濾波方法提高了智能體環境探索能力,從而避免示例策略次優的問題。

圖5 示例利用率和動作誤差仿真曲線Fig.5 Simulation of utilization of demonstration data and error of actions
圖6 給出了博弈對抗的部分態勢渲染圖,從圖中可以看到雙方能夠判斷態勢并做出合理的機動決策,完成如圖中破S 機動、剪刀機動、筋斗等常用機動動作。

圖6 博弈對抗場景渲染圖Fig.6 Diagram of air-combat scene
為了驗證基于DPC 算法的機動策略性能提高,圖7(a)、圖7(c)、圖7(e)分別給出了示例策略、DPC 策略和PPO 策略對抗相同簡單機動目標時的航跡,圖7(b)、圖7(d)、圖7(f)分別對應其輸出動作。航跡結果顯示,示例策略在初始階段能夠調整跟蹤目標,而90 s 后決策明顯失誤丟失目標;PPO 策略盡管始終保持相對距離,但未明顯體現戰術意圖;相比之下DPC 策略能夠始終占據藍方后半球區域,保持角度優勢和武器發射條件,更具智能性。通過輸出動作曲線觀察,DPC策略學習到示例策略的平穩變化規律,而PPO 策略抖動明顯。結果證明DPC 方法能夠模仿示例策略的同時,有效避免了示例策略次優的問題。

圖7 相同目標下示例策略、DPC 策略和PPO 策略態勢對比圖Fig.7 Comparison of air-combat situation with the same target among demonstration,DPC and PPO based policies
為了驗證機動策略的性能,圖8 給出了使用本文生成策略的紅方與藍方簡單靶機對抗的態勢圖。圖8(a)初始條件為雙方均勢,航線相距4 km,相向飛行,紅方選擇高yo-yo 機動,而后迅速調轉機頭指向藍方并保持優勢位置;圖8(b)初始條件為雙方均勢,航線相距4 km,同向飛行,紅方連續壓坡度轉向藍方,占據有利位置;圖8(c)初始條件為雙方均勢迎頭飛行,紅方爬升規避,而后破S 機動轉向藍方后半球;圖8(d)初始條件為藍方位紅方6 點鐘方向,紅方迅速急轉,待藍方無追擊行為,轉向藍方。結果顯示,紅方反饋行為符合占據敵后半球優勢位置的目標。

圖8 簡單目標對抗態勢圖Fig.8 Situation of combat with simple target
圖9 給出了紅藍雙發均使用本文生成策略的自博弈對抗態勢圖,圖10 給出了策略網絡輸出動作,分別對應于圖9 中紅方智能體行為。圖9(a)初始條件反向飛行,藍方高度略高,具有能量優勢,雙方進入剪刀機動,紅方逐漸陷入劣勢,選擇脫離,藍方追擊;圖9(b)初始條件為紅方略具角度優勢,藍方策略激進,選擇急轉接敵,而后雙方進入單環戰;圖9(c)初始條件為藍方占據角度優勢和速度優勢,紅方急轉規避,藍方始終位紅方后半球優勢區域;圖9(d)初始條件為雙方均勢,反向飛行,雙方進入雙環戰。結果表明,在雙方使用相同策略下,初始態勢對于戰局發展影響較大,與直觀戰術機動理解一致。對抗過程中,智能體能夠利用副翼和方向舵協同轉彎,并在大坡度機動時利用方向舵保持垂直高度,優于示例行為,同時配合使用油門和方向舵完成小半徑轉彎。通過上述比較分析,可以說明基于DPC 算法的機動決策模型具有一定智能性,能夠判斷態勢并完成戰術機動。

圖9 自博弈對抗態勢圖Fig.9 Situation of combat with self-play

圖10 策略網絡輸出動作Fig.10 Output action of policy network
為了驗證智能體性能,基于VR 設備的桌面模擬器進行了人機對抗測試,如圖11 所示,紅方為人類,藍方為智能體。智能體封裝了簡易火控雷達和武器模型,鎖定目標后實時獲取坐標、速度、姿態信息。圖11(a)中藍方為前述基于蒙特卡洛搜索樹的簡單智能體,圖11(b)中藍方為DPC 算法生成智能體。紅藍雙方初始高度5 km,距離10 km,速度200 m/s,同向飛行。圖11(a)智能體選擇抵近飛行,被紅方導彈鎖定后未及時規避,迅速被擊落;圖11(a)智能體被紅方跟蹤后釋放紅外干擾并急轉脫離,態勢相對均勢后進入近距纏斗,智能體能精確判斷態勢和控制機動行為,智能水平明顯提高。

圖11 人機對抗態勢圖Fig.11 Diagram of human-AI air combat
針對近距空戰智能體機動決策建模問題,提出并分析了價值濾波方法,提出了基于價值濾波的示例策略約束算法,DPC 算法通過價值濾波方法對優勢示例數據進行學習,有效提高模型訓練效率,同時避免示例數據的次優問題。
基于DPC 算法,建立了空戰機動決策智能體建模流程,通過自博弈對抗和人機對抗實驗,說明生成的智能體表現出較好智能性。為空戰對抗訓練中建立風格化智能陪練模型提供了新思路。