劉云龍, 謝壽生, 鄭曉飛, 邊 濤
(空軍工程大學(xué) 航空航天工程學(xué)院,陜西 西安 710038)
基于深度學(xué)習(xí)的航空發(fā)動機(jī)傳感器故障檢測*
劉云龍, 謝壽生, 鄭曉飛, 邊 濤
(空軍工程大學(xué) 航空航天工程學(xué)院,陜西 西安 710038)
針對傳統(tǒng)反向傳播(BP)神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)(SVM)存在的過擬合、維數(shù)災(zāi)難、參數(shù)選擇困難等問題,提出了一種基于深度學(xué)習(xí)算法的航空發(fā)動機(jī)傳感器故障檢測方法。對發(fā)動機(jī)參數(shù)記錄儀采集的多維數(shù)據(jù)進(jìn)行預(yù)處理,建立基于深度置信網(wǎng)絡(luò)(DBN)的故障檢測模型,利用預(yù)處理后的數(shù)據(jù)對檢測模型進(jìn)行訓(xùn)練,經(jīng)過DBN故障檢測模型逐層特征學(xué)習(xí)實(shí)現(xiàn)了傳感器故障檢測。仿真結(jié)果表明:在無人工特征提取和人工特征提取的情況下,基于DBN故障檢測的準(zhǔn)確率均高于BP神經(jīng)網(wǎng)絡(luò)和SVM模型。
航空發(fā)動機(jī)傳感器; 故障檢測; 深度學(xué)習(xí); 深度置信網(wǎng)絡(luò); 飛參數(shù)據(jù)
航空發(fā)動機(jī)傳感器通常于在高溫、高壓等惡劣、復(fù)雜的工作環(huán)境下,傳感器故障頻發(fā),占發(fā)動機(jī)控制系統(tǒng)故障的很大比例[1]。因此,研究傳感器故障檢測技術(shù),提高故障檢測水平,對于保證飛行安全具有重要意義。
傳感器故障診斷技術(shù)理論方法主要分為三大類:基于冗余技術(shù)的傳感器故障診斷方法、基于信號處理的故障診斷方法和人工智能方法[2,3]。在人工智能方法中,反向傳播(back propogation,BP)神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(support vector machine,SVM)及其改進(jìn)方法被廣泛用于航空發(fā)動機(jī)傳感器故障檢測中,并取得了一定的成果。在長期實(shí)踐中,BP神經(jīng)網(wǎng)絡(luò)和SVM等具有單隱含層節(jié)點(diǎn)的淺層機(jī)器學(xué)習(xí)模型的問題顯現(xiàn)。淺層模型假設(shè)靠人工經(jīng)驗(yàn)抽取樣本特征,因此,特征的好壞成為檢測系統(tǒng)的瓶頸[4]。此外,神經(jīng)網(wǎng)絡(luò)和SVM存在過擬合、維數(shù)災(zāi)難、參數(shù)選擇困難等問題[5]。深度學(xué)習(xí)通過模擬人腦對知識的抽象過程,從訓(xùn)練樣本中學(xué)習(xí)并獲得統(tǒng)計(jì)規(guī)律,從而解決分類(故障檢測)問題。其實(shí)質(zhì)是通過構(gòu)建具有很多隱含層的機(jī)器學(xué)習(xí)模型和海量的訓(xùn)練數(shù)據(jù),學(xué)習(xí)更有用的特征,最終提升分類或預(yù)測的準(zhǔn)確性。其主要特點(diǎn)是模型結(jié)構(gòu)深度往往包含多層隱節(jié)點(diǎn),通過逐層特征變換,將樣本在原空間的特征變換到新的特征空間,分類更加簡單[6]。
本文以發(fā)動機(jī)傳感器數(shù)據(jù)檢測為例,提出了一種基于大數(shù)據(jù)—深度學(xué)習(xí)的故障檢測方法。利用飛行參數(shù)記錄儀記錄的機(jī)載傳感器數(shù)據(jù)之間的關(guān)聯(lián)性,進(jìn)行數(shù)據(jù)集訓(xùn)練深度置信網(wǎng)絡(luò)(deep belief network,DBN),實(shí)現(xiàn)傳感器故障檢測。
文獻(xiàn)[7~12]顯示了DBN優(yōu)異的特征提取能力。本文從某型國產(chǎn)飛機(jī)的參數(shù)據(jù)中隨機(jī)挑選了7000組數(shù)據(jù),建立了一個(gè)13維的數(shù)據(jù)集,數(shù)據(jù)參數(shù)如表1。
表1 13維數(shù)據(jù)
1)數(shù)據(jù)預(yù)處理:采取文獻(xiàn)[13]中基于狀態(tài)匹配與SVM的缺失飛行參數(shù)方法,對缺失飛行數(shù)據(jù)進(jìn)行補(bǔ)充。由于DBN的輸出層輸出樣本的聯(lián)合概率分布,其輸出值在[0,1]之間,因此,需要對輸入數(shù)據(jù)在[0,1]區(qū)間上進(jìn)行歸一化處理
(1)
2)數(shù)據(jù)分組:將7 000組數(shù)據(jù)劃分為2組,第一組為包含6 850組數(shù)據(jù)的訓(xùn)練數(shù)據(jù):{(α1i,α2i,N1i,N2i,di,φi,pi,vi,TEGi,θi,hi,FFi,ti),Yi},第二組為包含150組數(shù)據(jù)的測試數(shù)據(jù):{(α1j,α2j,N1j,N2j,dj,φj,pj,vj,TEGj,θj,hj,FFj,tj)Yj},其中,Yi,Yj分別為每組數(shù)據(jù)對應(yīng)的標(biāo)簽,即正?;蚬收?。
2.1DBN的構(gòu)建
根據(jù)DBN的原理[6~16]對DBN建模。
圖1為一個(gè)含3個(gè)隱含層的DBN,可以看出使最高2層保留無向圖模型,其余各層均為有向置信網(wǎng)絡(luò),且方向由上至下。優(yōu)點(diǎn)是使低層的輸出為頂層提供一個(gè)可以參考的關(guān)聯(lián),使其與記憶的內(nèi)容聯(lián)系在一起,便于微調(diào)[15]。圖中可視層v的輸入為樣本,h1,h2,,h3為第1,2,3隱含層;W為相鄰2個(gè)神經(jīng)元連接權(quán)值。給出含有l(wèi)個(gè)隱含層的置信網(wǎng)絡(luò)的輸出為
(2)
圖1 具有3個(gè)隱含層的DBN結(jié)構(gòu)
式中 v=h0;P(hk|hk+1)為第k層受限制玻爾茲曼機(jī)(restrictedBoltzmannmachine,RBM)可視層與隱含層之間的條件分布,即針對該聯(lián)合概率分布進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)。由輸入數(shù)據(jù)集可知,可視層v的神經(jīng)元個(gè)數(shù)為13。通過大量實(shí)驗(yàn),得到 nh1=100,nh2∈[15~35],nh3∈[5~25]。為了得到最優(yōu)的隱含層節(jié)點(diǎn)數(shù),利用RBM的重構(gòu)誤差進(jìn)行尋優(yōu),并繪制等高線誤差,如圖2。重構(gòu)誤差[14]具體計(jì)算步驟如下:
1)初始化誤差Error=0;
2)輸入訓(xùn)練樣本v(i)、RBM隱層單元數(shù)m、最大循環(huán)迭代次數(shù)T,對于v(i),i∈{1,2,…,K|;
3)對隱含層采樣,計(jì)算P(h|v(i),θ),從條件概率分布中抽取h∈{0,1};
從圖2可以看出:當(dāng)nh2=20,nh3=10時(shí),重構(gòu)誤差最小,由于本文針對正常、故障兩類問題分類,因此,輸出層節(jié)點(diǎn)數(shù)為2,最終網(wǎng)絡(luò)結(jié)構(gòu)為13—100—20—10—2。
圖2 訓(xùn)練樣本重構(gòu)誤差隨nh2,nh3節(jié)點(diǎn)數(shù)目變化
2.2DBN訓(xùn)練
DBN訓(xùn)練分為2個(gè)主要步驟:用無監(jiān)督貪婪算法對每一層RBM進(jìn)行訓(xùn)練;對整個(gè)網(wǎng)絡(luò)進(jìn)行微調(diào),使整個(gè)網(wǎng)絡(luò)達(dá)到最優(yōu)。步驟如下:
1)以v=h0作為輸入,訓(xùn)練第1個(gè)RBM,使其達(dá)到穩(wěn)定狀態(tài);
2)將第1個(gè)RBM學(xué)習(xí)到外界輸入的聯(lián)合概率分布作為第2個(gè)RBM的可視層輸入,直至穩(wěn)定狀態(tài);
3)重復(fù)執(zhí)行步驟(2),直到最后一個(gè)RBM;
4)將最大似然函數(shù)作為目標(biāo)函數(shù),用BP算法微調(diào)各層參數(shù),使整個(gè)網(wǎng)絡(luò)達(dá)到最優(yōu)。
步驟(1)~步驟(3),通過學(xué)習(xí)訓(xùn)練數(shù)據(jù)獲得RBM的參數(shù)集θ=(wij,ai,bj)。其中,wij為可視層第i個(gè)節(jié)點(diǎn)與隱含層第j個(gè)節(jié)點(diǎn)的連接權(quán)值;ai為可視層第i個(gè)節(jié)點(diǎn)的偏置;bj為隱含層第j個(gè)節(jié)點(diǎn)的偏置。RBM參數(shù)調(diào)節(jié)算法如下
Δwij=ε(〈vihj〉data-〈vihj〉model)
(3)
Δai=ε(〈vi〉data-〈vi〉model)
(4)
Δbj=ε(〈hj〉data-〈hj〉model)
(5)
式中 〈〉model計(jì)算需要花費(fèi)指數(shù)級時(shí)間,使用對比散度算法(CD)[15]可減少運(yùn)算量,新的調(diào)節(jié)算法如下
Δwij=ε(〈vihj〉data-〈vihj〉1)
(6)
Δai=ε(〈vi〉data-〈vi〉1)
(7)
Δbj=ε(〈hj〉data-〈hj〉1)
(8)
式中 〈〉1為對樣本進(jìn)行一次吉布斯采樣的得到的重構(gòu)樣本;ε為學(xué)習(xí)率,表示參數(shù)每次調(diào)節(jié)的大小,一般取0.005~0.200[16],本文令ε=0.15。
由于神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中經(jīng)常陷入局部極小值,需引入動量項(xiàng),將導(dǎo)致參數(shù)更新方向與梯度方向不一致,調(diào)節(jié)方法如下
(9)
式中 m為動量項(xiàng),本文令m=0.5;t為迭代次數(shù)。
設(shè)置RBM迭代的次數(shù),即RBM進(jìn)行1次權(quán)值更新即迭代1次,根據(jù)大量實(shí)驗(yàn),當(dāng)?shù)螖?shù)超過250次時(shí),重構(gòu)誤差變化非常小,因此,設(shè)置每層RBM迭代次數(shù)250次。
在步驟(4)中進(jìn)行全局微調(diào),將原始訓(xùn)練數(shù)據(jù)作為監(jiān)督數(shù)據(jù)對整個(gè)網(wǎng)絡(luò)進(jìn)行有監(jiān)督的學(xué)習(xí),采用BP算法對整個(gè)深度網(wǎng)絡(luò)進(jìn)行優(yōu)化,利用交叉熵[17]衡量輸出與輸入概率分布的逼近程度,公式為
(10)
式中 q,p分別為輸入和重構(gòu)樣本的概率分布。表明:交叉熵越小,越能夠完備地表征出樣本的特征,經(jīng)過大量實(shí)驗(yàn),設(shè)置微調(diào)次數(shù)150次。
圖3給出了輸入數(shù)據(jù)經(jīng)過DBN訓(xùn)練時(shí)各層特征提取曲線,圖中縱坐標(biāo)為重構(gòu)特征??芍?)傳感器故障的第3隱含層較傳感器正常的第3隱含層重構(gòu)特征粗糙,因?yàn)閭鞲衅髡G闆r下,各維數(shù)據(jù)之間滿足某種關(guān)系,特征更明顯,而傳感器故障時(shí),各維數(shù)據(jù)不滿足某類關(guān)系,顯得雜亂無章;2)隱含層深度越深,提取的特征越抽象。
圖3 DBN逐級特征提取曲線
由于DBN為基于概率的模型,因此,每次的識別效果可能會有差異。為了確保識別效果,本文計(jì)算結(jié)果由程序運(yùn)行50次求取平均值,為更直觀地了解分類準(zhǔn)確率,繪制標(biāo)簽圖4。
圖4 測試集的分類結(jié)果
為檢驗(yàn)故障檢測的效果,將DBN模型與目前主流的診斷方法SVM和BP神經(jīng)網(wǎng)絡(luò)的分類準(zhǔn)確率進(jìn)行對比。同時(shí)為了體現(xiàn)深度學(xué)習(xí)在自動提取特征方面的強(qiáng)大能力,將對比實(shí)驗(yàn)分為2組。1)不做任何人工手動的特征提取,直接使用原始數(shù)據(jù)進(jìn)行故障檢測;2)對原始數(shù)據(jù)進(jìn)行主元分析[18]、關(guān)聯(lián)分析[19]、人工窮舉提取主要特征,發(fā)現(xiàn)影響故障檢測的主要特征有參數(shù)N1,N2,d,φ,TEG,并使用智能算法進(jìn)行故障檢測。
由表2可以看出:1)無論是否為人工提取特征,基于DBN的故障檢測方法的分類準(zhǔn)確率均遠(yuǎn)高于其他2種智能故障檢測方法。2)基于DBN的故障檢測方法訓(xùn)練集與測試集的正確率相差不大,而其他2種方法存在明顯差距,說明基于DBN的故障檢測方法不會因?yàn)橛?xùn)練次數(shù)的增加陷入過擬合的情況。3)人工提取特征后,基于BP神經(jīng)網(wǎng)絡(luò)和SVM的故障檢測方法分類準(zhǔn)確率均有大幅上升,而基于DBN的方法分類準(zhǔn)確率有所下降,充分證明了DBN能夠從高維度、大規(guī)模的數(shù)據(jù)中自動提取特征,數(shù)據(jù)維數(shù)越高、規(guī)模越大,DBN能夠?qū)W習(xí)的特征就越豐富,越能夠完備地刻畫樣本。4)人工提取特征后DBN模型的準(zhǔn)確率有所下降,原因可能是提取特征后人為的剔除參數(shù)α1,α2,p,v,θ,h,F(xiàn)F,t8維數(shù)據(jù),減少了某些隱含特征的提取源,使得分類效果變差。
表2 6種故障檢測方法對比
注:RBF核為徑向基函數(shù);c為懲罰系數(shù);g為核參數(shù)。
利用基于DBN的分類模型與飛行參數(shù)記錄儀采集的大量數(shù)據(jù),建立了一種大數(shù)據(jù)-深度學(xué)習(xí)的航空發(fā)動機(jī)排傳感器故障檢測模型,利用發(fā)參采集的13維數(shù)據(jù)作為輸入,能夠自動從高維數(shù)據(jù)中進(jìn)行特征提取,無需人工干預(yù)。
實(shí)驗(yàn)證明:DBN提取的特征優(yōu)于人工提取的特征,且在深層網(wǎng)絡(luò)的學(xué)習(xí)中能充分挖掘數(shù)據(jù)信息而未出現(xiàn)過擬合現(xiàn)象,檢測效果準(zhǔn)確。由于使用該方法進(jìn)行傳感器故障檢測,不需要對傳感器建立精確的數(shù)學(xué)建模,在檢測過程中也不需要進(jìn)行繁瑣的人工特征提取,因此,算法具有優(yōu)秀的泛化效果,在大數(shù)據(jù)時(shí)代,可以推廣到其他復(fù)雜元器件的故障檢測中。但該模型也存在診斷時(shí)間較長的問題,未來將著重解決。
[1] 王修巖,李萃芳,高銘陽,等.基于SVM和SNN的航空發(fā)動機(jī)氣路故障診斷[J].航空動力學(xué)報(bào),2014,29(10):2493-2498.
[2] 李業(yè)波,李秋紅,黃向華,等.航空發(fā)動機(jī)傳感器故障與部件故障診斷技術(shù)[J].北京航空航天大學(xué)學(xué)報(bào),2013,39(9):1174-1180.
[3] 孫曉倩,艾延延,張 振.航空發(fā)動機(jī)傳感器故障診斷方法研究[J].沈陽航空工業(yè)學(xué)院學(xué)報(bào),2010,27(2):15-19.
[4] 余 凱,賈 磊,陳雨強(qiáng),等.深度學(xué)習(xí)的昨天、今天和明天[J].計(jì)算機(jī)研究與發(fā)展,2013,50(9):1799-1804.
[5] 孫毅剛,劉靜雅,趙 珍,等.基于極限學(xué)習(xí)機(jī)的航空發(fā)動機(jī)傳感器故障診斷[J].傳感器與微系統(tǒng),2014,33(8):23-26.
[6] 吳 同.基于深度學(xué)習(xí)的分類算法研究及應(yīng)用[D].長春:吉林大學(xué),2016:9-11.
[7] 趙光權(quán),葛強(qiáng)強(qiáng),彭喜元,等.基于DBN的故障特征提取及診斷方法研究[J].儀器儀表學(xué)報(bào),2016,37(9):1946-1953.
[8] Hinton G E,Salakhutdinov R.Reducing the dimensionality of data with neural network[J].Science,2006,313:504-507.
[9] Bengio Y.Learning deep architectures for AI[J].Foundations and Trends in Machine Learning,2009,2(1):1-127.
[10] Arel I,Rose D C,Karnowski T P.Deep machine learning:A new frontier in artificial intelligence research[J].IEEE Computational Intelligence Magazine,2010,5(4):13-18.
[11] Hinton G E.Training products of experts by minimizing contrastive divergence[J].Neural Computation,2002,14(8):1771-1880.
[12] Graves A,Mohamed A R,Hinton G E.Speech recognition with deep recurrent neural networks[C]∥IEEE International Con-ference on Acoustics,Speech and Signal Processing(ICASSP), Santa Clara:[s.n.],2013:6645-6649.
[13] 謝 川,倪世宏,張宗麟.一種缺失飛行參數(shù)預(yù)處理的新方法[J].計(jì)算機(jī)仿真,2005,22(4):27-31.
[14] 劉建偉,劉 媛,羅雄麟.玻爾茲曼機(jī)研究進(jìn)展[J].計(jì)算機(jī)研究與發(fā)展,2014,51(1):1-16.
[15] Hinton G,Osindero S,The Y.A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.
[16] Hinton G A.Practical guide to training restricted Boltzmann machines[R].Toronto:Machine Learning Group University of Toronto,2010:129-136.
[17] 黃海波,李人憲,楊 琪,等.基于DBNs的車輛懸架減振器異響鑒別方法[J].西南交通大學(xué)學(xué)報(bào),2015,50(5):776-782.
[18] 崔建國,吳 燦,董世良,等.基于主元分析法和模糊積分的航空發(fā)動機(jī)氣路狀態(tài)檢測[J].火力指揮與控制,2014,39(10):1808-1812.
[19] 芮少輝,張鳳鳴,徐顯亮.改進(jìn)關(guān)聯(lián)規(guī)則挖掘算法航空發(fā)動機(jī)故障檢測[J].火力指揮與控制,2011,36(9):1815-1818.
Fault diagnosis of aero-engine sensor based on deep learning*
LIU Yun-long, XIE Shou-sheng, ZHENG Xiao-fei, BIAN Tao
(College of Aeronautics and Astronautics Engineering,Air Force Engineering University,Xi’an 710038,China)
Aiming at the problems of traditional back propogation(BP)neural network and support vector machine(SVM)learning algorithm,such as over fitting, dimension disaster and difficulty of parameter selection,put forward an aircraft engine sensor fault detection method learning algorithm based on deep learning algorithm.Preprocess the multi dimensional data acquired by aero-engine parameter recorder;fault detection model based on the deep belief network(DBN)is set up;fault detection model is trained using proprocessed data, after DBN fault detection model characteristics learning layer by layer,sensor fault detection is realized.It is shown from the simulation results,in the absence of artificial feature extraction and feature extraction,accuracy based on DBN fault detection is higher than that of BP neural network and SVM model.
aero-engine sensor; fault detection; deep learning; deep belief network(DBN); flight parameter
10.13873/J.1000—9787(2017)09—0147—04
2017—01—02
國家自然科學(xué)基金資助項(xiàng)目(51476187,51506221)
TP 212
A
1000—9787(2017)09—0147—04
劉云龍(1992-),男,碩士研究生,主要研究方向?yàn)楹娇瞻l(fā)動機(jī)狀態(tài)監(jiān)控與故障診斷。