馬 文, 李 輝,, 王 壯, 黃志勇, 吳昭欣, 陳希亮
(1. 四川大學計算機學院, 四川 成都 610065; 2. 四川大學視覺合成圖形圖像技術國家級重點實驗室, 四川 成都 610065; 3.陸軍工程大學指揮控制工程學院, 江蘇 南京 210007)
自1991年海灣戰爭開創了空中力量為主贏得戰爭勝利的歷史,空中力量在現代戰爭中起著越來越重要的作用,制空權的爭奪很大程度上決定了戰爭的勝負[1]。然而空中作戰形勢瞬息萬變,需要采集的信息極為復雜,使得作戰方在感知空戰態勢后做出決策變得困難,傳統方法無法實現快速準確的空戰策略[2]。因此,如何根據雙方作戰態勢選取有利且精確有效的空戰機動策略是空中作戰的重要研究方向。
國內外學者進行了相關研究,并提出了很多空戰策略生成方法,傳統方法包括:影響圖[3]、專家系統法[4]、微分對策法[5]、矩陣對策法[6]等。這些方法在一定程度上為空戰決策提供了有效的解決方案,但也有較大的局限。如遺傳算法的機動決策具有一定主觀性;專家系統法的可適應性較差;微分對策法計算量過大,求解困難;矩陣對策法存在難以確保實時性等。
近年來,空戰決策的研究也日益增多,文獻[7]引入博弈論的思想,提出了構建自由空戰指揮引導對策模型的思路,但并未給出仿真結果。文獻[8]提出了一種結合近似動態規劃與零和博弈的在線積分策略迭代算法,解決了機動決策建模存在的“維數災難”問題,但有學習周期偏長、難以應付復雜機動等缺點。文獻[9]利用多狀態轉移馬爾可夫網絡構建機動決策網絡,滿足了空戰決策的實時性要求,但未利用網絡參數進行學習。文獻[10]提出一種進化式的專家系統樹方法來研究空戰決策,解決了傳統專家系統方法無法應付非預期情況的問題,但其設定的仿真環境較為簡單。文獻[11]提出了一種矩陣對策法與遺傳算法相結合的空戰決策算法,建立了無人機空戰決策模型,滿足空戰合理性與實時性需求,但只對直線和S型飛行兩種藍色戰機模型進行了仿真研究。
隨著人工智能的發展,出現了越來越多人工智能在博弈中戰勝人類的事例:2016年人工智能Alpha飛行員打敗了一位美國空軍上校[12]。2018年,AlphaGo Zero在3天內自學了3種棋類游戲,輕而易舉戰勝了最優秀的人類棋手[13]。這些事例表現出了人工智能在智能決策方面的極大潛能。以最著名的AlphaGo為例,其主要運用了深度強化學習方法。深度強化學習將深度學習的感知能力和強化學習的決策能力相結合,是一種更接近人類思維方式的人工智能方法[14]。深度強化學習適合解決連續決策問題,而空戰博弈正屬于此類問題[15],因此從深度強化學習入手研究空戰策略方法是一種可行思路。
本文將深度強化學習與博弈相結合,提出了一種基于深度強化學習的算法——Minimax-深度Q網絡(deep Q network,DQN)。該方法使用Minimax算法[16]構建線性規劃來求解每個特定狀態階段博弈的納什均衡策略,并引入DQN來更新動作狀態值函數,以得到一種針對高決策水平對手的最優策略。
本文為研究空戰中紅藍雙方戰機的對抗情況,獲得一種對紅方有利的最優空戰策略,需要用到博弈論以及深度強化學習的理論知識。
本文研究的空戰博弈實際上就是紅藍雙方的對抗過程,雙方的競爭性質可以利用博弈論的知識概括。博弈論是研究決策者在決策主體各方相互作用的情況下,如何進行決策以及有關該決策的均衡問題的理論[17],被廣泛應用于軍事問題研究。


