?

基于Transformer的飛機狀態預測

2024-02-22 07:44王經緯高艷鹍宋澣興劉一非
計算機工程與設計 2024年2期
關鍵詞:狀態參數多任務步數

王經緯,高艷鹍,宋澣興,劉一非

(1.中國航空研究院 中國航空系統工程研究所,北京 100029;2.中國航天科工集團第二研究院七〇六所,北京 100854;3.北京郵電大學 計算機學院,北京 100876;4.北京工商大學 計算機學院,北京 100048)

0 引 言

在大迎角飛行過程中,由飛機表面流場復雜變化及渦的破裂等導致氣動力呈現強烈的非線性特性,嚴重影響飛行安全和飛機效能?,F階段,非定常氣動力建模是解決大迎角問題的主要方法之一[1]。

對飛行狀態的預測作為氣動力建模的一個分支,傳統方法較復雜,成本高,樣本數據需求量大,且存在提取時間關聯信息能力弱、性能表現差等弊端。隨著人工智能技術的興起,智能方法如神經網絡模型、支持向量機模型等陸續應用到飛行狀態預測,這些方法規避了對復雜流體的機理研究,屬于黑箱非線性系統建模,學習能力強,效果顯著。

由于預測飛行狀態需要同時預測飛行狀態參數與飛行狀態類別,且二者相輔相成,實際上是一種回歸與分類相結合的問題。為更好解決這一問題,本文提出了一種多任務Transformer模型,能夠同時進行回歸與分類,通過實驗與其它方法進行對比,多任務Transformer模型在飛行狀態參數回歸上至少有21.6%的性能提升,在飛行狀態分類上至少有4.1%的性能提升。

本文主要創新點如下:

(1)提出了一種基于多任務Transformer的模型用于飛機狀態預測;

(2)使用Transformer模型同時進行飛行狀態參數的預測與飛行狀態分類,模型的Query、Key和Value集將飛機狀態參數特征進行融合,同時,通過分配預測任務與分類任務損失函數的不同比重,改進了Transformer模型結構,更好適應了應用場景;

(3)飛機仿真數據實驗結果表明,本文提出的模型在性能上優于現有LSTM預測模型,且與單任務Transformer模型相比也表現出了一定優勢。

1 相關工作

隨著神經網絡的不斷發展,國內外學術領域在非定常氣動力建模方面的探索不斷深入,主要從反向傳播(back propagation,BP)、循環神經網絡(recurrent netual network,RNN),到支持向量機(support vector machine,SVM),均取得了一定進展。王海峰等[2]介紹了BP神經網絡的相關方法。何磊等[3]采用LSTM循環神經網絡對振蕩三角翼的非定常氣動力進行建模,取得了收斂速度快、預測精度高、且泛化性良好等效果。Kou J等[4]利用LSTM進行飛機失速預測建模;陳翔等[5]驗證了LSTM神經網絡模型應用在非定常氣動力建模上的優勢。何磊等[6]使用支持向量機方法也取得了較好預測效果。

近年來,Transformer模型架構一枝獨秀,在視覺[7,8]、語音[9-12]、目標檢測[13-16]等領域都取得了很好的效果,作為時序預測較前沿的方法之一,本文基于該架構提出了一種基于多任務Transformer模型的飛機狀態序列預測方法,通過對比實驗,在回歸任務與分類任務上表現良好,有著很高的應用前景。

2 基于多任務Transformer的飛機狀態序列預測方法

由于使用人工智能方法預測飛機狀態序列屬于較新興的研究領域,能借鑒的經驗方法較少。在充分研究、分析飛機仿真數據后,我們提出了多任務Transformer預測方法,下面主要介紹方法涉及的基本概念和細節。

2.1 基本概念

定義1 飛行狀態參數序列集合。飛機的飛行狀態參數序列為某一時刻的各項氣動力參數(狀態點參數),包括飛行速度、飛行高度、迎角、側滑角、俯仰角、旋轉角、俯仰角速度、偏航角速度等。飛機的飛行狀態參數序列集合由一段連續的狀態參數序列構成,表示為T={T1,T2,…,TN}, 其中N為所有飛行狀態參數序列總數。飛行狀態參數序列集合中的第i條飛行狀態參數序列由Ti={(α1,β1,p1,q1,r1,l1),…,(αN,βN,pN,qN,rN,lN)} 表示,其中 (αm,βm,pm,qm,rm,lm) 表示飛行狀態序列中的第m個狀態點,αm表示第m個狀態點的迎角,βm表示第m個狀態點的側滑角,pm表示第m個狀態點的滾轉角速度,qm表示第m個狀態點的俯仰角速度,rm表示第m個狀態點的偏航角速度,lm表示第m個狀態點的狀態標識。

