(深圳航空有限責(zé)任公司 沈陽分公司維修工程部,沈陽 110000)
輔助動力裝置(APU)是飛機上的一個小型的燃氣渦輪發(fā)動機。其功能是在地面或者飛行中為飛機的空調(diào)系統(tǒng)及用電設(shè)備提供引氣和電力供應(yīng),是飛機不可缺少的子系統(tǒng)。對APU進行參數(shù)辨識對飛機仿真建模具有重要研究意義[1]。
系統(tǒng)辨識是根據(jù)系統(tǒng)的輸入輸出函數(shù)來確定描述系統(tǒng)行為的數(shù)學(xué)模型,系統(tǒng)辨識的目的是通過表征系統(tǒng)行為的重要參數(shù),建立一個能模仿真實系統(tǒng)行為的數(shù)學(xué)模型[2]。近年來,已經(jīng)有大量科研人員對發(fā)動機系統(tǒng)進行系統(tǒng)辨識,常用的辨識方法有基于最小二乘法、支持向量機、BP神經(jīng)網(wǎng)絡(luò)等靜態(tài)辨識方法,以及ARIMA、NARX等基于時間序列模型的動態(tài)辨識方法[3-6]。APU是一個復(fù)雜的非線性時序系統(tǒng),靜態(tài)辨識模型忽略了系統(tǒng)的時序信息,而傳統(tǒng)的時序模型對非線性系統(tǒng)表征能力不足[7-8]。隨著深度學(xué)習(xí)的興起,深度學(xué)習(xí)模型逐漸被引入到系統(tǒng)辨識的研究中,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)將時序信息嵌入到神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,使得神經(jīng)網(wǎng)絡(luò)具備了動態(tài)辨識能力。長短期記憶(LSTM)模型作為RNN的變體,解決了RNN梯度消失或爆炸、長時記憶能力較差等問題,使其兼具靜態(tài)模型的非線性表征能力與時序模型的長時間存儲能力。在系統(tǒng)辨識中表現(xiàn)出更強的適應(yīng)性與泛化性[9-10]。
APU工作過程較為復(fù)雜,大致可分為啟動、電提取功率、主發(fā)動機啟動、環(huán)控引氣及停車5個階段。本文選取APU的啟動階段,結(jié)合發(fā)動機試車數(shù)據(jù),針對表征APU工作狀態(tài)的排氣溫度EGT、轉(zhuǎn)速N,提出了一種基于LSTM的輔助動力裝置參數(shù)辨識模型。在建模過程中,充分考慮影響辨識參數(shù)的其他靜態(tài)特征,進一步提出了基于LSTM的多變量時間序列辨識模型。將所建模型與最小二乘法、神經(jīng)網(wǎng)絡(luò)等傳統(tǒng)辨識方法進行對比,驗證了該模型的優(yōu)越性。
長短期記憶神經(jīng)網(wǎng)絡(luò)(long short-term memory,LSTM)是一種時間遞歸神經(jīng)網(wǎng)絡(luò)(RNN)。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型分為輸入層、隱藏層、輸出層,層與層之間是全連接的,但是每層之間的節(jié)點是無連接的,此網(wǎng)絡(luò)結(jié)構(gòu)對于序列問題建模效果較差[11-12]。RNN的隱藏層節(jié)點具有連接性與記憶性,會處理信息并將信息傳遞給當(dāng)前節(jié)點,對序列問題建模有較好的效果,如圖1所示。
圖1 RNN網(wǎng)絡(luò)結(jié)構(gòu)
RNN輸出兩層單元,其中隱藏層單元的輸出ht以及狀態(tài)的單元輸出yt表達式:
ht=fa(Wxhxt+Whhht-1+bh)
(1)
yt=Whyht+by
(2)
其中:Wxh為輸入層到隱藏層的權(quán)重系數(shù)矩陣;Whh為隱藏層到隱藏輸出的權(quán)重系數(shù)矩陣;bh為隱藏層的偏置向量;fa為激活函數(shù);Why為隱藏層到狀態(tài)輸出層的權(quán)重系數(shù)矩陣;by為狀態(tài)輸出層的偏置向量;t表示時刻。
RNN雖然解決了序列建模的問題,但是序列長度比較長時,回傳時殘差指數(shù)會下降,進而降低網(wǎng)絡(luò)權(quán)重更新速率,導(dǎo)致長期記憶效果較差,但LSTM可以存儲記憶因此被提出解決問題。
LSTM同樣是循環(huán)結(jié)構(gòu),但是重復(fù)的單元有不同的網(wǎng)絡(luò)結(jié)構(gòu)。LSTM采用門結(jié)構(gòu)方式來改變信息至目前細胞狀態(tài)。門采用選擇式的通過方式,其中包含sigmoid神經(jīng)網(wǎng)絡(luò)以及pointwise乘法操作。LSTM通過遺忘門、輸入門、輸出門三種門方式來控制細胞狀態(tài)[13-15],網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 LSTM網(wǎng)絡(luò)結(jié)構(gòu)
遺忘門ft負責(zé)控制上一個時刻的輸入,選擇性地忘記過去某些無用信息,減小記憶負擔(dān)。
ft=σ(Wf·[ht-1,xt]+bf)
(3)
輸入門it控制當(dāng)前時刻的輸入,同樣是過濾無用信息,選擇性記憶當(dāng)前重要信息。
it=σ(Wf·[ht-1,xt]+bi)
(4)
Ct為當(dāng)前細胞狀態(tài),此時合并需要記憶的信息,更新細胞狀態(tài)。
(5)
(6)
輸出門ot將過去信息與當(dāng)前信息合并,輸出新的狀態(tài)信息。
ot=σ(Wo·[ht-1,xt]+bo)
(7)
ht=σt*tanh(Ct)
(8)
LSTM采用前向傳播和反向傳播兩種訓(xùn)練過程,前向傳播通過式(3)~(8)計算出神經(jīng)元輸出值,反向傳播則是BPTT算法,從時間和網(wǎng)絡(luò)兩個方面反向計算每個神經(jīng)元的誤差項,根據(jù)計算的誤差結(jié)果,采用不同的優(yōu)化算法,優(yōu)化神經(jīng)元權(quán)重。
梯度下降法是優(yōu)化神經(jīng)網(wǎng)絡(luò)中常用算法,例如SGD、Adagrad、RMSprop、Adam等梯度下降法。本文采用自適應(yīng)矩估計(adaptive moment estimation,Adam)優(yōu)化算法,Adam可優(yōu)化每一個參數(shù)的自適應(yīng)學(xué)習(xí)率。擁有Adadelta和RMSprop算法存儲一個指數(shù)衰減的歷史平方梯度平均值功能的同時還可保存一個歷史梯度的指數(shù)衰減均值。實際應(yīng)用表明,Adam具有算法優(yōu)勢。
根據(jù)APU的工作原理,表征其工作狀態(tài)的參數(shù)主要有以下兩個:排氣溫度EGT、發(fā)動機轉(zhuǎn)速N,即本文的辨識目標(biāo)。傳統(tǒng)的時間序列建模只考慮當(dāng)前時刻與之前時刻的數(shù)據(jù)關(guān)系。這類只考慮時序信息的建模方法有很明顯不足,時序信息以外的干擾因素同樣有著非常重要的作用,比如預(yù)測APU的發(fā)動機排氣溫度(EGT),影響當(dāng)前EGT的因素除了上一時刻的EGT,其他重要因素還包括發(fā)動機點火狀態(tài)、起動機狀態(tài)等因素。在APU系統(tǒng)辨識建模的過程中,需要將時間以外的其他因素同時考慮進去。
APU起動階段,采用時序開環(huán)控制,既不引氣也不提取電功率;負載壓氣機出口管道喘振閥SCV全開,引氣閥LCV關(guān)閉,負載壓氣機出口氣流通過SCV排到APU尾噴管,進口導(dǎo)葉IGV處于角度最小狀態(tài),以提高APU起動速度。當(dāng)啟動按鈕打開時,APU起動機通電打開,當(dāng)APU轉(zhuǎn)速達到7%時,燃油活門打開,APU點火啟動,當(dāng)APU轉(zhuǎn)速達到50%時,APU起動機斷電,當(dāng)APU轉(zhuǎn)速達到95%,點火斷開,APU啟動完成。在APU起動階段,SCV、LCV、IGV三個閥門狀態(tài)固定,為非變量因素,不考慮其對辨識系統(tǒng)的影響,此階段系統(tǒng)辨識的影響因素見表1。
表1 影響因素
在APU工作其他階段,同樣也可以根據(jù)工作原理,總結(jié)出其與辨識參數(shù)相關(guān)的各個特征,與時間序列特征拼接,構(gòu)建基于多變量的時間序列辨識模型。
基于多變量時間序列特征輸入的考慮,本文提出了一種基于LSTM的多變量時間序列預(yù)測模型,充分考慮影響辨識參數(shù)的其他特征因素,模型架構(gòu)如圖3所示。
圖3 多變量時間序列辨識模型
在數(shù)據(jù)準(zhǔn)備階段,需要對收集的發(fā)動機試車數(shù)據(jù)進行數(shù)據(jù)預(yù)處理,統(tǒng)一數(shù)據(jù)類型和量綱,然后拼接時間序列數(shù)據(jù)和多變量特征數(shù)據(jù),將拼接的數(shù)據(jù)送入模型。在網(wǎng)絡(luò)訓(xùn)練階段,前向傳播部分通過softmax進行回歸預(yù)測,反向傳播部分通過Adam梯度下降算法更新網(wǎng)絡(luò)參數(shù)。最后通過參數(shù)尋優(yōu)、模型評估等方法,優(yōu)化網(wǎng)絡(luò)參數(shù),提高模型性能。以下分別做了詳細介紹。
通過APU發(fā)動機試車采集的原始數(shù)據(jù),并不能直接送給模型訓(xùn)練。主要存在以下兩個方面問題:一方面數(shù)據(jù)量綱不一致,EGT的溫度范圍是0~1038℃,N的轉(zhuǎn)速百分比范圍是0~110,直接送入模型訓(xùn)練,會導(dǎo)致模型對量綱小的數(shù)據(jù)不敏感;另一方面數(shù)據(jù)類型不同,影響系統(tǒng)辨識的主要參數(shù)數(shù)據(jù)類型多樣,包括布爾型、離散型、連續(xù)型,不同類型數(shù)據(jù)含義不一,直接送入模型會導(dǎo)致模型學(xué)習(xí)誤差,因此需要對數(shù)據(jù)進行以下預(yù)處理。
1)布爾型特征和離散性特征向量化,主要用到的方法有One-hot編碼、哈夫曼編碼等。
2)連續(xù)型特征歸一化,主要解決量綱不一致的情況,采取數(shù)據(jù)歸一化的方法,一般會用maxminmap算法,公式為:
(9)
其中:x為待歸一數(shù)據(jù),xmin為預(yù)處理數(shù)據(jù)最小值,xmax為預(yù)處理數(shù)據(jù)最大值,xscale即為歸一數(shù)據(jù)。
傳統(tǒng)的時間序列預(yù)測的模型,其輸入信息只考慮前一個或者多個時刻對辨識結(jié)果的影響。在時刻k,傳統(tǒng)時序辨識模型表達式為:
EGTk=fEGT(EGTk-1,EGTk-2,…EGTk-n)
(10)
Nk=fN(Nk-1,Nk-2,…Nk-n)
(11)
其中:n為網(wǎng)絡(luò)步長。fEGT和fN分別為排氣溫度EGT和發(fā)動機轉(zhuǎn)速N的傳統(tǒng)辨識模型表達式。
在APU啟動階段,作用于k時刻的辨識參數(shù),不僅與前n個時刻的時間序列有關(guān),同時作用于辨識參數(shù)的影響因素還包括點火器FIR、起動機STR、供油量OIL。此階段多變量時間序列辨識模型表達式為:
(12)
(13)
(14)
(15)
網(wǎng)格搜索算法(Grid-Search)是一種通過遍歷給定的參數(shù)組合來優(yōu)化模型表現(xiàn)的方法。在模型訓(xùn)練的過程中,需要調(diào)試的參數(shù)主要包括網(wǎng)絡(luò)步長、隱藏層個數(shù)、批尺寸、學(xué)習(xí)率等。在模型訓(xùn)練過程中,為了確定最優(yōu)的參數(shù),Grid-Search采取了一種窮舉搜索的調(diào)參手段,在所有候選的參數(shù)中,通過循環(huán)遍歷,嘗試每一種組合可能,性能最好的就是最終的辨識模型網(wǎng)絡(luò)參數(shù)。
以隱藏層單元個數(shù)為例,在訓(xùn)練過程中,首先會根據(jù)經(jīng)驗設(shè)置參數(shù)為200個,以經(jīng)驗參數(shù)為中心,其他參數(shù)保持不動的情況下,模型分別遍歷100、150、200、250、300。測試效果最好的參數(shù),即作為最終的系統(tǒng)辨識模型隱藏層單元個數(shù)。
通過發(fā)動機試車得到的數(shù)據(jù),相對來說數(shù)量偏小,劃分訓(xùn)練集、驗證集和測試集之后,用于訓(xùn)練的數(shù)據(jù)更少,在這種情況下,分割后的數(shù)據(jù)分布很有可能和原始數(shù)據(jù)集的分布情況不一致,容易造成過擬合或者欠擬合的情況。
為了更加有效地評估模型的泛化性能,采取K折交叉驗證的方式評估模型,此方法對K個不同分組數(shù)據(jù)進行訓(xùn)練,并將結(jié)果進行平均,進而來減少方差,降低數(shù)據(jù)敏感性,提升模型性能,具體步驟為:
1)將原始數(shù)據(jù)不重復(fù)抽樣并隨機分k份。
2)每次挑選其中一份作為測試集,其余的k-1份作為訓(xùn)練集用于模型訓(xùn)練。
3)重復(fù)第二步k次,每個子集都有一次機會作為測試集,其余機會作為訓(xùn)練集。
4)在每個訓(xùn)練集上訓(xùn)練后得到一個模型。
5)計算模型在相應(yīng)的測試集上的結(jié)果,并保存模型的評估指標(biāo)。
6)保存訓(xùn)練模型的評估指標(biāo)。
7)計算k組測試結(jié)果的平均值,作為K折交叉驗證下模型的性能指標(biāo)。
對于模型的評估指標(biāo),本文選擇均方根誤差(Root Mean Square Error, RMSE)作為度量標(biāo)準(zhǔn)。其公式為:
(16)
實驗所采用的計算機配置如下:處理器采用英特爾i7-8550U;內(nèi)存為8.00 GB;操作系統(tǒng)為Win10(64位);集成開發(fā)環(huán)境為Anaconda 3;程序設(shè)計語言為Python 3.6.5(64 位);采用機器學(xué)習(xí)包scikit-learn、谷歌開源框架tensorflow 1.4.0進行實驗。
數(shù)據(jù)來源于采集的某型發(fā)動機地面起動階段試車樣本,采集樣本包括供油量、點火狀態(tài)、起動機運行狀態(tài)。APU發(fā)動起啟動時長大約為12 s因此以該時長作為試車樣本采樣周期。采集樣本的時間間隔為0.2 s,單個樣本點為60個。
3.2.1 參數(shù)尋優(yōu)
模型訓(xùn)練過程中,需要確定的參數(shù)包括,網(wǎng)絡(luò)步長、隱藏層個數(shù)、學(xué)習(xí)率分別采用Grid-Search策略進行參數(shù)尋優(yōu)。實驗過程記錄了在不同參數(shù)條件下,取RMSE作為辨識參數(shù)EGT和N辨識結(jié)果的評判標(biāo)準(zhǔn)。實驗結(jié)果如圖4所示。
圖4 網(wǎng)絡(luò)步長參數(shù)尋優(yōu)
根據(jù)圖4的實驗結(jié)果,網(wǎng)絡(luò)步長越大,其RMSE越小,在步長超過4時,其RMSE變化不大,綜合模型效率與準(zhǔn)確率考慮,取網(wǎng)絡(luò)步長為4。同時根據(jù)圖5和圖6的結(jié)果可以判斷,轉(zhuǎn)速N的參數(shù)辨識模型其學(xué)習(xí)率參數(shù)選取為0.01,隱藏層個數(shù)選取為250,排氣溫度EGT的參數(shù)辨識模型其學(xué)習(xí)率參數(shù)選取為0.005,隱藏層個數(shù)選取為200,模型辨識效果最佳。
圖5 隱藏層參數(shù)尋優(yōu)
圖6 學(xué)習(xí)率參數(shù)尋優(yōu)
根據(jù)網(wǎng)格搜索算法得出的最優(yōu)參數(shù),分別訓(xùn)練出APU的EGT和N的參數(shù)辨識模型,其中EGT的RMSE為3.64,N的RMSE為0.86。辨識結(jié)果如圖7、圖8所示。
圖7 EGT辨識模型擬合曲線
圖8 N辨識模型擬合曲線
3.2.2 模型對比
為了驗證模型效果,分別和傳統(tǒng)的系統(tǒng)辨識模型進行對比,對比模型包括最小二乘法(OLS)、支持向量回歸(SVR)、自回歸積分滑動平均模型(ARIMA)、神經(jīng)網(wǎng)絡(luò)(MLP)。實驗結(jié)果如下:
表2 模型對比
實驗結(jié)果表明,在EGT和N的系統(tǒng)辨識任務(wù)中,LSTM因為其長時記憶的特性,其結(jié)果均優(yōu)于其他同類模型。
本文針對表征APU工作狀態(tài)的EGT和N兩個系統(tǒng)參數(shù),提出一種基于LSTM輔助動力裝置系統(tǒng)辨識模型。建模過程中,結(jié)合APU發(fā)動機工作過程,分析影響辨識參數(shù)的影響因素,進一步提出了基于LSTM的多變量時間序列系統(tǒng)參數(shù)辨識模型。最后利用APU發(fā)動機試車數(shù)據(jù),經(jīng)過模型對比,實驗結(jié)果證實了基于LSTM的多變量時間序列參數(shù)辨識模型的辨識性能。
基于多變量LSTM的時間序列模型在系統(tǒng)參數(shù)辨識上具有較大優(yōu)勢,但是文中模型仍有不足之處,目前辨識模型還是單步滾動預(yù)測,多步預(yù)測還有待探索,另外目前只進行了APU啟動階段的系統(tǒng)參數(shù)辨識,后續(xù)階段的辨識任務(wù)還沒有進行,下一步工作將圍繞這些任務(wù)繼續(xù)展開。