謝 磊, 丁達理, 魏政磊, 湯安迪, 張 鵬
(空軍工程大學航空工程學院, 陜西 西安 710038)
軌跡預測是自主空戰中的一個重要內容,對于機動決策技術有著非常深遠的影響,在雙方對抗過程中,擁有軌跡預測技術的一方將會更加迅速地占據態勢優勢,完成打擊任務。軌跡預測問題的本質是時間序列的預測問題,且具有高度的非線性和時變特性[1]。其理論依據是物體的運動狀態具有一定的連續性,控制量不會發生突變,這意味著未來時刻的位置必然與之前時刻有一定的相關性。機動軌跡預測是指在空戰過程中處理前一段時間內的三維軌跡,通過預測方法得到未來一段時間內的軌跡。在空戰對抗體系中,由于飛機機動性能較強,軌跡多變,長時段的預測會使精度大大降低,僅預測后一時刻的位置就已經具備預判條件。因此,一個迅速又準確的機動軌跡預測方法在空戰對抗中顯得極為重要。
國內外學者為解決軌跡預測問題提出多種方法。文獻[2]采用隨機非線性混合系統模擬飛機動力學,將飛機軌跡預測轉化為貝葉斯估計問題,利用粒子濾波方法提供數值解,但當軌跡發生劇烈變化時,預測精度會降低。文獻[3]提出一種基于配置法的非線性模型預測方法,預測精度相比于傳統的線性模型大幅提高,實時性能也能夠滿足要求,但僅在低速條件下進行測試,在高速飛行軌跡預測時誤差會放大。文獻[4]在二階隱馬爾可夫模型的基礎上,設計了火花平臺下的軌跡預測框架,相比于隱馬爾可夫模型和核平滑變階馬爾可夫模型魯棒性能更好,但該算法在預測精度上還有待提高。文獻[5]根據歷史軌跡的特征進行聚類,對每一聚類訓練一個隱馬爾可夫模型,但在實際飛行軌跡中,根據不同的特征會劃分出過多的類別,導致預測的實時性能無法滿足。文獻[6]利用氣動參數設計機動模式集,通過蒙特卡羅采樣和貝葉斯理論實現軌跡預測,相對于傳統的外推理論精度更高,但要求建立一個較為完善的機動模式集,在實際情況中很難進行完善。文獻[7]采用混合粒子群優化(hybrid particle swarm optimization, HPSO)算法優化Elman網絡的初始權值和閾值并提出將三維坐標拆分進行獨立預測,雖有更高的收斂速度,在各坐標上的相對誤差也大大降低,但隨著飛行距離的不斷增加,其絕對誤差會逐漸偏大。文獻[8]對軌跡建立模型,提出了基于多元正態分布的最佳線性預測器,較大幅度地提高了預測精度,但該方法進行預測會產生延遲,實時性能不夠。文獻[9]提出了基于高斯混合模型的軌跡預測方法,利用高斯混合模型計算不同運動模式的概率分布,其預測結果是未來所有可能運動軌跡的概率分布,在自由空戰中三維模型會產生大量不同的運動模式,預測結果可能會變成多種小概率事件,所以在多維運動中適應性不高。文獻[10]將灰色理論和動態測量理論結合,利用最小方差估計值代替實際值,引入微分方程,求解預測軌跡,該方法無法準確地對參數估值,降低了預測的準確性。文獻[11]提出一種基于隱馬爾可夫模型的軌跡預測方法,在隱形馬爾可夫過程中加入自適應參數,提高了預測效率,并能夠自適應調整軌跡預測長度。
隨著2012年Hinton課題組通過構建卷積神經網絡(convolutional neural networks, CNN)參加ImageNet圖像識別比賽,且以碾壓性的優勢遠超第二名,深度學習開始進入爆發期,在軌跡預測方面也得到廣泛應用。文獻[12]提出了一種飛機4維軌跡預測模型,將CNN與長短期記憶(long and short term memory,LSTM)網絡結合,預測精度相比于單一模型更高,但其缺點是只能進行短期預測,且飛機軌跡變化不能過于劇烈,適用范圍有限。文獻[13]提出了一種深度編碼和深度解碼的序列到序列的深度LSTM網絡用于軌跡預測,提高了預測的準確性和魯棒性,但其僅應用于飛機航行的終端空域,終端空域的軌跡都較為平滑,在復雜軌跡情況下預測精度會大幅降低。文獻[14]提出了一種模糊長短時記憶神經網絡,解決了目標運動的尖銳邊界問題,依靠歷史軌跡的鄰近性和周期性進行預測,準確率較高。上述研究表明,深度神經網絡計算速度非常快且并不需要過多的外界參數輸入,更不需要人為估值,相對于傳統的濾波算法、反向傳播(back propagation,BP)網絡和Elman網絡預測準確率更高。
由于沒有具備自主空戰的飛機,且實際對抗成本過高,因此本文建立三自由度無人機(unmanned aerial vehicle, UAV)動力學模型,解決了機動軌跡數據來源的問題。目前的技術僅能探測對手的位置信息,無法確定其控制量的大小,必須建立一個僅通過歷史軌跡就可以迅速進行預測的方法。循環神經網絡(recurrent neural network, RNN)是一類專門用于處理序列數據的神經網絡,而歷史軌跡正是一串時間序列數據。在實際運用過程中,RNN在處理長序列輸入時往往會喪失了學習能力,因此采用RNN的一種變體——LSTM網絡結構。但LSTM解決梯度問題并不完善,主要是由于內部權值訓練仍采用基于時間的BP(BP through time, BPTT)算法,不斷地鏈式求導再累乘就會導致“梯度爆炸”和“梯度消失”現象。為避免這一問題,采用粒子群優化(particle swarm optimization, PSO)算法優化內部多維權值。為增加預測精度,通過自適應增強(adaptive boosting, AdaBoost)算法建立強預測器。最后與傳統的AdaBoost-BP、CNN、RNN、LSTM和PSO-LSTM在一段變化較為頻繁的機動軌跡上進行對比預測。
UAV三自由度模型對UAV的運動狀態進行描述。現作出如下假設:① 將UAV視為質點,不考慮其形狀;② 忽略側滑角;③ 忽略地球自轉和曲率的影響,將地面坐標系作為慣性坐標系;④ 忽略氣流與陣風的影響;⑤ 忽略高度與經緯度對重力加速度的影響。基于以上假設,可以建立如下質點模型[15]:
(1)