定義2 飛行狀態序列集合。當飛機的迎角超過臨界迎角后,會發生的一系列大迎角異常運動。通常情況下,飛機會沿著一條小半徑的螺旋線一面旋轉、一面急劇下降。飛行狀態序列集合對應飛機的所有飛行狀態(正常、異常),記為W={W1,W2,…,WN}, 其中N為所有飛行狀態參數序列總數。其中一條飛行狀態由Wi={w1,w2,…,wN} 表示,其中wm表示該飛行狀態序列第m個狀態點的飛行狀態標簽,wm∈{0,1,2,3,4}。 其中,0表示正常,1~4表示4種異常狀態,屬于大迎角異常狀態。

定義3 多任務損失函數。本文研究重點在于基于多任務Transformer模型完成兩個任務:任務1-飛行狀態參數回歸和任務2-飛行狀態分類。多任務損失函數即模型總損失函數由loss=rate1*loss1+rate2*loss2表示,loss1為任務1的均方誤差,loss2為任務2的交叉熵誤差,rate1為任務1損失函數的權重系數,rate2為任務2損失函數的權重系數。

2.2 多任務Transformer模型架構

2.2.1 Model Encoder模塊

圖1展示了本模型的架構。本模型主要由Model Encoder模塊、Model Decoder模塊以及多任務生成模塊組成。

圖1 多任務Transformer模型結構

Model Encoder模塊對當前飛行狀態參數序列進行特征提取,然后為其添加位置編碼信息,最后通過輸入Model Encoder提取參數序列的高維特征。

當前飛行狀態參數序列表示為T0∈Rbatch_size×p×t, 其中batch_size為數據批量大小,p為Model Encoder輸入序列的狀態點數量,t為狀態參數維度,即一個狀態點中選取特征參數的個數。使用線性映射層(Linear1)對該序列進行特征提取,得到數據特征序列T1

T1=T0*WLinear1

(1)

其中,WLinear1∈Rt×d,T1∈Rbatch_size×p×d,d為模型內隱向量維度。

此時,T1不包含位置編碼信息,需要使用Position Embedding為T1添加位置編碼信息。Position Embedding表示為

PE(pos,2i)=sin(pos/10002i/d)

(2)

PE(pos,2i+1)=cos(pos/10002i/d)

(3)

其中,pos為飛行序列中的第pos個狀態點,i為其中第i個維度。

經過位置編碼模塊后,得到包含位置信息的數據特征序列T2

T2=T1+PE

(4)

其中,T2∈Rbatch_size×p×d,PE∈Rbatch_size×p×d。

然后,使Transformer Encoder模塊提取更高維度的數據特征序列T3。 本方法使用2層的Transformer Encoder,每層是由一個多頭注意力網絡和一個前饋神經網絡(FFN)構成的。其中多頭注意力的公式為

MultiHead(Q,K,V)=concat(head1,…,headh)W0

這里

(5)

(6)

在多頭注意力層之后的前饋神經網絡的公式為

FFN(x)=max(0,xW1+b1)W2+b2

(7)

其中,W1∈Rd×df,W2∈Rdf×d,x為多頭注意力網絡的輸出。

特征升維過程可表示為可以描述為

T3=TransformerEncoder(T2,T2,T2)

(8)

其中,T3∈Rbatch_size×p×d。

2.2.2 Model Decoder模塊

Model Decoder模塊結構與Model Encoder的結構一致,首先對預測序列進行數據處理,然后添加位置編碼信息,最后輸入至Transformer Decoder提取高維數據特征。

本方法中的回歸任務為多步預測,需要將預測出的飛行狀態參數序列與Model Decoder模塊的輸入序列進行拼接。拼接后序列表示為T′0∈Rbatch_size×p×t, 其中batch_size為數據批量大小,p為預測飛行狀態參數序列的狀態點數量,t為狀態參數維度。使用另一個線性映射層(Linear2)對T′0進行特征升維,得到數據特征序列T′1

