劉偉民,胡忠志
(1.中國航發控制系統研究所,江蘇無錫214063;2.清華大學航空發動機研究院,北京100084)
航空發動機健康管理技術是航空制造業、運輸業和維修業共同關注的熱點問題。從技術手段上提高航空發動機可靠性、可用性與安全性是各航空大國共同追求的目標[1]。美國、俄羅斯、英國等能夠自主研制航空發動機的國家,都將發動機故障預測與健康管理系統(Prognostics and Health Management,PHM)放在重要位置。而剩余壽命預估作為航空發動機故障預測與健康管理系統的重要組成部分,是連接狀態監視、故障診斷及預測、運維支持系統的重要橋梁[2],對降低發動機運維成本、維護其運行安全、減少部件無效替換次數等具有顯著意義。
目前對航空發動機剩余壽命進行預估的方法大致可分為基于模型、經驗、數據3類[2]。在基于模型的方法中,An 等[3]采用貝葉斯推理、Wei 等[4]采用擴展卡爾曼濾波、Zio 等[5]采用粒子濾波的方法,基于發動機退化模型與部分傳感器數據對發動機剩余壽命進行預估,但是由于發動機各部件之間退化存在耦合,且退化模型建立困難,所以基于模型的方法具有較大的局限性。在基于經驗的方法中,戎翔[6]基于可靠性統計的方法建立威布爾模型,得到研究對象當前運行時間下剩余壽命的分布函數;Bai 等[7]根據性能可靠性建模理論,建立研究對象的威布爾分布的性能可靠性模型,從而進行壽命預估。基于經驗的壽命預估方法易于實現,但是其預測精度普遍較低。在基于數據的方法中,Yan 等[8]、Liu 等[9]利用自回歸滑動平均模型對研究對象剩余壽命進行預估,具有較高精度,但是存在對數據噪聲敏感、只能對單一變量進行時序預測等缺點;Widodo 等[10]、Qu 等[11]利用支持向量機對研究對象故障時間進行預測,僅需少量歷史數據即可收斂,但沒有使用研究對象的時序信息,預測精度不佳;Tian 等[12]、Liu 等[13]分別利用全連接與遞歸全連接神經網絡對研究對象剩余壽命進行預測,但是由于全連接神經網絡無法利用研究對象的時序信息,精度較低,同時由于計算資源與算法的局限性,當時發展的神經網絡深度與規模都比較小,限制了航空發動機剩余壽命預測的能力。
目前在較強的計算能力與海量數據的支持下,深度學習算法得到了快速發展,在一些領域已經具有較高的實際應用價值。本文提出一種基于卷積神經網絡與長短期記憶神經網絡的航空發動機剩余壽命預估方法,對航空發動機剩余壽命進行預測,并在NASA 的C-MAPSS 中的渦扇發動機退化數據集上進行驗證。
航空發動機的壽命是其競爭力和持久性的重要特性之一,現代航空發動機的高可靠性與安全性很大程度上是材料的改進、壽命預估能力的提高、保守設計和維修思想的共同作用[14]。
常見的航空發動機壽命預估方法對壓氣機盤、渦輪盤、葉片、轉子主軸和轉子軸承等關鍵部件的壽命損耗進行評估,并以此對剩余壽命進行預估。通常,壽命預估系統由機載系統與地面系統2 部分組成,機載系統的任務是監測并采集航空發動機各部件的原始數據,對各部件的使用與損傷狀況進行跟蹤;地面系統則主要根據機載系統采集到的數據,結合基于模型、經驗或數據的算法,對發動機各部件的剩余壽命進行預估。
航空發動機健康管理系統的主要功能單元如圖1所示。

圖1 民用航空發動機健康管理系統主要功能
在傳統的航空發動機剩余壽命預估方法中,通常僅利用發動機工作時間或飛行循環數來表達部件的壽命損耗,但是由于每臺發動機所執行的飛行任務、工作環境和載荷大小不盡相同,且同一批次的發動機個體之間通常也存在不小的差異,若僅采用工作時間或飛行循環數作為制定維護方案的惟一依據,發動機的壽命將得不到充分利用,這不僅會導致資源的浪費,更是給維修保障工作增加了負擔[6,15]。
本文提出一種算法,借助傳感器技術和計算機計算能力的發展,首先獲取每臺發動機的工況參數和發動機各部件實際運行數據,然后利用卷積神經網絡(Convolutional Neural Network,CNN)提取數據特征,并使用長短期記憶神經網絡(Long Short-Term Memo?ry,LSTM)進行時間序列預測,從而做出更精準的壽命損耗評估與剩余壽命預測,在確保飛行安全的同時,避免發動機各部件剩余壽命的浪費,從而提高發動機的經濟性。
卷積神經網絡是多層感知器的變種,基于生物學家Hubel 與Wiesel 關于貓的視覺皮層的研究發展而來[16],最初被廣泛應用于圖像識別領域。由于卷積神經網絡可以高效地將低層特征組合成高層的抽象特征,目前已經成為眾多學科領域的研究熱點之一。
卷積神經網絡由卷積層、池化層與全連接層組成,其架構如圖2所示。