(1)
則為一個納什均衡。
本文研究的紅藍雙方戰機對抗情況與追逃博弈有密切聯系,追逃博弈將參與雙方定義為追蹤者和逃脫者,在博弈過程中博弈各方均以紅方最大利益為目標,一方的得益必然導致另一方的損失,二者的得失總和為零[19],本文涉及的博弈類型也稱二人零和博弈。并且追逃博弈考慮的是紅方在最差情況下的對抗策略優化設計,即縱使藍方采用非常智能的機動方式,紅方仍可獲得可以接受的對抗效果,且得到的結果是全局最優[20]。本文以此為研究思路,處理空戰中紅藍雙方戰機的對抗問題,并引入深度強化學習知識。
馬爾可夫決策過程(Markov decision process, MDP)是指決策者周期性地或連續性地觀察具有馬爾可夫性的隨機動態系統,序貫地作出決策[21],即根據當前的觀測狀態選擇一個動作執行到達下一步的狀態,下一步的狀態只與當前的狀態和動作有關。
MDP是強化學習的基礎。強化學習是智能體以“試錯”的方式進行學習,通過與環境進行交互獲得的獎賞指導行為,使智能體獲得最大的獎賞[22]。強化學習適用于解決連續決策問題,因此可以應用于解決空戰中紅藍雙方戰機對抗的決策問題[23]。
深度學習通過構建基于表示的多層機器學習模型,訓練海量數據,學習有用特征,以達到提升識別、分類或預測的準確性[24]。深度學習具有較強的感知能力,但缺乏一定的決策力,因此將深度學習與強化學習相結合,為系統的感知決策問題提供了解決思路。
深度強化學習將深度學習與強化學習結合,用神經網絡來擬合強化學習中的價值函數和策略函數,解決了強化學習狀態空間較小的局限性[25]。由于本文研究的紅藍雙方戰機對抗的空戰策略問題中,狀態特征是連續多維的,因此可采用深度強化學習中基于價值函數的經典DQN算法[26]解決該問題。
由于空戰博弈是一個動態過程,而傳統博弈一般是單步的,因此需要從傳統博弈拓展到隨機博弈。
MDP包含一個玩家和多個狀態,而矩陣博弈包含多個玩家和一個狀態。對于具有多個玩家和多個狀態的博弈,定義了一種MDP與矩陣博弈相結合的博弈方法,稱為馬爾可夫博弈,即隨機博弈[27]。
隨機博弈可表示為一個元組[28],(n,S,A1,A2,…,An,T,γ,R1,R2,…,Rn),其中包含的要素如下。
(1) 個數n:表示玩家數量。
(2) 狀態S:狀態是對環境的描述,在智能體做出動作后,狀態會發生改變,其演變具有馬爾可夫性。
(3) 動作A:動作是對智能體行為的描述,是決策的結果。動作空間可以是離散或連續的。
(4) 轉移函數T:由給定玩家當前狀態s和每個智能體的一個動作Ai控制,轉移概率在[0,1]之間。
(5) 折扣因子γ:折扣因子是對未來獎勵的衰減,γ∈[0,1]。
(6) 回報函數R:表示指定玩家在狀態s采取聯合行為(A1,A2,…,An)后在狀態s′處取得的回報。
隨機博弈環境中的每個智能體都由一組狀態S和一組動作集A1,A2,…,Ak定義,狀態轉換由當前狀態s和每個智能體的一個動作Ai控制,每個智能體都有一個相關的獎勵函數,試圖最大化其預期的折扣獎勵之和。與MDP類似,隨機博弈中玩家下一狀態和回報只取決于當前狀態和所有玩家的當前行為。求解隨機博弈需要找到一個策略π,使得具有折扣因子γ的玩家的未來折扣回報最大化。

(2)
其中航跡偏角的限制范圍為[-180°,180°],滾轉角的范圍受實際飛機最大轉彎能力限制,具體如圖1所示。紅方戰機的目標是在藍方戰機背后取得并保持優勢地位,可使用視界角(angle of aspect, AA)和天線偏轉角(antenna train angle, ATA)來量化此優勢位置。此外,航向交叉角(heading crossing angle, HCA)也用于描述紅藍戰機之間的朝向差異。