T′1=T′0*WLinear2

(9)

其中,WLinear2∈Rt×d,T′1∈Rbatch_size×p×d,d為模型內向量維度。

使用與Model Encoder相同設計的Position Embedding層為T′1提供位置編碼信息PE′, 得到具有位置編碼信息的數據特征序列T′2

T′2=T′1+PE′

(10)

其中,T′2∈Rbatch_size×p×d,PE′∈Rbatch_size×p×d。

最后,使用Transformer Decoder模塊生成高維數據特征序列T′3, Transformer Decoder的過程與Transformer Encoder一致,可描述為

T′3=TransformreEncoder(T3,T′2,T′2)

(11)

其中,T′3∈Rbatch_size×p×d。

2.2.3 多任務生成器

數據經過Model Encoder和Model Decoder后,使用多任務生成器完成任務1-飛行狀態參數回歸和任務2-飛行狀態分類。

對于任務1-飛行狀態參數回歸,使用一個線性映射層(Linear3)進行特征提取,得到任務1中間向量

Ttask1=T′3*WLinear3

(12)

其中,WLinear3∈Rt×d,Ttask1∈Rbatch_size×p×d。

接著,使用一個線性映射層(Status Predictor)得到預測結果的輸出向量

Output1=Ttask1*WStatusPredictor

(13)

其中,WStatusPredictor∈Rd×t,Output1∈Rbatch_size×p×t。

對于任務2-飛行狀態分類,使用一個線性映射層(Linear4)進行特征提取,得到任務2的中間向量

Ttask2=T′3*WLinear4

(14)

其中,WLinear4∈Rd×d,Ttask2∈Rbatch_size×q×d。

最后,使用線性映射層(Type Classify)進行狀態分類得到任務2的輸出向量

Output2=argmax(Ttask1*WTypeClassify)

(15)

其中,WTypeClassify∈Rt×type_num為一個全連接層,type_num為飛行狀態的種類數。任務2輸出Ttask2∈Rbatch_size×q×type_num。

3 實驗設計

3.1 數據集

本文的實驗數據集主要由某型機模擬仿真數據組成。實驗數據集中共包括2000條時序序列數據文件(每個文件包含5000~8000條飛行狀態點)。其中每個序列的飛行狀態參數由5維特征參數(迎角、側滑角、滾轉角速度、俯仰角速度、偏航角速度)和1維飛行正常狀態標簽(取值0/1)組成。實驗數據集共計1 082 435個飛行狀態,其中包括592 647個正常飛行狀態和489 788個異常飛行狀態。

根據時序序列特點,本文實驗使用滑動時間窗口方法對數據進行劃分,窗口大小為P+Q,步長為P+Q,P、Q分別為輸入序列條數和預測序列條數,即選取窗口內前P個飛行狀態參數序列作為模型輸入數據,窗口內后Q個狀態參數序列作為真值數據。

3.2 對比方法

為測試本文提出的多任務Transformer模型效果,實驗主要通過與兩個現有方法以及兩個本方法的單任務版本效果進行對比。這4個方法分別是:

(1)Seq2Seq(Linear)[2]:雙層的線性層模型被使用在進行大迎角非定常氣動力建模中,建模過程的重點是調整權重,使輸出層與實際值誤差達到最小。我們將雙層L應用在Seq2Seq結構上,得到了該方法Seq2Seq(Linear)。

(2)LSTM[5]:這是一個利用LSTM進行飛機失速預測建模的方法,LSTM循環神經網絡能夠在失速之前學習各種相關參數的獨特時間演變,并可以提前很長時間預測潛在的失速能力,可以有效提出失速預警。

(3)Transformer(task1)[9]:這是本模型的一個單任務版本,是通過去除多任務生成器模塊中飛行狀態分類功能得到的。該方法僅保留本模型中飛行狀態參數回歸功能。

(4)Transformer(task2)[9]:這是本模型的另一個單任務版本,是通過去除多任務生成器模塊中飛行狀態參數回歸功能得到的。該方法僅保留本模型中飛行狀態分類功能。

3.3 實驗設置