神經網絡主要分為前饋網絡和反饋網絡[16]。前饋神經網絡每次輸出僅依賴當前輸入,不具備考慮不同時刻輸入之間相互影響的能力,所以在處理時序性問題時一般采用反饋網絡。RNN就是一類專門處理時序數據樣本的反饋網絡[17-19]。RNN中不僅包含傳統的輸入到隱層,隱層到輸出的過程,還具有隱層到隱層的傳遞過程,結構如圖1所示。可以清楚地看出,隱層的輸出不僅取決于輸入還與上一時刻的隱層輸出有關,因此RNN能夠將同一序列中不同時刻輸入關聯起來。在理論上,當數據存在長間隔的依賴或依賴范圍隨時間變化的問題時,RNN可以較好地解決,但在實際過程中由于數據信息流過長,計算量會爆炸式增長,難以學習長期依賴關系[20]。因此,RNN的變體LSTM網絡[21-23]被提出,本文也采用該種網絡結構。

圖1 RNN結構圖Fig.1 RNN structure diagram
LSTM網絡相對于RNN而言,增加了3個門控系統分別為:輸入門、遺忘門和輸出門,具體網絡單元如圖2所示。Ct-1為上一單元狀態,ht-1為上一單元輸出,Xt表示為當前時刻網絡單元的輸入,Ct和ht分別表示為當前網絡單元的狀態和輸出。