圖1 紅藍雙方戰機相對幾何關系Fig.1 Relative geometric relationship between the red and the blue fighters
本文將紅藍雙方戰機作為智能體,以二人零和博弈為條件對空戰博弈進行建模。根據第1.2節可知,隨機需要確定一個元組(n,S,A1,A2,…,An,T,γ,R1,R2,…,Rn),根據此一元組來構建空戰中的隨機博弈模型。
2.2.1 隨機博弈模型
首先需要確定隨機博弈環境中每個智能體需要的狀態空間S、動作空間A和獎勵函數R,智能體為當前狀態s決策選擇一個動作Ai到達下一個狀態s′,并得到與環境交互后反饋獎勵r,然后進行下一輪交互,由此實現循環。
(1) 個數n:紅藍雙方戰機對抗中玩家數量n為2。

由于戰機的狀態空間是連續無限空間,所以需要用到深度學習神經網絡來處理這些特征。
(3) 動作A:戰機的可選機動動作設置為向左滾轉、維持滾轉和向右滾轉,分別用L,S,R代表這3種可選動作,構建離散的動作空間,則紅方的動作空間為Ar={L,S,R},同理藍方動作空間為Ab={L,S,R}。
(4) 轉移函數T:以紅方為例,紅方當前狀態s在紅方根據策略選擇的動作a與對手藍方選擇的動作o的聯合行為(a,o)影響下,轉移到下一狀態s′的概率。
(5) 折扣因子γ:折扣因子在[0,1]中選取,一般為0.9左右。
(6) 回報函數R:在隨機博弈中,使用MDP的Q值來表示即時收益。以Q(s,a,o)表示每個狀態s下,己方采取動作a及藍方采取動作o的預期獎勵。根據導彈的攻擊區域,設定到達導彈可攻擊范圍為有利態勢。對于紅方的獎勵值r,若紅方到達有利態勢返回r=1,若對手藍方到達有利態勢則r=-1,其余情況r=0。
2.2.2 戰機優勢獎勵函數
本文參考文獻[29]中定義的有利態勢區域來選擇占位,且暫不涉及4代、5代紅外近距格斗導彈的前向攻擊能力[30]。以二維平面內的空戰對抗為例,紅方戰機的優勢區域,如圖2所示。

圖2 紅方戰機優勢區域Fig.2 Dominant area of the red fighter
紅方戰機取得優勢需要滿足4個條件:① 紅方戰機與藍方戰機的歐氏距離D在Dmin到Dmax范圍內,該區域根據戰機的速度和武器攻擊范圍決定;② 紅方戰機與藍方戰機的高度差H在Hmin到Hmax范圍內,該范圍由戰機的速度和武器攻擊范圍決定;③ 紅方戰機的AA在指定視界范圍內;④ 紅方戰機的ATA在指定ATA范圍內。同時滿足以上4個條件則判定紅方取得優勢,并獲得獎勵值r=1,即占據有利態勢的要求如下所示:
(3)
2.2.3 隨機博弈價值函數
對于多人隨機博弈,已知回報函數和轉移函數,期望求得其納什均衡解,即每個智能體的聯合策略,智能體的策略就是動作空間的概率分布。由于在博弈環境下,預期回報會受到對手策略的影響,而在紅藍戰機空戰博弈中,一般無法預測到對手的動作。在此基礎上,本文采用Minimax算法選取隨機博弈的最優策略。假設對手擁有高水平決策能力,在藍方選取使紅方收益最小的動作的前提下,紅方選取使自己收益最大的動作,該思想與追逃博弈類似。Minimax算法的意義在于,在最壞的情況下獲取最大的回報。
MDP的價值函數表示最優策略所獲得的預期折扣回報和,狀態值函數V(s)和狀態動作值函數Q(s,a)的公式如下:

(4)
式中,T(s,a,o,s′)表示狀態s經過動作a,o到達狀態s′的轉移概率。
由此可得,隨機博弈狀態s下的最優值函數V(s)可表示為
(5)
式中,PD(A)表示動作的離散概率分布。根據式(5)可以使用線性規劃約束方法求得狀態s下的最優策略π和最優值函數V。
對于狀態s下紅方動作a及藍方動作o的動作狀態值函數Q(s,a,o)為

(6)
通過上述的遞歸方程可以經過迭代求得收斂的最優值函數,進而得到最優策略π。
由于紅藍雙方戰機對抗屬于混合策略博弈,即博弈雙方選擇某一動作并不是確定的,而是對所有動作都有一個選擇概率,此概率就是通過線性規劃求得的最優策略π。因此本文采用輪盤賭選擇法進行動作選擇,個體的適應度越高,被選擇的概率越大。
由于在博弈情境下,轉移函數難以確定,對于式(6)中使用值迭代求解MDP的傳統方法涉及的狀態轉移函數T,可以利用強化學習中的異步更新方式Q-learning[31]替代。
Q-learning利用時間差分目標來更新當前行為值函數,每當狀態s采取動作a轉換到狀態s′時得到獎勵r進行更新:
Q(s,a)=r+γV(s′)
(7)
由于執行更新的概率正是T(s,a,s′),所以可以取代轉移函數。將Q-learning的方法應用到隨機博弈中,式(6)可轉化為
Qt(s,a,o)=(1-α)Qt-1(s,a,o)+α(r+γV(s′))
(8)
式中,α代表學習效率。
與傳統的Q-learning相比,Minimax-Q方法結合了博弈論的思想,用Minimax值替換了Q-learning中的最大值,以得到博弈條件下需要的最優策略。
此外,由第2.2節可知,紅藍雙方戰機對抗的空戰博弈所涉及的狀態為連續無限空間,所以需要用到深度學習神經網絡處理特征。因此,將Minimax-Q方法進一步拓展,加入深度神經網絡來逼近值函數,利用經驗回放訓練強化學習的學習過程,并設置獨立的目標網絡來處理時間差分目標。
DQN將Q-learning中的線性函數逼近以神經網絡參數形式非線性逼近,可以處理空戰博弈下高維度的非線性輸入數據。DQN的行為值函數對應一組參數,在神經網絡里對應每層網絡的權重,用θ表示,更新值函數實際上就是更新θ參數[32]。

將智能體與環境交互得到的當前狀態s、紅方采取的動作a、藍方采取的動作o、對應的獎勵值r以及執行動作到達的下一狀態s′作為一個五元組{s,a,o,r,s′}存儲到記憶庫。記憶庫的大小是有限的,當記錄庫存儲滿后,新一組數據會覆蓋記憶庫中的第一組數據。從記憶庫中隨機抽取一定大小的數據作為訓練樣本,并計算出目標Q值來訓練神經網絡,計算目標Q值的方式即式(8)。
由于強化學習是試錯學習,要通過環境反饋的獎勵Reward來優化損失函數,損失函數為loss=(target_q-q)2,采用的優化方法為梯度下降。用神經網絡逼近值函數時,若計算目標值函數的網絡與梯度計算逼近值函數的網絡參數相同,會因為數據的關聯性導致訓練結果不穩定。因此需要定義兩個神經網絡,目標網絡與Q網絡的結構完全相同,但內部的參數不同。目標網絡擁有Q網絡一段時間以前的參數,這組參數被固定一段時間后,再將Q網絡的最新參數傳遞給目標網絡[31]。
Minimax-DQN具體訓練過程如圖3所示。