為了確保公平性,本實驗采用相同的Adam優化器以及損失函數,并使用了相同的超參數,見表1。為了確保多任務學習中兩個任務的損失函數值的數量級接近,本實驗設置任務1權重系數為1,任務2權重系數為0.0001。

表1 超參數設置

值得注意的是,相較于分別使用Transformer(task1)和Transformer(task2)完成任務1-飛行狀態參數回歸和任務2-飛行狀態分類,本文提出的多任務Transformer可以同時完成這兩個任務,因此在參數規模、時間開銷上達到事半功倍的效果。

為了更好貼近實際應用場景,體現小規模訓練數據、大步長預測的特點,本實驗在模型訓練過程中使用前20步時序數據完成后5步飛行狀態參數回歸和飛行狀態分類,在測試過程中使用相同數量的前序數據,完成后30步、60步、90步的飛行狀態參數回歸和飛行狀態分類。

3.4 性能評測指標

對于任務1-飛行狀態參數回歸選用RMSE和MAE進行評估。

RMSE的計算方式為計算所有飛行狀態參數回歸值與真值的均方根誤差之和,MAE的計算方式為計算所有飛行狀態參數回歸值與真值的平均絕對值誤差之和。RMSE的計算方式為

(16)

其中,T為預測特征的個數,Numall為測試集中所有狀態點的總數,Sj,i為在第j次預測中第i個特征的模型輸出值,gdj,i為在第j次預測中第i個特征對應的真值。

在本實驗中,不同特征的rmse值也可以用rmset表示,t∈{α,β,p,q,r,l},rmset的公式為

(17)

其中,Numall為測試集中所有狀態點的總數,Sj,t為在第j次預測中特征t的模型輸出值,gdj,t為在第j次預測中特征t對應的真值。

MAE計算方式為

(18)

其中,變量與RMSE公式內變量含義一致。RMSE和MAE越小說明飛行狀態參數回歸誤差越小,模型性能表現越高。

對于任務2-飛行狀態分類選用ACC和RECALL估表現方法。ACC的計算方式為計算所有狀態分類正確的比例,RECALL的計算方式為計算異常飛行狀態被正確分類的比例。ACC和RECALL的公式分別為

ACC=rightall/Numall

(19)

其中,rightall為所有飛行狀態分類正確總數,Numall為測試集中所有狀態點數量

RECALL=rightabnormal/Numabnormal

(20)

其中,rightabnormal為異常飛行狀態分類正確總數,NUMabnormal為所有異常飛行狀態數量。

ACC越大代表對于飛行狀態的分類準確率更高,模型表現越好;RECALL越大代表異常飛行狀態被正確分類的概率更高,模型性能表現越好。

4 實驗結果分析

4.1 總體對比

表2~表7分別對比了4種方法在預測30、60、90步時的RMSE、MAE和ACC、RECALL。由表2可知,在預測步數為30步的任務1-飛行狀態參數回歸任務上,本方法取得最好的RMSE和MAE表現,分別為0.576和0.369。相比于算法Seq2Seq(Linear)和LSTM算法,多任務Transformer在RMSE方面分別降低了0.195(25.3%)和0.159(21.6%),在MAE方面分別降低了0.247(40.1%)和0.152(29.2%)。驗證了在多任務架構下,使用Transformer模型的優越性;相比于Transformer(task2)有0.064(10%)的RMSE下降和0.039(9.6%)的MAE下降,驗證多任務架構對于任務1-飛行狀態參數回歸效果有正向提升作用。

表2 預測30步時的RMSE和MAE

由表3可知,在預測步數為30步的任務2-飛行狀態分類任務上,本方法相比于Seq2Seq(Linear)和LSTM在ACC方面均有0.037(4.1%)提升,在RECALL方面有0.086(10.9%)和0.084(10.6%)的提升,驗證在同樣使用多任務架構的情況下,使用Transformer模型的優越性。本方法與Transformer(task1)取得相同的、最好的ACC和MAE表現,分別為0.944和0.874。驗證本模型使用的多任務架構在提升飛行狀態參數回歸性能的前提下,仍能在飛行狀態分類任務上取得最好的表現。

表3 預測30步時的ACC和RECALL