圖2 LSTM網絡單元Fig.2 LSTM network unit
LSTM網絡主要通過單元狀態來進行信息的傳遞。從計算過程來看,Ct-1首先和遺忘門的輸出進行乘積,再和輸入門的輸出累加。本質就是將上一時刻的信息進行更新,再與當前時刻信息融合,通過這種方式長期記憶信息。為了保證數據的精簡,增加了遺忘門,將ht-1和Xt拼接為單個向量,通過Sigmoid激活函數,把數據規整至0~1之間,其中1為“完全保留”,0為“完全拋棄”,利用該方法有效地進行了數據篩選,避免了無用運算。具體遺忘門計算公式為
Ft=σ(Wfg[ht-1,Xt]+bf)
(2)
式中,σ表示Sigmoid激活函數;Wf表示遺忘門內部權值;bf表示遺忘門內部偏執;g表示向量拼接。
輸入門決定當前單元的輸入信息。通過tanh函數表示當前信息,同時利用Sigmoid函數決定哪些信息是有用,哪些是無用,與tanh函數輸出相乘,輸入到當前單元狀態,公式為
it=σ(Wig[ht-1,Xt]+bi)·
tanh(Wcg[ht-1,Xt]+bc)
(3)
式中,Wi表示輸入門權值;bi表示輸入門偏置。
輸出門決定當前單元的輸出。將當前單元狀態Ct經過tanh函數表示,同時把ht-1和Xt利用Sigmoid函數激活,兩者相乘,其結果就是當前單元輸出ht,計算公式為
Ot=σ(Wog[ht-1,Xt]+bo)
(4)
ht=Ot·tanh(Ct)
(5)
式中,Wo表示輸出門權值;bo為輸出門偏置。
LSTM網絡正是通過3個門的控制在一定程度上解決了RNN處理序列時的長期依賴問題,因此也采用該網絡進行軌跡預測。在文獻[7]中已經提出三維坐標獨立進行預測相對于整體預測精度更高,所以將x、y和z軸上的坐標單獨作為LSTM網絡的輸入。在利用三自由度模型仿真軌跡時,每次采樣數據間隔0.3 s,10次采樣為一組,通過前9個樣本構建5×5滑動模塊矩陣,預測第10個樣本數據。
滑動模塊輸入矩陣:
(6)
滑動模塊預測輸出修正矩陣:
(7)
LSTM網絡在線測試時通過已知矩陣前4行預測數據進行實時修正,及時調整內部權值和偏置,此時網絡輸入節點為5,輸出節點為1。
LSTM網絡通過3個門控系統并沒有完全解決網絡的“梯度消失”和“梯度爆炸”問題,其主要原因就是內部權值更新采用傳統的BPTT算法,不斷地鏈式求導再累乘。為避免這一現象,采用PSO算法[24]把權值更新轉化為最優化問題,具體過程如圖3所示。

圖3 PSO優化LSTM內部權值流程圖Fig.3 Flow chart of internal weight for PSO optimized LSTM
當采用非定向性的優化算法時與梯度下降方法相比難免會增加更新時間,為此采用數據共享,在第二次以后的預測過程中PSO算法的種群初始設置變為第一次預測的最優種群,大幅度地減少算法初期的搜索時間。在算法迭代尋優過程中,采用LSTM網絡誤差作為適應度函數,如果3次連續迭代都沒有發生變化,則判定算法搜索陷入停滯,采用高斯隨機游走策略(Gaussian random walk strategy, GWS)[25]突破局部限制。GWS模型如下:
X(t+1)=Gaussian(X(t),s1)
(8)
(9)

為驗證改進后PSO-LSTM網絡相對于傳統網絡,在在線預測方面更加快速準確,利用模型采樣5組數據,進行預測,結果如圖4所示。