圖3 Minimax-DQN訓練過程示意圖Fig.3 Schematic diagram of Minimax-DQN training process
總結上述內容給出Minimax-DQN的算法步驟如下。
步驟 1初始化:給定紅藍雙方一個初始狀態,初始化記憶庫,設置觀察值。
步驟 2創建兩個神經網絡分別為Q網絡和目標網絡,Q網絡參數為θ,目標網絡參數θ-=θ。神經網絡輸入為狀態s,輸出為動作狀態值函數Q,學習一定次數后,將Q網絡的參數拷貝給目標網絡。
循環遍歷:
步驟 3紅方智能體根據當前狀態s按照策略π選擇動作a并執行,得到下一狀態s′以及獲得的獎勵r。觀測藍方智能體在狀態s下選取的動作o,將{s,a,o,r,s′}五元組存儲到記憶庫中。依據空戰態勢的復雜多樣性,設置記憶庫存儲上限為100 000組數據。
步驟 4從中記憶庫中隨機抽取256組數據作為一個訓練樣本。將訓練樣本的s′值作為神經網絡的輸入,根據神經網絡輸出得到狀態s′下的Q(s′)。
步驟 5根據式(5)使用線性規劃得到Minimax狀態值V(s′),再根據式(8)計算出目標Q值target_q。
步驟 6計算損失函數
loss=(target_q-Q(s,a,o,θ))2,采用梯度下降法進行優化,更新Q網絡參數。
循環結束
步驟 7根據式(5)使用訓練好的神經網絡輸出的Q值進行線性規劃求解得到最優策略π。
根據上述算法,可得到算法流程圖如圖4所示。

圖4 Minimax-DQN算法流程圖Fig.4 Flow chart of Minimax-DQN algorithm

首先,紅方根據Minimax-DQN算法選取策略,藍方采用隨機策略,若紅方勝利則獎勵值r=1,若藍方勝利則r=-1,若飛出限定地圖范圍則r=0。訓練10 000個回合后,停止神經網絡的學習。圖5為算法訓練過程中的損失變化圖,橫坐標為訓練步數,縱坐標為神經網絡每次訓練的損失,可以看出隨著訓練步數的增加,訓練損失逐漸下降最終收斂趨近于0,滿足了訓練要求。

圖5 網絡訓練損失變化圖Fig.5 Change diagram of network training loss
訓練完成后,紅藍雙方根據價值網絡得出各自策略進行1 000次博弈對抗,最終得到的博弈獲勝結果如圖6所示。

圖6 Minimax-DQN對抗隨機策略Fig.6 Confrontation between Minimax-DQN and random strategy
實驗結果中,采用Minimax-DQN算法的紅方獲勝次數為307次,采用隨機策略的藍方獲勝12次,另外有681局平局。紅方在對抗中取得了較為優秀的成績,證明了算法在博弈條件下的可行性。需要注意的是,該算法的重點是利用了線性規劃求出的Minimax值函數V去更新神經網絡中的Q值。本文在同樣的情景條件及相同網絡參數情況下,紅方采用傳統DQN算法選取最優策略,藍方采用隨機策略,得到的博弈結果如圖7所示。其中,采用DQN算法的紅方獲勝次數為212次,采用隨機策略藍方獲勝15次,另外有773局平局。對比圖6與圖7可以看出,藍方采用的隨機策略對抗性較差,而Minimax-DQN和DQN兩種算法都可以在博弈情景下生成對抗策略,但Minimax-DQN算法的勝率比DQN更高,說明該算法相較DQN算法能夠更準確有效地作出決策,引導戰機占領有利的態勢位置。

圖7 DQN對抗隨機策略Fig.7 Confrontation between DQN and random strategy
由于對局中平局次數較多,本文對兩種算法的結果進行進一步分析,發現Minimax-DQN算法博弈結果中獎勵值為0的對局,消耗的平均對抗步數約為45步,而DQN算法相同情況消耗的平均對抗步數約為82步。下面對雙方獎勵值為0的具有代表性的對局進行可視化,如圖8所示。對比圖8兩種算法的對局可以發現,Minimax-DQN算法達成平局主要是由于在紅方達到優勢區域前飛出了限定地圖范圍,因此平均步數較小。而DQN算法存在無法針對對手動作采取有效對抗策略的問題,因此在地圖中消耗的步數更大。