圖2 卷積神經網絡架構
卷積層通過局域感受野的方法提取數據的局部特征,同時利用權值共享的方法減少卷積神經網絡的參數數量;池化層通過次抽樣的方法有效地縮減數據的尺寸,可以達到加快計算速度與防止過擬合的效果;全連接層利用卷積層與池化層提取出的特征完成回歸或分類任務。
卷積層每個節點的輸入只是上一層神經網絡的一小塊,通過卷積核將當前神經網絡上的1 個子節點矩陣轉化為下一層神經網絡上1 個深度不限的單位節點矩陣。通常卷積層通過邊緣補零的方式保持輸入數據矩陣長與寬不變,從而僅改變輸入數據的深度。例如,卷積核將m1×n1×k1個的節點矩陣轉化為1×1×k2的任意深度的單位節點矩陣,其轉化方法為

式中:g(i)為單位矩陣中第i個節點的取值;ax,y,z為輸入矩陣中節點(x,y,z)的取值為對于輸出單位節點矩陣中的第i個深度的節點的卷積核權重;bi為對于輸出單位節點矩陣中的第i個深度的節點的偏置項參數;f為激活函數。
本文使用縮放指數型線性單元(Scaled Exponen?tial Linear Units,SELU)作為激活函數,可以使數據自歸一化,保證在訓練過程中梯度不會爆炸或消失[17]。其表達形式為

式中:z為激活函數輸入值;λ與α為常數,λ≈1.051,α≈1.673。
池化層的前向傳播過程與卷積層類似,即通過滑動1 個池化核的結構完成。池化層與卷積層不同的是,池化層改變輸入數據矩陣的長與寬,并不改變數據矩陣的深度。由于池化核的作用在于對數據特征進行采樣,所以其計算不是節點的加權和,而是采用最大值或平均值運算。例如:池化核將1 個m1×n1×k1的節點矩陣轉化為1×1×k2的相同深度的單位節點矩陣,其轉化方法為

式中:P(i)為輸出矩陣中第i個深度上的取值;ax,y,i為輸入矩陣中第i個深度上池化核中的數據。
池化層可以在不改變輸入數據特征的前提下減小輸入數據的維度,從而達到加快計算速度與防止過擬合的效果。
經過多個卷積層與池化層的交替傳遞,原始數據中的信息將被抽象為信息含量更高的特征,此時卷積神經網絡還需要通過全連接網絡完成分類或回歸任務。
雖然卷積神經網絡可以較好地提取輸入數據的特征,但是當卷積神經網絡層數較多時,其學習所需要的數據量與計算次數均會增加。為此,Szegedy[18]等提出了一種起始模組(Inception Module),如圖3 所示。該模塊通過優化網絡結構來降低網絡的復雜度。

圖3 起始模組
起始模組由多個不同尺寸的卷積核組成,可以在減小網絡復雜度的同時,對輸入數據不同類型的特征進行較好的提取。試驗表明,使用起始模組的GoogleLeNet 的訓練參數數量只有 AlexNet 的 1/12,但是在ImageNet上的分類準確度比在AlexNet上的高約10%。
循環神經網絡是一種可以處理序列數據的神經網絡,可以保留序列數據的前后關系,但是當序列長度較長時,會產生梯度消失的問題[19]。
長短期記憶神經網絡最早由Hochreiter 和Schmidhuber 提出[20],用以解決循環神經網絡中梯度消失的問題。經過數年的發展,LSTM 逐漸在語音識別、機器翻譯和時序預測等領域取得了成功和突破。LSTM的結構如圖4所示。

