王經(jīng)緯,高艷鹍,宋澣興,劉一非
(1.中國航空研究院 中國航空系統(tǒng)工程研究所,北京 100029;2.中國航天科工集團(tuán)第二研究院七〇六所,北京 100854;3.北京郵電大學(xué) 計(jì)算機(jī)學(xué)院,北京 100876;4.北京工商大學(xué) 計(jì)算機(jī)學(xué)院,北京 100048)
在大迎角飛行過程中,由飛機(jī)表面流場復(fù)雜變化及渦的破裂等導(dǎo)致氣動力呈現(xiàn)強(qiáng)烈的非線性特性,嚴(yán)重影響飛行安全和飛機(jī)效能?,F(xiàn)階段,非定常氣動力建模是解決大迎角問題的主要方法之一[1]。
對飛行狀態(tài)的預(yù)測作為氣動力建模的一個分支,傳統(tǒng)方法較復(fù)雜,成本高,樣本數(shù)據(jù)需求量大,且存在提取時間關(guān)聯(lián)信息能力弱、性能表現(xiàn)差等弊端。隨著人工智能技術(shù)的興起,智能方法如神經(jīng)網(wǎng)絡(luò)模型、支持向量機(jī)模型等陸續(xù)應(yīng)用到飛行狀態(tài)預(yù)測,這些方法規(guī)避了對復(fù)雜流體的機(jī)理研究,屬于黑箱非線性系統(tǒng)建模,學(xué)習(xí)能力強(qiáng),效果顯著。
由于預(yù)測飛行狀態(tài)需要同時預(yù)測飛行狀態(tài)參數(shù)與飛行狀態(tài)類別,且二者相輔相成,實(shí)際上是一種回歸與分類相結(jié)合的問題。為更好解決這一問題,本文提出了一種多任務(wù)Transformer模型,能夠同時進(jìn)行回歸與分類,通過實(shí)驗(yàn)與其它方法進(jìn)行對比,多任務(wù)Transformer模型在飛行狀態(tài)參數(shù)回歸上至少有21.6%的性能提升,在飛行狀態(tài)分類上至少有4.1%的性能提升。
本文主要創(chuàng)新點(diǎn)如下:
(1)提出了一種基于多任務(wù)Transformer的模型用于飛機(jī)狀態(tài)預(yù)測;
(2)使用Transformer模型同時進(jìn)行飛行狀態(tài)參數(shù)的預(yù)測與飛行狀態(tài)分類,模型的Query、Key和Value集將飛機(jī)狀態(tài)參數(shù)特征進(jìn)行融合,同時,通過分配預(yù)測任務(wù)與分類任務(wù)損失函數(shù)的不同比重,改進(jìn)了Transformer模型結(jié)構(gòu),更好適應(yīng)了應(yīng)用場景;
(3)飛機(jī)仿真數(shù)據(jù)實(shí)驗(yàn)結(jié)果表明,本文提出的模型在性能上優(yōu)于現(xiàn)有LSTM預(yù)測模型,且與單任務(wù)Transformer模型相比也表現(xiàn)出了一定優(yōu)勢。
隨著神經(jīng)網(wǎng)絡(luò)的不斷發(fā)展,國內(nèi)外學(xué)術(shù)領(lǐng)域在非定常氣動力建模方面的探索不斷深入,主要從反向傳播(back propagation,BP)、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent netual network,RNN),到支持向量機(jī)(support vector machine,SVM),均取得了一定進(jìn)展。王海峰等[2]介紹了BP神經(jīng)網(wǎng)絡(luò)的相關(guān)方法。何磊等[3]采用LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)對振蕩三角翼的非定常氣動力進(jìn)行建模,取得了收斂速度快、預(yù)測精度高、且泛化性良好等效果。Kou J等[4]利用LSTM進(jìn)行飛機(jī)失速預(yù)測建模;陳翔等[5]驗(yàn)證了LSTM神經(jīng)網(wǎng)絡(luò)模型應(yīng)用在非定常氣動力建模上的優(yōu)勢。何磊等[6]使用支持向量機(jī)方法也取得了較好預(yù)測效果。
近年來,Transformer模型架構(gòu)一枝獨(dú)秀,在視覺[7,8]、語音[9-12]、目標(biāo)檢測[13-16]等領(lǐng)域都取得了很好的效果,作為時序預(yù)測較前沿的方法之一,本文基于該架構(gòu)提出了一種基于多任務(wù)Transformer模型的飛機(jī)狀態(tài)序列預(yù)測方法,通過對比實(shí)驗(yàn),在回歸任務(wù)與分類任務(wù)上表現(xiàn)良好,有著很高的應(yīng)用前景。
由于使用人工智能方法預(yù)測飛機(jī)狀態(tài)序列屬于較新興的研究領(lǐng)域,能借鑒的經(jīng)驗(yàn)方法較少。在充分研究、分析飛機(jī)仿真數(shù)據(jù)后,我們提出了多任務(wù)Transformer預(yù)測方法,下面主要介紹方法涉及的基本概念和細(xì)節(jié)。
定義1 飛行狀態(tài)參數(shù)序列集合。飛機(jī)的飛行狀態(tài)參數(shù)序列為某一時刻的各項(xiàng)氣動力參數(shù)(狀態(tài)點(diǎn)參數(shù)),包括飛行速度、飛行高度、迎角、側(cè)滑角、俯仰角、旋轉(zhuǎn)角、俯仰角速度、偏航角速度等。飛機(jī)的飛行狀態(tài)參數(shù)序列集合由一段連續(xù)的狀態(tài)參數(shù)序列構(gòu)成,表示為T={T1,T2,…,TN}, 其中N為所有飛行狀態(tài)參數(shù)序列總數(shù)。飛行狀態(tài)參數(shù)序列集合中的第i條飛行狀態(tài)參數(shù)序列由Ti={(α1,β1,p1,q1,r1,l1),…,(αN,βN,pN,qN,rN,lN)} 表示,其中 (αm,βm,pm,qm,rm,lm) 表示飛行狀態(tài)序列中的第m個狀態(tài)點(diǎn),αm表示第m個狀態(tài)點(diǎn)的迎角,βm表示第m個狀態(tài)點(diǎn)的側(cè)滑角,pm表示第m個狀態(tài)點(diǎn)的滾轉(zhuǎn)角速度,qm表示第m個狀態(tài)點(diǎn)的俯仰角速度,rm表示第m個狀態(tài)點(diǎn)的偏航角速度,lm表示第m個狀態(tài)點(diǎn)的狀態(tài)標(biāo)識。
定義2 飛行狀態(tài)序列集合。當(dāng)飛機(jī)的迎角超過臨界迎角后,會發(fā)生的一系列大迎角異常運(yùn)動。通常情況下,飛機(jī)會沿著一條小半徑的螺旋線一面旋轉(zhuǎn)、一面急劇下降。飛行狀態(tài)序列集合對應(yīng)飛機(jī)的所有飛行狀態(tài)(正常、異常),記為W={W1,W2,…,WN}, 其中N為所有飛行狀態(tài)參數(shù)序列總數(shù)。其中一條飛行狀態(tài)由Wi={w1,w2,…,wN} 表示,其中wm表示該飛行狀態(tài)序列第m個狀態(tài)點(diǎn)的飛行狀態(tài)標(biāo)簽,wm∈{0,1,2,3,4}。 其中,0表示正常,1~4表示4種異常狀態(tài),屬于大迎角異常狀態(tài)。
定義3 多任務(wù)損失函數(shù)。本文研究重點(diǎn)在于基于多任務(wù)Transformer模型完成兩個任務(wù):任務(wù)1-飛行狀態(tài)參數(shù)回歸和任務(wù)2-飛行狀態(tài)分類。多任務(wù)損失函數(shù)即模型總損失函數(shù)由loss=rate1*loss1+rate2*loss2表示,loss1為任務(wù)1的均方誤差,loss2為任務(wù)2的交叉熵誤差,rate1為任務(wù)1損失函數(shù)的權(quán)重系數(shù),rate2為任務(wù)2損失函數(shù)的權(quán)重系數(shù)。
2.2.1 Model Encoder模塊
圖1展示了本模型的架構(gòu)。本模型主要由Model Encoder模塊、Model Decoder模塊以及多任務(wù)生成模塊組成。
圖1 多任務(wù)Transformer模型結(jié)構(gòu)
Model Encoder模塊對當(dāng)前飛行狀態(tài)參數(shù)序列進(jìn)行特征提取,然后為其添加位置編碼信息,最后通過輸入Model Encoder提取參數(shù)序列的高維特征。
當(dāng)前飛行狀態(tài)參數(shù)序列表示為T0∈Rbatch_size×p×t, 其中batch_size為數(shù)據(jù)批量大小,p為Model Encoder輸入序列的狀態(tài)點(diǎn)數(shù)量,t為狀態(tài)參數(shù)維度,即一個狀態(tài)點(diǎn)中選取特征參數(shù)的個數(shù)。使用線性映射層(Linear1)對該序列進(jìn)行特征提取,得到數(shù)據(jù)特征序列T1
T1=T0*WLinear1
(1)
其中,WLinear1∈Rt×d,T1∈Rbatch_size×p×d,d為模型內(nèi)隱向量維度。
此時,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個狀態(tài)點(diǎn),i為其中第i個維度。
經(jīng)過位置編碼模塊后,得到包含位置信息的數(shù)據(jù)特征序列T2
T2=T1+PE
(4)
其中,T2∈Rbatch_size×p×d,PE∈Rbatch_size×p×d。
然后,使Transformer Encoder模塊提取更高維度的數(shù)據(jù)特征序列T3。 本方法使用2層的Transformer Encoder,每層是由一個多頭注意力網(wǎng)絡(luò)和一個前饋神經(jīng)網(wǎng)絡(luò)(FFN)構(gòu)成的。其中多頭注意力的公式為
MultiHead(Q,K,V)=concat(head1,…,headh)W0
這里
(5)
(6)
在多頭注意力層之后的前饋神經(jīng)網(wǎng)絡(luò)的公式為
FFN(x)=max(0,xW1+b1)W2+b2
(7)
其中,W1∈Rd×df,W2∈Rdf×d,x為多頭注意力網(wǎng)絡(luò)的輸出。
特征升維過程可表示為可以描述為
T3=TransformerEncoder(T2,T2,T2)
(8)
其中,T3∈Rbatch_size×p×d。
2.2.2 Model Decoder模塊
Model Decoder模塊結(jié)構(gòu)與Model Encoder的結(jié)構(gòu)一致,首先對預(yù)測序列進(jìn)行數(shù)據(jù)處理,然后添加位置編碼信息,最后輸入至Transformer Decoder提取高維數(shù)據(jù)特征。
本方法中的回歸任務(wù)為多步預(yù)測,需要將預(yù)測出的飛行狀態(tài)參數(shù)序列與Model Decoder模塊的輸入序列進(jìn)行拼接。拼接后序列表示為T′0∈Rbatch_size×p×t, 其中batch_size為數(shù)據(jù)批量大小,p為預(yù)測飛行狀態(tài)參數(shù)序列的狀態(tài)點(diǎn)數(shù)量,t為狀態(tài)參數(shù)維度。使用另一個線性映射層(Linear2)對T′0進(jìn)行特征升維,得到數(shù)據(jù)特征序列T′1
T′1=T′0*WLinear2
(9)
其中,WLinear2∈Rt×d,T′1∈Rbatch_size×p×d,d為模型內(nèi)向量維度。
使用與Model Encoder相同設(shè)計(jì)的Position Embedding層為T′1提供位置編碼信息PE′, 得到具有位置編碼信息的數(shù)據(jù)特征序列T′2
T′2=T′1+PE′
(10)
其中,T′2∈Rbatch_size×p×d,PE′∈Rbatch_size×p×d。
最后,使用Transformer Decoder模塊生成高維數(shù)據(jù)特征序列T′3, Transformer Decoder的過程與Transformer Encoder一致,可描述為
T′3=TransformreEncoder(T3,T′2,T′2)
(11)
其中,T′3∈Rbatch_size×p×d。
2.2.3 多任務(wù)生成器
數(shù)據(jù)經(jīng)過Model Encoder和Model Decoder后,使用多任務(wù)生成器完成任務(wù)1-飛行狀態(tài)參數(shù)回歸和任務(wù)2-飛行狀態(tài)分類。
對于任務(wù)1-飛行狀態(tài)參數(shù)回歸,使用一個線性映射層(Linear3)進(jìn)行特征提取,得到任務(wù)1中間向量
Ttask1=T′3*WLinear3
(12)
其中,WLinear3∈Rt×d,Ttask1∈Rbatch_size×p×d。
接著,使用一個線性映射層(Status Predictor)得到預(yù)測結(jié)果的輸出向量
Output1=Ttask1*WStatusPredictor
(13)
其中,WStatusPredictor∈Rd×t,Output1∈Rbatch_size×p×t。
對于任務(wù)2-飛行狀態(tài)分類,使用一個線性映射層(Linear4)進(jìn)行特征提取,得到任務(wù)2的中間向量
Ttask2=T′3*WLinear4
(14)
其中,WLinear4∈Rd×d,Ttask2∈Rbatch_size×q×d。
最后,使用線性映射層(Type Classify)進(jìn)行狀態(tài)分類得到任務(wù)2的輸出向量
Output2=argmax(Ttask1*WTypeClassify)
(15)
其中,WTypeClassify∈Rt×type_num為一個全連接層,type_num為飛行狀態(tài)的種類數(shù)。任務(wù)2輸出Ttask2∈Rbatch_size×q×type_num。
本文的實(shí)驗(yàn)數(shù)據(jù)集主要由某型機(jī)模擬仿真數(shù)據(jù)組成。實(shí)驗(yàn)數(shù)據(jù)集中共包括2000條時序序列數(shù)據(jù)文件(每個文件包含5000~8000條飛行狀態(tài)點(diǎn))。其中每個序列的飛行狀態(tài)參數(shù)由5維特征參數(shù)(迎角、側(cè)滑角、滾轉(zhuǎn)角速度、俯仰角速度、偏航角速度)和1維飛行正常狀態(tài)標(biāo)簽(取值0/1)組成。實(shí)驗(yàn)數(shù)據(jù)集共計(jì)1 082 435個飛行狀態(tài),其中包括592 647個正常飛行狀態(tài)和489 788個異常飛行狀態(tài)。
根據(jù)時序序列特點(diǎn),本文實(shí)驗(yàn)使用滑動時間窗口方法對數(shù)據(jù)進(jìn)行劃分,窗口大小為P+Q,步長為P+Q,P、Q分別為輸入序列條數(shù)和預(yù)測序列條數(shù),即選取窗口內(nèi)前P個飛行狀態(tài)參數(shù)序列作為模型輸入數(shù)據(jù),窗口內(nèi)后Q個狀態(tài)參數(shù)序列作為真值數(shù)據(jù)。
為測試本文提出的多任務(wù)Transformer模型效果,實(shí)驗(yàn)主要通過與兩個現(xiàn)有方法以及兩個本方法的單任務(wù)版本效果進(jìn)行對比。這4個方法分別是:
(1)Seq2Seq(Linear)[2]:雙層的線性層模型被使用在進(jìn)行大迎角非定常氣動力建模中,建模過程的重點(diǎn)是調(diào)整權(quán)重,使輸出層與實(shí)際值誤差達(dá)到最小。我們將雙層L應(yīng)用在Seq2Seq結(jié)構(gòu)上,得到了該方法Seq2Seq(Linear)。
(2)LSTM[5]:這是一個利用LSTM進(jìn)行飛機(jī)失速預(yù)測建模的方法,LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)能夠在失速之前學(xué)習(xí)各種相關(guān)參數(shù)的獨(dú)特時間演變,并可以提前很長時間預(yù)測潛在的失速能力,可以有效提出失速預(yù)警。
(3)Transformer(task1)[9]:這是本模型的一個單任務(wù)版本,是通過去除多任務(wù)生成器模塊中飛行狀態(tài)分類功能得到的。該方法僅保留本模型中飛行狀態(tài)參數(shù)回歸功能。
(4)Transformer(task2)[9]:這是本模型的另一個單任務(wù)版本,是通過去除多任務(wù)生成器模塊中飛行狀態(tài)參數(shù)回歸功能得到的。該方法僅保留本模型中飛行狀態(tài)分類功能。
為了確保公平性,本實(shí)驗(yàn)采用相同的Adam優(yōu)化器以及損失函數(shù),并使用了相同的超參數(shù),見表1。為了確保多任務(wù)學(xué)習(xí)中兩個任務(wù)的損失函數(shù)值的數(shù)量級接近,本實(shí)驗(yàn)設(shè)置任務(wù)1權(quán)重系數(shù)為1,任務(wù)2權(quán)重系數(shù)為0.0001。
表1 超參數(shù)設(shè)置
值得注意的是,相較于分別使用Transformer(task1)和Transformer(task2)完成任務(wù)1-飛行狀態(tài)參數(shù)回歸和任務(wù)2-飛行狀態(tài)分類,本文提出的多任務(wù)Transformer可以同時完成這兩個任務(wù),因此在參數(shù)規(guī)模、時間開銷上達(dá)到事半功倍的效果。
為了更好貼近實(shí)際應(yīng)用場景,體現(xiàn)小規(guī)模訓(xùn)練數(shù)據(jù)、大步長預(yù)測的特點(diǎn),本實(shí)驗(yàn)在模型訓(xùn)練過程中使用前20步時序數(shù)據(jù)完成后5步飛行狀態(tài)參數(shù)回歸和飛行狀態(tài)分類,在測試過程中使用相同數(shù)量的前序數(shù)據(jù),完成后30步、60步、90步的飛行狀態(tài)參數(shù)回歸和飛行狀態(tài)分類。
對于任務(wù)1-飛行狀態(tài)參數(shù)回歸選用RMSE和MAE進(jìn)行評估。
RMSE的計(jì)算方式為計(jì)算所有飛行狀態(tài)參數(shù)回歸值與真值的均方根誤差之和,MAE的計(jì)算方式為計(jì)算所有飛行狀態(tài)參數(shù)回歸值與真值的平均絕對值誤差之和。RMSE的計(jì)算方式為
(16)
其中,T為預(yù)測特征的個數(shù),Numall為測試集中所有狀態(tài)點(diǎn)的總數(shù),Sj,i為在第j次預(yù)測中第i個特征的模型輸出值,gdj,i為在第j次預(yù)測中第i個特征對應(yīng)的真值。
在本實(shí)驗(yàn)中,不同特征的rmse值也可以用rmset表示,t∈{α,β,p,q,r,l},rmset的公式為
(17)
其中,Numall為測試集中所有狀態(tài)點(diǎn)的總數(shù),Sj,t為在第j次預(yù)測中特征t的模型輸出值,gdj,t為在第j次預(yù)測中特征t對應(yīng)的真值。
MAE計(jì)算方式為
(18)
其中,變量與RMSE公式內(nèi)變量含義一致。RMSE和MAE越小說明飛行狀態(tài)參數(shù)回歸誤差越小,模型性能表現(xiàn)越高。
對于任務(wù)2-飛行狀態(tài)分類選用ACC和RECALL估表現(xiàn)方法。ACC的計(jì)算方式為計(jì)算所有狀態(tài)分類正確的比例,RECALL的計(jì)算方式為計(jì)算異常飛行狀態(tài)被正確分類的比例。ACC和RECALL的公式分別為
ACC=rightall/Numall
(19)
其中,rightall為所有飛行狀態(tài)分類正確總數(shù),Numall為測試集中所有狀態(tài)點(diǎn)數(shù)量
RECALL=rightabnormal/Numabnormal
(20)
其中,rightabnormal為異常飛行狀態(tài)分類正確總數(shù),NUMabnormal為所有異常飛行狀態(tài)數(shù)量。
ACC越大代表對于飛行狀態(tài)的分類準(zhǔn)確率更高,模型表現(xiàn)越好;RECALL越大代表異常飛行狀態(tài)被正確分類的概率更高,模型性能表現(xiàn)越好。
表2~表7分別對比了4種方法在預(yù)測30、60、90步時的RMSE、MAE和ACC、RECALL。由表2可知,在預(yù)測步數(shù)為30步的任務(wù)1-飛行狀態(tài)參數(shù)回歸任務(wù)上,本方法取得最好的RMSE和MAE表現(xiàn),分別為0.576和0.369。相比于算法Seq2Seq(Linear)和LSTM算法,多任務(wù)Transformer在RMSE方面分別降低了0.195(25.3%)和0.159(21.6%),在MAE方面分別降低了0.247(40.1%)和0.152(29.2%)。驗(yàn)證了在多任務(wù)架構(gòu)下,使用Transformer模型的優(yōu)越性;相比于Transformer(task2)有0.064(10%)的RMSE下降和0.039(9.6%)的MAE下降,驗(yàn)證多任務(wù)架構(gòu)對于任務(wù)1-飛行狀態(tài)參數(shù)回歸效果有正向提升作用。
表2 預(yù)測30步時的RMSE和MAE
由表3可知,在預(yù)測步數(shù)為30步的任務(wù)2-飛行狀態(tài)分類任務(wù)上,本方法相比于Seq2Seq(Linear)和LSTM在ACC方面均有0.037(4.1%)提升,在RECALL方面有0.086(10.9%)和0.084(10.6%)的提升,驗(yàn)證在同樣使用多任務(wù)架構(gòu)的情況下,使用Transformer模型的優(yōu)越性。本方法與Transformer(task1)取得相同的、最好的ACC和MAE表現(xiàn),分別為0.944和0.874。驗(yàn)證本模型使用的多任務(wù)架構(gòu)在提升飛行狀態(tài)參數(shù)回歸性能的前提下,仍能在飛行狀態(tài)分類任務(wù)上取得最好的表現(xiàn)。
表3 預(yù)測30步時的ACC和RECALL
由表4、表6可知,在預(yù)測步數(shù)為60步和90步的任務(wù)1-飛行狀態(tài)參數(shù)回歸任務(wù)上,本方法仍取得最好的表現(xiàn),模型的RMSE分別為0.994和1.347,模型的MAE分別為0.642和0.865。相比于算法Seq2Seq(Linear)和LSTM算法,在預(yù)測步數(shù)為60步時,本方法的RMSE分別降低了0.493(33.2%)和0.44(30.7%),MAE分別降低了0.570(47.0%)和0.356(35.7%);在預(yù)測步數(shù)為90步時,本方法的均方誤差分別降低了0.809(37.6%)和0.73(35.1%),MAE分別降低了0.921(51.5%)和0.564(39.4%),驗(yàn)證了使用在使用多任務(wù)架構(gòu)下,使用Transformer模型的優(yōu)越性;相比于Transformer(task2),在預(yù)測步數(shù)為60步和90步時,RMSE分別降低了0.053(5.1%)和0.046(3.3%),MAE分別降低了0.023(3.5%)和0.019(2.1%),驗(yàn)證多任務(wù)架構(gòu)對于飛行狀態(tài)預(yù)測效果有正向提升作用。
表4 預(yù)測60步時的RMSE和MAE
表5 預(yù)測60步時的ACC和RECALL
表6 預(yù)測90步時的RMSE和MAE
由表5、表7可知,在預(yù)測步數(shù)為60步和90步的任務(wù)2-飛行狀態(tài)分類任務(wù)上,在預(yù)測步數(shù)為60步時,本方法相比于Seq2Seq(Linear)和LSTM在ACC方面分別有0.037(4.1%)和0.045(5%)提升,在RECALL方面分別有0.086(11%)和0.104(13.7%)提升;在預(yù)測步數(shù)為90步時,本方法相比于Seq2Seq(Linear)和LSTM在ACC方面分別有0.04(4.5%)和0.055(6.3%)提升,在RECALL方面分別有0.089(11.6%)和0.124(16.9%)提升,驗(yàn)證在同樣使用多任務(wù)架構(gòu)的情況下,使用多任務(wù)Transformer模型完成飛行狀態(tài)分類任務(wù)的優(yōu)越性。相比于Transformer(task1)模型,多任務(wù)Transformer在ACC方面,在預(yù)測步數(shù)為60步和90步時,均有0.001(0.1%)的輕微下降;在RECALL方面,在預(yù)測步數(shù)為60步和90步時分別有0.002(0.3%)和0.003(0.3%)的輕微下降。
表7 預(yù)測90步時的ACC和RECALL
對于任務(wù)1-飛行狀態(tài)參數(shù)回歸,本文對各個方法的參數(shù)預(yù)測效果進(jìn)行了進(jìn)一步分析,結(jié)果如圖2、圖3、圖4所示。對于α、p、r特征,在預(yù)測步數(shù)為30步、60步、90步的實(shí)驗(yàn)中,多任務(wù)Transformer均取得穩(wěn)定的、最優(yōu)的效果。對于β和q特征,在預(yù)測步數(shù)為30步、60步、90步的實(shí)驗(yàn)中,LSTM取得了最優(yōu)的效果,但是多任務(wù)Transformer取得了與LSTM較為接近的效果,與LSTM相比,在β特征上rmseβ至多高0.023。在r特征上rmser至多高0.007。對于l特征,除了Seq2Seq(Linear)效果較差外,其余方法均取得了接近的結(jié)果。
圖2 預(yù)測30步時各狀態(tài)特征均方誤差
圖3 預(yù)測60步時各狀態(tài)特征均方誤差
圖4 預(yù)測90步時各狀態(tài)特征均方誤差
總體而言,多任務(wù)Transformer在飛行狀態(tài)參數(shù)回歸上相比于對比方法在α、p、r有絕對的性能提升,在β和q特征上有與最優(yōu)方法接近的較優(yōu)表現(xiàn)。
本文提出了一種多任務(wù)Transformer模型,能夠同時完成參數(shù)回歸任務(wù)與狀態(tài)分類任務(wù)。該模型在不同的預(yù)測步數(shù)實(shí)驗(yàn)中的回歸任務(wù)上均取得了最優(yōu)的效果,相比于LSTM至少有21.6%的性能提升;在分類任務(wù)上,雖然相比于單任務(wù)版本Transformer至多有0.1%的準(zhǔn)確率下降,但相比其它模型在準(zhǔn)確度上均有大幅提升,尤其較LSTM至少有4.1%的性能提升。
今后,多任務(wù)Transformer模型應(yīng)探索優(yōu)化β和q的預(yù)測能力。同時,由于在分類任務(wù)上略差于單任務(wù)Transformer模型,將進(jìn)一步研究如何設(shè)計(jì)有效的機(jī)制提升分類能力。