王欣, 孟天宇, 周俊曦
(中國(guó)民用航空飛行學(xué)院計(jì)算機(jī)學(xué)院, 廣漢 618307)
隨著航空運(yùn)輸量的日益大幅增加,高復(fù)雜度和高精密度的航空發(fā)動(dòng)機(jī)作為飛機(jī)的核心運(yùn)行部件,其性能退化是影響飛行安全的顯著因素,對(duì)航空發(fā)動(dòng)機(jī)剩余壽命進(jìn)行準(zhǔn)確的預(yù)測(cè)是預(yù)防性維護(hù)的關(guān)鍵技術(shù)之一,也是提高航空安全、促進(jìn)航空業(yè)發(fā)展十分重要的一項(xiàng)研究。傳統(tǒng)的針對(duì)航空發(fā)動(dòng)機(jī)的維護(hù)要么是被動(dòng)的在航空發(fā)動(dòng)機(jī)出現(xiàn)故障后修理或更換損壞的部件,要么是不考慮實(shí)際情況盲目的對(duì)航空發(fā)動(dòng)機(jī)進(jìn)行定期的維護(hù)或更換,這兩種方法的安全系數(shù)較低且維護(hù)成本也相對(duì)較大,在實(shí)際應(yīng)用中也得不到較好的效果[1]。
近年來,預(yù)測(cè)與健康管理(prognosis and health management, PHM)相關(guān)技術(shù)在航空領(lǐng)域得到了廣泛應(yīng)用,其中一項(xiàng)重要的技術(shù)便是故障預(yù)測(cè)[2]。實(shí)時(shí)并準(zhǔn)確地預(yù)測(cè)航空發(fā)動(dòng)機(jī)的剩余壽命,及早做出相應(yīng)的決策,可以極大地降低災(zāi)難發(fā)生的概率,降低維修成本[3]。傳統(tǒng)的基于經(jīng)驗(yàn)的預(yù)測(cè)方法存在較大的局限性,目前針對(duì)設(shè)備剩余壽命(remaining useful life, RUL)的預(yù)測(cè)估計(jì)主要是通過數(shù)據(jù)驅(qū)動(dòng)的方法,傳統(tǒng)的基于數(shù)據(jù)驅(qū)動(dòng)的預(yù)測(cè)有兩種方法[4]:一種是使用統(tǒng)計(jì)方法,以概率的方式確定RUL;一種是使用以人工神經(jīng)網(wǎng)絡(luò)(artificial neural network, ANN)、支持向量機(jī)(support vector machines, SVM)等機(jī)器學(xué)習(xí)相關(guān)技術(shù)進(jìn)行RUL的預(yù)測(cè)。
傳統(tǒng)的基于數(shù)據(jù)驅(qū)動(dòng)的預(yù)測(cè)方法在處理一些簡(jiǎn)單系統(tǒng)預(yù)測(cè)問題上取得了一定的成績(jī),但在一些復(fù)雜系統(tǒng)的較長(zhǎng)時(shí)間序列的預(yù)測(cè)問題處理上,難以達(dá)到足夠的精確度,無法得出準(zhǔn)確的預(yù)測(cè)結(jié)果,不能滿足預(yù)測(cè)需求。
隨著機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的快速發(fā)展和廣泛應(yīng)用,中外學(xué)者針航空渦扇發(fā)動(dòng)機(jī)RUL預(yù)測(cè)問題提出了各種不同的方法。
Babu等[5]嘗試使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)來進(jìn)行RUL的預(yù)測(cè)估計(jì),使用滑動(dòng)時(shí)間窗口對(duì)原始數(shù)據(jù)進(jìn)行特征增強(qiáng),使得CNN可以更充分地進(jìn)行特征學(xué)習(xí)提取,采用與計(jì)算機(jī)視覺CNN結(jié)構(gòu)并不相同的結(jié)構(gòu),在多通道傳感器數(shù)據(jù)上沿時(shí)間維度應(yīng)用卷積和池化濾波器,以系統(tǒng)的方式從原始傳感器信號(hào)中自動(dòng)學(xué)習(xí)特征,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的回歸方法來預(yù)測(cè)RUL。
Razo[6]通過使用滑動(dòng)時(shí)間窗口來幫助進(jìn)行數(shù)據(jù)預(yù)處理,使用差分進(jìn)化算法進(jìn)行模型超參數(shù)的調(diào)優(yōu),提出一種主要關(guān)注數(shù)據(jù)預(yù)處理階段的機(jī)械系統(tǒng)剩余壽命預(yù)測(cè)的框架,即使是簡(jiǎn)單的深度學(xué)習(xí)模型也可以做出良好的預(yù)測(cè),并使用多層感知機(jī)(multilayer perceptron, MLP)進(jìn)行驗(yàn)證。
Yu等[4]利用深度學(xué)習(xí)工具和基于相似性的曲線匹配技術(shù)來估計(jì)系統(tǒng)的RUL,首先使用雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(bi-directional long short-term memory, Bi-LSTM)進(jìn)行無監(jiān)督訓(xùn)練,將原始高維數(shù)據(jù)轉(zhuǎn)換為低維數(shù)據(jù),用于構(gòu)造一維健康指數(shù)值來反映其健康退化模式。之后利用相似性曲線匹配技術(shù)對(duì)健康指數(shù)值曲線進(jìn)行匹配,進(jìn)而實(shí)現(xiàn)航空發(fā)動(dòng)機(jī)RUL的預(yù)測(cè)。
賴儒杰等[7]首先使用改進(jìn)后的指數(shù)平滑方法對(duì)原始數(shù)據(jù)進(jìn)行降噪處理,之后引入時(shí)間滑動(dòng)窗口對(duì)原始數(shù)據(jù)進(jìn)行特征增強(qiáng),最后利用XGBoost進(jìn)行數(shù)據(jù)回歸預(yù)測(cè)。提出一種基于指數(shù)平滑和XGBoost的航空發(fā)動(dòng)機(jī)RUL預(yù)測(cè)方法。
王旭等[8]通過使用CNN與自編碼器相結(jié)合的卷積自編碼器(convolutional auto-encoders, CAE)構(gòu)建航空發(fā)動(dòng)機(jī)健康因子(health indicator, HI),以其HI值反映健康狀況,構(gòu)建健康狀況評(píng)估模型。再通過LSTM建立HI與剩余壽命的特征關(guān)系,間接實(shí)現(xiàn)RUL的預(yù)測(cè)。提出基于CAE與LSTM的航空發(fā)動(dòng)機(jī)RUL預(yù)測(cè)方法。
數(shù)據(jù)驅(qū)動(dòng)下的深度學(xué)習(xí)方法相比較于傳統(tǒng)方法精確度有了很大提升,循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)在各領(lǐng)域的廣泛應(yīng)用,尤其是對(duì)時(shí)間序列問題處理上取得了不錯(cuò)的效果。提出一種基于注意力與長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)的航空渦扇發(fā)動(dòng)機(jī)RUL預(yù)測(cè)方法,注意力機(jī)制的引入,可以使神經(jīng)網(wǎng)絡(luò)可以更好地學(xué)習(xí)樣本特征,在模型參數(shù)調(diào)優(yōu)部分進(jìn)行大量實(shí)驗(yàn),進(jìn)一步提升模型RUL預(yù)測(cè)準(zhǔn)確度。
RNN是一種特殊的神經(jīng)網(wǎng)絡(luò),相比較于ANN,RNN中允許出現(xiàn)環(huán)形結(jié)構(gòu),使得網(wǎng)絡(luò)在某一時(shí)刻的輸出狀態(tài)不僅與當(dāng)前時(shí)刻的輸入有關(guān),還與上一時(shí)刻的網(wǎng)絡(luò)狀態(tài)有關(guān),因此更適合處理序列數(shù)據(jù)[9]。但傳統(tǒng)RNN只存在短期記憶,在長(zhǎng)序列上則存在著長(zhǎng)期依賴問題,反向傳播更新參數(shù)的過程中會(huì)出現(xiàn)梯度消失和梯度爆炸的問題[8]。
為了解決這一問題,Hochreiter等[10]提出了一種RNN的變體結(jié)構(gòu)——LSTM神經(jīng)網(wǎng)絡(luò),并有許多學(xué)者進(jìn)行了改進(jìn)和普及,比起傳統(tǒng)的RNN,更容易學(xué)習(xí)長(zhǎng)期依賴,被廣泛用于自然語言處理、機(jī)器翻譯等領(lǐng)域。LSTM神經(jīng)網(wǎng)絡(luò)引入了自循環(huán)的思想來讓梯度持續(xù)流動(dòng),并不是簡(jiǎn)單的對(duì)數(shù)據(jù)進(jìn)行參數(shù)矩陣的放射變換后再連接非線性激活函數(shù),并且自循環(huán)的權(quán)重可以由網(wǎng)絡(luò)根據(jù)序列上下文自動(dòng)確定,而不是固定的。
圖1 LSTM細(xì)胞塊內(nèi)部結(jié)構(gòu)Fig.1 Internal structure of LSTM cell block
ft=σ(bf+Ufxt+Wfht-1)
(1)
gt=σ(bg+Ugxt+Wght-1)
(2)
(3)
(4)
qt=σ(bq+Uqxt+Wqht-1)
(5)
ht=qttanh(st)
(6)
式中:σ(·)代表sigmoid激活函數(shù);Uf、Ug、U、Uq分別為遺忘門、輸入門、單元狀態(tài)和輸出門的輸入權(quán)重;Wf、Wg、W、Wq分別為各個(gè)門控單元的循環(huán)權(quán)重;bf、bg、b、bq分別為各個(gè)門控單元的偏置。
注意力機(jī)制(attention mechanism)起源于認(rèn)知科學(xué)中對(duì)人類視覺的研究,由于信息處理的瓶頸,人類會(huì)有所選擇的著重關(guān)注自己想要關(guān)注的那一部分信息,忽略其他可見信息。運(yùn)用到神經(jīng)網(wǎng)絡(luò)中,就是讓神經(jīng)網(wǎng)絡(luò)在做特定事情的時(shí)候可以注意到它需要注意的地方[13]。
注意力機(jī)制被廣泛使用在自然語言處理、語音識(shí)別及圖像識(shí)別等各種不同的深度學(xué)習(xí)任務(wù)中,在圖像處理或文本處理中,可以利用神經(jīng)網(wǎng)絡(luò)找到輸入進(jìn)來的特征,哪一部分對(duì)結(jié)果影響更大,通過增加該部分權(quán)重的方式來提高其影響力。在時(shí)間序列數(shù)據(jù)處理中,可以考慮輸入進(jìn)來的某個(gè)時(shí)間點(diǎn)的數(shù)據(jù)對(duì)結(jié)果影響較大,通過增加該時(shí)間點(diǎn)的權(quán)重使得結(jié)果進(jìn)一步精確。
注意力機(jī)制可以分為軟注意力機(jī)制和硬注意力機(jī)制兩種,硬注意力機(jī)制只關(guān)注到輸入的某一個(gè)位置,而忽略掉其他所有信息。通常硬注意力機(jī)制有兩種實(shí)現(xiàn)方式,一種是直接選擇注意力最高的那個(gè)向量。一種是根據(jù)注意力分布來進(jìn)行概率采樣,來得到需要關(guān)注的位置。軟注意力機(jī)制則是通過獲取“上下文”的“軟性”信息來進(jìn)行選擇,即通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練出各通道或維度的權(quán)值,而后再各通道或維度加權(quán)全局輸入特征,原有特征向量則是結(jié)合了上下文信息的特征向量,從而達(dá)到關(guān)注特定通道或維度的目的。軟注意力機(jī)制與硬注意力機(jī)制相比,硬注意力機(jī)制由于在選擇輸入特征時(shí)運(yùn)用了一個(gè)不可導(dǎo)函數(shù),使得網(wǎng)絡(luò)不能實(shí)現(xiàn)端到端的訓(xùn)練,無法使用反向傳播算法,再加上針對(duì)時(shí)間序列數(shù)據(jù),往往有一些信息是不能直接去除的,所以通過使用軟注意力機(jī)制來為時(shí)間序列的每個(gè)時(shí)間點(diǎn)進(jìn)行逐個(gè)加權(quán),關(guān)注到特定的時(shí)間點(diǎn),以實(shí)現(xiàn)時(shí)間序列的特征增強(qiáng)[14]。
對(duì)航空發(fā)動(dòng)機(jī)的剩余壽命預(yù)測(cè)是一個(gè)典型的時(shí)間序列處理問題,標(biāo)準(zhǔn)的LSTM的記憶功能雖然可以保存長(zhǎng)期的狀態(tài),但是對(duì)于像發(fā)動(dòng)機(jī)傳感器數(shù)據(jù)這樣多維度的數(shù)據(jù)不能很好地進(jìn)行處理,一定程度上喪失了數(shù)據(jù)的一些重要的時(shí)序信息,影響模型預(yù)測(cè)精度。
本文中在標(biāo)準(zhǔn)LSTM神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入了注意力機(jī)制,通過注意力機(jī)制對(duì)每個(gè)時(shí)間點(diǎn)的數(shù)據(jù)進(jìn)行特征加權(quán),突出其關(guān)鍵的時(shí)間點(diǎn)。提出的Attention-LSTM模型主要分為L(zhǎng)STM模塊和Attention模塊兩部分,模型結(jié)構(gòu)如圖2所示,LSTM模塊負(fù)責(zé)進(jìn)行輸入數(shù)據(jù)的特征學(xué)習(xí),Attention模塊負(fù)責(zé)進(jìn)行特征權(quán)重的計(jì)算及加權(quán)。把預(yù)處理好的數(shù)據(jù)送入到LSTM模塊中進(jìn)行訓(xùn)練,首先通過一層LSTM層進(jìn)行特征放縮,之后使用BatchNormalization層來對(duì)其輸出進(jìn)行歸一化處理,結(jié)合Dropout層對(duì)網(wǎng)絡(luò)神經(jīng)元進(jìn)行隨機(jī)丟棄,防止網(wǎng)絡(luò)訓(xùn)練過擬合,再送入一層LSTM層中進(jìn)行特征學(xué)習(xí)。之后獲得一個(gè)維度為(batch_size, time_steps, lstm_units)的輸出??梢园哑洚?dāng)做每個(gè)時(shí)間點(diǎn)的特征,而后送入注意力模塊,LSTM模塊的輸出經(jīng)過Permute層將2、1軸反轉(zhuǎn)后維度變換為(batch_size, lstm_units, time_steps),再經(jīng)過一個(gè)全連接層和softmax計(jì)算每個(gè)time_step的權(quán)重,最后通過Permute層將維度轉(zhuǎn)換為(batch_size, time_steps, lstm_units),此時(shí)注意力模塊的輸出中的time_steps代表每個(gè)time_step的權(quán)重,再與一開始LSTM模塊的輸出相乘,進(jìn)行全局的時(shí)間點(diǎn)特征加權(quán)。得到具有權(quán)重的特征組合后進(jìn)行展開,最后送入到全連接層進(jìn)行預(yù)測(cè)。
圖2 Attention-LSTM模型結(jié)構(gòu)Fig.2 Attention-LSTM model structure
對(duì)于本文中提出的Attention-LSTM模型,選取3個(gè)性能度量指標(biāo),具體定義如下。
(1)均方根誤差(root mean square error, RMSE)是評(píng)價(jià)回歸預(yù)測(cè)模型常用的性能指標(biāo),表示預(yù)測(cè)值與真實(shí)值之間偏差的平方和預(yù)測(cè)樣本數(shù)量比值的平方,同來衡量預(yù)測(cè)值與真實(shí)值之間的偏差,數(shù)值越小表示預(yù)測(cè)值與真實(shí)值之間的偏差越小,說明預(yù)測(cè)模型描述實(shí)驗(yàn)數(shù)據(jù)具有更好的精確度。RMSE的計(jì)算公式為
(7)
(2)確定性相關(guān)系數(shù)(R2),將預(yù)測(cè)值同只使用均值的情況下比,看能好多少,其取值通常在(0,1)之間,表示模型的擬合優(yōu)度,計(jì)算出的數(shù)值越逼近于1表示模型擬合程度越好。R2的計(jì)算公式為
(8)
(3)對(duì)于航空發(fā)動(dòng)機(jī)壽命預(yù)測(cè)問題,存在預(yù)測(cè)出的剩余壽命比實(shí)際剩余壽命短的低估情況和預(yù)測(cè)出剩余壽命比實(shí)際剩余壽命長(zhǎng)的高估情況這兩種情況,使用RMSE進(jìn)行評(píng)估的話對(duì)這兩種情況有著同等的懲罰。但在實(shí)際應(yīng)用上,低估情況起到了提前預(yù)警的作用,可以減少因發(fā)動(dòng)機(jī)損壞帶來的生命威脅,所以提出評(píng)分指標(biāo)score,該評(píng)分指標(biāo)函數(shù)對(duì)于預(yù)測(cè)值大于真實(shí)值的高估情況的懲罰遠(yuǎn)大于預(yù)測(cè)值小于真實(shí)值的低估情況,更符合實(shí)際應(yīng)用,可以更好地對(duì)模型預(yù)測(cè)效果進(jìn)行評(píng)估[15],其表達(dá)式為
(9)
本次實(shí)驗(yàn)使用NASA提供的航空渦輪發(fā)動(dòng)機(jī)公開數(shù)據(jù)集C-MAPSS數(shù)據(jù)集,數(shù)據(jù)集一共包括FD001、FD002、FD003、FD004 4個(gè)部分,其中FD001包括了100個(gè)渦輪發(fā)動(dòng)機(jī)在一種環(huán)境及一種失效情況下從開始到失效的完整記錄[16]。其余3個(gè)數(shù)據(jù)集包括多工作環(huán)境多失效情況的數(shù)據(jù),本次實(shí)驗(yàn)僅針對(duì)FD001數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。
FD001數(shù)據(jù)集包含trian、test、RUL 3個(gè)文本文件,其中訓(xùn)練集train文件中為100臺(tái)發(fā)動(dòng)機(jī)從開始運(yùn)行到失效的完整記錄,以運(yùn)行周期為運(yùn)行時(shí)間和剩余壽命標(biāo)準(zhǔn),共20 631條記錄,每一條記錄包含發(fā)動(dòng)機(jī)的編號(hào),當(dāng)前運(yùn)行的周期數(shù),3個(gè)發(fā)動(dòng)機(jī)的設(shè)置值,以及21個(gè)發(fā)動(dòng)機(jī)傳感器值。測(cè)試集test文件中包含了隨機(jī)抽取的100個(gè)發(fā)動(dòng)機(jī)運(yùn)行記錄的一段記錄,并不是從開始運(yùn)行到失效的完整記錄,共13 096條記錄。RUL文件中包含了test文件中100臺(tái)發(fā)動(dòng)機(jī)最后一條記錄對(duì)應(yīng)的真實(shí)剩余壽命[6,17]。
本次實(shí)驗(yàn)CPU使用Intel Xeon E-2276G,內(nèi)存32 G,GPU使用Nvdia GeForce RTX 2080,在Tensorflow 2.0+Python3.8+Win10環(huán)境下進(jìn)行。
3.2.1 發(fā)動(dòng)機(jī)剩余壽命的計(jì)算
對(duì)數(shù)據(jù)集進(jìn)行RUL標(biāo)簽的計(jì)算,首先是對(duì)訓(xùn)練集剩余壽命的計(jì)算,公式為
RUL,train=cycle,max-cycle,now
(10)
式(10)中:cycle,max為訓(xùn)練集中每臺(tái)發(fā)動(dòng)機(jī)對(duì)應(yīng)的最大運(yùn)行周期數(shù);cycle,now為每條記錄對(duì)應(yīng)的當(dāng)前運(yùn)行周期數(shù)。
對(duì)測(cè)試集剩余壽命的計(jì)算,公式為
RUL,test=RUL+cycle,max-cycle,now
(11)
式(11)中:RUL為RUL文件中記錄的發(fā)動(dòng)機(jī)真實(shí)剩余壽命;cycle,max為訓(xùn)練集test文件中每臺(tái)發(fā)動(dòng)機(jī)記錄的最大運(yùn)行周期數(shù),cycle,now為每條記錄對(duì)應(yīng)的當(dāng)前運(yùn)行周期數(shù)。計(jì)算的剩余壽命RUL即為每條記錄所對(duì)應(yīng)的預(yù)測(cè)標(biāo)簽。 通過上述計(jì)算方式得到訓(xùn)練集中發(fā)動(dòng)機(jī)運(yùn)行周期最長(zhǎng)為362 cycle,最短為128 cycle,均值為217 cycle;測(cè)試集中發(fā)動(dòng)機(jī)運(yùn)行周期最長(zhǎng)為341 cycle,最短為141 cycle,均值為218 cycle。
對(duì)設(shè)備剩余壽命的預(yù)測(cè)是一個(gè)相對(duì)復(fù)雜的問題,在實(shí)際應(yīng)用中很難直接依靠設(shè)備當(dāng)前的運(yùn)行和使用情況準(zhǔn)確的預(yù)測(cè)設(shè)備剩余壽命??紤]到航空發(fā)動(dòng)機(jī)長(zhǎng)期運(yùn)行所產(chǎn)生的數(shù)據(jù)為較長(zhǎng)的時(shí)間序列,且發(fā)動(dòng)機(jī)前期運(yùn)行性能較為穩(wěn)定,性能退化不明顯,由于運(yùn)行時(shí)硬件磨損老化等各種因素,發(fā)動(dòng)機(jī)的剩余壽命隨著使用時(shí)間的增多而減少。所以采用如圖3所示[18]的分段線性退化方式來擬合使用時(shí)間與發(fā)動(dòng)機(jī)剩余壽命之間的關(guān)系,以發(fā)動(dòng)機(jī)持續(xù)工作的周期數(shù)作為剩余壽命,發(fā)動(dòng)機(jī)運(yùn)行前期設(shè)置固定的最大壽命值作為發(fā)動(dòng)機(jī)退化的閾值。
圖3 分段線性退化示意圖Fig.3 Schematic diagram of segmented linear degradation
3.2.2 數(shù)據(jù)歸一化
數(shù)據(jù)的不同特征往往具有不同的量綱和量綱單位,在不進(jìn)行處理的情況下,會(huì)影響到對(duì)數(shù)據(jù)分析的結(jié)果,為了消除特征之間的量綱影響,通常需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化(歸一化)處理,將不同數(shù)據(jù)放縮到同一量綱數(shù)量級(jí)以方便進(jìn)行綜合對(duì)比評(píng)價(jià)。通常有兩種對(duì)數(shù)據(jù)歸一化的方法,一種是min-max標(biāo)準(zhǔn)化,一種是Z-Score標(biāo)準(zhǔn)化方法,在本次實(shí)驗(yàn)中,選用min-max標(biāo)準(zhǔn)化對(duì)數(shù)據(jù)進(jìn)行歸一化處理。
(12)
通過數(shù)據(jù)歸一化操作,把原始數(shù)據(jù)的特征值映射到[0,1]間,以消除因特征之間量綱不同的問題帶來的誤差。如圖4所示,圖4(a)為訓(xùn)練集中1號(hào)發(fā)動(dòng)機(jī)中傳感器3與傳感器4數(shù)據(jù)進(jìn)行歸一化前的分布曲線,圖4(b)為進(jìn)行數(shù)據(jù)歸一化后的分布曲線。
圖4 不同傳感器數(shù)據(jù)歸一化前后對(duì)比Fig.4 Comparison of different sensor data before and after normalization
3.2.3 時(shí)間滑動(dòng)窗口
在很多領(lǐng)域,時(shí)間序列數(shù)據(jù)都是一種十分重要且常見的數(shù)據(jù)對(duì)象。由于時(shí)間序列所具有的高維度、時(shí)序性等特征,直接對(duì)原始數(shù)據(jù)進(jìn)行訓(xùn)練來實(shí)現(xiàn)回歸預(yù)測(cè)等操作會(huì)忽略掉時(shí)間序列的前后時(shí)序性,不僅在計(jì)算效率上性能低下,還會(huì)影響算法的準(zhǔn)確性和可靠性,無法得到滿意的結(jié)果[19-20]。
在處理時(shí)間序列的問題上,當(dāng)前存在眾多處理方法,針對(duì)航空發(fā)動(dòng)機(jī)剩余壽命預(yù)測(cè)問題,采用定長(zhǎng)滑動(dòng)窗口對(duì)原始數(shù)據(jù)進(jìn)行切割劃分,使用劃分得到的子序列所組成的多組數(shù)據(jù)進(jìn)行訓(xùn)練預(yù)測(cè),可以有效地增強(qiáng)時(shí)間序列數(shù)據(jù)的數(shù)據(jù)特征,提高算法準(zhǔn)確性。算法具體實(shí)現(xiàn)步驟如下。
(1)根據(jù)時(shí)間序列的特點(diǎn),選取時(shí)間長(zhǎng)度為L(zhǎng)的時(shí)間窗口以及滑動(dòng)步長(zhǎng)S。
(2)在原始數(shù)據(jù)上沿時(shí)間維度方向從初始時(shí)間點(diǎn)開始按指定的滑動(dòng)窗口大小截取L條原始數(shù)據(jù)為第一條滑動(dòng)窗口數(shù)據(jù)。
(3)沿時(shí)間維度方向按指定的滑動(dòng)步長(zhǎng)S向前移動(dòng)滑動(dòng)窗口,得到下一條滑動(dòng)窗口數(shù)據(jù)。
(4)重復(fù)步驟(3),直到滑動(dòng)窗口末端到達(dá)原始數(shù)據(jù)最后一條,得到N個(gè)大小為L(zhǎng)×M的等規(guī)?;瑒?dòng)窗口數(shù)據(jù)。
如圖5所示,任取同一發(fā)動(dòng)機(jī)的4個(gè)不同傳感器數(shù)值作為原始數(shù)據(jù),滑動(dòng)窗口以固定大小沿時(shí)間維度方向向前滑動(dòng)。
圖5 滑動(dòng)時(shí)間窗口Fig.5 Sliding time window
利用滑動(dòng)時(shí)間窗口,對(duì)歸一化處理后的訓(xùn)練集和測(cè)試集進(jìn)行重新劃分,取每個(gè)窗口下一條數(shù)據(jù)的標(biāo)簽作為各自窗口數(shù)據(jù)的標(biāo)簽,測(cè)試集只取最后一個(gè)窗口數(shù)據(jù)用作測(cè)試。
將預(yù)處理完畢的數(shù)據(jù)集送入Attention-LSTM模型中進(jìn)行訓(xùn)練,模型在訓(xùn)練時(shí)選擇使用Adam優(yōu)化器作為模型的優(yōu)化器函數(shù)。Adam是一種參數(shù)自適應(yīng)學(xué)習(xí)率的方法,結(jié)合RMSprop和AdaGrad兩種優(yōu)化算法的優(yōu)點(diǎn),利用梯度的一階矩陣估計(jì)和二階矩陣估計(jì)動(dòng)態(tài)調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率,相比較于傳統(tǒng)的隨機(jī)梯度下降(stochastic gradient descent, SGD)等優(yōu)化算法有許多顯著的優(yōu)點(diǎn),在很多情況下算作默認(rèn)工作性能比較優(yōu)秀的優(yōu)化器。本文中使用Adam優(yōu)化器默認(rèn)參數(shù)進(jìn)行訓(xùn)練,模型及數(shù)據(jù)集相關(guān)參數(shù)如表1所示,模型評(píng)估結(jié)果如表2所示。
表1 模型初始參數(shù)Table 1 Model initial parameters
表2 模型評(píng)估結(jié)果Table 2 Model evaluation results
針對(duì)發(fā)動(dòng)機(jī)線性退化的問題,對(duì)RUL標(biāo)簽的處理上,考慮實(shí)際情況,認(rèn)為將發(fā)動(dòng)機(jī)退化閾值設(shè)置在120 ~130 cycle比較符合實(shí)際情況,大部分學(xué)者在進(jìn)行實(shí)驗(yàn)時(shí)也是選擇的在此區(qū)間進(jìn)行取值[5-7,17,21-25]。在固定其他參數(shù)的情況下,選用不同初始值進(jìn)行對(duì)比實(shí)驗(yàn),以均方根誤差為標(biāo)準(zhǔn),取五次實(shí)驗(yàn)的中間值。實(shí)驗(yàn)結(jié)果如表3所示,可以直觀地看到對(duì)原始數(shù)據(jù)集進(jìn)行退化閾值的設(shè)置可以大大提高模型的擬合度,在合理的區(qū)間內(nèi),退化閾值設(shè)置越小擬合度越高,將退化閾值設(shè)置為120 cycle時(shí)模型可以更好地進(jìn)行擬合預(yù)測(cè),故本文后續(xù)實(shí)驗(yàn)設(shè)置退化閾值大小為120 cycle,對(duì)數(shù)據(jù)集中RUL標(biāo)簽大于120 cycle的進(jìn)行修改為120 cycle。
表3 不同初始RUL對(duì)比結(jié)果Table 3 Comparison results of different initial RUL
不同大小的時(shí)間窗口會(huì)使得數(shù)據(jù)集發(fā)生量的變化,進(jìn)而影響到模型訓(xùn)練的結(jié)果。在滑動(dòng)時(shí)間窗口大小的選擇上,有學(xué)者使用滑動(dòng)時(shí)間窗口大小為10 cycle[4]、30 cycle[5-7,21-25]或50 cycle,對(duì)不同滑動(dòng)時(shí)間窗口大小進(jìn)行實(shí)驗(yàn),取五次實(shí)驗(yàn)的中間值。測(cè)試結(jié)果如表4所示,當(dāng)滑動(dòng)時(shí)間窗口大小設(shè)置為40時(shí)模型擬合度最高。舍去測(cè)試集中記錄數(shù)不夠40個(gè)cycle的數(shù)據(jù),重新劃分后的數(shù)據(jù)集大小如表5所示。
表4 不同滑動(dòng)窗口大小對(duì)比結(jié)果Table 4 Comparison results of different sliding window sizes
表5 重新劃分后數(shù)據(jù)集大小Table 5 Size of data set after repartitioning
各層LSTM 單元數(shù)量的不同會(huì)影響LSTM網(wǎng)絡(luò)學(xué)習(xí)的精準(zhǔn)度,對(duì)設(shè)置的兩層LSTM網(wǎng)絡(luò)取8、 16、 32、 64、 128進(jìn)行交叉實(shí)驗(yàn)驗(yàn)證。各層單元個(gè)數(shù)對(duì)比部分測(cè)試結(jié)果如表6所示,經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),對(duì)初始LSTM層單元數(shù)設(shè)置為128,第二層單元數(shù)設(shè)置為32,可以使網(wǎng)絡(luò)能夠充分的學(xué)習(xí),進(jìn)一步提升模型擬合精度。
表6 不同LSTM 單元個(gè)數(shù)對(duì)比部分結(jié)果Table 6 Partial results of the comparison of the number of different LSTM units
盡管Adam優(yōu)化器在默認(rèn)參數(shù)情況下已經(jīng)可以取得很好的結(jié)果,考慮引入學(xué)習(xí)率衰減對(duì)其進(jìn)行進(jìn)一步優(yōu)化,并對(duì)Adam默認(rèn)初始學(xué)習(xí)率和學(xué)習(xí)率衰減閾值patience進(jìn)行更改。實(shí)驗(yàn)結(jié)果如表7所示,當(dāng)更改Adam優(yōu)化器默認(rèn)學(xué)習(xí)率(learning rate, LR)由0.001調(diào)大至0.01時(shí),設(shè)置模型連續(xù)2個(gè)迭代(epochs)的驗(yàn)證集損失(val_loss)沒有提升就對(duì)學(xué)習(xí)率進(jìn)行衰減,學(xué)習(xí)率衰減會(huì)進(jìn)一步優(yōu)化模型。
表7 不同學(xué)習(xí)率及學(xué)習(xí)率衰減閾值對(duì)比結(jié)果Table 7 Comparison results of different learning rates and reduce learning rate patience
在對(duì)Adam優(yōu)化器學(xué)習(xí)率調(diào)優(yōu)結(jié)束后,引入EarlyStopping以防止模型過擬合及減少訓(xùn)練時(shí)間,并對(duì)其早停閾值patience進(jìn)行對(duì)比實(shí)驗(yàn),因?yàn)閷W(xué)習(xí)率衰減設(shè)置的是連續(xù)2個(gè)epochs沒有提升就對(duì)學(xué)習(xí)率進(jìn)行衰減,為了防止學(xué)習(xí)率衰減失效,所以應(yīng)對(duì)EarlyStopping patience參數(shù)設(shè)置為大于2的數(shù)值,同時(shí)將epochs上限調(diào)整至100。實(shí)驗(yàn)結(jié)果如表8所示,當(dāng)設(shè)置網(wǎng)絡(luò)訓(xùn)練時(shí)val_loss連續(xù)7個(gè)epochs沒有降低時(shí)提前停止訓(xùn)練,學(xué)習(xí)率衰退和EarlyStopping協(xié)同作用,使得網(wǎng)絡(luò)擬合度進(jìn)一步提升。
表8 不同早停閾值對(duì)比結(jié)果Table 8 Comparison results of different Early Stopping patience
對(duì)模型訓(xùn)練時(shí)的批處理大小(batch_size)進(jìn)行調(diào)優(yōu),選取不同的batch_size進(jìn)行測(cè)試對(duì)比,取5次實(shí)驗(yàn)的中間值。實(shí)驗(yàn)結(jié)果如表9所示,batch_size設(shè)置為32時(shí),模型訓(xùn)練的擬合度最優(yōu)。
表9 不同批處理大小對(duì)比結(jié)果Table 9 Different batch_size comparison results
進(jìn)一步對(duì)模型進(jìn)行優(yōu)化,在網(wǎng)絡(luò)中兩層LSTM層之間加入BatchNormalization(BN)層和dropout層來對(duì)網(wǎng)絡(luò)隱層進(jìn)行歸一化處理,并對(duì)Dropout層的留存率進(jìn)行調(diào)優(yōu)選擇,進(jìn)一步防止模型過擬合,提高模型精度。實(shí)驗(yàn)結(jié)果如表10所示,BN層和Dropout層的引入可以在一定程度上提升模型的擬合度,設(shè)置留存率為0.5時(shí)擬合最優(yōu)。
表10 不同留存率對(duì)比結(jié)果Table 10 Comparison results of different retention rates
經(jīng)過上述實(shí)驗(yàn),得到最優(yōu)模型的相關(guān)參數(shù)如表11所示,最終評(píng)估結(jié)果如表12所示,模型的預(yù)測(cè)擬合度得到了明顯的提升,score也隨著優(yōu)化趨于穩(wěn)定,模型訓(xùn)練集loss、驗(yàn)證集loss以及學(xué)習(xí)率變化如圖6所示,預(yù)測(cè)值與真實(shí)值對(duì)比如圖7所示,各時(shí)間點(diǎn)平均注意力權(quán)重如圖8所示,可以看到網(wǎng)絡(luò)更加注重時(shí)間序列兩端的數(shù)據(jù)。
圖6 Loss及LR變化曲線Fig.6 Loss and LR change curve
圖7 模型預(yù)測(cè)值與真實(shí)值對(duì)比Fig.7 Comparison of model predictions and true values
表11 模型最終參數(shù)Table 11 Model final parameters
表12 模型最終評(píng)估結(jié)果Table 12 Final model evaluation results
為了證明模型的準(zhǔn)確度,在對(duì)數(shù)據(jù)集進(jìn)行相同處理且采用相同優(yōu)化訓(xùn)練方法的情況下,將實(shí)驗(yàn)結(jié)果與多層感知機(jī)(multi-layer perception, MLP),卷積神經(jīng)網(wǎng)絡(luò)(CNN),雙向LSTM網(wǎng)絡(luò)(Bi-LSTM),未引入注意力機(jī)制的LSTM網(wǎng)絡(luò),門控循環(huán)單元(gated recurrent unit, GRU)網(wǎng)絡(luò)這些主流模型的預(yù)測(cè)結(jié)果進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表13所示,提出的Attention-LSTM模型相比較于未增加注意力機(jī)制的LSTM網(wǎng)絡(luò),均方根誤差降低了17.8%,擬合度提升了3.2%,懲罰分?jǐn)?shù)score降低了50.9%。與卷積神經(jīng)網(wǎng)絡(luò)相比,均方根誤差降低了28.6%,擬合度提升了6.4%,懲罰分?jǐn)?shù)score降低了71.2%。
表13 不同模型評(píng)估結(jié)果對(duì)比Table 13 Comparison of evaluation results of different models
LSTM之類的循環(huán)神經(jīng)網(wǎng)絡(luò)相比較于多層感知機(jī)和卷積神經(jīng)網(wǎng)絡(luò)要更擅長(zhǎng)處理類似發(fā)動(dòng)機(jī)傳感器數(shù)據(jù)的時(shí)間序列數(shù)據(jù),結(jié)合滑動(dòng)時(shí)間窗口和注意力機(jī)制可以進(jìn)一步對(duì)時(shí)間序列數(shù)據(jù)處理問題起到提升作用。提出的Attention-LSTM模型在提高了模型預(yù)測(cè)的擬合度之外,大大降低了模型預(yù)測(cè)的高估情況,可以一定程度的降低實(shí)際應(yīng)用中因發(fā)動(dòng)機(jī)損壞導(dǎo)致的事故發(fā)生率。目前還有可提升的空間,可以結(jié)合其他如卷積神經(jīng)網(wǎng)絡(luò)等加強(qiáng)對(duì)時(shí)間特征的學(xué)習(xí),引入一些遺傳優(yōu)化算法進(jìn)行模型的進(jìn)一步優(yōu)化。在注意力機(jī)制上目前只考慮了對(duì)時(shí)間維度的特征加權(quán),可以結(jié)合特征維度的注意力機(jī)制進(jìn)行多尺度的特征加權(quán),進(jìn)一步提升模型精準(zhǔn)度。