圖4 LSTM結構
圖中粉色圈為向量操作,其中?為向量點乘,⊕為向量加和;黃色矩形為激活函數,其中σ為sigmoid函數,tanh 為tanh 函數;黑線為從1 個節點的向量輸出到其他節點的向量輸入,2 條黑線交匯為向量的拼接,黑線分叉為向量被復制。
LSTM 的核心思想可以概括為:通過使用被稱為門(Gates)的結構,選擇性地允許信息通過。LSTM 中有遺忘門、輸入門、輸出門。遺忘門的作用是決定當前時刻從LSTM 神經元丟棄什么信息;輸入門的作用是決定讓多少當前時刻信息加入到神經元中;輸出門的作用是計算當前時刻神經元輸出值和狀態值。從圖中可見,每個LSTM 神經元在某時刻接收采樣輸入xt、上一時刻神經元輸出和神經元狀態量作為當前時刻輸入;經過遺忘門、輸入門、輸出門的計算后,LSTM神經元輸出當前時刻計算值和神經元的狀態值。正是由于遺忘門、輸入門、輸出門的這種層級遞歸的結構,LSTM神經網絡才可以處理各類復雜的序列數據。
用于航空發動機剩余壽命預估的神經網絡架構如圖5所示。

圖5 航空發動機剩余壽命預估的神經網絡架構
從圖中可見,航空發動機傳感器數據經過適當的預處理后,輸入至CNN中;由于CNN 具有強大的提取數據特征的能力,發動機的抽象特征將被提取出來,并形成時間序列,輸入至LSTM 中;LSTM 通過學習時間序列的特征,對航空發動機剩余壽命進行預測;通過全連接層輸出航空發動機剩余壽命。
使用NASA 的C-MAPSS 提供的渦扇發動機退化仿真數據集對提出的航空發動機剩余壽命神經網絡架構進行測試[21]。該數據集共有4 個子集,每個子集的運行環境與故障模式略有不同,詳情見表1。

表1 渦扇發動機退化仿真數據集說明
每個數據集可以進一步分為訓練集和測試集。訓練集和測試集均由多個多變量時間序列組成,且每一時刻數據維度均為26 維,其中21 維為發動機各部件傳感器測得的數據,3 維為會對發動機性能產生重大影響的環境數據,2 維為發動機編號與運行次數。在訓練集中,發動機部件持續退化至發動機發生致命故障;在測試集中,時間序列在發動機致命故障前的某個時刻終止。
由于不同數據集中航空發動機運行環境不同,所以在進行剩余壽命預估前需要對傳感器數據進行歸一化,其方法為

式中:c為發動機運行環境;f為21 個傳感器;x為傳感器采集到的實際數值;μc,f為平均值;σc,f為標準差。
為了充分提取傳感器信號之間的相關特性,考慮到卷積神經網絡局域感受野的特點,在使用CNN 與LSTM 對發動機進行剩余壽命預估時,首先應對發動機傳感器數據進行重構,使其數據尺寸由1×n重構為n×n。本文使用滑動重構的方法,其具體操作如圖6所示。

圖6 傳感器數據重組
圖中數字1~8 表示傳感器編號。首先將發動機采集到的1 維數據拓充成2 維數據,然后對第n行數據左滑位。從圖6 中可見,在數據重構之前,3 號傳感器數據只與2 號和4 號傳感器相鄰,此時由于卷積神經網絡受其局域感受野的限制,3 號傳感器與距離較遠的8 號傳感器之間的相關特性將無法被有效提取。當使用如圖5 所示的數據重新組合的方法后,3 號傳感器在矩陣中的位置與其他所有傳感器均相鄰,此時可以通過卷積層提取3 號傳感器與其他所有傳感器之間的相關特性。
神經網路具體參數如圖7 所示。從圖中可見,傳感器采集航空發動機的數據,經滑動重構后,輸入至CNN 與 LSTM 神經網絡架構中;CNN 與 LSTM 神經網絡架構采用“離線訓練、在線診斷”的工作方式,即離線訓練好神經網絡中各參數,這些參數在進行航空發動機剩余壽命預估時不再更新;CNN 與LSTM 神經網絡架構最終的輸出為航空發動機剩余壽命預估結果。