圖4 PSO-LSTM與LSTM預測對比Fig.4 Prediction comparison of PSO-LSTM and LSTM
經過相同的數據檢驗,PSO-LSTM網絡相對于傳統的網絡,預測時間更加快,且5次預測的平均誤差也比LSTM網絡低,所以共享數據后的PSO算法調整LSTM網絡內部權值可以做到更加快速,加入高斯游走策略以后也提升了預測精度。
AdaBoost算法[26-29]是一種提升預測精度的方法,將多個弱預測器組合成強預測器,采用該方法搭建的整體外框架如圖5所示。將PSO-LSTM網絡作為其弱預測器進行訓練,前一個網絡分錯的樣本的權值會得到加強,權值更新后的樣本再次被用來訓練下一個網絡。在每輪訓練中,用總體樣本訓練新的PSO-LSTM,產生新的樣本權值和該弱預測器的權重,一直迭代直到達到預定的錯誤率或指定的最大迭代次數。

圖5 AdaBoost框架圖Fig.5 AdaBoost framework diagram
具體算法流程如下。
步驟 1初始化訓練數據權值分布。每個樣本賦予相同權值Wi=1/N,N為樣本總數。第一次迭代后每個樣本的權值集為D1=(W11,W12,…,W1N)。
步驟 2設置弱預測器數量K。根據時間與精度要求綜合設置弱預測器個數。
步驟 3弱預測器預測。訓練第t個弱預測器,采用訓練數據在PSO-LSTM網絡中預測,得到輸出結果f(x),與實際值y比較得到誤差函數值et,計算公式為
(10)
步驟 4計算弱預測器權重。根據誤差函數值計算弱預測器權重at,計算公式為
(11)
步驟 5更新訓練數據樣本權值。通過弱預測器權重at調整訓練數據樣本權值,更新公式為
(12)
式中,β為歸一化因子,使得在權重比例不變的情況下使分布權值。
(13)
步驟 6強預測函數。弱預測器訓練K次以后,得到K組弱預測預測值,組合后得到強預測器。強預測器預測計算公式為
(14)
由于網絡的輸入層和輸出層的節點數量已由滑動模塊輸入矩陣確定,因此PSO-LSTM網絡結構主要是設置隱藏層和隱藏層節點數量,由于隱藏層數量的增加會造成時間成本的快速增加,考慮到機動預測對時效性的高要求,設置雙隱藏層網絡結構。
隱藏層節點數與解算的復雜程度和輸出精度有著直接的聯系,節點數過多時會造成網絡泛化能力缺失,甚至出現“過擬合”現象;節點數過少時,則會造成訓練能力降低,性能較差[30]。因此,選擇不同節點數的網絡進行預測尋找出較優的網絡結構。預測時間如圖6(a)所示,預測精度如圖6(b)所示。從圖6可以看出,節點數的增加對預測時間影響并不是很大,都在0.035 s左右浮動,相對于0.3 s采樣時間是可以接受的。從圖6(b)可以看出,在節點數為8時預測絕對誤差最小,因此雙隱藏層網絡節點數選擇為8。

圖6 預測指標與節點數關系Fig.6 Relationship between prediction index and node number
從Boosting思想[31]到AdaBoost算法,關鍵是引入了在線分配算法思想。在AdaBoost算法中,在線分配算法的策略就是每一個弱分類器,根據每個策略所造成的損失值確定其在整體中的權重,這也正是AdaBoost算法弱分類器權重的理論來源。為了得到高擬合精度的強分類器,需要加入多個弱分類器,但這就會修改已有弱分類器的集成方式,增加復雜度。AdaBoost使用貪心策略避免了該問題,采用線性加和的方式加入新的弱分類器。線性加和的確大大提高了精度,簡化了算法,但運算時間也成了新的問題。在機動軌跡預測方面,由于空戰變化非常劇烈所以對實時性要求很高,而弱預測器的數量K正是精度和時間的決定性因素。
在確定PSO-LSTM網絡層數和節點數以后,將其作為弱預測器對AdaBoost框架進行填充,嘗試不同數量的弱預測器。為克服尋優算法的偶然性,對同一K值的強預測器多次預測,取平均誤差和平均時間,確定最合理的弱預測器數量,結果如表1所示。

