張宗騰,張 琳,汪文峰,滕 飛,張 搏
(1.空軍工程大學(xué)防空反導(dǎo)學(xué)院,西安 710000;2.中國(guó)人民解放軍95835部隊(duì),新疆 馬蘭 741000)
隨著無(wú)人機(jī)(UAV)在軍事領(lǐng)域的應(yīng)用拓展,其實(shí)際作戰(zhàn)效果在近期亞阿沖突中也得以顯現(xiàn)。為有效應(yīng)對(duì)UAV所帶來(lái)的威脅,利用已知?dú)v史位置數(shù)據(jù)實(shí)現(xiàn)其飛行軌跡的精準(zhǔn)高效預(yù)測(cè),對(duì)于打贏未來(lái)智能信息化戰(zhàn)爭(zhēng)具有重要意義。
為提升飛行軌跡的預(yù)測(cè)精度,國(guó)內(nèi)外學(xué)者進(jìn)行了大量的研究。文獻(xiàn)[1]提出了基于二階馬爾可夫鏈的軌跡預(yù)測(cè)模型,引入DBSCAN聚類(lèi)算法使其軌跡特征獲取的效率和質(zhì)量得以提升,并實(shí)現(xiàn)了對(duì)多個(gè)時(shí)間間隔移動(dòng)對(duì)象的位置預(yù)測(cè);文獻(xiàn)[2]利用遺傳算法對(duì)運(yùn)輸機(jī)起飛上升和著陸下降段的軌跡預(yù)測(cè)模型進(jìn)行改進(jìn),提升了模型預(yù)測(cè)精準(zhǔn)度;文獻(xiàn)[3]為解決軌跡預(yù)測(cè)的不確定性問(wèn)題將高斯過(guò)程與貝葉斯模型相結(jié)合,并采用Cholesky分解算法減少模型運(yùn)算量以滿足預(yù)測(cè)實(shí)時(shí)性需求;文獻(xiàn)[4]構(gòu)建了基于Elman神經(jīng)網(wǎng)絡(luò)的空戰(zhàn)軌跡預(yù)測(cè)模型,采用空戰(zhàn)訓(xùn)練測(cè)量?jī)x(ACMI)所記錄數(shù)據(jù)加以驗(yàn)證,與傳統(tǒng)粒子濾波算法相比,預(yù)測(cè)誤差進(jìn)一步縮小。這些研究雖然在一定程度上實(shí)現(xiàn)了飛行軌跡預(yù)測(cè)模型的構(gòu)建和優(yōu)化,但其目標(biāo)數(shù)據(jù)集相對(duì)較小。隨著監(jiān)測(cè)飛行軌跡的數(shù)據(jù)量不斷增加,建立大數(shù)據(jù)下的時(shí)序預(yù)測(cè)模型以提高飛行軌跡預(yù)測(cè)的準(zhǔn)確性和穩(wěn)定性仍是一個(gè)亟待解決的問(wèn)題。
自從HINTON團(tuán)隊(duì)在2012年的ImageNet大賽中使用深度學(xué)習(xí)方法獲得冠軍以來(lái),越來(lái)越多的學(xué)者開(kāi)始關(guān)注和應(yīng)用深度學(xué)習(xí)方法,并在自然語(yǔ)言處理、語(yǔ)音識(shí)別、圖像理解等領(lǐng)域[5-8]取得突破性的成果。鑒于深度學(xué)習(xí)在處理時(shí)序、大數(shù)據(jù)方面的優(yōu)勢(shì),一些學(xué)者也將其應(yīng)用于軌跡預(yù)測(cè)領(lǐng)域。文獻(xiàn)[9]利用長(zhǎng)短時(shí)記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)對(duì)現(xiàn)實(shí)場(chǎng)景中的行人運(yùn)動(dòng)軌跡進(jìn)行預(yù)測(cè),并實(shí)現(xiàn)了檢測(cè)異常事件的功能;文獻(xiàn)[10]提出一種基于深度學(xué)習(xí)的混合架構(gòu),將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)與LSTM相結(jié)合,分別提取軌跡的空間、時(shí)間維度特征,以實(shí)現(xiàn)高精度的軌跡預(yù)測(cè);文獻(xiàn)[11]采用門(mén)控循環(huán)單元(Gated Recurrent Unit,GRU)建立船舶軌跡預(yù)測(cè)模型,由于GRU作為L(zhǎng)STM的一種變體且具有結(jié)構(gòu)簡(jiǎn)單、參數(shù)少、訓(xùn)練時(shí)間短等特點(diǎn),其預(yù)測(cè)效果優(yōu)于LSTM。但是GRU只考慮序列中的正向信息,不考慮逆向信息,而在大多數(shù)情況下,考慮逆向信息可以提高模型的預(yù)測(cè)精度。
為此,本文提出了一種基于雙向GRU的UAV飛行軌跡預(yù)測(cè)方法,可有效分析軌跡坐標(biāo)點(diǎn)之間的潛在相互關(guān)聯(lián)和影響,從而實(shí)現(xiàn)UAV軌跡的準(zhǔn)確預(yù)測(cè)。
針對(duì)UAV飛行軌跡預(yù)測(cè)問(wèn)題,在實(shí)戰(zhàn)環(huán)境中,其運(yùn)動(dòng)軌跡具有連續(xù)性和交互性特點(diǎn),且在給定的時(shí)間范圍內(nèi)由一系列離散時(shí)序數(shù)據(jù)構(gòu)成,并遵循一定的規(guī)律。在慣性坐標(biāo)系OXYZ中,假設(shè)UAV飛行軌跡Tr由大量離散的經(jīng)緯高三維坐標(biāo)點(diǎn)組成,具體可表示為
(1)
式中:Tri為第i條UAV飛行軌跡;(xi j,yi j,zi j)為第i條UAV飛行軌跡在j時(shí)刻的坐標(biāo)值;m為第i條UAV飛行軌跡所含軌跡點(diǎn)數(shù)量。
同時(shí),假設(shè)UAV在X,Y,Z軸的運(yùn)動(dòng)是相互獨(dú)立的,以X軸為例(Y,Z軸同理),其真實(shí)運(yùn)動(dòng)軌跡數(shù)據(jù)集為
X1={x1,x2,x3,…,xn}
(2)
式中,第i條軌跡xi={xi1,xi2,xi3,…,xim}。設(shè)UAV在X軸上預(yù)測(cè)得到的運(yùn)動(dòng)軌跡數(shù)據(jù)集為
(3)
(4)
式中,f為預(yù)測(cè)模型函數(shù)映射關(guān)系。
門(mén)控循環(huán)單元作為循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的變種,具有處理時(shí)間序列數(shù)據(jù)的“記憶”功能,它采用鏈?zhǔn)浇Y(jié)構(gòu),將上一時(shí)刻的“記憶”狀態(tài)和當(dāng)前時(shí)刻的狀態(tài)作為輸入,通過(guò)內(nèi)部循環(huán)單元獲得新的網(wǎng)絡(luò)輸出。由于傳統(tǒng)RNN在每個(gè)時(shí)間節(jié)點(diǎn)重復(fù)相同的操作,使其計(jì)算深度增大,并面臨著梯度爆炸、梯度消失和無(wú)法處理長(zhǎng)期依賴等問(wèn)題。為解決這些問(wèn)題,文獻(xiàn)[12]在1997年提出了LSTM。與RNN相比,該網(wǎng)絡(luò)同樣具有鏈狀結(jié)構(gòu),但是其神經(jīng)元循環(huán)模塊擁有更多的參數(shù)、結(jié)構(gòu)更復(fù)雜且不容易收斂。為了克服LSTM的缺點(diǎn),文獻(xiàn)[13]在2014年將LSTM簡(jiǎn)化處理并提出了GRU(如圖1所示),使其計(jì)算速度得到進(jìn)一步提升。
圖1 門(mén)控循環(huán)單元結(jié)構(gòu)圖Fig.1 Structure diagram of gated recurrent unit
在GRU中,主要通過(guò)更新門(mén)zt和重置門(mén)rt來(lái)控制和更新模型狀態(tài),即更新門(mén)zt決定前一時(shí)刻的狀態(tài)信息被代入到當(dāng)前狀態(tài)中所占比重;重置門(mén)rt確定遺忘歷史狀態(tài)信息的程度,從而控制信息的流動(dòng)以確保重要時(shí)序數(shù)據(jù)傳遞下去。其內(nèi)部關(guān)系函數(shù)如下
rt=σ(Wrxt+Urht-1)
(5)
zt=σ(Wzxt+Uzht-1)
(6)
(7)
(8)
當(dāng)重置門(mén)rt關(guān)閉并接近于0時(shí),會(huì)忽略掉歷史信息,可以更有效地捕獲短期有價(jià)值信息;同時(shí),如果更新門(mén)zt接近于1,會(huì)把歷史信息傳遞下去,可以幫助GRU“記憶”長(zhǎng)期信息。
典型的GRU結(jié)構(gòu)通常沿序列傳輸方向進(jìn)行單向傳播,每次計(jì)算只與過(guò)去時(shí)刻信息相關(guān)。但在某些情況下,為了獲取到更深層次的信息,需要在建立模型時(shí)考慮到未來(lái)時(shí)序數(shù)據(jù)的反饋,并利用該反饋信息對(duì)模型進(jìn)行修正。因此,建立如圖2所示的雙向GRU神經(jīng)網(wǎng)絡(luò),可進(jìn)一步分析軌跡向量之間的相關(guān)性,更加準(zhǔn)確、全面地提取運(yùn)動(dòng)特征。
圖2 雙向GRU結(jié)構(gòu)圖Fig.2 Structure diagram of bidirectional GRU
該模型的基本思想是:對(duì)于每個(gè)訓(xùn)練序列,分別在前向和后向建立兩種循環(huán)神經(jīng)網(wǎng)絡(luò)模型,將兩種模型的隱藏層節(jié)點(diǎn)連接到同一個(gè)輸出層。這種數(shù)據(jù)處理方法可以為輸出層輸入序列中的每個(gè)時(shí)間點(diǎn)提供完整的歷史和未來(lái)信息。在圖2中,對(duì)每個(gè)GRU神經(jīng)單元進(jìn)行雙向處理:GRU1為前向GRU;GRU2為后向GRU。
UAV飛行軌跡數(shù)據(jù)是時(shí)變、非線性的且受多種因素影響,無(wú)法簡(jiǎn)單地用線性關(guān)系來(lái)表示和預(yù)測(cè)。但神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)復(fù)雜非線性時(shí)變序列方面具有明顯的優(yōu)勢(shì)。因此,本文建立了基于雙向GRU的UAV飛行軌跡預(yù)測(cè)模型,以預(yù)測(cè)UAV未來(lái)飛行變化趨勢(shì)。
為保證預(yù)測(cè)結(jié)果的可信度和準(zhǔn)確性,本文參考文獻(xiàn)[4]設(shè)定采樣時(shí)間間隔為0.25 s,取前8個(gè)軌跡點(diǎn)數(shù)據(jù)作為網(wǎng)絡(luò)輸入,預(yù)測(cè)輸出第9個(gè)軌跡點(diǎn)坐標(biāo)值;同時(shí),文獻(xiàn)[14-15]對(duì)比了三維坐標(biāo)一次性預(yù)測(cè)和分開(kāi)預(yù)測(cè)的精度,本文將采用3個(gè)結(jié)構(gòu)相同的網(wǎng)絡(luò)分別預(yù)測(cè)X,Y,Z軸坐標(biāo),并以此組合作為下一時(shí)刻UAV飛行預(yù)測(cè)位置。因此,以UAV飛行軌跡X1為例,其預(yù)測(cè)模型結(jié)構(gòu)設(shè)計(jì)如圖3所示。
圖3 UAV飛行軌跡預(yù)測(cè)模型結(jié)構(gòu)圖Fig.3 Structure diagram of UAV trajectory prediction model
其主要步驟如下所述。
1) 獲取訓(xùn)練數(shù)據(jù)。利用飛行動(dòng)力學(xué)模型對(duì)UAV飛行軌跡進(jìn)行仿真,對(duì)獲取到的軌跡數(shù)據(jù)進(jìn)行空間重構(gòu)和歸一化處理,構(gòu)建輸入樣本用以訓(xùn)練預(yù)測(cè)模型。
2) 建立雙向GRU網(wǎng)絡(luò)模型。確定雙向GRU網(wǎng)絡(luò)結(jié)構(gòu),設(shè)置訓(xùn)練迭代次數(shù)、學(xué)習(xí)率等網(wǎng)絡(luò)參數(shù),并選取適當(dāng)?shù)募せ詈瘮?shù)、優(yōu)化算法、損失函數(shù)等。
3) 訓(xùn)練雙向GRU網(wǎng)絡(luò)模型。依據(jù)所選的優(yōu)化算法對(duì)網(wǎng)絡(luò)模型參數(shù)進(jìn)行優(yōu)化,建立UAV飛行軌跡預(yù)測(cè)模型。
4) 預(yù)測(cè)UAV飛行軌跡。對(duì)預(yù)測(cè)輸出數(shù)據(jù)反歸一化處理,并利用評(píng)價(jià)函數(shù)對(duì)預(yù)測(cè)結(jié)果進(jìn)行可視化分析和評(píng)價(jià)。
本文實(shí)驗(yàn)仿真環(huán)境配置為:Windows7(64位)操作系統(tǒng)、Intel(R) Core(TM) i7-8750H 2.20 GHz處理器、16 GiB內(nèi)存、4 GiB顯存。同時(shí),利用Python 3.7程序設(shè)計(jì)語(yǔ)言,以及Jupyter Notebook軟件下的Tensorflow和Keras模型框架進(jìn)行模型開(kāi)發(fā)。
本文所使用的數(shù)據(jù)集來(lái)自UAV飛行動(dòng)力學(xué)模型,并且在慣性坐標(biāo)系OXYZ中,為簡(jiǎn)化問(wèn)題復(fù)雜程度做出以下假設(shè):1) 忽略地球曲率變化、公轉(zhuǎn)、自轉(zhuǎn)的影響;2) 使用推力、升力和滾轉(zhuǎn)角等3個(gè)控制量來(lái)操控;3) 不考慮攻角和側(cè)滑角影響;4)速度方向和機(jī)體方向近似重合。其動(dòng)力學(xué)方程式為[16]
(9)
式中:(x,y,z)表示UAV飛行軌跡坐標(biāo);v,θ,φ,μ分別為UAV的飛行速度(標(biāo)量)、航跡角、航向角、滾轉(zhuǎn)角;g表示重力加速度,一般取9.8 m/s2;nx,nz分別表示UAV切向過(guò)載和法向過(guò)載。
同時(shí),為提高模型預(yù)測(cè)準(zhǔn)確度且最大限度地涵蓋不同的空中飛行姿態(tài),設(shè)置該三自由度仿真模型飛行速度v的取值區(qū)間為[30 m/s,100 m/s];航跡角θ的取值區(qū)間為[-40°,40°];滾轉(zhuǎn)角μ的取值區(qū)間為[-45°,45°]。
由此,本文利用該仿真模型隨機(jī)生成10段UAV飛行軌跡。其中:每段軌跡前2000個(gè)坐標(biāo)點(diǎn)作為預(yù)測(cè)模型訓(xùn)練輸入樣本;后100個(gè)坐標(biāo)點(diǎn)作為預(yù)測(cè)模型測(cè)試樣本,以驗(yàn)證模型算法的有效性。并且在將飛行軌跡輸入模型之前,需對(duì)數(shù)據(jù)做歸一化處理,以提升模型預(yù)測(cè)準(zhǔn)確率和穩(wěn)定性,具體算式為
(10)
式中:Xmax,Xmin分別表示X軸坐標(biāo)的最大值、最小值;SX表示X軸坐標(biāo)的歸一化值。Y,Z軸歸一化方法同上。
本文根據(jù)實(shí)驗(yàn)樣本特點(diǎn)及預(yù)測(cè)時(shí)效性要求,選用雙隱層的神經(jīng)網(wǎng)絡(luò),以避免網(wǎng)絡(luò)欠擬合、梯度消失或爆炸等問(wèn)題,并達(dá)到較好的訓(xùn)練效果。其中,輸入層節(jié)點(diǎn)數(shù)為8,輸出層節(jié)點(diǎn)數(shù)為1,激活函數(shù)為ReLU,學(xué)習(xí)率為0.001。
為尋找到一組合適的參數(shù)使得損失函數(shù)最小,在基于梯度下降的傳統(tǒng)優(yōu)化算法中學(xué)習(xí)率一般保持不變,導(dǎo)致模型運(yùn)算效率較低,因此本文采用了一種自適應(yīng)學(xué)習(xí)率的Adamax優(yōu)化算法。該算法為Adam算法的變種,其學(xué)習(xí)率的上限設(shè)置更為簡(jiǎn)單,具體算式為
(11)
式中:wt表示需要優(yōu)化的參數(shù);ft(wt)為目標(biāo)函數(shù);mt,Vt分別表示一階和二階動(dòng)量;η為學(xué)習(xí)率;β1,β2表示超參數(shù)。
圖4 不同訓(xùn)練次數(shù)下的訓(xùn)練誤差Fig.4 Training error under different training times
圖5 不同隱藏層神經(jīng)元數(shù)量下的訓(xùn)練誤差Fig.5 Training error under different numbers of hidden layer neurons
由圖4可知,迭代次數(shù)等于15后,訓(xùn)練誤差和驗(yàn)證誤差基本穩(wěn)定,因此設(shè)置迭代次數(shù)等于15可以滿足模型預(yù)測(cè)要求。由圖5可知,當(dāng)隱藏層神經(jīng)元數(shù)量為13時(shí),網(wǎng)絡(luò)的均方誤差值最小,因此設(shè)置隱藏層神經(jīng)元數(shù)量為13。
根據(jù)所確立的模型參數(shù)和網(wǎng)絡(luò)結(jié)構(gòu),建立基于雙向GRU的UAV飛行軌跡預(yù)測(cè)模型。利用仿真隨機(jī)生成10組軌跡數(shù)據(jù)檢驗(yàn)?zāi)P偷膽?yīng)用效果,具體實(shí)驗(yàn)預(yù)測(cè)結(jié)果如表1所示。由表1可知,在預(yù)測(cè)的10組數(shù)據(jù)中,X軸的預(yù)測(cè)平均絕對(duì)誤差最小為0.88 m、最大為4.43 m;Y軸的預(yù)測(cè)平均絕對(duì)誤差最小為0.97 m、最大為4.26 m;Z軸的預(yù)測(cè)平均絕對(duì)誤差最小為0.91 m、最大為4.82 m。因此,本文所提方法可較好地解決UAV飛行軌跡預(yù)測(cè)精度問(wèn)題。
表1 軌跡預(yù)測(cè)實(shí)驗(yàn)結(jié)果Table 1 Experimental results of trajectory prediction
同時(shí),為進(jìn)一步驗(yàn)證雙向GRU的優(yōu)勢(shì)且更直觀地表現(xiàn)預(yù)測(cè)結(jié)果,本文選取RNN和GRU神經(jīng)網(wǎng)絡(luò)模型,利用軌跡變化較頻繁的軌跡7進(jìn)行預(yù)測(cè)對(duì)比。其模型參數(shù)與雙向GRU模型參數(shù)保持一致,具體預(yù)測(cè)結(jié)果如圖6、圖7所示。
圖6 軌跡7預(yù)測(cè)結(jié)果Fig.6 Prediction results of Trajectory 7
圖7 軌跡7模型預(yù)測(cè)誤差和用時(shí)Fig.7 Prediction error and running time of Trajectory 7 model
從圖6、圖7(a)可看出,雙向GRU模型在UAV飛行軌跡預(yù)測(cè)中,與RNN,GRU神經(jīng)網(wǎng)絡(luò)相比,其預(yù)測(cè)軌跡與原始軌跡重合度更高、預(yù)測(cè)誤差更小,可較好地反映UAV飛行趨勢(shì)。但由于X軸和Z軸曲線變化較劇烈,造成其預(yù)測(cè)效果劣于Y軸。
從圖7(b)可看出,雖然雙向GRU模型預(yù)測(cè)平均用時(shí)較長(zhǎng)(耗時(shí)4.2 ms),但與另外兩種方法預(yù)測(cè)平均用時(shí)相近,且UAV在此時(shí)間段內(nèi)一般移動(dòng)距離很短。因此,基于雙向GRU的UAV飛行軌跡預(yù)測(cè)模型具有較好的時(shí)效性。
本文為解決UAV飛行軌跡預(yù)測(cè)問(wèn)題,主要做了如下工作:1) 提出了一種基于雙向GRU的UAV飛行軌跡預(yù)測(cè)方法,對(duì)運(yùn)動(dòng)軌跡時(shí)間序列進(jìn)行預(yù)測(cè);2) 利用UAV飛行動(dòng)力學(xué)模型仿真所得到的運(yùn)動(dòng)軌跡,確定了預(yù)測(cè)模型網(wǎng)絡(luò)結(jié)構(gòu),并與RNN和GRU模型相對(duì)比,雙向GRU模型具有較好的預(yù)測(cè)效果且預(yù)測(cè)用時(shí)較短,具有一定的實(shí)際應(yīng)用價(jià)值。在今后的工作中,將對(duì)雙向GRU模型網(wǎng)絡(luò)神經(jīng)元權(quán)重的初始化做進(jìn)一步的研究和優(yōu)化,以達(dá)到更快的收斂速度及更好的預(yù)測(cè)穩(wěn)定性。