張 誠, 劉會斌, 瞿崇曉, 夏少杰, 朱燎原, 范長軍
(中國電子科技集團(tuán)公司第五十二研究所,杭州,311100)
在現(xiàn)代空戰(zhàn)中,機(jī)載武器的作戰(zhàn)效能和飛行員的作戰(zhàn)能力的充分發(fā)揮是克敵制勝的關(guān)鍵。世界各大主要軍事強(qiáng)國歷來高度重視空戰(zhàn)的戰(zhàn)術(shù)對抗訓(xùn)練及考核。隨著計算機(jī)技術(shù)的發(fā)展,外軍先后開發(fā)了多代空中對抗訓(xùn)練系統(tǒng),不僅對系統(tǒng)的功能和性能要求越來越高,訓(xùn)練效果也越來越貼近實(shí)戰(zhàn)[1]。訓(xùn)練評估已成為我軍推進(jìn)軍事訓(xùn)練科學(xué)化、精細(xì)化的重要手段[2]。
無論是實(shí)戰(zhàn)訓(xùn)練評估還是空戰(zhàn)系統(tǒng)仿真訓(xùn)練評估,大多數(shù)情況下都需要由訓(xùn)練評估人員根據(jù)對戰(zhàn)回放數(shù)據(jù)進(jìn)行人工評估,這個過程既耗時又難以迅速發(fā)現(xiàn)關(guān)鍵節(jié)點(diǎn)。目前,國內(nèi)外對于空戰(zhàn)訓(xùn)練評估的研究主要側(cè)重于訓(xùn)練評估方法,較少關(guān)注如何縮短評估時效[3-7]。因此,如何有效縮短訓(xùn)練評估時間、提高評估效率,正成為研究熱點(diǎn)。對此本文提出一種基于勝率預(yù)測的關(guān)鍵節(jié)點(diǎn)確定方法。
本文方法基于紅藍(lán)雙方進(jìn)行空戰(zhàn)模擬對抗的場景,通過數(shù)據(jù)接口獲取空戰(zhàn)對抗的實(shí)時態(tài)勢數(shù)據(jù)。在對數(shù)據(jù)進(jìn)行篩選和預(yù)處理后,將其輸入訓(xùn)練平臺中,并基于長短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)訓(xùn)練實(shí)時勝率預(yù)測模型。在模型訓(xùn)練完成之后,將經(jīng)過預(yù)處理的空戰(zhàn)實(shí)時對抗數(shù)據(jù)輸入訓(xùn)練好的勝率預(yù)測模型,以預(yù)測紅藍(lán)雙方的實(shí)時勝率。針對紅方,對比當(dāng)前時刻與前一時刻的勝率,做出如下判定:當(dāng)勝率差的絕對值超過預(yù)先設(shè)定的閾值時,即認(rèn)為當(dāng)前時刻發(fā)生了關(guān)鍵事件,并將當(dāng)前時刻確定為關(guān)鍵事件節(jié)點(diǎn)。
采用本文提出的方法,空戰(zhàn)訓(xùn)練評估人員在進(jìn)行訓(xùn)練評估時無需回放全部對抗數(shù)據(jù),只需要回放被本方案認(rèn)定的關(guān)鍵事件節(jié)點(diǎn),判斷導(dǎo)致該時刻實(shí)時勝率發(fā)生超出閾值變化的原因,就可以更高效地評估機(jī)載武器和飛行員的作戰(zhàn)能力,同時也有利于對訓(xùn)練過程中的戰(zhàn)術(shù)運(yùn)用及武器運(yùn)用的效果進(jìn)行復(fù)盤。具體流程見圖1。
圖1 基于勝率預(yù)測的空戰(zhàn)關(guān)鍵節(jié)點(diǎn)確定方法流程
勝率預(yù)測模型的訓(xùn)練需要大量數(shù)據(jù)的支撐,這些數(shù)據(jù)的數(shù)量和質(zhì)量都將影響模型的準(zhǔn)確率[8-10]。本文通過在自研的仿真推演系統(tǒng)中模擬紅藍(lán)雙方的空戰(zhàn)對抗來獲取訓(xùn)練數(shù)據(jù)。該仿真推演系統(tǒng)可支持自定義想定,實(shí)現(xiàn)不同數(shù)量、不同掛載、不同機(jī)型的紅藍(lán)雙方戰(zhàn)機(jī)推演對抗。具體地,在系統(tǒng)中通過隨機(jī)初始化機(jī)型、初始位置、掛載等想定來進(jìn)行空戰(zhàn)仿真推演,并從數(shù)據(jù)接口獲取態(tài)勢數(shù)據(jù)并保存。在此基礎(chǔ)上,對每架飛機(jī)的態(tài)勢數(shù)據(jù)進(jìn)行篩選,以期提升訓(xùn)練效果。篩選后的態(tài)勢數(shù)據(jù)項(xiàng)見圖2。
圖2 優(yōu)選的態(tài)勢數(shù)據(jù)構(gòu)成
數(shù)據(jù)收集完成后,對態(tài)勢數(shù)據(jù)進(jìn)行篩選和歸一化,將類別數(shù)據(jù)編碼成One-Hot的形式,并對數(shù)值數(shù)據(jù)進(jìn)行極大極小值歸一化:
遍歷所有對局每一時刻的態(tài)勢數(shù)據(jù),根據(jù)當(dāng)前一局的勝負(fù)情況給出該局所有時刻態(tài)勢數(shù)據(jù)的對應(yīng)標(biāo)簽。標(biāo)簽根據(jù)勝負(fù)狀態(tài)來確定,即若某一局藍(lán)方戰(zhàn)敗紅方勝利,則將該局所有時刻的態(tài)勢數(shù)據(jù)標(biāo)簽都置為[1,0];若某一局紅方戰(zhàn)敗藍(lán)方勝利,則將該局所有時刻的態(tài)勢數(shù)據(jù)標(biāo)簽都置為[0,1]。
在設(shè)計與訓(xùn)練勝率預(yù)測模型之前,要先將數(shù)據(jù)樣本轉(zhuǎn)化成特定的數(shù)據(jù)結(jié)構(gòu),以便于適配LSTM神經(jīng)網(wǎng)絡(luò)。默認(rèn)紅藍(lán)雙方最大的飛機(jī)數(shù)量為10架,則每個數(shù)據(jù)樣本對應(yīng)一個長度為20的序列,其中的每一項(xiàng)對應(yīng)一架飛機(jī)的數(shù)據(jù),也即第2.1節(jié)描述的數(shù)據(jù)采集與預(yù)處理后的態(tài)勢向量。若紅方或藍(lán)方未滿10架,則將其數(shù)據(jù)序列對應(yīng)的位置以零填充。如此一來,一個數(shù)據(jù)樣本就轉(zhuǎn)變成一個按照紅藍(lán)方飛機(jī)編號排序的長度為20的數(shù)據(jù)序列。為了能夠分析出這些序列數(shù)據(jù)中的隱藏特征,本文選用長短期記憶網(wǎng)絡(luò)結(jié)構(gòu),并設(shè)計了一個專用的LSTM模型來作為勝率預(yù)測的模型。
LSTM是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),被設(shè)計用來處理和預(yù)測序列化數(shù)據(jù),如時間序列、語音信號、自然語言文本等。LSTM網(wǎng)絡(luò)的核心組件是記憶單元,它通過維護(hù)一個內(nèi)部狀態(tài)來保留長期依賴信息[11-14]。
LSTM網(wǎng)絡(luò)的結(jié)構(gòu)比傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)更加復(fù)雜,但這種復(fù)雜性賦予了LSTM處理和記住序列中的長期依賴性的能力。它通過引入了門機(jī)制(gate mechanism)來實(shí)現(xiàn)這種能力。
在LSTM中,一個單元包含一個Cell。圖3中的Ct表示一個LSTM Cell的狀態(tài)。σ表示Sigmoid函數(shù):
LSTM通過門結(jié)構(gòu)對狀態(tài)信息進(jìn)行控制,對需要長期記憶的信息進(jìn)行保存,并對后續(xù)無影響的信息進(jìn)行舍棄[15]。LSTM中共有遺忘門、輸入門和輸出門3個門結(jié)構(gòu),每個Cell通過這些門結(jié)構(gòu)來更新自身的狀態(tài)。
遺忘門控制上一個時間節(jié)點(diǎn)的信息是否要寫入:
ft=σ(Wf[ht-1,xt]+bf)
(3)
輸入門選擇什么樣的信息能夠?qū)懭隒ell狀態(tài):
it=σ(Wi[ht-1,xt]+bi)
(4)
輸出門確定輸出什么值,輸出的值基于當(dāng)前的Cell狀態(tài):
ot=σ(Wo[ht-1,xt]+bo)
(7)
ht=ot*tanh(Ct)
(8)
圖3 LSTM單元結(jié)構(gòu)圖
根據(jù)采集的空戰(zhàn)數(shù)據(jù)特性,設(shè)計了圖4中的LSTM網(wǎng)絡(luò)結(jié)構(gòu),包含輸入層、3層LSTM隱藏層以及輸出層,通過該網(wǎng)絡(luò)結(jié)構(gòu)對空戰(zhàn)數(shù)據(jù)進(jìn)行訓(xùn)練。
在圖4中,輸入層輸入經(jīng)過歸一化預(yù)處理后的紅藍(lán)雙方戰(zhàn)機(jī)態(tài)勢數(shù)據(jù),每10個隱藏層對應(yīng)1個LSTM循環(huán)單元,輸出層經(jīng)過全連接層后分為2個輸出分別代表紅藍(lán)方的特征值,再經(jīng)過Softmax層輸出紅藍(lán)方勝率。Softmax的表達(dá)式為:
(9)
采用交叉熵?fù)p失函數(shù)評估網(wǎng)絡(luò)預(yù)測與真實(shí)標(biāo)簽的差異,并采用Adam優(yōu)化方法通過反向傳播來更新網(wǎng)絡(luò)參數(shù)。交叉熵?fù)p失函數(shù)表達(dá)式為:
(10)
式中:p為樣本真實(shí)分布;q為預(yù)測分布。
圖4 勝率預(yù)測網(wǎng)絡(luò)模型結(jié)構(gòu)圖
本文采用閾值法對關(guān)鍵節(jié)點(diǎn)進(jìn)行判定。具體地,計算當(dāng)前時刻與上一時刻的預(yù)測勝率差值的絕對值,并將絕對值大于閾值的時刻認(rèn)定為影響勝負(fù)的關(guān)鍵時間節(jié)點(diǎn)。由于閾值的大小會直接影響關(guān)鍵事件和非關(guān)鍵事件的區(qū)分度,因此閾值的選取十分重要。這里引入最大類間方差法來輔助進(jìn)行閾值的選取[16-17],將所有時刻發(fā)生的事件被分為關(guān)鍵事件和非關(guān)鍵事件。假設(shè),2類事件勝率差的均值為u0和u1,發(fā)生概率為w0和w1,則2類事件的類間方差g為:
g=w0w1(u0-u1)2
(11)
當(dāng)g為最大值時,這2類事件之間的區(qū)分度最大。通過這種方法,根據(jù)采集的勝率預(yù)測訓(xùn)練數(shù)據(jù)樣本以及相鄰時刻預(yù)測的勝率差絕對值即可選取得到閾值,并確定關(guān)鍵節(jié)點(diǎn)。
在仿真推演系統(tǒng)中,通過模擬紅藍(lán)雙方空戰(zhàn)對抗,采集并處理了2 806局對戰(zhàn)態(tài)勢數(shù)據(jù),共獲得1 009 157個數(shù)據(jù)樣本。為了評估模型泛化能力,將所有樣本按7∶3的比例分為訓(xùn)練集和測試集。模型訓(xùn)練僅使用訓(xùn)練集,每輪訓(xùn)練完成后利用未曾用于訓(xùn)練的測試集來驗(yàn)證模型性能,以評估模型泛化能力。訓(xùn)練過程中準(zhǔn)確率和損失值的變化曲線分別見圖5和圖6。
圖5 訓(xùn)練準(zhǔn)確率變化趨勢圖
圖6 訓(xùn)練損失值變化趨勢圖
從圖5和圖6可以看出,經(jīng)過20個回合的訓(xùn)練,模型的損失值逐漸降低,準(zhǔn)確率平穩(wěn)升高,最終模型在訓(xùn)練集和測試集上的準(zhǔn)確率分別收斂到了94.22%和98.56%。這說明所設(shè)計的網(wǎng)絡(luò)模型具有良好的性能和較強(qiáng)的泛化能力,能夠?qū)ξ从?xùn)練的空戰(zhàn)場景進(jìn)行勝率預(yù)測。
將2 806局態(tài)勢數(shù)據(jù)輸入上述訓(xùn)練得到的勝率預(yù)測模型,統(tǒng)計相鄰時刻輸出的預(yù)測勝率差的絕對值,發(fā)現(xiàn)最大的預(yù)測勝率差的絕對值為32.0%。為了計算當(dāng)閾值取何值時類間方差g能取得最大值,從0.1%至32.0%,每間隔0.1%來對閾值進(jìn)行采樣,并計算相應(yīng)的g值,結(jié)果如圖7所示。
圖7 不同閾值對應(yīng)的類間方差值
從圖7中可見,類間方差g值隨閾值的不同而變化;當(dāng)閾值為9.1%時,類間方差g取得最大值4.887 9。這說明在前后勝率差的絕對值大于9.1%的那個時間點(diǎn),發(fā)生了影響戰(zhàn)局的關(guān)鍵事件,因此將這一時刻認(rèn)定為關(guān)鍵節(jié)點(diǎn)。
為了驗(yàn)證勝率預(yù)測模型的實(shí)際預(yù)測效果以及閾值選取的合理性,在所有樣本中隨機(jī)選取5局?jǐn)?shù)據(jù)輸入勝率預(yù)測模型,記錄其勝率變化,并統(tǒng)計勝率變化絕對值大于閾值的情況。由于該5局對戰(zhàn)為樣本中隨機(jī)選取,因此這5局對戰(zhàn)的想定也各不相同,紅藍(lán)雙方數(shù)量也不同,具體結(jié)果如圖8所示。
在圖8所示5局模擬對戰(zhàn)中,由勝率預(yù)測模型輸出了仿真過程不同時間點(diǎn)的紅方勝率變化。在5局對戰(zhàn)中,第1、2、5局紅方獲勝,第3、4局藍(lán)方獲勝。5局中最終獲勝方在對局終止前的預(yù)測勝率均大于90%,且勝率預(yù)測曲線展現(xiàn)的戰(zhàn)局變化情況與實(shí)際情況較為符合。這說明勝率預(yù)測模型能夠較為真實(shí)地反映戰(zhàn)局的實(shí)際情況。
圖8 對局勝率變化圖
在5局對戰(zhàn)仿真中,共有13處前后時間節(jié)點(diǎn)的預(yù)測勝率差的絕對值大于9.1%,即認(rèn)為這13處為關(guān)鍵節(jié)點(diǎn)。表1展示了統(tǒng)計的預(yù)測勝率變化以及實(shí)際發(fā)生事件的具體情況,其中Red1、Blue1、Red2與Blue2等分別表示紅藍(lán)雙方戰(zhàn)機(jī)的不同戰(zhàn)機(jī)。
表1 對局關(guān)鍵節(jié)點(diǎn)事件統(tǒng)計情況
如表1所示,在每局預(yù)測勝率變化絕對值大于閾值9.1%時,確實(shí)有影響戰(zhàn)局的關(guān)鍵事件發(fā)生,且事件影響程度與勝率變化絕對值正向相關(guān)。
圖9為第1局中第1個關(guān)鍵節(jié)點(diǎn)的戰(zhàn)場俯視示意圖,其中左側(cè)藍(lán)色粗線條表示藍(lán)方飛機(jī)飛行軌跡,右側(cè)紅色粗線條表示紅方飛機(jī)飛行軌跡,紅色細(xì)線條表示紅色導(dǎo)彈軌跡。在第92 s時左上方藍(lán)方飛機(jī)Blue2被紅方2架飛機(jī)同時攻擊,藍(lán)方飛機(jī)也在試圖躲避,但從圖中的趨勢看,藍(lán)方飛機(jī)很大概率將被擊落。此時的預(yù)測勝率9.9%>9.1%,這說明本文采用的最大類間方差法選取的閾值較為合理,能夠篩選出關(guān)鍵事件節(jié)點(diǎn)。
圖9 第1局92 s戰(zhàn)場俯視示意圖
鑒于目前缺少識別空戰(zhàn)訓(xùn)練過程中關(guān)鍵事件節(jié)點(diǎn)的方法,本文提出了一種基于勝率預(yù)測的空戰(zhàn)關(guān)鍵節(jié)點(diǎn)確定方法。采取LSTM網(wǎng)絡(luò)來訓(xùn)練勝率預(yù)測模型,并引入最大類間方差法來確定關(guān)鍵節(jié)點(diǎn)閾值,將相鄰時刻勝率預(yù)測差的絕對值大于閾值的時刻確認(rèn)為關(guān)鍵節(jié)點(diǎn),最后進(jìn)行了大量的仿真實(shí)驗(yàn)來驗(yàn)證,結(jié)果表明,該方法具有良好的性能和泛化性,可應(yīng)用于各種空戰(zhàn)訓(xùn)練場景,為研究空戰(zhàn)訓(xùn)練評估的時效性提供了良好的開端。值得注意的是,本方案僅可根據(jù)勝率篩選出關(guān)鍵事件節(jié)點(diǎn),至于節(jié)點(diǎn)對應(yīng)的具體關(guān)鍵事件仍需人工判斷,如果要利用智能化手段直接判斷關(guān)鍵事件,還有待進(jìn)一步研究與解決。