表1 不同K值的強預測器誤差與時耗

為驗證提出的預測模型切實有效,選取一段變化較為復雜的飛行軌跡,在實時性和準確率兩方面與傳統的AdaBoost-BP、CNN、RNN、LSTM和LSTM-PSO網絡進行對比。
由于機動軌跡變化的多樣性,所有網絡的離線預測需要大量數據進行訓練且準確率并不能夠得到保證,所以都采用滑動輸入模塊的在線預測方法,并在此基礎上進行單步預測時間對比。
從圖7中可以看出,所有網絡結構在線預測的單步時間相差并不是很大,均在0.12 s以下,其中PSO-LSTM網絡所用時間最短約為0.04 s,而AdaBoost-PSO-LSTM所用時間約為0.08 s,相對于0.3 s的采樣間隔能夠及時地提供預測信息,實時性較好。

圖7 單步時間對比Fig.7 Comparison of single step time
利用三自由度模型隨機產生一組機動軌跡,采樣300次,每10組進行一次預測,共預測30個周期。為能提高預測精度采用三維坐標獨立預測[7],與其他預測方法進行誤差對比。由圖8可知,AdaBoost-PSO-LSTM網絡在3個軸上的誤差均為最小,與實際軌跡最為切合。相對而言,x軸和y軸的預測結果較好,x軸誤差均值為1.9 m,y軸誤差均值為2.1 m。由于該機動在z軸上的變換較為劇烈,造成多次飛行趨勢的變化,這也就產生了相對較大的誤差,最大為13.7 m,z軸誤差均值為8.3 m。相對于傳統的深度學習網絡[13]在離線訓練后預測,精度有明顯提高。在圖9所示的三維軌跡視圖中可以較為清楚地發現,AdaBoost-PSO-LSTM網絡預測的軌跡并沒有很多的突變,而傳統的CNN、RNN和LSTM網絡預測點繪制的軌跡都有較多的突變點,這與實際情況不相符合。PSO-LSTM網絡和AdaBoost-BP網絡的預測點與實際軌跡較接近,但相比之下AdaBoost-PSO-LSTM網絡預測的軌跡最貼近實際軌跡,大部分情況下都是處于一種重合狀態,只有少部分預測點有較小的偏離,所以在精度上AdaBoost-PSO-LSTM網絡相對于其他網絡效果更好。


圖8 預測及誤差雷達圖Fig.8 Prediction and error radar chart

圖9 三維軌跡預測結果Fig.9 Three dimensional trajectory prediction results
針對近距空戰格斗中軌跡預測問題,提出了AdaBoost-PSO-LSTM網絡結構,并進行實時預測仿真,得到以下結論:
(1) 采用PSO優化算法代替傳統BPTT算法對LSTM網絡內部權值更新進行軌跡預測,所需時間更短,能夠滿足在線預測的時間要求,精度也有所提高;
(2) 利用AdaBoost算法搭建網絡外框架能夠較大幅度地提升預測精度,并且可以根據時間要求改變內部弱預測器數量,使得軌跡預測能夠同時滿足實時性能和精度要求;
(3) 通過對比仿真確定網絡結構,在一段變化較為頻繁的軌跡上進行預測,精度方面明顯比AdaBoost-BP、CNN、RNN、LSTM和PSO-LSTM網絡更好,所用時間也在預測的允許范圍內,說明網絡結構選取合理;
(4) 在所選擇的軌跡上,x軸平均誤差為1.9 m,y軸平均誤差為2.1 m,z軸平均誤差為8.3 m,與傳統的深度學習網絡離線訓練再預測的結果相比有顯著的提高。