黃 曦,卿新林 ,王奕首 ,殷 鍇,趙 奇
(1.廈門大學航空航天學院,福建廈門361102;2.中國航發商用航空發動機有限責任公司,上海200241)
航空發動機工作在高溫、高壓、高速等極端條件下,容易產生故障,致使飛機迫降停飛,甚至誘發飛行事故、危及飛行安全[1]。NASA的統計資料表明:在民用領域,發動機故障占所有飛機機械故障中的1/3。全世界每年花費的310億美元維修費用中發動機日常維護占31%,翻修占27%[2]。為了在飛行過程中對航空發動機的健康狀態實時監控,需要建立相應的參數基線。以往航空發動機的相關參數基線無法直接測量,一般由發動機生產商經過大量試驗才能得到,屬于發動機生產商的機密信息。隨著大數據時代的到來,使用飛行數據建立基線模型的方法越來越普遍,需要根據基線值與實際值的偏差來判斷發動機的運行狀態,確定維修方案等。燃油流量是發動機重要參數之一,建立準確的燃油流量基線對于預防飛行事故的發生具有重要意義。
國內外的專家學者對于發動機重要參數基線模型開展了大量研究工作,取得了不少成果。朱睿和劉志榮[3]利用線性擬合建立發動機整體及風扇、壓氣機、高壓渦輪和低壓渦輪4個單元體性能的健康曲線,用于判斷發動機整體及單元體的性能衰退情況;鐘詩勝[4]采用基于核函數的多元非線性回歸分析方法,對Rolls-Royce公司的發動機排氣溫度、燃油流量、高壓轉速和低壓轉速基線方程進行了求解;閆鋒[5]設計了以高斯函數為隱含層激勵函數、以線性函數為輸出層激勵函數的多輸入單輸出的RBF神經網絡,建立了發動機燃油流量的健康基線來監測巡航過程中發動機狀態參數的異常變化。但這些傳統的算法普遍存在診斷精度不高、魯棒性差等缺點。
目前常見的深度學習算法有自動編碼器(Autoencoder,AE)[6]、深度置信網絡(Deep Belief Network,DBN)[7]、卷積神經網絡(Convolutional Neural Networks,CNN)[8]以及循環神經網絡(Recurrent Neural Networks,RNN)[9]等。其中自編碼器在圖像識別[10]、語音識別[11]、自然語言處理[12]等領域已經廣泛應用。堆疊降噪自動編碼器(Stacked Denoising Autoen-coders,SDAE)算法由Vincent在2010年提出[13],是在自動編碼器和降噪自動編碼器(Denoising Autoencoder,DAE)[14]基礎上的改進算法,精度高、抗噪聲能力強。為了克服傳統機器學習算法在故障診斷領域的不足,本文采用SDAE建立了發動機的燃油流量的健康基線模型。
自動編碼器利用SDAE算法對燃油流量F建立基線模型的步驟如下:
(1)從真實的飛行數據中選取與F相關的參數作為輸入;
(2)對初始數據進行預處理及其參數的修正;(3)將預處理的數據按照7∶3∶3的比例來構建訓練集、驗證集和測試集;
(4)將訓練集輸入到SDAE模型中,根據驗證集結果調整SDAE模型的超參數;
(5)將測試集輸入到近似最優的SDAE模型中,來確定模型的擬合精度;
(6)將預處理的數據加上隨機高斯噪聲,重復第(4)、(5)步驟,檢驗SDAE模型的抗噪聲能力。
試驗數據選自某航空公司波音787客機的真實飛行數據,其部分參數的原始巡航數據見表1。
考慮到飛行數據存在一些異常點和缺失點,建模前必須要對數據進行預處理。本文利用滑動中位數法對數據進行異常點去除,即建立1個滑動窗口,統計窗口內數據的中位數,若窗口內數據與中位數相差大于一定的閾值,則判定為異常點,對異常點和缺失數據點利用滑動窗口的均值補全。

表1 波音787客機部分飛行數據
在建模前需要將燃油流量、壓力、溫度和轉速修正到標準大氣壓海平面狀態下。在此引入溫度修正因子θ和壓力修正因子δ[15]

式中:H為飛行高度,根據θ和δ對參數進行修正。溫度修正公式為

式中:Tcor為修正后溫度;Traw為修正前溫度。
壓力修正公式為

式中:Pcor為修正后壓力;Praw為修正前壓力。
轉速修正公式為

式中:Ncor為修正后轉速;Nraw為修正前轉速。
燃油流量修正公式為

式中:Fcor為修正后燃油流量;Fraw為修正前燃油流量。
自動編碼器(Auto-Encoder,AE)是深度學習網絡中常見的基礎結構,是1種無監督的學習算法,主要用于學習輸入數據集壓縮的抽象表達。基本的AE由1個3層神經網絡構成:1個輸入層,1個隱藏層和1個輸出層,如圖1所示。由輸入層(L1)到隱藏層(L2)的過程稱為編碼階段,由隱藏層(L2)到輸出層(L3)的過程稱為解碼階段。

