王 坤,高丹妮
(中國(guó)民航大學(xué) 電子信息與自動(dòng)化學(xué)院,天津 300300)
輔助動(dòng)力裝置(Auxiliary Power Unit,APU)是一個(gè)小型發(fā)動(dòng)機(jī),可以在飛機(jī)未起飛前和起飛后提供電源和氣源,是保障飛機(jī)運(yùn)行的重要系統(tǒng)。能否及時(shí)檢測(cè)出APU 的故障會(huì)直接影響飛機(jī)運(yùn)行效率。
常見的用于故障數(shù)據(jù)挖掘的機(jī)器學(xué)習(xí)算法有:決策樹、支持向量機(jī)、人工神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)以及結(jié)合分類法。向丹等人使用支持向量機(jī)對(duì)軸承進(jìn)行故障診斷,利用經(jīng)驗(yàn)?zāi)J綄?duì)輸入數(shù)據(jù)進(jìn)行分解處理[1]。唐貴基等人使用自適應(yīng)最大相關(guān)峭度解卷積方法對(duì)軸承早期故障進(jìn)行診斷[2]。黨宏鑫采用專家系統(tǒng)工具CLIPS 實(shí)現(xiàn)了推理機(jī)并構(gòu)建了知識(shí)庫(kù)[3]。羅云林使用最小二乘支持向量分類器(LS?SVC)對(duì)APU 外部件進(jìn)行故障診斷,用多小波輸入數(shù)據(jù)進(jìn)行預(yù)處理[4]。衛(wèi)星使用LSTM 判斷車輛行為類別,用雙卷積網(wǎng)絡(luò)對(duì)提取視頻中的關(guān)鍵幀進(jìn)行分析處理和特征提取[5]。艾虎等人根據(jù)漢語(yǔ)方言數(shù)據(jù)的特點(diǎn)對(duì)LSTM 進(jìn)行改進(jìn),建立了高效的LSTM 方言辨識(shí)模型[6]。李萬(wàn)等人將動(dòng)態(tài)權(quán)重的PSO 與LSTM 相結(jié)合,搭建了LSTM 鐵路客運(yùn)量預(yù)測(cè)模型[7]。唐賽等人將LSTM 用于軸承故障診斷,通過(guò)LSTM 訓(xùn)練參數(shù),再輸入到softmax網(wǎng)絡(luò)層,得到分類類別的概率分布[8]。
長(zhǎng)短期記憶人工神經(jīng)網(wǎng)絡(luò)具有時(shí)間記憶單元,更善于處理時(shí)間序列問(wèn)題,但其隱含層節(jié)點(diǎn)數(shù)難以確定,且隱含層節(jié)點(diǎn)數(shù)直接影響模型的擬合能力和正確率。在實(shí)際應(yīng)用中,這種參數(shù)常由經(jīng)驗(yàn)確定,有較大的不確定性和隨機(jī)性,影響了模型診斷結(jié)果,本文采用自適應(yīng)粒子群(APSO)和LSTM 結(jié)合的組合分類方法,使用APSO優(yōu)化LSTM 的隱含層節(jié)點(diǎn)數(shù)。
首先以LSTM 中隱含層節(jié)點(diǎn)作為粒子種群,將粒子種群分為若干子種群,按不同的方式對(duì)子種群中普通粒子和局部最優(yōu)粒子進(jìn)行更新,并加入修正向量a1,a2,以避免陷入局部最優(yōu),利用得到的最優(yōu)隱含層節(jié)點(diǎn)數(shù)構(gòu)建LSTM 網(wǎng)絡(luò)模型,通過(guò)對(duì)比實(shí)驗(yàn),確定了訓(xùn)練次數(shù)、學(xué)習(xí)率、樣本大小等參數(shù),得到基于自適應(yīng)粒子群的長(zhǎng)短期記憶網(wǎng)絡(luò)(APSO?LSTM)故障診斷模型,對(duì)APU 進(jìn)行故障診斷。
長(zhǎng)短期記憶(Long Short?Term Memory,LSTM)網(wǎng)絡(luò)是德國(guó)計(jì)算機(jī)科學(xué)家Schmidhuber 在1997 年提出的一種時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò),可以改善過(guò)多的存儲(chǔ)信息導(dǎo)致的梯度消失、梯度爆炸等問(wèn)題。LSTM 結(jié)構(gòu)如圖1 所示,每個(gè)LSTM 單元在普通輸出ht的基礎(chǔ)上增加了一個(gè)輸出,即一個(gè)記憶單元Ct,并引入了三個(gè)門:輸入門、遺忘門和輸出門,通過(guò)這三個(gè)門控制了增加或者減少數(shù)據(jù)的比例。
圖1 LSTM 結(jié)構(gòu)
LSTM 記憶單元與各個(gè)門控制器更新如下:
式(1)、式(2)分別為輸入門it和遺忘門ft的更新公式。其中:bi和bf是輸入門和遺忘門的偏置矩陣;σ為sigmoid 函數(shù);W是相對(duì)應(yīng)的權(quán)重矩陣。輸入門表示對(duì)輸入和上一輸出的接收量,遺忘門過(guò)濾了輸入和上一輸出的遺忘量。
式(3)為臨時(shí)記憶單元c′t的更新公式;tanh(·)為激活函數(shù);W xc,W hc分別為輸入xt和上一輸出ht-1的權(quán)重矩陣。
式(4)為最終的長(zhǎng)期記憶單元Ct的更新公式,可以看出長(zhǎng)期記憶單元是輸入門it、遺忘門ft、上一記憶單元Ct-1和臨時(shí)記憶單元c′t共同決定的結(jié)果。
ot是輸出門更新公式,如式(5)所示,其中,W xo和W ho是對(duì)應(yīng)的權(quán)重矩陣。輸出門的功能就是對(duì)繁瑣記憶信息的過(guò)濾。LSTM 單元最終輸出如式(6)所示。
傳統(tǒng)粒子群中,每個(gè)粒子的當(dāng)前狀態(tài)由位置xi、速度vi共同決定,其更新公式如式(7)、式(8)所示,優(yōu)劣程度由適應(yīng)度值決定。式中:w為慣性權(quán)重;k為進(jìn)化代數(shù);c1,c2是學(xué)習(xí)因子;r1,r2是[0,1]之間的隨機(jī)數(shù);Pbesti為粒子個(gè)體最優(yōu)位置;Gbesti為全局最優(yōu)位置。
傳統(tǒng)的粒子群容易陷入局部最優(yōu),針對(duì)此問(wèn)題,本文根據(jù)粒子的分布狀態(tài),將一個(gè)種群看作一個(gè)班級(jí),借助自適應(yīng)學(xué)習(xí)思維,將一個(gè)班級(jí)自適應(yīng)地劃分為若干個(gè)學(xué)習(xí)小組,采用不同學(xué)習(xí)策略分別對(duì)不同類型的學(xué)生粒子進(jìn)行更新,這樣可以提高種群多樣性。選取初始的班級(jí)粒子后進(jìn)行如下步驟。
2.2.1 劃分學(xué)習(xí)小組
學(xué)習(xí)小組的劃分原則是中心點(diǎn)周圍為局部密度較低點(diǎn),其他點(diǎn)遠(yuǎn)離中心點(diǎn)。由m個(gè)學(xué)生粒子構(gòu)成一個(gè)班級(jí)對(duì)于每個(gè)粒子,粒子的局部密度為ρi,到下一粒子間的距離為εi,其公式如下:
式中:dij為粒子pj和pi之間的歐氏距離;dc為截?cái)嗑嚯x。
由式(10)可以看出,若粒子pi的密度是最大局部密度,則εi遠(yuǎn)大于其最鄰近粒子ε的距離。因此,學(xué)習(xí)小組的組長(zhǎng)粒子為高密度遠(yuǎn)距離粒子。對(duì)于其他粒子pj,將其歸入密度比pj大,且距離pj最近的樣本所在的學(xué)習(xí)小組。
2.2.2 粒子適應(yīng)度值的計(jì)算
根據(jù)參數(shù)建立LSTM 診斷模型,對(duì)模型進(jìn)行訓(xùn)練。適應(yīng)度函數(shù)Fit計(jì)算公式如下:
式中:N為樣本總數(shù);為輸出預(yù)測(cè)值;yi為輸出實(shí)際值。
2.2.3 學(xué)習(xí)小組中普通學(xué)生粒子的更新
學(xué)習(xí)小組中普通學(xué)生粒子在小組組長(zhǎng)即最優(yōu)粒子帶領(lǐng)下拓展局部學(xué)習(xí)能力,公式如下:
式中:w為慣性權(quán)重;c1,c2為學(xué)習(xí)因子為區(qū)間[0,1]上的隨機(jī)數(shù);cGbes為c學(xué) 習(xí) 小 組 的 組 長(zhǎng)粒子。
2.2.4 學(xué)習(xí)小組中組長(zhǎng)粒子的更新
學(xué)習(xí)小組中組長(zhǎng)粒子通過(guò)綜合班級(jí)中各學(xué)習(xí)小組的信息進(jìn)行更新,實(shí)現(xiàn)了學(xué)習(xí)小組間信息的共享,促進(jìn)了各個(gè)學(xué)習(xí)小組間尋優(yōu)信息的傳遞,從而提高整個(gè)班級(jí)的信息多樣化,避免陷入局部最優(yōu)。公式如下:
式中,用各個(gè)學(xué)習(xí)小組中組長(zhǎng)得到信息的比重和來(lái)指導(dǎo)各學(xué)生粒子的更新,公式如下:
式中:λ1+λ2+…+λC=1;λc為每個(gè)小組組長(zhǎng)粒子所占比重。組長(zhǎng)粒子的適應(yīng)度函數(shù)越優(yōu),所得的比重越高。修正向量a1= [a11,a12,…,a1D]和a2=[a21,a22,…,a2D]是和學(xué)生粒子具有同維度的二進(jìn)制向量,可以對(duì)組長(zhǎng)粒子和全班最優(yōu)學(xué)生粒子的信息進(jìn)行批判繼承,降低各個(gè)學(xué)習(xí)小組中組長(zhǎng)粒子對(duì)自身以及全班最優(yōu)粒子的過(guò)度依賴,避免在迭代后期為追求單一全局極值而造成的局部最優(yōu)。其計(jì)算公式如下:
式中:D是粒子維度;函數(shù)bin(·)產(chǎn)生D維二進(jìn)制隨機(jī)向 量;a1d和a2d是a1和a2中的元素。當(dāng)a1d=1 時(shí),局部最優(yōu)粒子的d維將被有效繼承。具體流程如圖2 所示。
圖2 傳統(tǒng)種群改進(jìn)流程
選取Schaffer 函數(shù)(二維)、Griewank 函數(shù)、全局最優(yōu)值均為(0,…,0),全局極值均為0。選取平均最優(yōu)和標(biāo)準(zhǔn)偏差值為參考,對(duì)APSO 算法進(jìn)行性能測(cè)試,結(jié)果如表1、表2 所示。
表1 Schaffer 函數(shù)測(cè)試結(jié)果
表2 Griewank 函數(shù)測(cè)試結(jié)果
仿真測(cè)試結(jié)果表明自適應(yīng)方法能夠顯著地增強(qiáng)PSO 的搜索能力,在測(cè)試函數(shù)上能達(dá)到更好的結(jié)果。
APSO?LSTM 網(wǎng)絡(luò)模型如圖3 所示,單獨(dú)使用LSTM構(gòu)成的網(wǎng)絡(luò)只具有學(xué)習(xí)能力,但不能對(duì)不同的故障進(jìn)行分類,需要在網(wǎng)絡(luò)頂層加入具有判別能力的結(jié)構(gòu),本文選用Softmax 回歸模型。依次為輸入層、LSTM 層、LSTM層、全連接層、softmax 輸出層。
圖3 APSO?LSTM 網(wǎng)絡(luò)結(jié)構(gòu)
APSO?LSTM 故障診斷模型分為生成故障檢測(cè)器和故障檢測(cè)兩個(gè)部分,具體流程如圖4 所示。
圖4 APSO?LSTM 故障檢測(cè)流程
在生成故障檢測(cè)器階段,需要先對(duì)故障數(shù)據(jù)進(jìn)行歸一化以及時(shí)間序列化預(yù)處理,然后搭建網(wǎng)絡(luò)模型,利用APSO 調(diào)整隱含層節(jié)點(diǎn)數(shù),對(duì)訓(xùn)練次數(shù)、學(xué)習(xí)率、樣本大小進(jìn)行實(shí)驗(yàn)對(duì)比,接著訓(xùn)練模型,其中,APSO 優(yōu)化LSTM過(guò)程如下:
1)將LSTM 中隱含層神經(jīng)元作為班級(jí)學(xué)生,并初始化學(xué)生粒子的位置和速率。
2)按式(9)和式(10)劃分種群,確定適應(yīng)度函數(shù)如式(11)所示。
3)種群密度和適應(yīng)度值對(duì)普通學(xué)生粒子和組長(zhǎng)粒子進(jìn)行劃分,分別以式(12)和式(13)進(jìn)行更新。
4)判斷是不是滿足結(jié)束條件,若滿足,返回最優(yōu)隱含層節(jié)點(diǎn)數(shù)取值;若不滿足,返回步驟3)。
5)利用最優(yōu)隱含層節(jié)點(diǎn)數(shù)構(gòu)建LSTM 網(wǎng)絡(luò)。
在故障檢測(cè)階段,測(cè)試數(shù)據(jù)需要經(jīng)過(guò)與訓(xùn)練數(shù)據(jù)一樣的數(shù)據(jù)預(yù)處理過(guò)程后進(jìn)入故障檢測(cè)器,通過(guò)故障檢測(cè)器給出分類結(jié)果,并與真實(shí)的類別作比較,計(jì)算測(cè)試集上的正確率。
本文使用波音787 飛機(jī)的QAR 系統(tǒng)提供的飛機(jī)輔助動(dòng)力裝置(APU)的實(shí)時(shí)數(shù)據(jù)。人工選取適用于本實(shí)驗(yàn)的有效特征數(shù)據(jù)包括:排氣溫度(EGT)、滑油溫度(OilTemp)、滑油量(OilQty)和轉(zhuǎn)速4 種故障參數(shù),如表3所示。按照滑油故障、點(diǎn)火系統(tǒng)故障、發(fā)電機(jī)故障三類劃分故障模式,使正常啟動(dòng)時(shí)輸出為0,滑油故障時(shí)輸出為1,點(diǎn)火系統(tǒng)故障時(shí)輸出為2,發(fā)電機(jī)故障時(shí)輸出為3。
表3 故障特征選擇
對(duì)故障參數(shù)求偏差值,將得到的偏差數(shù)據(jù)使用歸一化進(jìn)行預(yù)處理。歸一化將數(shù)據(jù)縮放到[0,1]區(qū)間內(nèi),如下:
仿真實(shí)驗(yàn)中,keras LSTM 模型對(duì)數(shù)據(jù)形式有一定要求,通常為3D tensor。 因此,從CSV 文檔讀入一組原始數(shù)據(jù)后,需要用numpy.reshape 函數(shù)替代原始數(shù)據(jù)reshape,以便keras LSTM 讀入。
根據(jù)APSO?LSTM 故障檢測(cè)器可知在訓(xùn)練過(guò)程中,對(duì)模型性能影響較大的參數(shù)有訓(xùn)練次數(shù)T、學(xué)習(xí)率LR,樣本大小s。
圖5 記錄了訓(xùn)練次數(shù)和學(xué)習(xí)率對(duì)實(shí)驗(yàn)的影響,描述了訓(xùn)練2 000 次時(shí),正確率隨訓(xùn)練次數(shù)T和學(xué)習(xí)率LR 的變化。
圖5 訓(xùn)練2 000 次學(xué)習(xí)率對(duì)比曲線
由圖5 可知,訓(xùn)練850 次后,三種正確率都有下降,為了保持運(yùn)行速度,避免梯度爆炸,訓(xùn)練次數(shù)選擇為800 次;學(xué)習(xí)率決定了循環(huán)迭代的快慢,訓(xùn)練次數(shù)達(dá)到800 次之前,三種學(xué)習(xí)率中,學(xué)習(xí)率為0.06 的曲線相對(duì)穩(wěn)定且正確率最高,所以選定訓(xùn)練次數(shù)T=800,學(xué)習(xí)率LR=0.06。
圖6 為選擇T=800,LR=0.06 時(shí),樣本大小s=50 和s=200 的正確率比較圖。
圖6 不同樣本對(duì)比曲線
由圖6 可以看出,s=200 時(shí)收斂速度慢,正確率低且不穩(wěn)定;s=50 時(shí),收斂速度較快,正確率顯著提高且十分穩(wěn)定。所以,選定樣本大小為50。
通過(guò)對(duì)比實(shí)驗(yàn),最終選擇T=800,LR=0.006,s=50,第一層隱含層單元數(shù)選擇12,第二層隱含層單元數(shù)選擇24,選擇400 個(gè)參數(shù)向量作為測(cè)試集進(jìn)行診斷,診斷結(jié)果如圖7 所示。
圖7 中橫坐標(biāo)0~100 為正常數(shù)據(jù),測(cè)試結(jié)果顯示可以完全識(shí)別;100~200 為滑油故障,判錯(cuò)2 個(gè);200~300為點(diǎn)火系統(tǒng)故障,判錯(cuò)1 個(gè);300~400 為發(fā)電機(jī)故障,判錯(cuò)2 個(gè)。為驗(yàn)證優(yōu)化算法的合理性,首先將模型結(jié)果與人工選擇隱含層參數(shù)的LSTM 模型進(jìn)行對(duì)比,結(jié)果如圖8 所示。
圖7 APSO?LSTM 診斷結(jié)果
圖8 APSO?LSTM 和LSTM 對(duì)比
由圖8 可看出,APSO?LSTM 模型的正確率收斂于98.85%,很好地識(shí)別了故障狀態(tài)。APSO?LSTM 與人工選取參數(shù)的LSTM 相比,收斂速度更快,精度更高。
選用相同訓(xùn)練集及相同的迭代次數(shù),與支持向量機(jī)(SVM)模型、RNN 模型和極限學(xué)習(xí)機(jī)(ELM)模型的正確率進(jìn)行對(duì)比,結(jié)果如表4 所示。
表4 實(shí)驗(yàn)對(duì)比結(jié)果
由表4 可以看出,使用APSO?LSTM 方法時(shí),選擇迭代次數(shù)為800 次的正確率要比迭代次數(shù)為200 次高6.8%,比迭代次數(shù)為1 000 次時(shí)高9.48%;在同樣使用迭代次數(shù)為800 次的情況下,該方法較之單一的LSTM 方法正確率提高了2.17%;與SVM 方法相比,正確率提高了3.2%;與RNN 網(wǎng)絡(luò)相比,正確率提高了4.48%;與ELM 相比,正確率提高了6.3%。
常見的故障診斷方法,如單獨(dú)的支持向量機(jī)解釋性較差且核函數(shù)的選擇也是問(wèn)題,單獨(dú)的人工神經(jīng)網(wǎng)絡(luò)參數(shù)難以確定。本文提出一種基于APSO?LSTM 的故障診斷模型,利用APSO 對(duì)傳統(tǒng)LSTM 進(jìn)行參數(shù)優(yōu)化,實(shí)驗(yàn)在Python 語(yǔ)言開發(fā)環(huán)境中編寫程序并調(diào)用TensorFlow 庫(kù)函數(shù)完成。它可以直接對(duì)故障數(shù)據(jù)進(jìn)行診斷,避免了人工選擇參數(shù)的影響,可實(shí)現(xiàn)高精度的APU 故障診斷。將APSO?LSTM 與普通LSTM 模型、SVM 模型、RNN 模型、ELM 模型進(jìn)行實(shí)驗(yàn)對(duì)比,可以看出,在同等條件下,APSO?LSTM 訓(xùn)練模型的正確率更高。本文提出的故障診斷模型更適用于處理時(shí)間序列問(wèn)題,可以對(duì)飛機(jī)發(fā)動(dòng)機(jī)、APU 等故障診斷提供一定參考。