馬 文, 李 輝,, 王 壯, 黃志勇, 吳昭欣, 陳希亮
(1. 四川大學(xué)計(jì)算機(jī)學(xué)院, 四川 成都 610065; 2. 四川大學(xué)視覺(jué)合成圖形圖像技術(shù)國(guó)家級(jí)重點(diǎn)實(shí)驗(yàn)室, 四川 成都 610065; 3.陸軍工程大學(xué)指揮控制工程學(xué)院, 江蘇 南京 210007)
自1991年海灣戰(zhàn)爭(zhēng)開(kāi)創(chuàng)了空中力量為主贏得戰(zhàn)爭(zhēng)勝利的歷史,空中力量在現(xiàn)代戰(zhàn)爭(zhēng)中起著越來(lái)越重要的作用,制空權(quán)的爭(zhēng)奪很大程度上決定了戰(zhàn)爭(zhēng)的勝負(fù)[1]。然而空中作戰(zhàn)形勢(shì)瞬息萬(wàn)變,需要采集的信息極為復(fù)雜,使得作戰(zhàn)方在感知空戰(zhàn)態(tài)勢(shì)后做出決策變得困難,傳統(tǒng)方法無(wú)法實(shí)現(xiàn)快速準(zhǔn)確的空戰(zhàn)策略[2]。因此,如何根據(jù)雙方作戰(zhàn)態(tài)勢(shì)選取有利且精確有效的空戰(zhàn)機(jī)動(dòng)策略是空中作戰(zhàn)的重要研究方向。
國(guó)內(nèi)外學(xué)者進(jìn)行了相關(guān)研究,并提出了很多空戰(zhàn)策略生成方法,傳統(tǒng)方法包括:影響圖[3]、專家系統(tǒng)法[4]、微分對(duì)策法[5]、矩陣對(duì)策法[6]等。這些方法在一定程度上為空戰(zhàn)決策提供了有效的解決方案,但也有較大的局限。如遺傳算法的機(jī)動(dòng)決策具有一定主觀性;專家系統(tǒng)法的可適應(yīng)性較差;微分對(duì)策法計(jì)算量過(guò)大,求解困難;矩陣對(duì)策法存在難以確保實(shí)時(shí)性等。
近年來(lái),空戰(zhàn)決策的研究也日益增多,文獻(xiàn)[7]引入博弈論的思想,提出了構(gòu)建自由空戰(zhàn)指揮引導(dǎo)對(duì)策模型的思路,但并未給出仿真結(jié)果。文獻(xiàn)[8]提出了一種結(jié)合近似動(dòng)態(tài)規(guī)劃與零和博弈的在線積分策略迭代算法,解決了機(jī)動(dòng)決策建模存在的“維數(shù)災(zāi)難”問(wèn)題,但有學(xué)習(xí)周期偏長(zhǎng)、難以應(yīng)付復(fù)雜機(jī)動(dòng)等缺點(diǎn)。文獻(xiàn)[9]利用多狀態(tài)轉(zhuǎn)移馬爾可夫網(wǎng)絡(luò)構(gòu)建機(jī)動(dòng)決策網(wǎng)絡(luò),滿足了空戰(zhàn)決策的實(shí)時(shí)性要求,但未利用網(wǎng)絡(luò)參數(shù)進(jìn)行學(xué)習(xí)。文獻(xiàn)[10]提出一種進(jìn)化式的專家系統(tǒng)樹(shù)方法來(lái)研究空戰(zhàn)決策,解決了傳統(tǒng)專家系統(tǒng)方法無(wú)法應(yīng)付非預(yù)期情況的問(wèn)題,但其設(shè)定的仿真環(huán)境較為簡(jiǎn)單。文獻(xiàn)[11]提出了一種矩陣對(duì)策法與遺傳算法相結(jié)合的空戰(zhàn)決策算法,建立了無(wú)人機(jī)空戰(zhàn)決策模型,滿足空戰(zhàn)合理性與實(shí)時(shí)性需求,但只對(duì)直線和S型飛行兩種藍(lán)色戰(zhàn)機(jī)模型進(jìn)行了仿真研究。
隨著人工智能的發(fā)展,出現(xiàn)了越來(lái)越多人工智能在博弈中戰(zhàn)勝人類的事例:2016年人工智能Alpha飛行員打敗了一位美國(guó)空軍上校[12]。2018年,AlphaGo Zero在3天內(nèi)自學(xué)了3種棋類游戲,輕而易舉戰(zhàn)勝了最優(yōu)秀的人類棋手[13]。這些事例表現(xiàn)出了人工智能在智能決策方面的極大潛能。以最著名的AlphaGo為例,其主要運(yùn)用了深度強(qiáng)化學(xué)習(xí)方法。深度強(qiáng)化學(xué)習(xí)將深度學(xué)習(xí)的感知能力和強(qiáng)化學(xué)習(xí)的決策能力相結(jié)合,是一種更接近人類思維方式的人工智能方法[14]。深度強(qiáng)化學(xué)習(xí)適合解決連續(xù)決策問(wèn)題,而空戰(zhàn)博弈正屬于此類問(wèn)題[15],因此從深度強(qiáng)化學(xué)習(xí)入手研究空戰(zhàn)策略方法是一種可行思路。
本文將深度強(qiáng)化學(xué)習(xí)與博弈相結(jié)合,提出了一種基于深度強(qiáng)化學(xué)習(xí)的算法——Minimax-深度Q網(wǎng)絡(luò)(deep Q network,DQN)。該方法使用Minimax算法[16]構(gòu)建線性規(guī)劃來(lái)求解每個(gè)特定狀態(tài)階段博弈的納什均衡策略,并引入DQN來(lái)更新動(dòng)作狀態(tài)值函數(shù),以得到一種針對(duì)高決策水平對(duì)手的最優(yōu)策略。
本文為研究空戰(zhàn)中紅藍(lán)雙方戰(zhàn)機(jī)的對(duì)抗情況,獲得一種對(duì)紅方有利的最優(yōu)空戰(zhàn)策略,需要用到博弈論以及深度強(qiáng)化學(xué)習(xí)的理論知識(shí)。
本文研究的空戰(zhàn)博弈實(shí)際上就是紅藍(lán)雙方的對(duì)抗過(guò)程,雙方的競(jìng)爭(zhēng)性質(zhì)可以利用博弈論的知識(shí)概括。博弈論是研究決策者在決策主體各方相互作用的情況下,如何進(jìn)行決策以及有關(guān)該決策的均衡問(wèn)題的理論[17],被廣泛應(yīng)用于軍事問(wèn)題研究。
(1)
則為一個(gè)納什均衡。
本文研究的紅藍(lán)雙方戰(zhàn)機(jī)對(duì)抗情況與追逃博弈有密切聯(lián)系,追逃博弈將參與雙方定義為追蹤者和逃脫者,在博弈過(guò)程中博弈各方均以紅方最大利益為目標(biāo),一方的得益必然導(dǎo)致另一方的損失,二者的得失總和為零[19],本文涉及的博弈類型也稱二人零和博弈。并且追逃博弈考慮的是紅方在最差情況下的對(duì)抗策略優(yōu)化設(shè)計(jì),即縱使藍(lán)方采用非常智能的機(jī)動(dòng)方式,紅方仍可獲得可以接受的對(duì)抗效果,且得到的結(jié)果是全局最優(yōu)[20]。本文以此為研究思路,處理空戰(zhàn)中紅藍(lán)雙方戰(zhàn)機(jī)的對(duì)抗問(wèn)題,并引入深度強(qiáng)化學(xué)習(xí)知識(shí)。
馬爾可夫決策過(guò)程(Markov decision process, MDP)是指決策者周期性地或連續(xù)性地觀察具有馬爾可夫性的隨機(jī)動(dòng)態(tài)系統(tǒng),序貫地作出決策[21],即根據(jù)當(dāng)前的觀測(cè)狀態(tài)選擇一個(gè)動(dòng)作執(zhí)行到達(dá)下一步的狀態(tài),下一步的狀態(tài)只與當(dāng)前的狀態(tài)和動(dòng)作有關(guān)。
MDP是強(qiáng)化學(xué)習(xí)的基礎(chǔ)。強(qiáng)化學(xué)習(xí)是智能體以“試錯(cuò)”的方式進(jìn)行學(xué)習(xí),通過(guò)與環(huán)境進(jìn)行交互獲得的獎(jiǎng)賞指導(dǎo)行為,使智能體獲得最大的獎(jiǎng)賞[22]。強(qiáng)化學(xué)習(xí)適用于解決連續(xù)決策問(wèn)題,因此可以應(yīng)用于解決空戰(zhàn)中紅藍(lán)雙方戰(zhàn)機(jī)對(duì)抗的決策問(wèn)題[23]。
深度學(xué)習(xí)通過(guò)構(gòu)建基于表示的多層機(jī)器學(xué)習(xí)模型,訓(xùn)練海量數(shù)據(jù),學(xué)習(xí)有用特征,以達(dá)到提升識(shí)別、分類或預(yù)測(cè)的準(zhǔn)確性[24]。深度學(xué)習(xí)具有較強(qiáng)的感知能力,但缺乏一定的決策力,因此將深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)相結(jié)合,為系統(tǒng)的感知決策問(wèn)題提供了解決思路。
深度強(qiáng)化學(xué)習(xí)將深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)結(jié)合,用神經(jīng)網(wǎng)絡(luò)來(lái)擬合強(qiáng)化學(xué)習(xí)中的價(jià)值函數(shù)和策略函數(shù),解決了強(qiáng)化學(xué)習(xí)狀態(tài)空間較小的局限性[25]。由于本文研究的紅藍(lán)雙方戰(zhàn)機(jī)對(duì)抗的空戰(zhàn)策略問(wèn)題中,狀態(tài)特征是連續(xù)多維的,因此可采用深度強(qiáng)化學(xué)習(xí)中基于價(jià)值函數(shù)的經(jīng)典DQN算法[26]解決該問(wèn)題。
由于空戰(zhàn)博弈是一個(gè)動(dòng)態(tài)過(guò)程,而傳統(tǒng)博弈一般是單步的,因此需要從傳統(tǒng)博弈拓展到隨機(jī)博弈。
MDP包含一個(gè)玩家和多個(gè)狀態(tài),而矩陣博弈包含多個(gè)玩家和一個(gè)狀態(tài)。對(duì)于具有多個(gè)玩家和多個(gè)狀態(tài)的博弈,定義了一種MDP與矩陣博弈相結(jié)合的博弈方法,稱為馬爾可夫博弈,即隨機(jī)博弈[27]。
隨機(jī)博弈可表示為一個(gè)元組[28],(n,S,A1,A2,…,An,T,γ,R1,R2,…,Rn),其中包含的要素如下。
(1) 個(gè)數(shù)n:表示玩家數(shù)量。
(2) 狀態(tài)S:狀態(tài)是對(duì)環(huán)境的描述,在智能體做出動(dòng)作后,狀態(tài)會(huì)發(fā)生改變,其演變具有馬爾可夫性。
(3) 動(dòng)作A:動(dòng)作是對(duì)智能體行為的描述,是決策的結(jié)果。動(dòng)作空間可以是離散或連續(xù)的。
(4) 轉(zhuǎn)移函數(shù)T:由給定玩家當(dāng)前狀態(tài)s和每個(gè)智能體的一個(gè)動(dòng)作Ai控制,轉(zhuǎn)移概率在[0,1]之間。
(5) 折扣因子γ:折扣因子是對(duì)未來(lái)獎(jiǎng)勵(lì)的衰減,γ∈[0,1]。
(6) 回報(bào)函數(shù)R:表示指定玩家在狀態(tài)s采取聯(lián)合行為(A1,A2,…,An)后在狀態(tài)s′處取得的回報(bào)。
隨機(jī)博弈環(huán)境中的每個(gè)智能體都由一組狀態(tài)S和一組動(dòng)作集A1,A2,…,Ak定義,狀態(tài)轉(zhuǎn)換由當(dāng)前狀態(tài)s和每個(gè)智能體的一個(gè)動(dòng)作Ai控制,每個(gè)智能體都有一個(gè)相關(guān)的獎(jiǎng)勵(lì)函數(shù),試圖最大化其預(yù)期的折扣獎(jiǎng)勵(lì)之和。與MDP類似,隨機(jī)博弈中玩家下一狀態(tài)和回報(bào)只取決于當(dāng)前狀態(tài)和所有玩家的當(dāng)前行為。求解隨機(jī)博弈需要找到一個(gè)策略π,使得具有折扣因子γ的玩家的未來(lái)折扣回報(bào)最大化。
(2)
其中航跡偏角的限制范圍為[-180°,180°],滾轉(zhuǎn)角的范圍受實(shí)際飛機(jī)最大轉(zhuǎn)彎能力限制,具體如圖1所示。紅方戰(zhàn)機(jī)的目標(biāo)是在藍(lán)方戰(zhàn)機(jī)背后取得并保持優(yōu)勢(shì)地位,可使用視界角(angle of aspect, AA)和天線偏轉(zhuǎn)角(antenna train angle, ATA)來(lái)量化此優(yōu)勢(shì)位置。此外,航向交叉角(heading crossing angle, HCA)也用于描述紅藍(lán)戰(zhàn)機(jī)之間的朝向差異。
圖1 紅藍(lán)雙方戰(zhàn)機(jī)相對(duì)幾何關(guān)系Fig.1 Relative geometric relationship between the red and the blue fighters
本文將紅藍(lán)雙方戰(zhàn)機(jī)作為智能體,以二人零和博弈為條件對(duì)空戰(zhàn)博弈進(jìn)行建模。根據(jù)第1.2節(jié)可知,隨機(jī)需要確定一個(gè)元組(n,S,A1,A2,…,An,T,γ,R1,R2,…,Rn),根據(jù)此一元組來(lái)構(gòu)建空戰(zhàn)中的隨機(jī)博弈模型。
2.2.1 隨機(jī)博弈模型
首先需要確定隨機(jī)博弈環(huán)境中每個(gè)智能體需要的狀態(tài)空間S、動(dòng)作空間A和獎(jiǎng)勵(lì)函數(shù)R,智能體為當(dāng)前狀態(tài)s決策選擇一個(gè)動(dòng)作Ai到達(dá)下一個(gè)狀態(tài)s′,并得到與環(huán)境交互后反饋獎(jiǎng)勵(lì)r,然后進(jìn)行下一輪交互,由此實(shí)現(xiàn)循環(huán)。
(1) 個(gè)數(shù)n:紅藍(lán)雙方戰(zhàn)機(jī)對(duì)抗中玩家數(shù)量n為2。
由于戰(zhàn)機(jī)的狀態(tài)空間是連續(xù)無(wú)限空間,所以需要用到深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)來(lái)處理這些特征。
(3) 動(dòng)作A:戰(zhàn)機(jī)的可選機(jī)動(dòng)動(dòng)作設(shè)置為向左滾轉(zhuǎn)、維持滾轉(zhuǎn)和向右滾轉(zhuǎn),分別用L,S,R代表這3種可選動(dòng)作,構(gòu)建離散的動(dòng)作空間,則紅方的動(dòng)作空間為Ar={L,S,R},同理藍(lán)方動(dòng)作空間為Ab={L,S,R}。
(4) 轉(zhuǎn)移函數(shù)T:以紅方為例,紅方當(dāng)前狀態(tài)s在紅方根據(jù)策略選擇的動(dòng)作a與對(duì)手藍(lán)方選擇的動(dòng)作o的聯(lián)合行為(a,o)影響下,轉(zhuǎn)移到下一狀態(tài)s′的概率。
(5) 折扣因子γ:折扣因子在[0,1]中選取,一般為0.9左右。
(6) 回報(bào)函數(shù)R:在隨機(jī)博弈中,使用MDP的Q值來(lái)表示即時(shí)收益。以Q(s,a,o)表示每個(gè)狀態(tài)s下,己方采取動(dòng)作a及藍(lán)方采取動(dòng)作o的預(yù)期獎(jiǎng)勵(lì)。根據(jù)導(dǎo)彈的攻擊區(qū)域,設(shè)定到達(dá)導(dǎo)彈可攻擊范圍為有利態(tài)勢(shì)。對(duì)于紅方的獎(jiǎng)勵(lì)值r,若紅方到達(dá)有利態(tài)勢(shì)返回r=1,若對(duì)手藍(lán)方到達(dá)有利態(tài)勢(shì)則r=-1,其余情況r=0。
2.2.2 戰(zhàn)機(jī)優(yōu)勢(shì)獎(jiǎng)勵(lì)函數(shù)
本文參考文獻(xiàn)[29]中定義的有利態(tài)勢(shì)區(qū)域來(lái)選擇占位,且暫不涉及4代、5代紅外近距格斗導(dǎo)彈的前向攻擊能力[30]。以二維平面內(nèi)的空戰(zhàn)對(duì)抗為例,紅方戰(zhàn)機(jī)的優(yōu)勢(shì)區(qū)域,如圖2所示。
圖2 紅方戰(zhàn)機(jī)優(yōu)勢(shì)區(qū)域Fig.2 Dominant area of the red fighter
紅方戰(zhàn)機(jī)取得優(yōu)勢(shì)需要滿足4個(gè)條件:① 紅方戰(zhàn)機(jī)與藍(lán)方戰(zhàn)機(jī)的歐氏距離D在Dmin到Dmax范圍內(nèi),該區(qū)域根據(jù)戰(zhàn)機(jī)的速度和武器攻擊范圍決定;② 紅方戰(zhàn)機(jī)與藍(lán)方戰(zhàn)機(jī)的高度差H在Hmin到Hmax范圍內(nèi),該范圍由戰(zhàn)機(jī)的速度和武器攻擊范圍決定;③ 紅方戰(zhàn)機(jī)的AA在指定視界范圍內(nèi);④ 紅方戰(zhàn)機(jī)的ATA在指定ATA范圍內(nèi)。同時(shí)滿足以上4個(gè)條件則判定紅方取得優(yōu)勢(shì),并獲得獎(jiǎng)勵(lì)值r=1,即占據(jù)有利態(tài)勢(shì)的要求如下所示:
(3)
2.2.3 隨機(jī)博弈價(jià)值函數(shù)
對(duì)于多人隨機(jī)博弈,已知回報(bào)函數(shù)和轉(zhuǎn)移函數(shù),期望求得其納什均衡解,即每個(gè)智能體的聯(lián)合策略,智能體的策略就是動(dòng)作空間的概率分布。由于在博弈環(huán)境下,預(yù)期回報(bào)會(huì)受到對(duì)手策略的影響,而在紅藍(lán)戰(zhàn)機(jī)空戰(zhàn)博弈中,一般無(wú)法預(yù)測(cè)到對(duì)手的動(dòng)作。在此基礎(chǔ)上,本文采用Minimax算法選取隨機(jī)博弈的最優(yōu)策略。假設(shè)對(duì)手擁有高水平?jīng)Q策能力,在藍(lán)方選取使紅方收益最小的動(dòng)作的前提下,紅方選取使自己收益最大的動(dòng)作,該思想與追逃博弈類似。Minimax算法的意義在于,在最壞的情況下獲取最大的回報(bào)。
MDP的價(jià)值函數(shù)表示最優(yōu)策略所獲得的預(yù)期折扣回報(bào)和,狀態(tài)值函數(shù)V(s)和狀態(tài)動(dòng)作值函數(shù)Q(s,a)的公式如下:
(4)
式中,T(s,a,o,s′)表示狀態(tài)s經(jīng)過(guò)動(dòng)作a,o到達(dá)狀態(tài)s′的轉(zhuǎn)移概率。
由此可得,隨機(jī)博弈狀態(tài)s下的最優(yōu)值函數(shù)V(s)可表示為
(5)
式中,PD(A)表示動(dòng)作的離散概率分布。根據(jù)式(5)可以使用線性規(guī)劃約束方法求得狀態(tài)s下的最優(yōu)策略π和最優(yōu)值函數(shù)V。
對(duì)于狀態(tài)s下紅方動(dòng)作a及藍(lán)方動(dòng)作o的動(dòng)作狀態(tài)值函數(shù)Q(s,a,o)為
(6)
通過(guò)上述的遞歸方程可以經(jīng)過(guò)迭代求得收斂的最優(yōu)值函數(shù),進(jìn)而得到最優(yōu)策略π。
由于紅藍(lán)雙方戰(zhàn)機(jī)對(duì)抗屬于混合策略博弈,即博弈雙方選擇某一動(dòng)作并不是確定的,而是對(duì)所有動(dòng)作都有一個(gè)選擇概率,此概率就是通過(guò)線性規(guī)劃求得的最優(yōu)策略π。因此本文采用輪盤賭選擇法進(jìn)行動(dòng)作選擇,個(gè)體的適應(yīng)度越高,被選擇的概率越大。
由于在博弈情境下,轉(zhuǎn)移函數(shù)難以確定,對(duì)于式(6)中使用值迭代求解MDP的傳統(tǒng)方法涉及的狀態(tài)轉(zhuǎn)移函數(shù)T,可以利用強(qiáng)化學(xué)習(xí)中的異步更新方式Q-learning[31]替代。
Q-learning利用時(shí)間差分目標(biāo)來(lái)更新當(dāng)前行為值函數(shù),每當(dāng)狀態(tài)s采取動(dòng)作a轉(zhuǎn)換到狀態(tài)s′時(shí)得到獎(jiǎng)勵(lì)r進(jìn)行更新:
Q(s,a)=r+γV(s′)
(7)
由于執(zhí)行更新的概率正是T(s,a,s′),所以可以取代轉(zhuǎn)移函數(shù)。將Q-learning的方法應(yīng)用到隨機(jī)博弈中,式(6)可轉(zhuǎn)化為
Qt(s,a,o)=(1-α)Qt-1(s,a,o)+α(r+γV(s′))
(8)
式中,α代表學(xué)習(xí)效率。
與傳統(tǒng)的Q-learning相比,Minimax-Q方法結(jié)合了博弈論的思想,用Minimax值替換了Q-learning中的最大值,以得到博弈條件下需要的最優(yōu)策略。
此外,由第2.2節(jié)可知,紅藍(lán)雙方戰(zhàn)機(jī)對(duì)抗的空戰(zhàn)博弈所涉及的狀態(tài)為連續(xù)無(wú)限空間,所以需要用到深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)處理特征。因此,將Minimax-Q方法進(jìn)一步拓展,加入深度神經(jīng)網(wǎng)絡(luò)來(lái)逼近值函數(shù),利用經(jīng)驗(yàn)回放訓(xùn)練強(qiáng)化學(xué)習(xí)的學(xué)習(xí)過(guò)程,并設(shè)置獨(dú)立的目標(biāo)網(wǎng)絡(luò)來(lái)處理時(shí)間差分目標(biāo)。
DQN將Q-learning中的線性函數(shù)逼近以神經(jīng)網(wǎng)絡(luò)參數(shù)形式非線性逼近,可以處理空戰(zhàn)博弈下高維度的非線性輸入數(shù)據(jù)。DQN的行為值函數(shù)對(duì)應(yīng)一組參數(shù),在神經(jīng)網(wǎng)絡(luò)里對(duì)應(yīng)每層網(wǎng)絡(luò)的權(quán)重,用θ表示,更新值函數(shù)實(shí)際上就是更新θ參數(shù)[32]。
將智能體與環(huán)境交互得到的當(dāng)前狀態(tài)s、紅方采取的動(dòng)作a、藍(lán)方采取的動(dòng)作o、對(duì)應(yīng)的獎(jiǎng)勵(lì)值r以及執(zhí)行動(dòng)作到達(dá)的下一狀態(tài)s′作為一個(gè)五元組{s,a,o,r,s′}存儲(chǔ)到記憶庫(kù)。記憶庫(kù)的大小是有限的,當(dāng)記錄庫(kù)存儲(chǔ)滿后,新一組數(shù)據(jù)會(huì)覆蓋記憶庫(kù)中的第一組數(shù)據(jù)。從記憶庫(kù)中隨機(jī)抽取一定大小的數(shù)據(jù)作為訓(xùn)練樣本,并計(jì)算出目標(biāo)Q值來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò),計(jì)算目標(biāo)Q值的方式即式(8)。
由于強(qiáng)化學(xué)習(xí)是試錯(cuò)學(xué)習(xí),要通過(guò)環(huán)境反饋的獎(jiǎng)勵(lì)Reward來(lái)優(yōu)化損失函數(shù),損失函數(shù)為loss=(target_q-q)2,采用的優(yōu)化方法為梯度下降。用神經(jīng)網(wǎng)絡(luò)逼近值函數(shù)時(shí),若計(jì)算目標(biāo)值函數(shù)的網(wǎng)絡(luò)與梯度計(jì)算逼近值函數(shù)的網(wǎng)絡(luò)參數(shù)相同,會(huì)因?yàn)閿?shù)據(jù)的關(guān)聯(lián)性導(dǎo)致訓(xùn)練結(jié)果不穩(wěn)定。因此需要定義兩個(gè)神經(jīng)網(wǎng)絡(luò),目標(biāo)網(wǎng)絡(luò)與Q網(wǎng)絡(luò)的結(jié)構(gòu)完全相同,但內(nèi)部的參數(shù)不同。目標(biāo)網(wǎng)絡(luò)擁有Q網(wǎng)絡(luò)一段時(shí)間以前的參數(shù),這組參數(shù)被固定一段時(shí)間后,再將Q網(wǎng)絡(luò)的最新參數(shù)傳遞給目標(biāo)網(wǎng)絡(luò)[31]。
Minimax-DQN具體訓(xùn)練過(guò)程如圖3所示。
圖3 Minimax-DQN訓(xùn)練過(guò)程示意圖Fig.3 Schematic diagram of Minimax-DQN training process
總結(jié)上述內(nèi)容給出Minimax-DQN的算法步驟如下。
步驟 1初始化:給定紅藍(lán)雙方一個(gè)初始狀態(tài),初始化記憶庫(kù),設(shè)置觀察值。
步驟 2創(chuàng)建兩個(gè)神經(jīng)網(wǎng)絡(luò)分別為Q網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò),Q網(wǎng)絡(luò)參數(shù)為θ,目標(biāo)網(wǎng)絡(luò)參數(shù)θ-=θ。神經(jīng)網(wǎng)絡(luò)輸入為狀態(tài)s,輸出為動(dòng)作狀態(tài)值函數(shù)Q,學(xué)習(xí)一定次數(shù)后,將Q網(wǎng)絡(luò)的參數(shù)拷貝給目標(biāo)網(wǎng)絡(luò)。
循環(huán)遍歷:
步驟 3紅方智能體根據(jù)當(dāng)前狀態(tài)s按照策略π選擇動(dòng)作a并執(zhí)行,得到下一狀態(tài)s′以及獲得的獎(jiǎng)勵(lì)r。觀測(cè)藍(lán)方智能體在狀態(tài)s下選取的動(dòng)作o,將{s,a,o,r,s′}五元組存儲(chǔ)到記憶庫(kù)中。依據(jù)空戰(zhàn)態(tài)勢(shì)的復(fù)雜多樣性,設(shè)置記憶庫(kù)存儲(chǔ)上限為100 000組數(shù)據(jù)。
步驟 4從中記憶庫(kù)中隨機(jī)抽取256組數(shù)據(jù)作為一個(gè)訓(xùn)練樣本。將訓(xùn)練樣本的s′值作為神經(jīng)網(wǎng)絡(luò)的輸入,根據(jù)神經(jīng)網(wǎng)絡(luò)輸出得到狀態(tài)s′下的Q(s′)。
步驟 5根據(jù)式(5)使用線性規(guī)劃得到Minimax狀態(tài)值V(s′),再根據(jù)式(8)計(jì)算出目標(biāo)Q值target_q。
步驟 6計(jì)算損失函數(shù)
loss=(target_q-Q(s,a,o,θ))2,采用梯度下降法進(jìn)行優(yōu)化,更新Q網(wǎng)絡(luò)參數(shù)。
循環(huán)結(jié)束
步驟 7根據(jù)式(5)使用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)輸出的Q值進(jìn)行線性規(guī)劃求解得到最優(yōu)策略π。
根據(jù)上述算法,可得到算法流程圖如圖4所示。
圖4 Minimax-DQN算法流程圖Fig.4 Flow chart of Minimax-DQN algorithm
首先,紅方根據(jù)Minimax-DQN算法選取策略,藍(lán)方采用隨機(jī)策略,若紅方勝利則獎(jiǎng)勵(lì)值r=1,若藍(lán)方勝利則r=-1,若飛出限定地圖范圍則r=0。訓(xùn)練10 000個(gè)回合后,停止神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)。圖5為算法訓(xùn)練過(guò)程中的損失變化圖,橫坐標(biāo)為訓(xùn)練步數(shù),縱坐標(biāo)為神經(jīng)網(wǎng)絡(luò)每次訓(xùn)練的損失,可以看出隨著訓(xùn)練步數(shù)的增加,訓(xùn)練損失逐漸下降最終收斂趨近于0,滿足了訓(xùn)練要求。
圖5 網(wǎng)絡(luò)訓(xùn)練損失變化圖Fig.5 Change diagram of network training loss
訓(xùn)練完成后,紅藍(lán)雙方根據(jù)價(jià)值網(wǎng)絡(luò)得出各自策略進(jìn)行1 000次博弈對(duì)抗,最終得到的博弈獲勝結(jié)果如圖6所示。
圖6 Minimax-DQN對(duì)抗隨機(jī)策略Fig.6 Confrontation between Minimax-DQN and random strategy
實(shí)驗(yàn)結(jié)果中,采用Minimax-DQN算法的紅方獲勝次數(shù)為307次,采用隨機(jī)策略的藍(lán)方獲勝12次,另外有681局平局。紅方在對(duì)抗中取得了較為優(yōu)秀的成績(jī),證明了算法在博弈條件下的可行性。需要注意的是,該算法的重點(diǎn)是利用了線性規(guī)劃求出的Minimax值函數(shù)V去更新神經(jīng)網(wǎng)絡(luò)中的Q值。本文在同樣的情景條件及相同網(wǎng)絡(luò)參數(shù)情況下,紅方采用傳統(tǒng)DQN算法選取最優(yōu)策略,藍(lán)方采用隨機(jī)策略,得到的博弈結(jié)果如圖7所示。其中,采用DQN算法的紅方獲勝次數(shù)為212次,采用隨機(jī)策略藍(lán)方獲勝15次,另外有773局平局。對(duì)比圖6與圖7可以看出,藍(lán)方采用的隨機(jī)策略對(duì)抗性較差,而Minimax-DQN和DQN兩種算法都可以在博弈情景下生成對(duì)抗策略,但Minimax-DQN算法的勝率比DQN更高,說(shuō)明該算法相較DQN算法能夠更準(zhǔn)確有效地作出決策,引導(dǎo)戰(zhàn)機(jī)占領(lǐng)有利的態(tài)勢(shì)位置。
圖7 DQN對(duì)抗隨機(jī)策略Fig.7 Confrontation between DQN and random strategy
由于對(duì)局中平局次數(shù)較多,本文對(duì)兩種算法的結(jié)果進(jìn)行進(jìn)一步分析,發(fā)現(xiàn)Minimax-DQN算法博弈結(jié)果中獎(jiǎng)勵(lì)值為0的對(duì)局,消耗的平均對(duì)抗步數(shù)約為45步,而DQN算法相同情況消耗的平均對(duì)抗步數(shù)約為82步。下面對(duì)雙方獎(jiǎng)勵(lì)值為0的具有代表性的對(duì)局進(jìn)行可視化,如圖8所示。對(duì)比圖8兩種算法的對(duì)局可以發(fā)現(xiàn),Minimax-DQN算法達(dá)成平局主要是由于在紅方達(dá)到優(yōu)勢(shì)區(qū)域前飛出了限定地圖范圍,因此平均步數(shù)較小。而DQN算法存在無(wú)法針對(duì)對(duì)手動(dòng)作采取有效對(duì)抗策略的問(wèn)題,因此在地圖中消耗的步數(shù)更大。
圖8 兩種算法的平局對(duì)局Fig.8 Draw game of two algorithms
接下來(lái),將上述兩種算法進(jìn)行對(duì)抗比較,紅方智能體采用Minimax-DQN算法訓(xùn)練后的網(wǎng)絡(luò)生成策略,而藍(lán)方智能體采取DQN算法生成策略進(jìn)行博弈對(duì)抗1 000次,得到的博弈結(jié)果如下圖9所示。
圖9 Minimax-DQN對(duì)抗DQNFig.9 Confrontation between Minimax-DQN and DQN
圖9的實(shí)驗(yàn)結(jié)果中,采用Minimax-DQN算法的紅方獲勝次數(shù)為501次,采用DQN算法的藍(lán)方獲勝49次,另外有450局平局。對(duì)比圖6可以發(fā)現(xiàn),Minimax-DQN算法的獲勝次數(shù)增加,平局?jǐn)?shù)減少,在對(duì)手實(shí)力越強(qiáng)的情況下算法表現(xiàn)越好,驗(yàn)證了Minimax算法在最壞情況下表現(xiàn)出最大回報(bào)的性質(zhì)。
圖10為紅方隨機(jī)生成一個(gè)初始態(tài)勢(shì)后與藍(lán)方進(jìn)行博弈對(duì)抗的仿真可視化軌跡圖。圖11為對(duì)抗過(guò)程中紅方戰(zhàn)機(jī)的狀態(tài)變量圖??梢钥吹?,紅方戰(zhàn)機(jī)不斷調(diào)整自己的狀態(tài)最終占據(jù)了優(yōu)勢(shì)地位。
圖10 紅方隨機(jī)態(tài)勢(shì)下的博弈對(duì)抗軌跡Fig.10 Game confrontation trajectory under the red random state
圖11 紅方戰(zhàn)機(jī)狀態(tài)變量Fig.11 State variables of the red fighter
為了測(cè)試4種典型初始態(tài)勢(shì)下,紅藍(lán)雙方的博弈對(duì)抗情況,進(jìn)行了仿真測(cè)試如圖12所示,4組對(duì)局分別為紅方優(yōu)勢(shì)對(duì)局、紅方劣勢(shì)對(duì)局、雙方均勢(shì)對(duì)局和雙方中立對(duì)局。
圖12 博弈對(duì)抗軌跡Fig.12 Trajectory of game confrontation
圖12(a)中,紅方戰(zhàn)機(jī)初始坐標(biāo)位于藍(lán)方戰(zhàn)機(jī)西方500 m處,航跡偏角φb=30°,兩機(jī)距離小,紅方戰(zhàn)機(jī)達(dá)到攻擊藍(lán)機(jī)條件,紅方處于優(yōu)勢(shì)??梢钥闯鏊{(lán)方戰(zhàn)機(jī)想掉頭改變局勢(shì),但被紅方戰(zhàn)機(jī)利用初始位置的優(yōu)勢(shì)攔截,紅方率先達(dá)到優(yōu)勢(shì)態(tài)勢(shì)。圖12(b)中,紅方戰(zhàn)機(jī)初始坐標(biāo)位于藍(lán)方戰(zhàn)機(jī)東方500 m處,航跡偏角φb=30°,兩機(jī)距離小,藍(lán)方戰(zhàn)機(jī)達(dá)到攻擊紅機(jī)條件,紅方處于劣勢(shì)。可以看出紅方戰(zhàn)機(jī)率先掉頭改變局勢(shì),利用角度偏差最終扭轉(zhuǎn)局面獲得勝利。圖12(c)中,紅方戰(zhàn)機(jī)初始坐標(biāo)位于藍(lán)方戰(zhàn)機(jī)東方500 m處,航跡偏角φb=150°,兩機(jī)距離小,雙方均達(dá)到攻擊對(duì)方條件,兩機(jī)處于均勢(shì)。紅藍(lán)雙方同時(shí)轉(zhuǎn)向,紅方率先拉近距離并取得角度優(yōu)勢(shì),最終獲勝。圖12(d)中紅方戰(zhàn)機(jī)初始坐標(biāo)位于藍(lán)方戰(zhàn)機(jī)西方1 000 m處,航跡偏角φb=150°,兩機(jī)距離大,雙方均不滿足攻擊對(duì)方條件,兩機(jī)處于均勢(shì)。可以看出依舊是紅方率先拉近距離,從左后方占據(jù)優(yōu)勢(shì)態(tài)勢(shì)。
由4組仿真實(shí)驗(yàn)可以看出,紅方能在任意初始態(tài)勢(shì)下,利用決策最終占據(jù)有利態(tài)勢(shì),驗(yàn)證了算法的有效性。
結(jié)合上述仿真實(shí)驗(yàn)結(jié)果及對(duì)比分析,Minimax-DQN算法結(jié)合了博弈思想來(lái)更新神經(jīng)網(wǎng)絡(luò)值函數(shù),具有較好的適應(yīng)性和智能性,能夠在博弈場(chǎng)景下準(zhǔn)確地作出有效決策來(lái)引導(dǎo)戰(zhàn)機(jī)占據(jù)有利的態(tài)勢(shì)位置。
本文采用深度強(qiáng)化學(xué)習(xí)與博弈相結(jié)合的方法,提出了一種可解決空戰(zhàn)中紅藍(lán)雙方戰(zhàn)機(jī)對(duì)抗機(jī)動(dòng)決策問(wèn)題的算法,即Minimax-DQN算法。該算法利用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)來(lái)處理空戰(zhàn)中戰(zhàn)機(jī)高維連續(xù)的態(tài)勢(shì)特征,并引入強(qiáng)化學(xué)習(xí)決策模型,通過(guò)與環(huán)境交互訓(xùn)練智能體,最后采用Minimax算法構(gòu)建線性規(guī)劃求解出納什均衡策略,得到戰(zhàn)機(jī)的最優(yōu)機(jī)動(dòng)決策。
目前本文通過(guò)空戰(zhàn)仿真實(shí)驗(yàn)驗(yàn)證了算法的可行性,下一步的工作將加入高度影響,將仿真環(huán)境從二維拓展到三維,并考慮雷達(dá)和武器情況進(jìn)行現(xiàn)代空戰(zhàn)的研究,使算法適應(yīng)更加復(fù)雜的戰(zhàn)場(chǎng)環(huán)境,還將由一對(duì)一空戰(zhàn)決策問(wèn)題拓展到多對(duì)多的集群協(xié)同作戰(zhàn)中的博弈智能問(wèn)題研究。