圖1 AE網絡結構
令f和g分別代表編碼函數與解碼函數。則有

式中:Sf、Sg分別代表編碼器和解碼器的激活函;Wf為編碼權重矩陣;Wg為解碼權重矩陣;bf、bg分別為編碼器和解碼器偏置向量。一般選擇sigmoid函數

且權重矩陣Wg通常取自編碼網絡的作用是將輸入樣本X壓縮到隱藏層Y,再在輸出端Z重建樣本。其目標是使輸出和輸入之間誤差盡量小。一般使用平方誤差

作為自動編碼器的損失函數。式中:d為輸入和輸出的維度。
對于樣本容量為N的訓練樣本,自動編碼器的風險函數為

最后通過隨機梯度下降算法最小化J(θ),求出參數空間θ。
DAE是在自動編碼器的基礎上為了防止過擬合問題而對輸入的數據(網絡的輸入層)加入噪聲,使學習得到的編碼器具有較強的魯棒性,從而增強模型的泛化能力,其結構如圖2所示。對輸入數據加入噪聲的方法,一般為加入與輸入數據同分布的高斯噪聲,或以一定概率將輸入向量的分量置0。

圖2 DAE結構
SDAE是多個降噪自動編碼器堆疊組成的1種深度網絡結構,利用前1層編碼器的輸出作為當前層編碼器的輸入。為了解決深度網絡訓練過程中出現的梯度消失等問題,Hinton基于深度置信網絡提出了1種貪婪逐層訓練算法,即每次只訓練1層網絡,然后再將訓練好的網絡固定去訓練下1層[16],如圖3所示。通過第1層DAE的學習得到的編碼輸出,再以此輸出通過相同的方法添加噪聲進行訓練得到第2層的編碼輸出,最后根據需要重復此過程。

圖3 SDAE結構
通過無監督訓練得到的SDAE只是得到的原始數據精煉、抽象的1種表達,稱為整個基線模型的預訓練階段,還不具備對基線的擬合能力。要想建立準確的健康基線,一般需要在SDAE頂端再添加1個回歸層(如線性回歸層),并結合少量有標注的訓練數據在損失函數的指導下對系統的參數進行微調,使得整個網絡能夠完成對發動機燃油流量基線的建立。
試驗共選取1300組數據用于建立基線模型,其中700組用作模型的訓練集,300組用作模型的驗證集,300組用作模型的測試集。令

利用深度學習開源框架Keras構建BP(Back Propa-gation)神經網絡和SDAE模型。針對2種模型分別選取一些不同的網絡結構進行訓練,記錄驗證集的均方誤差(Mean Squared Error,MSE)隨著迭代次數的變化,從而確定較優的網絡結構和迭代次數。其中BP分別選取網絡結構為 (9,10,1)、(9,15,1)、(9,20,1)、(9,10,10,1)、(9,15,15,1)、(9,10,20,1)進行驗證。驗證結果如圖4所示。從圖中可見,當BP網絡結構為(9,10,1),迭代次數為750次時,驗證集的MSE最小。

圖4 BP模型驗證集的MSE
同理,分別選取結構為(9,10,5,1)、(9,10,7,1)、(9,7,4,1)、(9,8,5,1)的 SDAE 模型進行驗證,其結果如圖 5所示。當 SDAE 模型結構為(9,10,7,1),迭代次數為250次時,驗證集的MSE最小。

圖5 SDAE模型驗證集的MSE
對訓練好的近似最優的BP模型和SDAE模型在測試集上的MSE比較可知,BP的MSE為0.023,而SDAE的MSE為0.017。基于BP模型和SDAE模型的燃油流量預測曲線分別如圖6、7所示。從圖中可見,SDAE模型在波動聚集區間的預測效果明顯優于BP模型的。
BP模型和SDAE模型的預測誤差百分比分別如圖8、9所示。從圖中可見,SDAE模型的預測誤差百分比小于BP模型的。

圖6 基于BP模型的燃油流量預測曲線

圖7 基于SDAE模型的燃油流量預測曲線

圖8 BP模型預測誤差百分比

圖9 SDAE模型預測誤差百分比
實際飛行數據中不可避免地存在噪聲,需要評估所建立模型的抗噪聲能力。本文對輸入數據加入不同等級的高斯噪聲,比較BP模型和SDAE模型在不同噪聲等級下的擬合精度。2種模型抗噪聲能力的比較如圖10所示。從圖中可見,隨著噪聲等級的增加,2種模型的MSE都在上升,但是SDAE模型的MSE上升的趨勢相對更平緩,因此判斷SDAE模型比BP模型有更好的抗噪聲能力。

圖10 BP模型和SDAE模型抗噪聲能力比較
本文首次將深度學習算法中的堆疊降噪自編碼用于發動機燃油流量基線模型的構建。利用真實民航飛行數據對模型進行驗證,并將其與傳統的BP神經網絡算法在基線建立精度和抗噪聲能力上進行比較。試驗結果表明,基于SDAE的航空發動機燃油流量基線模型的精度和抗噪能力都優于基于BP算法的基線模型的。