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