陳玉立,佟強*,諶彤童,侯守璐,劉秀磊
(1.數(shù)據(jù)與科學情報分析研究所(北京信息科技大學),北京 100101;2.北京材料基因工程高精尖創(chuàng)新中心(北京信息科技大學),北京 100101;3.北京跟蹤與通信技術研究所,北京 100094)
隨著空中交通需求的不斷增長,航線網(wǎng)絡的規(guī)模逐漸擴大,空域資源日益稀缺。為了緩解上述問題,國際民航組織將基于航跡的運行(Trajectory Based Operation,TBO)作為輔助空管系統(tǒng)的重要手段[1]。TBO 通過共享飛行器的航跡,將航跡預測作為參考,進而管理飛行器的運行情況。
根據(jù)時間尺度,航跡預測可以分為兩類:一是短期航跡預測,是幾分鐘甚至更短時間內(nèi)的預測,主要應用于沖突探測與解脫;二是長期航跡預測,是一種基于飛行計劃的離場前預測,主要應用于燃料消耗和空域流程評估。
航跡預測問題本質(zhì)上是基于已有航跡數(shù)據(jù)對未來航跡序列點的經(jīng)度、緯度、高度的回歸預測?,F(xiàn)有航跡預測技術使用的模型可總結為空氣動力學或飛行器性能、狀態(tài)估計理論和機器學習三大類。前兩類模型適用于簡單的線性航跡預測,機器學習模型適用于復雜非線性的航跡預測。
基于空氣動力學或飛行器性能的航跡預測模型原理是將飛行過程劃分為多個階段,定義每個階段的開始、結束條件以及運動方程,通過對飛行器動力學模型、飛行器意圖及性能參數(shù)等數(shù)據(jù)進行統(tǒng)計分析,進而對航跡進行預測[2-6]。該類模型使用飛行階段的特點來簡化建模過程,但飛行階段劃分比較理想化,而且動態(tài)參數(shù)在飛行過程中不斷變化,很難進行準確估計。因此,該類模型具有參數(shù)難于估計,且預測精度不高的缺點。
基于狀態(tài)估計理論的航跡預測模型通過運動方程構建狀態(tài)方程中的狀態(tài)轉(zhuǎn)換矩陣,不涉及飛行器的質(zhì)量、力量和性能參數(shù),側重于研究未來時刻位置與歷史時刻位置、速度、加速度及角度等關聯(lián)關系。根據(jù)在預測過程中具有單種或多種飛行模式,分為單模估計和多模估計,其中,單模估計主要包括卡爾曼濾波[7]、粒子濾波器[8]等,多模估計主要包括交互式多模型[9-12]。但該類模型的計算比較耗時,無法應用于實時預測的場合。
基于機器學習的航跡預測模型使用歷史航跡數(shù)據(jù)訓練,從數(shù)據(jù)中挖掘出航跡的規(guī)律。該類模型包括回歸模型[13-14]、聚類算法[15-17]、神經(jīng)網(wǎng)絡[18-24]、遺傳算法[25]、蟻群算法[26]及隱馬爾可夫[27]等。機器學習模型主要從大量的歷史航跡數(shù)據(jù)中學習時空特征和航跡信息中隱藏的規(guī)律。在大多數(shù)情況下,機器學習模型可以展現(xiàn)出更好的預測性能。
在神經(jīng)網(wǎng)絡模型中,長短時記憶(Long Short-Term Memory,LSTM)網(wǎng)絡是最具代表性的時序數(shù)據(jù)建模方式之一[21-23]。LSTM 由于具備一定的時間序列信息挖掘能力,在文本生成、電力預測和圖像描述等領域被廣泛使用;但在面對長時間序列數(shù)據(jù)時,訓練單一LSTM 存在無法充分學習特征、記憶丟失和梯度消失等問題,很容易忽略序列信息中隱藏的重要特征,不能捕捉信息間的依賴性,最后可能會導致關鍵特征丟失或模型錯誤評估等問題。
針對上述問題,本文提出一種基于注意力機制和生成對抗網(wǎng)絡(Generative Adversarial Network,GAN)的短期航跡預測模型 ——ATGAN(ATtention Generative Adversarial Network)。該模型使用注意力機制找到重要的航跡特征,提升模型中重要特征的影響力,關注特征間重要程度差異,利用LSTM 融合飛行器的時間序列信息,進而對飛行器特征進行建模;借助生成對抗網(wǎng)絡的聯(lián)合訓練對抗機制使模型充分訓練,更精確地模擬航跡數(shù)據(jù)樣本分布,生成更加合理的預測航跡,提高模型的準確性。
由于神經(jīng)網(wǎng)絡能無限近似擬合連續(xù)函數(shù),所以很多學者從傳統(tǒng)的回歸模型轉(zhuǎn)向神經(jīng)網(wǎng)絡,常用的模型有反向傳播(Back Propagation,BP)網(wǎng)絡[18-19]、深層神經(jīng)網(wǎng)絡(Deep Neural Network,DNN)[20]、LSTM[21-23]及門控循環(huán)單元(Gated Recurrent Unit,GRU)[24]等。BP 網(wǎng)絡是目前在人工智能領域中應用最多的人工神經(jīng)網(wǎng)絡之一,其核心是誤差反向傳播算法[18]。與傳統(tǒng)神經(jīng)網(wǎng)絡相比,DNN 增加了多個隱藏層;但DNN 不能充分利用時間序列的特征,為解決此問題,循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)被提出。LSTM、GRU 網(wǎng)絡均是RNN 的變種,解決了RNN 無法處理因遞歸產(chǎn)生的權重爆炸或梯度消失問題。LSTM 利用輸入門、輸出門和忘記門有選擇地控制歷史信息的傳遞。與LSTM 不同,GRU 使用更新門代替忘記門和輸入門,簡化了網(wǎng)絡內(nèi)部結構。
以LSTM 為基礎,還涌現(xiàn)出很多改進的航跡預測模型:石慶研等[28]使用LSTM 預測飛行器的經(jīng)緯度及高度,將結果與差分自回歸移動平均(AutoRegressive Integrated Moving Average,ARIMA)模型預測的高度值融合,提高預測的準確性;Ma等[29]提出了一種LSTM 與卷積神經(jīng)網(wǎng) 絡(Convolutional Neural Network,CNN)結合的模型結構,利用LSTM 提取航跡的時間特征,利用CNN 提取航跡的空間特征;Xu等[30]提出了一種基于社會長短期記憶(Social LSTM,S-LSTM)網(wǎng)絡的模型,利用LSTM 和池化層捕捉飛行器間的交互來實現(xiàn)多飛行器航跡協(xié)同預測;Zeng等[31]提出了一個用于航跡預測的序列到序列深度長短期記憶(Sequence-to-Sequence Deep LSTM,SS-DLSTM)網(wǎng)絡,可有效捕獲長短時間依賴性和航跡之間的重復性。由于航跡數(shù)據(jù)是具有位置、時間信息的連續(xù)采樣序列,LSTM 在時間序列數(shù)據(jù)預測上具有一定的適用性,因此本文采用LSTM 作為模型的基礎組件。
注意力機制最早出現(xiàn)在視覺領域,現(xiàn)已成為人工智能領域內(nèi)的重要概念[32]。注意力機制的實現(xiàn)原理是通過對目標數(shù)據(jù)分配不同權重,根據(jù)權重得分找出對目標更關鍵的信息。如果賦予LSTM 關注重要特征的能力,則有助于提取信息間隱藏關鍵特征,能更有效地捕捉長時間信息間依賴關系。Fernando等[33]提出了一種LSTM 與注意力機制結合的行人軌跡預測模型,可以根據(jù)行人及其鄰居的過去行為的短暫歷史來預測行人的未來運動。本文利用注意力機制關注被LSTM 忽略的重要性差異,對輸入的特征逐個加權,提取航跡中關鍵特征信息。
生成對抗網(wǎng)絡主要由生成器和判別器兩個網(wǎng)絡組成:生成器通過輸入噪聲并模仿真實數(shù)據(jù)樣本的分布,使生成的假樣本數(shù)據(jù)盡可能地接近真實數(shù)據(jù)樣本[34];判別器可看作是一個二分類器,可以判別輸入的樣本數(shù)據(jù)是否真實。Gupta等[35]提出一種社會 生成對抗網(wǎng)絡(Social Generative Adversarial Network,SGAN)模型,將生成對抗網(wǎng)絡用于行人預測中,利用生成器與判別器間的學習與對抗機制,使模型預測出更加符合社會規(guī)范的航跡。本文利用生成器與判別器的博弈,使模型生成最合理的預測航跡。
ATGAN 模型由生成器和判別器兩部分構成。生成器包括編碼器(Encoder)、匯聚層(Convergence Net,CN)及解碼器(Decoder),其中編碼器中還包括注意力模塊。注意力模塊的作用是在模型輸入到LSTM 之前,對航跡數(shù)據(jù)計算出不同的權重值,從而使得在編碼過程中能根據(jù)權重排序給予不同程度的關注。與LSTM 相比,注意力機制可以使模型注重對預測有利的地方,忽略相關性不高的部分,從而作出更準確的判斷。生成器利用編碼器對航跡信息進行分析,計算出航跡之間的相對位置,經(jīng)匯聚層收集全局特征信息,使用解碼器對特征信息進行映射,得到重構后的預測航跡。判別器主要包括全連接 層(Fully Connected,F(xiàn)C)、多層感知機(Multi-Layer Perceptron,MLP)等。FC 將編碼器映射過的特征嵌入到樣本空間,再通過MLP 解碼判斷預測航跡與真實航跡的差異。最后利用損失函數(shù)更新模型網(wǎng)絡參數(shù),降低模型損失。ATGAN 模型整體框架如圖1 所示。
2.3.1 注意力模塊
2.3.2 生成器
其中:Φ(·)是帶有激活函數(shù)的嵌入函數(shù);Wee是Φ(·)嵌入計算的網(wǎng)絡參數(shù);Wencoder是LSTM 編碼計算的參數(shù)。
其中:ψ(·)是帶有激活函數(shù)的MLP 嵌入函數(shù);Wc是MLP 嵌入計算時的網(wǎng)絡參數(shù)。
其中:Φ(·)是帶有激活函數(shù)的嵌入函數(shù);Wed是嵌入計算的參數(shù);ψ(·)是帶有激活函數(shù)的MLP 函數(shù);Wdecoder是LSTM 函數(shù)解碼運算的參數(shù);Wc是MLP 網(wǎng)絡編碼過程中的參數(shù)。
2.3.3 判別器
判別器用于鑒定生成器生成的預測航跡序列的真實程度。在訓練過程中,判別器不斷校正生成器,使得生成器擬合出高精度的預測航跡。將生成器的輸出結果輸入到編碼函數(shù)的LSTM中,LSTM 網(wǎng)絡經(jīng)過神經(jīng)網(wǎng)絡的傳遞不斷學習,得到飛行器i航跡序列的隱藏特征。在最終預測時間點tobs+tpred輸出隱藏特征,通過MLP 函數(shù)進行解碼,利用Softmax 分類器計算輸出結果,輸出分數(shù)為Spred。同理,真實航跡輸入判別器的步驟與預測航跡相同。
其中:Wencoder是LSTM 編碼運算的參數(shù);Wfc是FC 函數(shù)?(·)的解碼運算參數(shù);WMLP是帶有激活函數(shù)MLP 的分類器ψ(·)計算時的參數(shù)。
2.3.4 損失函數(shù)
損失函數(shù)用于評估模型的預測值與真實值的不一致程度,主要分為兩部分:一部分是生成器與判別器的聯(lián)合對抗損失值LGAN(G,D);另一部分是飛行器真實航跡序列的空間特征向量Yi與預測航跡序列的空間特征向量的最小差值LL2(G)。模型每次從k個結果中選出最優(yōu)值。λ是損失值LL2(G)的權重,用來平衡總損失值,使得生成的預測航跡序列能更趨近于真實航跡。相關公式為:
其中:L是損失函數(shù);G是生成器;D是判別器;是判別器的損失函數(shù)是生成器的損失函數(shù)。
2.3.5 模型訓練步驟
設定模型在每次迭代時以生成器、判別器交替執(zhí)行單次的方式進行訓練。模型訓練過程如ATGAN_LOOP 所述,整體訓練步驟如下:
步驟1 從數(shù)據(jù)集中抽取歷史航跡序列和真實航跡序列,將歷史觀測航跡輸入到生成器模型中,最終輸出預測航跡序列。
步驟2 將歷史航跡序列與真實航跡序列拼接得到Yi,將歷史航跡序列與預測航跡序列拼接后得到將Yi和輸入到判別器中,計算各航跡點的評分結果。
步驟3 將兩條航跡序列的評分結果輸入到判別器損失函數(shù)中,計算生成器與判別器的損失及預測航跡序列和真實航跡序列的數(shù)據(jù)損失,選擇合適的優(yōu)化算法,通過梯度下降的方式,更新網(wǎng)絡的權重參數(shù)。
步驟4 重復前3 個步驟進行訓練,生成器與判別器的網(wǎng)絡參數(shù)在反向傳播過程中不斷優(yōu)化,損失函數(shù)值不斷降低,飛行器的預測航跡點不斷接近真實航跡點。
模型訓練過程ATGAN_LOOP:
本文使用OpenSky 網(wǎng)站[36]中的廣播式自動相關監(jiān)視系統(tǒng)(Automatic Dependent Surveillance-Broadcast,ADS-B)數(shù)據(jù)作為實驗數(shù)據(jù)集的來源。所有實驗用到的數(shù)據(jù)集按照8∶1∶1 的比例劃分為訓練集、驗證集和測試集。實驗流程如圖2 所示。
由于ADS 設備容易受到物體遮擋、通信干擾等因素,航跡數(shù)據(jù)可能會出現(xiàn)時間、位置信息等航跡點重復或航跡點缺失等問題,所以需要對航跡數(shù)據(jù)進行去重、補全等預處理操作。根據(jù)航跡的連續(xù)性和平滑性等特點,本文使用線性插值方法對航跡缺失點進行補充[37]。經(jīng)過數(shù)據(jù)預處理后的數(shù)據(jù)格式見表1。
表1 數(shù)據(jù)集樣例Tab.1 Samples of datasets
由表1 數(shù)據(jù)可以看出,由于經(jīng)緯度與高度的量綱不同,數(shù)值相差較大。為減小因量綱不同造成的網(wǎng)絡預測精度問題,在輸入模型之前,對航跡數(shù)據(jù)進行歸一化操作。本文使用離差標準化方法進行歸一化[38],轉(zhuǎn)換公式為:
其中:max(·)為數(shù)據(jù)的最大值;min(·)為數(shù)據(jù)的最小值;X為原始數(shù)據(jù);X*表示歸一化之后的數(shù)據(jù)。最后將歸一化數(shù)據(jù)加載到網(wǎng)絡中,按照2.3.5 節(jié)模型訓練過程ATGAN_LOOP 進行訓練,如果達到迭代次數(shù),則終止訓練。
本文實驗的訓練與測試均運行在Centos7.2 的操作系統(tǒng)上,GPU 為GeForce GTX 1080Ti,CPU 為Intel Xeon CPU E5-2620 v4 @ 2.10 GHz,Python 版本為3.7,采用的深度學習框架為PyTorch 1.3.0 版本,CUDA 版本為9.2。
實驗采用批量訓練的方法,每一批包含32 組數(shù)據(jù),每組數(shù)據(jù)包含若干個飛行器,訓練時輸入每條航跡的觀測長度為8,預測長度為8。訓練迭代的次數(shù)為20 000,生成器和判別器的學習速率均設置為0.001,神經(jīng)網(wǎng)絡的激活函數(shù)為線性整流函數(shù)(Rectified Linear Unit,ReLU),網(wǎng)絡參數(shù)初始化的方法為Kaiming。本文使用文獻[39]中的評價指標評測模型預測的準確性,包括以下部分:
1)平均位移誤差ADE(Average Displacement Error),指每個預測航跡坐標點與真實航跡坐標點之間的歐氏距離差值平均值,計算公式為:
2)最終位移誤差FDE(Final Displacement Error),指最后一個預測航跡坐標點與最后一個真實航跡坐標點之間的歐氏距離差值,計算公式為:
3)最大位移誤差MDE(Maximum Displacement Error),指所有預測航跡坐標點與真實航跡坐標點之間歐氏距離差的最大值,計算公式為:
式(18)~(20)中:tf表示預測時間長度與分別表示第i條航跡的預測位置與真實位置與表示最終時刻tf時第i條航跡的預測位置與真實位置。
為使模型取得更好的擬合效果,本文對比了常見的6 種優(yōu)化算法:隨機梯度下降(Stochastic Gradient Descent,SGD)[40]、自適應矩估計(Adaptive Moment Estimation,Adam)[41]、彈性傳播(Resilient Propagation,RProp)[42]、自適應梯度(Adaptive gradient,Adagrad)[43]、均方根傳播(Root Mean Square Propagation,RMSProp)[44]、動量梯度下降(SGD Momentum)[45]。模型使用不同優(yōu)化算法時結果如圖3 所示。
從圖3 中可以看出:隨著迭代次數(shù)的增加,Adam 與RMSProp 的指標值上下波動幅度較大,其他優(yōu)化算法的指標值基本呈不斷降低的趨勢,Adagrad 在指標值方面優(yōu)于其他算法,所以本實驗使用Adagrad 作為模型訓練過程中的優(yōu)化算法。
為有效地評估所提模型的相對準確性,本文構建了一個覆蓋飛行整個階段的數(shù)據(jù)集,隨機選擇2020 年09 月07 日當天的2 000 條的全球航跡數(shù)據(jù)。將ATGAN 與其他現(xiàn)有的飛行器預測方法等進行對比,計算在測試集中的所有航跡的預測誤差。BP 網(wǎng)絡參考文獻[18]的實現(xiàn)方法,BP 網(wǎng)絡中包含單個隱藏層;LSTM 網(wǎng)絡參考文獻[23]中的實現(xiàn)方法,隱藏層中僅有單層的LSTM 網(wǎng)絡,每層有64 個神經(jīng)元;GRU 網(wǎng)絡參考文獻[24]中的方法,模型參數(shù)與LSTM 保持一致;SGAN網(wǎng)絡參考文獻[35]中的實現(xiàn)方法,將模型的輸入由二維擴展到三維。所有的模型本質(zhì)上都是基于數(shù)據(jù)驅(qū)動的方法,且均使用相同的訓練數(shù)據(jù)集、驗證數(shù)據(jù)集訓練。不同模型在全階段數(shù)據(jù)集上的預測誤差見表2。
表2 不同模型在全階段數(shù)據(jù)集上的預測誤差Tab.2 Prediction errors of different models on dataset during all phases
從表2 中可以看出,ATGAN 在整個飛行階段的數(shù)據(jù)集上優(yōu)于其他模型。與BP、LSTM、GRU 模型相比,GAN 系列的模型預測精度更高,這是由于GAN 系列的神經(jīng)網(wǎng)絡模型更加復雜,刻畫特征能力更強。ATGAN 模型的預測精度更高,這是由于注意力機制可以針對不同場景的飛行器關注點進行合理的權重分配,能提取不同場景下的關鍵特征信息,可充分學習到數(shù)據(jù)中隱藏的航跡特征規(guī)律,對不同類型分布的數(shù)據(jù)也取得很好的預測結果。
飛行器在爬升、巡航、下降等階段,其航跡數(shù)據(jù)會有不同分布,其中:巡航階段高度變化比較平穩(wěn),可近似看成二維航跡預測問題;下降階段與爬升階段類似,可看作爬升階段的逆過程。本文隨機選擇2 000 條處于爬升階段的航跡數(shù)據(jù),其他條件與全飛行階段數(shù)據(jù)集訓練時保持一致。不同模型對比實驗結果見表3。
表3 不同模型在處于爬升階段數(shù)據(jù)集上的預測誤差Tab.3 Prediction errors of different models on dataset during climb phase
通過對比表3 中不同預測模型在處于爬升階段的數(shù)據(jù)集上的預測誤差,在ADE、FDE 與MDE 指標上,ATGAN 在數(shù)據(jù)集上均表現(xiàn)最好。LSTM 網(wǎng)絡和GRU 網(wǎng)絡的整體表現(xiàn)不及GAN 系列的模型,因為缺少判別器對預測航跡的反復糾正,導致模型擬合的效果不佳。相較于SGAN,ATGAN 可以有選擇地融合對當前飛行器的重要特征,因此ATGAN 具有更強的數(shù)據(jù)表征能力。相較于SGAN,ATGAN 模型的ADE、FDE 及MDE 分別降低了20.0%、20.4%和18.3%,與整個飛行階段數(shù)據(jù)集上的模型表現(xiàn)相比,ATGAN 在爬升階段上的表現(xiàn)較好,說明ATGAN 在單一飛行階段數(shù)據(jù)上能更加充分地學習其分布規(guī)律。
為測試所提模型的高效性,本文通過實驗對比不同預測模型在全階段數(shù)據(jù)上的時間效率,訓練所用參數(shù)與3.2 節(jié)中的模型參數(shù)保持一致,模型的預測時間為測試集里一組數(shù)據(jù)所花費的平均時間。因模型只需一次加載后就能不斷預測數(shù)據(jù),所以為準確統(tǒng)計不同模型網(wǎng)絡的預測實時性,模型加載的時間不計算在內(nèi)。不同航跡預測模型的時間對比結果見表4。
表4 不同模型在全階段數(shù)據(jù)集上的時間對比結果Tab.4 Time comparison results of different models on dataset during all phases
從表4 中可以看出,由于BP 模型的網(wǎng)絡結構比較簡單,模型訓練時間和預測時間最小。LSTM 與GRU 模型需要依次計算前一時刻的隱藏狀態(tài),故時間開銷大于BP 模型。與LSTM 和GRU 模型相比,基于GAN 方法的SGAN 和ATGAN 在編碼、解碼階段需要耗費更多時間,且需要多次訓練生成器和判別器,故訓練時間較長;數(shù)據(jù)從輸入到輸出經(jīng)過更長的網(wǎng)絡深度,故預測時間比其他模型更久。與SGAN 模型相比,ATGAN 模型的訓練時間略短,這是由于添加了注意力機制,使模型關注航跡中的重要特征,在一定程度上減少了后續(xù)網(wǎng)絡參數(shù)計算量。綜上,ATGAN 不僅能縮短模型的訓練時間,還能保證模型預測的實時性與準確性,符合實際應用的要求。
此外,為測試注意力機制的適用性,本文通過實驗對比了SGAN 與ATGAN 在不同觀測長度上的模型準確性。在模型訓練時設置了不同的觀測長度,其他條件均保持一致,其中最小觀測長度為8,最大觀測長度為20,觀測長度每次疊加2 個單位,預測長度為8,在測試集上驗證模型的性能指標,實驗結果如圖4 所示。
從圖4 實驗結果上可以看出:隨著觀測長度的增加,ATGAN 與SGAN 的性能指標呈不斷降低的趨勢,ATGAN 的指標性能整體優(yōu)于SGAN。由于注意力機制降低數(shù)據(jù)中非重要特征的影響力,從而能更有效率、更靈活地學習數(shù)據(jù)的重要特征。利用更長的觀察時間,ATGAN 可以學習更多的特征信息,提高了對概率分布的刻畫性能,能更準確地擬合數(shù)據(jù)分布并生成預測航跡。
本文通過分析LSTM 的問題與航跡數(shù)據(jù)時序特點,提出一種基于注意力機制和生成對抗網(wǎng)絡的短期航跡預測模型。與BP、LSTM、GRU 等航跡預測模型在性能指標與時間效率上進行對比分析,驗證了ATGAN 的準確性、有效性與實時性。實驗結果表明ATGAN 模型在單一飛行階段數(shù)據(jù)比整個飛行階段數(shù)據(jù)的表現(xiàn)更優(yōu),最后與SGAN 對比,驗證了注意力機制在更長觀測時間上具有更好的魯棒性。后續(xù)將對不同飛行階段的數(shù)據(jù)做單獨的研究,提高模型對整個飛行階段數(shù)據(jù)特征的刻畫能力。在現(xiàn)實生活中,因為飛行器運動時還必須考慮天氣、風速等外界情況,所以在航跡預測時將考慮添加實際環(huán)境因素。