張宏鵬,黃長強(qiáng),唐上欽,軒永波
(1.空軍工程大學(xué) 航空工程學(xué)院,陜西 西安 710038;2.空軍研究院,北京 100085)
自主空戰(zhàn)的關(guān)鍵技術(shù)主要有4個(gè)方面:目標(biāo)跟蹤技術(shù)、威脅評估技術(shù)、目標(biāo)軌跡預(yù)測技術(shù)和機(jī)動決策技術(shù)。其中,機(jī)動決策技術(shù)是指通過機(jī)動動作改變空戰(zhàn)雙方相對位置,從而獲得有利的攻擊位置或逃離敵機(jī)攻擊范圍,是自主空戰(zhàn)的核心技術(shù)。
目前,大多數(shù)機(jī)動決策方法[1-4]主要根據(jù)空戰(zhàn)雙方當(dāng)前狀態(tài)選擇有利的機(jī)動。例如,根據(jù)對方當(dāng)前坐標(biāo)計(jì)算出相對角度、相對距離和高度差(這些計(jì)算量統(tǒng)稱為狀態(tài)),根據(jù)這些狀態(tài)構(gòu)建態(tài)勢函數(shù),從動作庫中找出使態(tài)勢函數(shù)值最大的動作。另一種更先進(jìn)的機(jī)動決策方法建立在準(zhǔn)確預(yù)測對方軌跡的基礎(chǔ)上,首先預(yù)測出對方的軌跡,即對方在未來時(shí)刻可能的位置,然后根據(jù)預(yù)測結(jié)果選擇有利機(jī)動,由此保證所選擇的機(jī)動具有一定的預(yù)見性。另一方面,近距空戰(zhàn)的雙方軌跡變化較為劇烈,具有明顯的對抗性,要求準(zhǔn)確預(yù)測較短時(shí)間內(nèi)的敵機(jī)飛行軌跡。
文獻(xiàn)[5]提出基于Elman網(wǎng)絡(luò)的軌跡預(yù)測方法,對一段一對一空戰(zhàn)軌跡每隔0.25 s采樣一次,并從中取前5個(gè)連續(xù)時(shí)刻的位置為網(wǎng)絡(luò)輸入,第6個(gè)時(shí)刻的位置為輸出,訓(xùn)練了軌跡預(yù)測網(wǎng)絡(luò)。文獻(xiàn)[6]在文獻(xiàn)[5]基礎(chǔ)上使用混合變異粒子群優(yōu)化(HPSO)算法優(yōu)化預(yù)測網(wǎng)絡(luò)的初始權(quán)值,減小了網(wǎng)絡(luò)訓(xùn)練時(shí)間和預(yù)測誤差。文獻(xiàn)[7]先自適應(yīng)聚類目標(biāo)飛行軌跡,再使用反向傳播(BP)神經(jīng)網(wǎng)絡(luò)方法預(yù)測目標(biāo)軌跡,但BP網(wǎng)絡(luò)結(jié)構(gòu)自身的局限性導(dǎo)致預(yù)測結(jié)果誤差較大。文獻(xiàn)[8]從貝葉斯估計(jì)角度研究軌跡預(yù)測問題,并在動力學(xué)模型中考慮氣象和隨機(jī)風(fēng)場的影響,利用粒子濾波法求出貝葉斯估計(jì)問題的數(shù)值解。文獻(xiàn)[9]使用容積卡爾曼濾波方法進(jìn)行目標(biāo)機(jī)軌跡預(yù)測。文獻(xiàn)[10]提出基于隱馬爾科夫模型(HMM)的軌跡預(yù)測方法,在HMM基礎(chǔ)上結(jié)合自適應(yīng)參數(shù)選擇,使預(yù)測算法能自動調(diào)整預(yù)測軌跡段的長度。文獻(xiàn)[11]將遞歸最小二乘法與最優(yōu)導(dǎo)引律相結(jié)合,用于預(yù)測目標(biāo)在未來的位置并調(diào)整導(dǎo)彈狀態(tài),提高了導(dǎo)彈命中率。文獻(xiàn)[12]提出結(jié)合動態(tài)測量理論與灰色系統(tǒng)理論的軌跡預(yù)測方法,利用參數(shù)向量的最小方差估計(jì)值代替真實(shí)值,并將其代入微分方程中,求出軌跡預(yù)測值。文獻(xiàn)[13]提出使用長短時(shí)記憶(LSTM)神經(jīng)網(wǎng)絡(luò)方法預(yù)測多個(gè)目標(biāo)的軌跡,采用池化層以達(dá)到共享相鄰目標(biāo)信息的目的,結(jié)果表明該方法能減小預(yù)測多目標(biāo)軌跡時(shí)的預(yù)測誤差。文獻(xiàn)[14]使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)法預(yù)測不同數(shù)據(jù)集上行人的軌跡,結(jié)果表明CNN的預(yù)測誤差始終小于LSTM的預(yù)測誤差;在預(yù)測多個(gè)目標(biāo)的軌跡時(shí),CNN的效果優(yōu)于生成式對抗網(wǎng)絡(luò)(GAN),且CNN的預(yù)測用時(shí)始終最少。文獻(xiàn)[15]為解決晶體特性的預(yù)測問題提出晶體圖神經(jīng)網(wǎng)絡(luò)(CGCNN)的預(yù)測方法,利用CNN處理空間信息能力,根據(jù)晶體結(jié)構(gòu)圖進(jìn)行預(yù)測,結(jié)果表明預(yù)測準(zhǔn)確率較高。
當(dāng)前,深度學(xué)習(xí)技術(shù)飛速發(fā)展,其中LSTM和CNN是深度學(xué)習(xí)的主要工具。上述研究中,基于LSTM和CNN的預(yù)測方法大多是對平面上的軌跡進(jìn)行預(yù)測,對三維空間中的軌跡預(yù)測研究較少。為了提高近距空戰(zhàn)中軌跡預(yù)測的準(zhǔn)確率、減小預(yù)測用時(shí)并輔助機(jī)動決策,本文提出一種基于CNN的無人作戰(zhàn)飛機(jī)軌跡預(yù)測方法。首先指出基于過載的動力學(xué)模型存在的問題,并提出改進(jìn)方法。然后利用改進(jìn)后的模型,在不同初始條件下采用不同機(jī)動動作進(jìn)行飛行仿真,得到由87 120條不同的機(jī)動軌跡坐標(biāo)組成的集合,其中每條軌跡由空間中3個(gè)維度上的坐標(biāo)組成。最后從軌跡集合中取出訓(xùn)練和測試樣本。
本文的具體工作包括:設(shè)計(jì)并訓(xùn)練不同層數(shù)和卷積核個(gè)數(shù)的CNN,從中選出預(yù)測誤差最小的CNN;設(shè)計(jì)并訓(xùn)練不同隱藏層神經(jīng)元個(gè)數(shù)的LSTM網(wǎng)絡(luò),再比較各個(gè)網(wǎng)絡(luò)的預(yù)測誤差,從中選出預(yù)測誤差最小的LSTM網(wǎng)絡(luò);在相同的訓(xùn)練集上對與LSTM結(jié)構(gòu)相同的全連接神經(jīng)網(wǎng)絡(luò)(FCNN)以及傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)進(jìn)行訓(xùn)練;比較以上4種不同網(wǎng)絡(luò)的收斂情況、在測試集上的相對預(yù)測誤差以及預(yù)測所需時(shí)間,通過坐標(biāo)變換使軌跡預(yù)測網(wǎng)絡(luò)能預(yù)測任意初始位置和航向的軌跡;對比4種方法在一段空戰(zhàn)仿真軌跡上的預(yù)測結(jié)果及絕對誤差。
在研究空戰(zhàn)軌跡預(yù)測時(shí),采用以法向過載、切向過載和滾轉(zhuǎn)角為飛行操控量的飛機(jī)運(yùn)動動力學(xué)模型。為簡化問題復(fù)雜度,不考慮飛行過程中的迎角和側(cè)滑角,將地面坐標(biāo)系視為慣性坐標(biāo)系,同時(shí)忽略地球自轉(zhuǎn)及公轉(zhuǎn)的影響,并且不考慮地球曲率變化。具體公式[16]如下:
(1)
式中:v、γ和ψ分別為飛行速度、航跡俯仰角和航跡偏航角;g為重力加速度;μ為滾轉(zhuǎn)角;nx和nz分別為飛機(jī)切向過載和法向過載;x、y、z為飛機(jī)在慣性坐標(biāo)系中的坐標(biāo)。
由動力學(xué)模型中的偏航角速度計(jì)算公式可知,飛機(jī)的偏航角速度與其航跡俯仰角的余弦值呈反比。飛機(jī)在爬升、向斜上方機(jī)動或做筋斗機(jī)動時(shí),其航跡俯仰角會逐漸逼近90°,在此過程中偏航角速度也會逐漸增大。偏航角速度代表飛機(jī)在水平面內(nèi)改變方向的能力,但仿真中隨著航跡傾角的增大,偏航角速度會超過合理的范圍,實(shí)際中無法實(shí)現(xiàn)。分別用4°和0°的滾轉(zhuǎn)角進(jìn)行一個(gè)筋斗機(jī)動的仿真,得到軌跡曲線以及相應(yīng)的偏航角變化曲線如圖1所示。
圖1 原始模型Fig.1 Original model
理想情況下筋斗機(jī)動的滾轉(zhuǎn)角為0°,該軌跡應(yīng)該是一個(gè)在豎直平面中的二維曲線。由偏航角速度計(jì)算公式可知,此時(shí)偏航角速度為0 °/s,因此對筋斗機(jī)動的仿真未出現(xiàn)異常,從圖1(a)中也可看出此時(shí)軌跡是一個(gè)二維曲線。在實(shí)際情況中,筋斗機(jī)動開始時(shí)滾轉(zhuǎn)角可能會有一個(gè)微小的偏差,因此將滾轉(zhuǎn)角設(shè)為4°.此時(shí)偏航角速度不斷增大,導(dǎo)致偏航角出現(xiàn)不合理的改變,故無法獲得正確的筋斗仿真軌跡。從圖1(a)中可以看出,軌跡已經(jīng)變成1條空間中的三維曲線,且偏航角最大可達(dá)150°,此時(shí)的軌跡明顯不符合筋斗機(jī)動的特點(diǎn)。原因是仿真過程中航跡俯仰角越接近90°,其余弦值越接近0,而余弦值又在分母位置,因此偏航角速度急劇增大,從而導(dǎo)致偏航角增大。上述問題可通過對偏航角速度加以限制來解決,即為其設(shè)置一個(gè)閾值,超過該值后角速度不再增大。本文選擇飛機(jī)在初始速度為250 m/s、初始滾轉(zhuǎn)角為0°時(shí),向左上方以最大過載爬升6 s內(nèi)的最大偏航角速度ψmax為閾值。偏航角的計(jì)算公式如下:
(2)
利用改進(jìn)后的模型對滾轉(zhuǎn)角有4°偏差的筋斗機(jī)動飛行軌跡進(jìn)行仿真,原模型與改進(jìn)模型的對比結(jié)果如圖2所示。
圖2 不同模型對比Fig.2 Comparison of different models
由圖2可知,改進(jìn)模型能完成滾轉(zhuǎn)角存在微小偏差的筋斗機(jī)動,且偏航角始終處于一個(gè)合理的范圍內(nèi),符合筋斗機(jī)動的特點(diǎn)。目前大多數(shù)空戰(zhàn)研究文獻(xiàn)都采用該模型,但沒有明確指出偏航角速度的閾值。如果不對偏航角速度加以限制,則軌跡就會出現(xiàn)失真,并且俯仰角越大,軌跡失真越嚴(yán)重。
CNN是指那些至少在網(wǎng)絡(luò)某一層使用卷積運(yùn)算來代替一般矩陣乘法運(yùn)算的神經(jīng)網(wǎng)絡(luò)[17]。對CNN的研究起源于神經(jīng)科學(xué)實(shí)驗(yàn),遠(yuǎn)早于相關(guān)計(jì)算模型的發(fā)展。1962年Hubel等[18]通過生物學(xué)研究表明,從視網(wǎng)膜傳遞到大腦中的視覺信息是通過多層次的感受野激發(fā)完成的,并首先提出感受野的概念,其也被看作是卷積核的雛形。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)主要依靠矩陣乘法運(yùn)算,對每個(gè)輸入量、中間量和輸出量都賦予單獨(dú)的權(quán)重,因此大大增加了網(wǎng)絡(luò)的參數(shù)量。CNN采用卷積核作為參數(shù)共享的方式,卷積核的每一個(gè)元素都作用在輸入的每個(gè)位置上,在減少網(wǎng)絡(luò)所需要的存儲空間和訓(xùn)練時(shí)間的同時(shí),提高了模型的運(yùn)算能力。卷積核也與大腦視覺皮層不同位置只對局部區(qū)域有響應(yīng)的特點(diǎn)相對應(yīng)。同時(shí),CNN適合處理具有網(wǎng)格結(jié)構(gòu)的數(shù)據(jù),一維網(wǎng)格數(shù)據(jù)如時(shí)間序列,二維網(wǎng)格數(shù)據(jù)如圖像。
CNN處理時(shí)間序列的優(yōu)勢在于:軌跡數(shù)據(jù)本質(zhì)上是連續(xù)的,不存在濾波方法中所用到的復(fù)雜狀態(tài),而CNN本身就是一種端到端的方法,沒有復(fù)雜的狀態(tài)概念,可以直接根據(jù)歷史軌跡輸出未來軌跡,符合軌跡數(shù)據(jù)的本質(zhì);CNN的連接權(quán)重是稀疏的,因此既能減少存儲空間又能減小計(jì)算量,從而保證軌跡預(yù)測的實(shí)時(shí)性;CNN具有參數(shù)共享的特點(diǎn),由此可以保證CNN在處理時(shí)間序列時(shí)具有一定的記憶性。
2.2.1 軌跡預(yù)測模型
由于空戰(zhàn)雙方都想快速完成攻擊占位,近距空戰(zhàn)軌跡在三維空間中的起伏通常較大,且軌跡變化的頻率較高,很少出現(xiàn)控制量基本不變的巡航飛行狀態(tài)。另一方面,歷史軌跡所處的時(shí)刻距當(dāng)前時(shí)刻越遠(yuǎn)則其對未來時(shí)刻的軌跡影響越小,軌跡預(yù)測時(shí)輸入網(wǎng)絡(luò)的歷史數(shù)據(jù)越多并不一定能保證更高的預(yù)測準(zhǔn)確率。因此,參考文獻(xiàn)[6]對軌跡采樣間隔和網(wǎng)絡(luò)輸入的設(shè)置,本文取前8個(gè)時(shí)刻的軌跡坐標(biāo)作為網(wǎng)絡(luò)輸入,采樣間隔為0.25 s,網(wǎng)絡(luò)輸出為下一時(shí)刻的軌跡坐標(biāo)。具體方法是首先采集大量軌跡樣本并設(shè)計(jì)不同的網(wǎng)絡(luò)結(jié)構(gòu),利用軌跡樣本訓(xùn)練不同結(jié)構(gòu)的網(wǎng)絡(luò),從中選出預(yù)測精度最高的網(wǎng)絡(luò)結(jié)構(gòu)。再分別利用軌跡樣本上3個(gè)坐標(biāo)軸的分量,訓(xùn)練3個(gè)結(jié)構(gòu)相同的網(wǎng)絡(luò),使其能根據(jù)對應(yīng)坐標(biāo)軸的歷史數(shù)據(jù)預(yù)測軌跡下一時(shí)刻的坐標(biāo)分量,最后將3個(gè)分量組合為目標(biāo)下一時(shí)刻在空間中的位置。軌跡預(yù)測示意圖如圖3所示。
圖3 軌跡預(yù)測示意圖Fig.3 Schematic diagram of trajectory prediction
2.2.2 訓(xùn)練集與測試集采樣
近距空戰(zhàn)獲勝主要通過各種機(jī)動動作占據(jù)有利位置并達(dá)到導(dǎo)彈發(fā)射條件,這些機(jī)動動作可以被概括為一大類,即轉(zhuǎn)彎。因此,為提高軌跡預(yù)測網(wǎng)絡(luò)的實(shí)用性和近距空戰(zhàn)軌跡預(yù)測準(zhǔn)確率,本文不采用特定任務(wù)或背景下的軌跡數(shù)據(jù)作為訓(xùn)練樣本,而是從空戰(zhàn)機(jī)動動作出發(fā),通過對各種初始條件下不同的機(jī)動動作采樣,以構(gòu)建大量訓(xùn)練樣本,使其盡可能覆蓋空戰(zhàn)中可能出現(xiàn)的各種軌跡,再利用這些樣本訓(xùn)練網(wǎng)絡(luò)。若空戰(zhàn)中的歷史軌跡與訓(xùn)練樣本中的軌跡相似度較高,則此時(shí)軌跡預(yù)測的準(zhǔn)確率較高。這種方法的優(yōu)點(diǎn)是訓(xùn)練出的網(wǎng)絡(luò)具有一定通用性,可以用于不同空戰(zhàn)的軌跡預(yù)測。為盡可能覆蓋空戰(zhàn)中可能出現(xiàn)的機(jī)動動作,設(shè)置軌跡采樣范圍及間隔如表1所示。
表1 采樣范圍及間隔Tab.1 Sampling range and interval
表1顯示了不同初始條件下飛機(jī)采用不同機(jī)動動作的組合。由表1可知,軌跡預(yù)測樣本由87 120條軌跡組成,對數(shù)據(jù)進(jìn)行歸一化后,取其中82 120條軌跡作為訓(xùn)練集,剩余5 000條軌跡作為測試集,歸一化公式如下:
(3)
式中:xn為經(jīng)過歸一化的樣本;x為原始樣本;xmax為所有軌跡中x軸坐標(biāo)的最大值;xmin為最小值。y軸與z軸的歸一化與上述方法相同。
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)對預(yù)測準(zhǔn)確率的影響較大,為提高預(yù)測準(zhǔn)確率,首先要確定合適的網(wǎng)絡(luò)結(jié)構(gòu)。CNN軌跡預(yù)測網(wǎng)絡(luò)包括輸入層、隱藏層和輸出層,其中輸入層和輸出層已事先確定,確定網(wǎng)絡(luò)結(jié)構(gòu)就是要確定隱藏層的結(jié)構(gòu)。隱藏層結(jié)構(gòu)有3部分:隱藏層層數(shù)、每層的卷積核個(gè)數(shù)和卷積核的大小。由于輸入層只有8個(gè)數(shù)據(jù),將所有卷積核的大小都設(shè)置為1×3,且每層卷積核個(gè)數(shù)相同。
一方面,不同的網(wǎng)絡(luò)對應(yīng)著軌跡預(yù)測問題的一個(gè)局部最優(yōu)解,對于一定規(guī)模的神經(jīng)網(wǎng)絡(luò)而言,大部分局部最優(yōu)解都有很小的代價(jià)函數(shù),能否找到真正的全局最優(yōu)解并不重要;另一方面,理論上神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有無限多種可能,把每種結(jié)構(gòu)都嘗試一遍的代價(jià)太大。因此設(shè)置卷積層數(shù)為1、2、3、4、5、6和每層卷積核個(gè)數(shù)為4、5、6、7、8、9的組合,訓(xùn)練這36種不同結(jié)構(gòu)的網(wǎng)絡(luò),從中找出一個(gè)預(yù)測效果最好的。
本文共選擇FCNN、RNN和LSTM 3種不同方法進(jìn)行對比實(shí)驗(yàn),其中FCNN預(yù)測法從擬合多元函數(shù)的角度解決軌跡預(yù)測問題,而RNN預(yù)測法與LSTM預(yù)測法則將軌跡預(yù)測視為對時(shí)間序列的預(yù)測。與CNN不同,3種網(wǎng)絡(luò)沒有卷積核,因此只需確定網(wǎng)絡(luò)層數(shù)和每層神經(jīng)元個(gè)數(shù)。根據(jù)文獻(xiàn)[19]可知:當(dāng)有兩個(gè)隱藏層的網(wǎng)絡(luò)的兩個(gè)隱藏層節(jié)點(diǎn)數(shù)相近時(shí),網(wǎng)絡(luò)訓(xùn)練效果最好。網(wǎng)絡(luò)層數(shù)太多容易出現(xiàn)梯度消失或梯度爆炸,層數(shù)太少則會導(dǎo)致欠擬合。因此,本文設(shè)置LSTM為隱層節(jié)點(diǎn)數(shù)相同的雙隱藏層結(jié)構(gòu),分別訓(xùn)練節(jié)點(diǎn)數(shù)為18、20、22、24、26、28、30的網(wǎng)絡(luò),從中找出軌跡預(yù)測準(zhǔn)確率最高的節(jié)點(diǎn)數(shù),將其作為LSTM的最終結(jié)構(gòu),F(xiàn)CNN預(yù)測法與RNN預(yù)測法不再另外尋找新的結(jié)構(gòu),而是直接使用LSTM的最終結(jié)構(gòu)。
3.2.1 FCNN預(yù)測法
FCNN結(jié)構(gòu)示意如圖4所示。圖4中:x表示輸入層,是若干個(gè)用向量形式表示的特征;s表示隱藏層的輸出,隱藏層可以有多個(gè)神經(jīng)元,該層神經(jīng)元的個(gè)數(shù)即為s的維度;o為神經(jīng)網(wǎng)絡(luò)的輸出,具體個(gè)數(shù)依據(jù)問題的需要選定;U為輸入特征x與隱藏層全連接的權(quán)值矩陣;V為隱藏層與輸出層全連接的權(quán)值矩陣。
圖4 FCNN示意圖Fig.4 Schematic diagram of FCNN
FCNN整個(gè)結(jié)構(gòu)分為輸入層、隱藏層和輸出層。其中,F(xiàn)CNN中數(shù)據(jù)在各層之間單向傳遞,輸出量不會直接影響輸入量。只要神經(jīng)元個(gè)數(shù)充足,F(xiàn)CNN能夠以任意精度擬合任何一個(gè)從有限維空間到另一個(gè)有限維空間的Borel可測函數(shù)[20]。因此,從這個(gè)角度看,若將軌跡預(yù)測視為一個(gè)從以輸入量個(gè)數(shù)為維數(shù)的空間到一個(gè)一維空間的函數(shù),則這個(gè)函數(shù)可用FCNN擬合。
3.2.2 RNN預(yù)測法
與FCNN不同,RNN中每層神經(jīng)元的輸入不僅有上一層神經(jīng)元的輸出,還有本層的輸出,因此RNN具有一定的記憶能力。
軌跡預(yù)測問題也可以看作是處理有前后依賴性的時(shí)間序列問題,利用神經(jīng)網(wǎng)絡(luò)解決這類問題時(shí),如果網(wǎng)絡(luò)的輸出能夠結(jié)合前一時(shí)刻或后一時(shí)刻的輸入,則比起單向傳遞信號的網(wǎng)絡(luò),其處理時(shí)序信息的能力更強(qiáng)。因此本文采用RNN及其變體LSTM作為軌跡預(yù)測的對比方法。RNN的基本結(jié)構(gòu)如圖5所示。
圖5 RNN示意圖Fig.5 Schematic diagram of RNN
圖5中,W為前一隱藏層的輸出到本隱藏層輸入的權(quán)值矩陣。RNN與前饋網(wǎng)絡(luò)最大的區(qū)別在于,多了一個(gè)從上一次隱藏層的輸出到這一次隱藏層輸出的權(quán)值矩陣W.
3.2.3 LSTM預(yù)測法
與其他神經(jīng)網(wǎng)絡(luò)同樣,RNN在訓(xùn)練過程中也會出現(xiàn)梯度消失和梯度爆炸問題,從而導(dǎo)致梯度在BP過程中不能在較長序列中傳遞下去,使得訓(xùn)練過程無法完成。梯度爆炸的解決辦法與本文處理偏航角速度的辦法相同,即設(shè)置一個(gè)梯度閾值,梯度超過該閾值后不再增加;梯度消失主要通過設(shè)計(jì)特殊的網(wǎng)絡(luò)結(jié)構(gòu)解決,如LSTM.
傳統(tǒng)RNN對短期輸入很敏感,LSTM在其中加入一個(gè)單元狀態(tài)來記憶較長時(shí)間內(nèi)的信息。這種基于單元狀態(tài)的信息傳遞方式可有效克服傳統(tǒng)RNN的缺點(diǎn)。LSTM的詳細(xì)結(jié)構(gòu)如圖6所示。圖6中,σ為Sigmoid函數(shù),tanh為雙曲正切函數(shù),st為當(dāng)前時(shí)刻網(wǎng)絡(luò)的輸出,ct為當(dāng)前時(shí)刻網(wǎng)絡(luò)的單元狀態(tài),xt-1為上一時(shí)刻網(wǎng)絡(luò)的輸入,ft為當(dāng)前時(shí)刻遺忘門,it為當(dāng)前時(shí)刻輸入門,et為當(dāng)前時(shí)刻備選更新信息,ot為當(dāng)前時(shí)刻輸出門,Wf為遺忘門的權(quán)值矩陣,Wi為輸入門的權(quán)值矩陣,We為備選更新信息的權(quán)值矩陣,Wo為輸出門的權(quán)值矩陣。
圖6 LSTM結(jié)構(gòu)圖Fig.6 Structure chart of LSTM
由圖6可知,LSTM的輸入由3部分組成:當(dāng)前網(wǎng)絡(luò)的輸入xt、上一時(shí)刻網(wǎng)絡(luò)的輸出st-1和上一時(shí)刻網(wǎng)絡(luò)的單元狀態(tài)ct-1,LSTM的輸出為當(dāng)前網(wǎng)絡(luò)的輸出st和當(dāng)前網(wǎng)絡(luò)的狀態(tài)ct.LSTM引入了3種門結(jié)構(gòu)保護(hù)并記憶信息:遺忘門ft、輸入門it和輸出門ot.
遺忘門主要決定上一時(shí)刻的st-1和ct-1是否繼續(xù)存在于當(dāng)前時(shí)刻的ct中。遺忘門計(jì)算公式如下:
ft=σ(Wf[st-1,xt]+bf),
(4)
式中:bf為遺忘門偏置量;[st-1,xt]表示2個(gè)向量縱向連接;σ(Wf[st-1,xt]+bf)表示兩個(gè)矩陣Wf和[st-1,xt]相乘后加上偏置量,再用Sigmoid函數(shù)進(jìn)行計(jì)算。
輸入門主要決定當(dāng)前時(shí)刻的輸入xt有多少要傳到當(dāng)前單元狀態(tài)ct中。輸入門計(jì)算公式如下:
it=σ(Wi[st-1,xt]+bi),
(5)
式中:bi為輸入門偏置量。輸入門與輸出門相結(jié)合,可以對單元狀態(tài)ct進(jìn)行更新,公式如下:
et=tanh(We[st-1,xt]+be),
(6)
ct=ft*ct-1+it*et,
(7)
式中:be為備選更新信息偏置量;*表示矩陣的哈達(dá)馬積。
輸出門主要決定單元狀態(tài)ct中有多少可以傳到當(dāng)前輸出st中。輸出門計(jì)算公式如下:
ot=σ(Wo[st-1,xt]+bo),
(8)
st=ot*tanh(ct),
(9)
式中:bo為輸出門偏置量。
為了降低過擬合風(fēng)險(xiǎn),加入L2正則化。選擇Adagrad[21]作為網(wǎng)絡(luò)訓(xùn)練算法。損失函數(shù)設(shè)為樣本的均方誤差,激活函數(shù)設(shè)為ReLU,學(xué)習(xí)率取0.001,并用測試集上的預(yù)測相對誤差作為評價(jià)網(wǎng)絡(luò)的準(zhǔn)確性的指標(biāo)。單個(gè)預(yù)測結(jié)果相對誤差計(jì)算公式如下:
(10)
式中:x0為期望輸出量;xp為網(wǎng)絡(luò)的預(yù)測結(jié)果。相對誤差越小,則網(wǎng)絡(luò)預(yù)測準(zhǔn)確率越高。不同結(jié)構(gòu)網(wǎng)絡(luò)在測試集上的平均相對誤差如圖7所示。
圖7 平均相對誤差Fig.7 Average relative error
從圖7中可以看出,隨著層數(shù)增加,網(wǎng)絡(luò)預(yù)測誤差并沒有一直減小,因?yàn)榫W(wǎng)絡(luò)層數(shù)越多過擬合的風(fēng)險(xiǎn)越大,所以層數(shù)最多的網(wǎng)絡(luò)預(yù)測誤差,反而是最大的??v向來看,當(dāng)每層卷積核數(shù)為5時(shí),網(wǎng)絡(luò)的預(yù)測誤差變化較平穩(wěn),表明網(wǎng)絡(luò)性能更穩(wěn)定;當(dāng)每層卷積核數(shù)為6時(shí),網(wǎng)絡(luò)的平均預(yù)測誤差最小,因此每層卷積核數(shù)選為6.橫向來看,隱藏?cái)?shù)為1和2的網(wǎng)絡(luò)的平均預(yù)測誤差更小,因此選擇與對比方法相同的隱藏層數(shù)。
對雙隱藏層的LSTM,按照上述方法分別取節(jié)點(diǎn)數(shù)為18、20、22、24、26、28、30進(jìn)行訓(xùn)練,并計(jì)算其在測試集上的平均預(yù)測誤差,結(jié)果如圖8所示。
圖8 預(yù)測準(zhǔn)確率Fig.8 Prediction accuracy
從圖8可知,LSTM的預(yù)測準(zhǔn)確率隨著隱藏層神經(jīng)元個(gè)數(shù)的增加先減小再增大,且在隱藏層有28個(gè)神經(jīng)元時(shí)預(yù)測誤差最小,因此選擇隱藏層神經(jīng)元個(gè)數(shù)為28,且FCNN、RNN與LSTM的結(jié)構(gòu)相同。
分別用訓(xùn)練集中3個(gè)坐標(biāo)軸的軌跡數(shù)據(jù),其中驗(yàn)證集占訓(xùn)練集的20%,訓(xùn)練3個(gè)具有從4.1節(jié)中所選結(jié)構(gòu)的CNN.訓(xùn)練過程中的損失變化如圖9所示。
圖9 CNN損失變化Fig.9 Change of loss of CNN
由圖9中的損失變化可知,預(yù)測x軸的網(wǎng)絡(luò)在訓(xùn)練到第3個(gè)回合時(shí)驗(yàn)證集和訓(xùn)練集損失幾乎一樣小,雖然之后驗(yàn)證集損失有所起伏但最終與訓(xùn)練集相差不大,因此網(wǎng)絡(luò)已經(jīng)收斂。預(yù)測y軸和z軸坐標(biāo)的網(wǎng)絡(luò)在訓(xùn)練到第3個(gè)回合時(shí)驗(yàn)證集上和訓(xùn)練集上的損失相差不大,且此后損失不再繼續(xù)減小,說明網(wǎng)絡(luò)已經(jīng)收斂。用訓(xùn)練好的網(wǎng)絡(luò)預(yù)測測試集中的軌跡,并計(jì)算相對預(yù)測誤差,結(jié)果如圖10所示。
圖10 CNN預(yù)測相對誤差Fig.10 Relative error of CNN prediction
從圖10中可以看出,測試集中x軸的相對預(yù)測誤差大部分小于3%,y軸和z軸的相對預(yù)測誤差幾乎全部小于2%,表明CNN的軌跡預(yù)測能力較強(qiáng)。用上述方法訓(xùn)練FCNN、RNN和LSTM,并求出所有測試樣本的平均預(yù)測誤差,再與CNN進(jìn)行比較,結(jié)果如圖11所示。
圖11 預(yù)測準(zhǔn)確率Fig.11 Prediction accuracy
從圖11可知,對x軸坐標(biāo)的預(yù)測,LSTM誤差最小,RNN和CNN誤差比LSTM略大,F(xiàn)CNN誤差最大;對y軸坐標(biāo)的預(yù)測,CNN誤差最小,LSTM誤差比CNN大,F(xiàn)CNN誤差比LSTM大,RNN誤差最大;對z軸坐標(biāo)的預(yù)測,仍是CNN誤差最小,LSTM次之,RNN和FCNN差距不大。以上4種方法預(yù)測一次的平均用時(shí)如圖12所示。從圖12中可以看出,4種方法的用時(shí)差別不大,約為2.4 ms.對于340 m/s的飛機(jī),2.4 ms大約前進(jìn)了0.8 m,相對于預(yù)測出的軌跡可以忽略不計(jì),因此本文所提方法滿足實(shí)時(shí)性要求。
圖12 預(yù)測用時(shí)Fig.12 Time cost of prediction
4.2節(jié)中的樣本預(yù)測誤差只是對網(wǎng)絡(luò)的輸出進(jìn)行比較,但網(wǎng)絡(luò)輸出還要經(jīng)過進(jìn)一步處理才能轉(zhuǎn)換為真實(shí)的軌跡坐標(biāo),因此本節(jié)比較不同方法的真實(shí)的輸出軌跡及其誤差。由于訓(xùn)練網(wǎng)絡(luò)的樣本初始時(shí)刻均位于原點(diǎn),且偏航角為0°,在預(yù)測空戰(zhàn)仿真軌跡時(shí)需要先利用坐標(biāo)變換,將飛機(jī)在地面坐標(biāo)系下的坐標(biāo)變換到采集樣本時(shí)的坐標(biāo)系中,然后進(jìn)行預(yù)測,再將預(yù)測結(jié)果變換到地面坐標(biāo)系。坐標(biāo)變換公式如下:
(11)
式中:ψ為網(wǎng)絡(luò)第1個(gè)輸入量對應(yīng)的地面坐標(biāo)系中的偏航角;(x′,y′,z′)為(x,y,z)的變換結(jié)果。變換后再將其平移至坐標(biāo)原點(diǎn)并進(jìn)行歸一化后即可進(jìn)行預(yù)測。圖13(a)所示為一組空戰(zhàn)追逃仿真軌跡,追擊方初始位置為(6 000 m,3 000 m,8 000 m),航跡傾角為0°,航跡偏角為180°;逃跑方初始位置為(0 m,3 000 m,8 000 m),航跡傾角和偏角與追擊方相同。逃跑方采用右上方最大過載轉(zhuǎn)彎機(jī)動,追擊方采用智能機(jī)動[22]。圖13(a)中逃方僅采用右轉(zhuǎn)的機(jī)動,而追方采用文獻(xiàn)[22]中的機(jī)動方法,機(jī)動軌跡的變化比較頻繁,預(yù)測追方的軌跡更能體現(xiàn)不同方法之間的差距。用上述方法預(yù)測追擊方在每個(gè)整數(shù)秒時(shí)的三維坐標(biāo),其軌跡在水平面和豎直面的投影以及用4種方法的預(yù)測結(jié)果如圖13(b)、圖13(c)所示。
共預(yù)測該軌跡上的8個(gè)位置,每個(gè)位置的預(yù)測間隔為1 s.從圖13(b)中可以看出,CNN與LSTM的預(yù)測結(jié)果與原軌跡貼合得最緊密。RNN的預(yù)測點(diǎn)距原軌跡較遠(yuǎn),F(xiàn)CNN的預(yù)測點(diǎn)距原軌跡最遠(yuǎn)。由圖13可以看出,RNN在x軸方向的預(yù)測值最大,而FCNN在x軸方向的預(yù)測值最小。求出4種方法在3個(gè)方向上的預(yù)測結(jié)果與真實(shí)點(diǎn)的平均距離差,結(jié)果如圖13(c)所示。
圖13 軌跡預(yù)測Fig.13 Trajectory prediction
從圖13(c)中可以看出,CNN在3個(gè)方向上的平均預(yù)測誤差都是最小的;LSTM在x軸和y軸方向上的預(yù)測誤差較小,在z軸方向上的誤差達(dá)到了43.8 m;RNN和FCNN在3個(gè)方向上的誤差明顯更大,說明這兩種方法的軌跡預(yù)測能力有限。
本文針對無人作戰(zhàn)飛機(jī)空戰(zhàn)軌跡預(yù)測問題,提出使用CNN的方法進(jìn)行預(yù)測。得出主要結(jié)論如下:
1) 用飛行動力學(xué)模型對有微小滾轉(zhuǎn)角偏差的筋斗機(jī)動進(jìn)行仿真,結(jié)果表明原始模型不能正常完成筋頭機(jī)動仿真;改進(jìn)后模型的仿真結(jié)果表明所提的改進(jìn)方法是有效的。
2) CNN訓(xùn)練的損失變化曲線表明網(wǎng)絡(luò)已收斂,CNN在測試集上的相對預(yù)測誤差表明所選取的CNN層數(shù)和卷積核個(gè)數(shù)是合理的,可以進(jìn)行軌跡預(yù)測。
3) CNN在x軸方向上平均預(yù)測誤差約為4.2 m,在y軸方向上平均預(yù)測誤差約為8.0 m,在z軸方向上平均預(yù)測誤差約為19.5 m,表明CNN的軌跡預(yù)測能力在4種方法中最好。
4) 目標(biāo)機(jī)的機(jī)動控制量通常難以通過外部設(shè)備測量,本文所提軌跡預(yù)測法不需要知道目標(biāo)機(jī)的機(jī)動控制量,可以直接根據(jù)目標(biāo)機(jī)的歷史位置預(yù)測未來位置。
5) 本方法的預(yù)測誤差較小且用時(shí)較少,可以在空戰(zhàn)中結(jié)合對目標(biāo)機(jī)的軌跡預(yù)測進(jìn)行機(jī)動決策,以提高機(jī)動決策的預(yù)見性。
為進(jìn)一步減小CNN在z軸方向上的軌跡預(yù)測誤差,可以為z軸預(yù)測設(shè)計(jì)不同的網(wǎng)絡(luò)。