圖7 神經網路具體參數
值得注意的是,圖7 中卷積神經網絡架構利用起始模組的思想,網絡前半部有3個分支:中間分支由2個卷積層、2 個池化層組成,作用是提取輸入信息特征;上分支由1 個卷積層組成,受Hebbian 原理的啟發,其卷積核尺寸為1×1,該分支的作用是抑制相鄰傳感器之間的相互影響;下分支同樣由1 個卷積層組成,其卷積核的尺寸與輸入數據的尺寸相同,該分支的作用是從各傳感器在當前時刻采集的數據中提取航空發動機當前時刻工作狀態特征。
在 Ubuntu 18.0 系統中 Python3.6 / Tensorflow 1.10.0 仿真環境下搭建如圖7 所示的神經網絡構架,采用Adam 優化算法,步長設置為1×10-4,訓練過程如圖8所示。

圖8 神經網絡訓練過程
從訓練過程可見,通過使用傳感器數據滑動重組、起始模組與SELU 激活函數的方法,可以顯著提高航空發動機剩余壽命預估構架的預估準確性。其中傳感器數據滑動重組對預估準確性影響最大,起始模組與SELU對預估準確性的影響不相上下。
在4 個測試集中發動機剩余壽命預測誤差的分布如圖9所示。

圖9 預測誤差范圍分布

從圖中可見,本文提出的基于CNN 與LSTM 的航空發動機剩余壽命預估架構經過訓練后,可以準確地對發動機剩余壽命進行預估,具體的分析結果將在下一節中陳述。
對于NASA 的C-MAPSS 提供的渦扇發動機退化仿真數據集,目前有2 個常用的算法性能評估指標,即JScore和JRMSE[21-22],JScore為非對稱指標,對剩余壽命高估的行為懲罰較大;JRMSE為對稱指標,可以避免通過低估剩余壽命而使JScore指標數值過小的行為發生。JScore和JRMSE的具體計算方法為

式中:hi為第i個樣本剩余壽命的預測值與實際值的差值;Rest,i為第i個樣本剩余壽命的預測值;Ract,i為第i個樣本剩余壽命的實際值。
JRMSE與JScore評估指標對比如圖10 所示。綜合使用JRMSE與JScore評估指標可以對算法性能進行評價。

圖10 JRMSE與JScore評估指標對比
將本文提出的CNNLSTM 方法與多層感知機(Multi-Layer Perceptron,MLP)、支持向量機(Support Vector Machines,SVM)、相關向量回歸(Relevance Vector Regression,RVR)、卷積神經網絡 CNN[22]和卷積門控循環神經網絡(CNN Gate Recurrent Unit,CNNGRU)[23]等方法進行對比,結果見表2、3。

表2 JRMSE指標對比

表3 JScore指標對比
從表中可見,本文提出的CNNLSTM 方法在JRMSE指標上優于其他大部分方法,且在JScore指標上優于其他所有方法。從仿真結果和指標對比可知,本文提出的方法可以在保證預測精度的前提下,對航空發動機剩余壽命進行較為保守的預估,在保證資源不被浪費的情況下,盡可能提前發出故障預警信號,從而提高飛行的安全性。
為了更直觀地觀察CNN 與LSTM 的方法對航空發動機剩余壽命的預估情況,在4 個數據集中分別隨機取出1 組數據,并以該組數據前半部分數據點作為依據,對健康指數的趨勢進行預估,剩余壽命預估結果如圖11所示。
從圖中可見,CNNLSTM 在航空發動機性能退化時對剩余壽命的預估結果與真實值較為接近,震蕩較小,當失效閾值選取恰當時,可以較好地對航空發動機剩余壽命進行預估。
本文提出了一種基于卷積神經網絡與長短期記憶神經網絡的航空發動機剩余壽命預估方法,并對其應用效果進行了驗證,得到如下結論:
(1)該方法通過利用CNN 提取傳感器數據中的特征,避免了傳統算法中繁瑣的手工提取數據特征的操作;同時利用LSTM 對CNN 提取出的特征進行了時序預測;在特征的時序預測基礎上,該方法使用全連接層輸出航空發動機剩余壽命。
(2)在NASA 的C-MAPSS 提供的渦扇發動機退化數據集上對該方法進行了驗證,結果表明,采用該方法可以顯著提高航空發動機剩余壽命預估的準確性,且該方法在JScore指標上的表現較前人的研究提升明顯,可以在保證預測精度的前提下,對航空發動機剩余壽命進行較為保守的預估,在保證資源不被浪費的情況下,盡可能提前發出故障預警信號,從而提高飛行的安全性。
由于利用該方法對航空發動機剩余壽命進行預估時沒有利用航空發動機退化模型,因此可以預計該方法在解決其他時序預測問題時也會有較好的表現。