由表4、表6可知,在預測步數為60步和90步的任務1-飛行狀態參數回歸任務上,本方法仍取得最好的表現,模型的RMSE分別為0.994和1.347,模型的MAE分別為0.642和0.865。相比于算法Seq2Seq(Linear)和LSTM算法,在預測步數為60步時,本方法的RMSE分別降低了0.493(33.2%)和0.44(30.7%),MAE分別降低了0.570(47.0%)和0.356(35.7%);在預測步數為90步時,本方法的均方誤差分別降低了0.809(37.6%)和0.73(35.1%),MAE分別降低了0.921(51.5%)和0.564(39.4%),驗證了使用在使用多任務架構下,使用Transformer模型的優越性;相比于Transformer(task2),在預測步數為60步和90步時,RMSE分別降低了0.053(5.1%)和0.046(3.3%),MAE分別降低了0.023(3.5%)和0.019(2.1%),驗證多任務架構對于飛行狀態預測效果有正向提升作用。

表4 預測60步時的RMSE和MAE

表5 預測60步時的ACC和RECALL

表6 預測90步時的RMSE和MAE

由表5、表7可知,在預測步數為60步和90步的任務2-飛行狀態分類任務上,在預測步數為60步時,本方法相比于Seq2Seq(Linear)和LSTM在ACC方面分別有0.037(4.1%)和0.045(5%)提升,在RECALL方面分別有0.086(11%)和0.104(13.7%)提升;在預測步數為90步時,本方法相比于Seq2Seq(Linear)和LSTM在ACC方面分別有0.04(4.5%)和0.055(6.3%)提升,在RECALL方面分別有0.089(11.6%)和0.124(16.9%)提升,驗證在同樣使用多任務架構的情況下,使用多任務Transformer模型完成飛行狀態分類任務的優越性。相比于Transformer(task1)模型,多任務Transformer在ACC方面,在預測步數為60步和90步時,均有0.001(0.1%)的輕微下降;在RECALL方面,在預測步數為60步和90步時分別有0.002(0.3%)和0.003(0.3%)的輕微下降。

表7 預測90步時的ACC和RECALL

4.2 回歸均方誤差分析

對于任務1-飛行狀態參數回歸,本文對各個方法的參數預測效果進行了進一步分析,結果如圖2、圖3、圖4所示。對于α、p、r特征,在預測步數為30步、60步、90步的實驗中,多任務Transformer均取得穩定的、最優的效果。對于β和q特征,在預測步數為30步、60步、90步的實驗中,LSTM取得了最優的效果,但是多任務Transformer取得了與LSTM較為接近的效果,與LSTM相比,在β特征上rmseβ至多高0.023。在r特征上rmser至多高0.007。對于l特征,除了Seq2Seq(Linear)效果較差外,其余方法均取得了接近的結果。

圖2 預測30步時各狀態特征均方誤差

圖3 預測60步時各狀態特征均方誤差

圖4 預測90步時各狀態特征均方誤差

總體而言,多任務Transformer在飛行狀態參數回歸上相比于對比方法在α、p、r有絕對的性能提升,在β和q特征上有與最優方法接近的較優表現。

5 結束語

本文提出了一種多任務Transformer模型,能夠同時完成參數回歸任務與狀態分類任務。該模型在不同的預測步數實驗中的回歸任務上均取得了最優的效果,相比于LSTM至少有21.6%的性能提升;在分類任務上,雖然相比于單任務版本Transformer至多有0.1%的準確率下降,但相比其它模型在準確度上均有大幅提升,尤其較LSTM至少有4.1%的性能提升。

今后,多任務Transformer模型應探索優化β和q的預測能力。同時,由于在分類任務上略差于單任務Transformer模型,將進一步研究如何設計有效的機制提升分類能力。

猜你喜歡
狀態參數多任務步數
速度和步數,哪個更重要
基于HHT算法的分布式電力系統狀態自動監測方法
堆石料的三維應力分數階本構模型
楚國的探索之旅
基于中心化自動加權多任務學習的早期輕度認知障礙診斷
微信運動步數識人指南
基于大數據風電場狀態參數相關性分析
The validity analysis of ground simulation test for non-ablative thermal protection materials
基于判別性局部聯合稀疏模型的多任務跟蹤
基于多任務異步處理的電力系統序網絡拓撲分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合