圖8 兩種算法的平局對局Fig.8 Draw game of two algorithms
接下來,將上述兩種算法進行對抗比較,紅方智能體采用Minimax-DQN算法訓練后的網絡生成策略,而藍方智能體采取DQN算法生成策略進行博弈對抗1 000次,得到的博弈結果如下圖9所示。

圖9 Minimax-DQN對抗DQNFig.9 Confrontation between Minimax-DQN and DQN
圖9的實驗結果中,采用Minimax-DQN算法的紅方獲勝次數為501次,采用DQN算法的藍方獲勝49次,另外有450局平局。對比圖6可以發現,Minimax-DQN算法的獲勝次數增加,平局數減少,在對手實力越強的情況下算法表現越好,驗證了Minimax算法在最壞情況下表現出最大回報的性質。
圖10為紅方隨機生成一個初始態勢后與藍方進行博弈對抗的仿真可視化軌跡圖。圖11為對抗過程中紅方戰機的狀態變量圖。可以看到,紅方戰機不斷調整自己的狀態最終占據了優勢地位。

圖10 紅方隨機態勢下的博弈對抗軌跡Fig.10 Game confrontation trajectory under the red random state


圖11 紅方戰機狀態變量Fig.11 State variables of the red fighter
為了測試4種典型初始態勢下,紅藍雙方的博弈對抗情況,進行了仿真測試如圖12所示,4組對局分別為紅方優勢對局、紅方劣勢對局、雙方均勢對局和雙方中立對局。

圖12 博弈對抗軌跡Fig.12 Trajectory of game confrontation
圖12(a)中,紅方戰機初始坐標位于藍方戰機西方500 m處,航跡偏角φb=30°,兩機距離小,紅方戰機達到攻擊藍機條件,紅方處于優勢。可以看出藍方戰機想掉頭改變局勢,但被紅方戰機利用初始位置的優勢攔截,紅方率先達到優勢態勢。圖12(b)中,紅方戰機初始坐標位于藍方戰機東方500 m處,航跡偏角φb=30°,兩機距離小,藍方戰機達到攻擊紅機條件,紅方處于劣勢。可以看出紅方戰機率先掉頭改變局勢,利用角度偏差最終扭轉局面獲得勝利。圖12(c)中,紅方戰機初始坐標位于藍方戰機東方500 m處,航跡偏角φb=150°,兩機距離小,雙方均達到攻擊對方條件,兩機處于均勢。紅藍雙方同時轉向,紅方率先拉近距離并取得角度優勢,最終獲勝。圖12(d)中紅方戰機初始坐標位于藍方戰機西方1 000 m處,航跡偏角φb=150°,兩機距離大,雙方均不滿足攻擊對方條件,兩機處于均勢。可以看出依舊是紅方率先拉近距離,從左后方占據優勢態勢。
由4組仿真實驗可以看出,紅方能在任意初始態勢下,利用決策最終占據有利態勢,驗證了算法的有效性。
結合上述仿真實驗結果及對比分析,Minimax-DQN算法結合了博弈思想來更新神經網絡值函數,具有較好的適應性和智能性,能夠在博弈場景下準確地作出有效決策來引導戰機占據有利的態勢位置。
本文采用深度強化學習與博弈相結合的方法,提出了一種可解決空戰中紅藍雙方戰機對抗機動決策問題的算法,即Minimax-DQN算法。該算法利用深度學習神經網絡來處理空戰中戰機高維連續的態勢特征,并引入強化學習決策模型,通過與環境交互訓練智能體,最后采用Minimax算法構建線性規劃求解出納什均衡策略,得到戰機的最優機動決策。
目前本文通過空戰仿真實驗驗證了算法的可行性,下一步的工作將加入高度影響,將仿真環境從二維拓展到三維,并考慮雷達和武器情況進行現代空戰的研究,使算法適應更加復雜的戰場環境,還將由一對一空戰決策問題拓展到多對多的集群協同作戰中的博弈智能問題研究。