付 松,鐘詩(shī)勝,林 琳,張永健
(哈爾濱工業(yè)大學(xué) 機(jī)電工程學(xué)院,黑龍江 哈爾濱 150001)
作為一類(lèi)高價(jià)值復(fù)雜裝備,航空發(fā)動(dòng)機(jī)的運(yùn)行狀態(tài)與飛機(jī)飛行的安全性息息相關(guān)。更重要的是,由于長(zhǎng)期在高溫、高壓等惡劣環(huán)境下運(yùn)行,航空發(fā)動(dòng)機(jī)氣路部件極易發(fā)生各種故障[1]。因此,必須對(duì)航空發(fā)動(dòng)機(jī)進(jìn)行有效的故障診斷,以確保其安全可靠地運(yùn)行。作為航空發(fā)動(dòng)機(jī)健康管理的一項(xiàng)關(guān)鍵技術(shù),故障診斷利用監(jiān)控得到的發(fā)動(dòng)機(jī)氣路參數(shù)實(shí)現(xiàn)對(duì)航空發(fā)動(dòng)機(jī)的氣路故障進(jìn)行精確定位和診斷,不僅可以幫助工作人員及時(shí)快速地掌握發(fā)動(dòng)機(jī)的工作狀態(tài),還能為發(fā)動(dòng)機(jī)的維修時(shí)機(jī)預(yù)測(cè)、維修方案制定、維修成本預(yù)估提供有力的支持。
目前,航空發(fā)動(dòng)機(jī)氣路故障診斷方法大致可以分為基于模型的故障診斷方法和基于數(shù)據(jù)驅(qū)動(dòng)的故障診斷方法2類(lèi)[2]?;谀P偷墓收显\斷方法需要建立發(fā)動(dòng)機(jī)精確的物理數(shù)學(xué)模型來(lái)描述發(fā)動(dòng)機(jī)的工作特性,如基于非線性最小二乘的故障診斷方法、基于卡爾曼濾波的故障診斷方法等[3-4]。然而,由于對(duì)導(dǎo)致發(fā)動(dòng)機(jī)故障原因缺乏足夠的領(lǐng)域知識(shí),導(dǎo)致無(wú)法建立精確的物理數(shù)學(xué)模型,尤其是對(duì)航空發(fā)動(dòng)機(jī)這類(lèi)大型復(fù)雜設(shè)備而言,其先驗(yàn)知識(shí)更是十分匱乏,而且獲取十分困難,導(dǎo)致基于模型的故障診斷方法在實(shí)際過(guò)程中往往不可用。此外,航空發(fā)動(dòng)機(jī)在實(shí)際運(yùn)維過(guò)程中受到大量隨機(jī)因素的影響,導(dǎo)致花費(fèi)大量資源建立的模型難以滿足航空發(fā)動(dòng)機(jī)的實(shí)際運(yùn)維需求。
與基于模型的故障診斷方法相比,數(shù)據(jù)驅(qū)動(dòng)的故障診斷方法直接從常規(guī)收集的歷史運(yùn)維數(shù)據(jù)中導(dǎo)出故障診斷模型,而不依賴任何領(lǐng)域知識(shí),且計(jì)算過(guò)程簡(jiǎn)單,具有較強(qiáng)的泛化性[5-6]。同時(shí),數(shù)據(jù)驅(qū)動(dòng)故障診斷方法還可以實(shí)時(shí)更新,對(duì)機(jī)器的運(yùn)行工況有很好的適應(yīng)性。因此,基于數(shù)據(jù)驅(qū)動(dòng)的故障診斷方法在工業(yè)領(lǐng)域得到了廣泛應(yīng)用和推廣。近年來(lái),隨著深度學(xué)習(xí)的快速發(fā)展,深度學(xué)習(xí)能自動(dòng)地從高維、冗余的復(fù)雜數(shù)據(jù)中提取出具有代表性的深度特征,使其成為了最主流的基于數(shù)據(jù)驅(qū)動(dòng)的故障診斷方法之一。
基于深度學(xué)習(xí)的故障診斷方法主要利用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)輸入數(shù)據(jù)的深度特征,然后對(duì)這些學(xué)習(xí)得到的深度特征進(jìn)行分類(lèi)。基于深度學(xué)習(xí)的故障診斷方法能夠有效提高故障診斷精度,這歸功于深度神經(jīng)網(wǎng)絡(luò)從大量的帶標(biāo)簽的樣本中學(xué)習(xí)到豐富的特征表示的能力[7-10]。然而,航空發(fā)動(dòng)機(jī)屬于高可靠性的工業(yè)產(chǎn)品,其發(fā)生故障的頻率非常低,在實(shí)際飛行過(guò)程中故障案例較少。故障樣本的缺乏導(dǎo)致直接利用深度神經(jīng)網(wǎng)絡(luò)對(duì)發(fā)動(dòng)機(jī)進(jìn)行故障分類(lèi)不可行。
為了能夠在小樣本條件下,實(shí)現(xiàn)精確的航空發(fā)動(dòng)機(jī)氣路故障診斷,并獲得較好的泛化性,受深度學(xué)習(xí)啟發(fā),本文基于航空發(fā)動(dòng)機(jī)的真實(shí)運(yùn)維數(shù)據(jù),提出一種基于深度自動(dòng)編碼器(Deep Auto-Encoder,DAE)與支持向量機(jī)(Support Vector Machine,SVM)相結(jié)合的航空發(fā)動(dòng)機(jī)小樣本故障診斷方法。針對(duì)航空發(fā)動(dòng)機(jī)實(shí)際故障樣本少的問(wèn)題,通過(guò)DAE遷移學(xué)習(xí)建立發(fā)動(dòng)機(jī)狀態(tài)特征提取模型,而后利用建立的發(fā)動(dòng)機(jī)狀態(tài)模型提取故障數(shù)據(jù)樣本的特征,并利用SVM實(shí)現(xiàn)小樣本分類(lèi);此外,為了使DAE模型能夠提取出更優(yōu)的深度特征,本文提出一種基于單個(gè)AE特征提取能力優(yōu)化DAE隱藏層節(jié)點(diǎn)數(shù)的方法。
如圖1所示為本文提出的發(fā)動(dòng)機(jī)氣路故障診斷方法的原理圖,主要包括兩個(gè)過(guò)程:①利用基于DAE遷移學(xué)習(xí)建立發(fā)動(dòng)機(jī)狀態(tài)特征提取模型;②利用支持向量機(jī)對(duì)狀態(tài)特征進(jìn)行分類(lèi)。在獲得航空發(fā)動(dòng)機(jī)的正常樣本數(shù)據(jù)組和故障征候數(shù)據(jù)樣本組后,本文以足夠多的正常樣本對(duì)DAE模型進(jìn)行訓(xùn)練。待DAE模型訓(xùn)練完成,將其遷移到故障樣本的特征提取任務(wù)中并保持不變,建立民航發(fā)動(dòng)機(jī)狀態(tài)特征映射模型。當(dāng)提取當(dāng)次發(fā)動(dòng)機(jī)故障征候樣本的深度特征時(shí),將故障征候樣本組作為所建立的發(fā)動(dòng)機(jī)狀態(tài)特征模型的輸入,通過(guò)發(fā)動(dòng)機(jī)狀態(tài)特征提取模型得到的輸出即為故障征候樣本的深度特征。最后利用支持向量機(jī)對(duì)提取的特征進(jìn)行分類(lèi)。
DAE[11]是Hinton于2006年提出的一種深度無(wú)監(jiān)督學(xué)習(xí)算法,由淺層—自動(dòng)偏碼器(Auto-Encoder,AE)堆疊而成,如圖2所示。每個(gè)AE[12]均由一個(gè)編碼器和一個(gè)解碼器組成,其結(jié)構(gòu)如圖3所示。很多文獻(xiàn)對(duì)AE進(jìn)行了詳細(xì)的描述,AE的簡(jiǎn)要介紹如下:
(1)將輸入向量x∈Rn通過(guò)編碼器映射為隱藏表示h∈Rm,如式(1)所示:
h(x)=Sf(W·x+b)。
(1)
式中:W表示權(quán)重矩陣,b表示偏置向量,Sf表示非線性激活函數(shù)。
(2)將隱藏表示h∈Rm通過(guò)解碼器重構(gòu)原始輸入向量,如式(2)所示:
z=Sg(W′·h+b′)。
(2)
式中:W′是權(quán)重矩陣,b′表示偏置向量,Sg表示非線性激活函數(shù),z表示重構(gòu)的輸入數(shù)據(jù)。
(3)通過(guò)訓(xùn)練集D訓(xùn)練DAE以尋找最優(yōu)參數(shù)θ={W,b;W′,b′},使得重構(gòu)數(shù)據(jù)z和原始輸入數(shù)據(jù)x的誤差最小。
與AE相比,DAE具有更強(qiáng)的特征提取能力,能夠提取出輸入數(shù)據(jù)的深層特征。DAE訓(xùn)練方式為無(wú)監(jiān)督逐層訓(xùn)練,即首先訓(xùn)練第一個(gè)AE,然后將第一個(gè)AE的隱層作為下一個(gè)AE的輸入,訓(xùn)練第二個(gè)AE,依次直到所有AE訓(xùn)練完成。一旦DAE訓(xùn)練完成,最后一個(gè)AE隱藏層的輸出即為輸入數(shù)據(jù)的深度特征。
DAE能夠有效提取輸入樣本的深度特征的前提是每種類(lèi)別的訓(xùn)練樣本足夠多。然而,民航發(fā)動(dòng)機(jī)在實(shí)際運(yùn)行過(guò)程中故障樣本較少而正常樣本足夠多,是典型的類(lèi)不平衡。如果直接利用DAE進(jìn)行特征提取,就會(huì)受到類(lèi)不均衡的嚴(yán)重影響,導(dǎo)致無(wú)法有效提取故障樣本的特征。最好的解決方法是增加每個(gè)故障類(lèi)別的訓(xùn)練樣本數(shù),使網(wǎng)絡(luò)學(xué)習(xí)到更具有魯棒性和代表性的特征。顯然,這種方法對(duì)于民航發(fā)動(dòng)機(jī)真實(shí)運(yùn)維數(shù)據(jù)是不可行的。
除了增加發(fā)動(dòng)機(jī)故障樣本外,遷移學(xué)習(xí)也是一個(gè)可行的用于提升人工智能輔助診斷性能的途徑。遷移學(xué)習(xí)是一種解決問(wèn)題的思想。它不局限于特定的算法或者模型,其目的是將源域中學(xué)習(xí)到的知識(shí)或訓(xùn)練好的模型應(yīng)用到目標(biāo)域[13]。因此,本文利用遷移學(xué)習(xí)來(lái)解決民航發(fā)動(dòng)機(jī)故障診斷中面臨的故障樣本不足的問(wèn)題。
針對(duì)發(fā)動(dòng)機(jī)正常樣本足夠多而故障樣本較少的特點(diǎn),本文使用的遷移學(xué)習(xí)思想是直接將在源域(這里是大量正常樣本)中學(xué)習(xí)到的特征表示模型遷移到目標(biāo)域(這里是少量的故障樣本),如圖4所示。具體地,首先,僅使用大量發(fā)動(dòng)機(jī)正常樣本構(gòu)成的源域?qū)AE進(jìn)行訓(xùn)練;然后,將訓(xùn)練完成的DAE模型遷移到由多種類(lèi)型但每種類(lèi)型的樣本數(shù)較少的目標(biāo)域中,并進(jìn)行特征提取。最后,針對(duì)本文所關(guān)心的小樣本分類(lèi)問(wèn)題,選用支持向量機(jī)進(jìn)行分類(lèi)。與其他分類(lèi)器相比,SVM在小樣本的條件下有較好的分類(lèi)效果。
隱藏層和輸出層神經(jīng)元數(shù)是影響DAE特征學(xué)習(xí)能力的兩個(gè)重要因素。然而,如何設(shè)計(jì)合適的神經(jīng)元數(shù)使得DAE的特征學(xué)習(xí)性能達(dá)到最佳,一直是一個(gè)非常困難的問(wèn)題。在當(dāng)前的方法中基本上是通過(guò)大量的實(shí)驗(yàn)試探,根據(jù)實(shí)驗(yàn)結(jié)果來(lái)探尋最優(yōu)的神經(jīng)元數(shù)。為解決該問(wèn)題,本文提出一種基于單個(gè)AE特征提取能力確定DAE隱藏層最優(yōu)節(jié)點(diǎn)數(shù)的方法。由圖2可知,DAE的核心就是通過(guò)堆疊多個(gè)AE的方式來(lái)挖掘原始數(shù)據(jù)中的深度特征。因此,可以認(rèn)為在堆疊過(guò)程中每個(gè)AE特征提取能力越強(qiáng),則最終所構(gòu)建的DAE的特征提取能力就越強(qiáng)。本文將從單個(gè)AE的特征學(xué)習(xí)能力的角度來(lái)分析DAE的特征學(xué)習(xí)能力。
由圖3可以看出,AE通過(guò)編碼過(guò)程將輸入樣本信息壓縮在隱層中,通過(guò)解碼過(guò)程使隱藏層重構(gòu)輸入得到重構(gòu)數(shù)據(jù),而訓(xùn)練AE的目的是盡可能地使輸入數(shù)據(jù)與輸出數(shù)據(jù)相同。因此,AE特征學(xué)習(xí)能力主要取決于其能否有效地重構(gòu)輸入。重構(gòu)誤差越小,表明AE特征學(xué)習(xí)能力越強(qiáng)。為了合理地比較原始輸入數(shù)據(jù)與重構(gòu)數(shù)據(jù)之間的重構(gòu)誤差,本文將使用均方根誤差(RMSE)和失真度(DD)來(lái)衡量它們的差異,其定義分別如下:
(3)
RMSE越小,表示重構(gòu)數(shù)據(jù)與原始輸入數(shù)據(jù)之間的差異越小,從而AE的特征提取能力越強(qiáng)。
(2)失真度根據(jù)文獻(xiàn)[14]中的定義,本文采用相對(duì)均方差值定義失真度,具體如式(4)所示:
(4)
失真度S越小,表示重構(gòu)數(shù)據(jù)與原始數(shù)據(jù)之間的差異越小,AE的特征提取能力越強(qiáng)。
根據(jù)上述方法,可以很好地比較不同隱藏層節(jié)點(diǎn)數(shù)下AE特征提取能力的好壞。而后本文將選取單個(gè)AE特征提取能力最好的隱藏層節(jié)點(diǎn)數(shù)作為DAE模型的隱藏層節(jié)點(diǎn)數(shù)。對(duì)于DAE模型的輸出層節(jié)點(diǎn)數(shù),根據(jù)DAE模型原理可知,DAE是由多個(gè)AE堆疊而成,DAE的輸出層即為最后一個(gè)AE的隱藏層,可以利用同樣的方法進(jìn)行確定。綜上,可以建立具有最優(yōu)隱藏層和輸出層神經(jīng)元數(shù)的DAE模型。
原始設(shè)備制造商(Original Equipment Manufacturer, OEM)數(shù)據(jù)是OEM解算的一種偏差數(shù)據(jù),通常用來(lái)監(jiān)測(cè)航空發(fā)動(dòng)機(jī)的性能狀態(tài)。如圖5所示為OEM返回給航空公司的客戶通知報(bào)告(Customer Notification Report, CNR)??梢钥闯觯琌EM主要使用DEGT、DFF、DN2和EGTM四個(gè)氣路性能參數(shù)對(duì)氣路故障進(jìn)行指征[15]。通常,EGTM被用來(lái)預(yù)測(cè)發(fā)動(dòng)機(jī)的剩余壽命,而DEGT、DN2、DFF的變化趨勢(shì)用來(lái)監(jiān)控發(fā)動(dòng)機(jī)的狀態(tài)[16]。因此,本文也選取上述4個(gè)參數(shù)作為氣路故障指征參數(shù),以某CFM56-7B系列的航空發(fā)動(dòng)機(jī)隊(duì)為樣本機(jī)隊(duì),并以其OEM數(shù)據(jù)為基礎(chǔ),建立民航發(fā)動(dòng)機(jī)氣路故障診斷模型。
由于民航發(fā)動(dòng)機(jī)工作環(huán)境復(fù)雜,導(dǎo)致測(cè)量并經(jīng)過(guò)計(jì)算的性能參數(shù)存在大量隨機(jī)噪聲,這些噪聲會(huì)對(duì)故障診斷造成一定影響。另一方面,民航發(fā)動(dòng)機(jī)是典型的復(fù)雜機(jī)械設(shè)備,由多個(gè)單元體組成。由于單元體的制造誤差、裝配誤差以及運(yùn)行工況不同,導(dǎo)致每個(gè)發(fā)動(dòng)機(jī)個(gè)體之間存在著較大的差異[17]。如圖6所示為CFM56-7B系列的3臺(tái)新發(fā)投入使用時(shí)最早100個(gè)循環(huán)中DEGT氣路參數(shù)變化圖,從圖中可以看出,即使是型號(hào)相同、狀態(tài)相似的發(fā)動(dòng)機(jī),其DEGT值的變化都有較大差異。因此,運(yùn)用OEM數(shù)據(jù)建立發(fā)動(dòng)機(jī)氣路故障診斷模型時(shí),必須消除噪聲,弱化因個(gè)體差異對(duì)故障診斷造成的影響。
結(jié)合CNR對(duì)樣本機(jī)隊(duì)的實(shí)際運(yùn)維數(shù)據(jù)進(jìn)行分析,可以發(fā)現(xiàn)民航發(fā)動(dòng)機(jī)在發(fā)生氣路故障前的一段時(shí)間內(nèi)其氣路性能參數(shù)會(huì)出現(xiàn)明顯的變化趨勢(shì)。圖7所示為某發(fā)動(dòng)機(jī)被OEM廠家確診為排氣溫度指示故障后,其氣路性能參數(shù)DEGT在故障點(diǎn)前的300個(gè)連續(xù)飛行循環(huán)的數(shù)值變化趨勢(shì),其中T2為故障時(shí)刻,T1為報(bào)警時(shí)刻。通過(guò)對(duì)圖中的變化趨勢(shì)進(jìn)行直線擬合,可以發(fā)現(xiàn)DEGT在T1時(shí)刻到T2時(shí)刻之間的變化趨勢(shì)發(fā)生了明顯的突變現(xiàn)象。通過(guò)對(duì)不同的氣路性能參數(shù)進(jìn)行類(lèi)似的分析,當(dāng)發(fā)動(dòng)機(jī)出現(xiàn)不同氣路故障類(lèi)型時(shí),其對(duì)應(yīng)的氣路性能參數(shù)會(huì)呈現(xiàn)明顯的變化趨勢(shì)。因此,本文將氣路性能參數(shù)的這種變化趨勢(shì)作為民航發(fā)動(dòng)機(jī)的氣路故障指征。具體氣路故障征候數(shù)據(jù)的預(yù)處理過(guò)程如下:
假設(shè)民航發(fā)動(dòng)機(jī)氣路監(jiān)控參數(shù)X={x1,x2,x3,…,xn},xi表示具體的監(jiān)控性能參數(shù),故障征候樣本具體構(gòu)造過(guò)程如下:
步驟1首先獲取故障確認(rèn)點(diǎn)前性能參數(shù)xi的m個(gè)連續(xù)飛行循環(huán)數(shù)據(jù),如式(5)所示:
(5)
步驟2按照時(shí)間順序,將每個(gè)性能參數(shù)m個(gè)采樣數(shù)據(jù)進(jìn)行分組,將離故障確認(rèn)點(diǎn)最近的一組選為故障征候組,其余各組為正常組。
設(shè)Yi={ym,ym-1,…,y1}表示監(jiān)控參數(shù)xi的m個(gè)連續(xù)飛行循環(huán)數(shù)據(jù),如果每組r個(gè)飛行循環(huán),則每個(gè)性能參數(shù)小偏差序列將會(huì)被分成k個(gè)子序列,
(6)
(7)
式中:Yi,2,…,Yi,k表示氣路性能參數(shù)xn的正常數(shù)據(jù)組,Yi,1表示氣路性能參數(shù)xi的故障征候數(shù)據(jù)組。
步驟3令Fj={Y1j,Y2j,…,Ynj},j=1,2,3,…,k,Yij表示性能參數(shù)xi分組后的第j組飛行數(shù)據(jù)。當(dāng)且僅當(dāng)j=1時(shí),F(xiàn)1={Y11,Y21,…,Yn1}表示故障樣本。
步驟4對(duì)不同的故障模式進(jìn)行標(biāo)記,假設(shè)有a1,a2,a3,…,an等n種故障模式,將所有正常樣本標(biāo)記為“0”,故障模式a1標(biāo)記為“1”,故障模式a2標(biāo)記為“2”……。
分析OEM廠家的故障預(yù)報(bào)數(shù)據(jù),其選取的故障征候循環(huán)數(shù)(圖7中T1和T2時(shí)刻之間的飛行循環(huán)數(shù))從5到130不等,且只有少數(shù)故障征候循環(huán)數(shù)超過(guò)10,因此,選取10個(gè)循環(huán)作為故障指征數(shù)據(jù)的區(qū)間段能夠滿足大部分的故障診斷需求。通過(guò)對(duì)樣本機(jī)隊(duì)的發(fā)動(dòng)機(jī)維修報(bào)告和CNR分析整理,按照本文故障指征預(yù)處理方法,本文共獲取了30組排氣溫度指示(EGT Indication)故障案例樣本,22組進(jìn)口總溫指示(TAT Indication)故障案例樣本、20組HPT葉片燒蝕(HPT_Blade)故障和3 268組正常樣本,如表1所示。
表1 故障類(lèi)別分布
本章將利用收集的實(shí)際發(fā)動(dòng)機(jī)運(yùn)維數(shù)據(jù)對(duì)本文提出的故障診斷方法進(jìn)行驗(yàn)證,鑒于本文所收集的數(shù)據(jù)量,選擇兩個(gè)AE堆疊形成DAE模型。首先,通過(guò)1.2節(jié)所提出的方法對(duì)DAE模型的隱藏層神經(jīng)元數(shù)和輸出層神經(jīng)元數(shù)進(jìn)行優(yōu)化。然后基于優(yōu)化后的DAE模型和SVM進(jìn)行故障診斷,并以分類(lèi)正確率(Accuracy)和召回率(Recall)對(duì)故障診斷結(jié)果進(jìn)行評(píng)價(jià),計(jì)算公式如式(8)和式(9)所示:
(8)
(9)
式中:TP表示分類(lèi)器將正常樣本分類(lèi)正確的數(shù)量,TN表示分類(lèi)器將故障樣本分類(lèi)正確的數(shù)量,F(xiàn)N表示分類(lèi)器將正常樣本分類(lèi)為故障樣本的數(shù)量,F(xiàn)P表示分類(lèi)器將故障樣本分類(lèi)為正常樣本的數(shù)量。
本章所有實(shí)驗(yàn)中的相關(guān)算法均采用Python語(yǔ)言(3.6版本)以及谷歌開(kāi)源的Tensor Flow(1.13.1版本)工具箱[*]進(jìn)行編程實(shí)現(xiàn),所采用的計(jì)算機(jī)平臺(tái)配置為英特爾i5-6300型處理器。其中,Tensor Flow 是由美國(guó)谷歌公司所開(kāi)發(fā)的基于張量流圖的開(kāi)源機(jī)器學(xué)習(xí)庫(kù),具有自動(dòng)求解反向梯度以進(jìn)行模型參數(shù)(權(quán)值和偏置)優(yōu)化的功能,適用于深度學(xué)習(xí)算法的快速研發(fā)。同時(shí),Tensor Flow 工具箱能夠支持基于圖像處理單元的大規(guī)??焖倬仃囘\(yùn)算,極大地縮短了AE和DAE算法所需要的訓(xùn)練時(shí)間。
AE的輸入層節(jié)點(diǎn)數(shù)由輸入數(shù)據(jù)的維數(shù)決定,本實(shí)驗(yàn)中輸入數(shù)據(jù)的維數(shù)為40,因此將AE的輸入層節(jié)點(diǎn)數(shù)設(shè)為40。為了充分分析不同隱藏層神經(jīng)元數(shù)下AE的特征學(xué)習(xí)能力,依次將隱層節(jié)點(diǎn)數(shù)設(shè)為10~200(以10為間隔)進(jìn)行實(shí)驗(yàn)。然后,利用提出的兩個(gè)評(píng)價(jià)指標(biāo)DD和RMSE對(duì)AE的特征學(xué)習(xí)能力進(jìn)行評(píng)估。為了在同一標(biāo)準(zhǔn)下進(jìn)行比較,當(dāng)研究隱藏層節(jié)點(diǎn)數(shù)對(duì)AE特征提取能力的影響時(shí),保證其他參數(shù)不變。關(guān)于AE的相關(guān)參數(shù)設(shè)置:學(xué)習(xí)率設(shè)為0.001,迭代次數(shù)設(shè)為300,節(jié)點(diǎn)激活函數(shù)使用softplus函數(shù)。算法1描述了獲取不同隱藏層節(jié)點(diǎn)數(shù)下AE的DD和RMSE具體過(guò)程。
算法1獲取不同隱藏層節(jié)點(diǎn)下AE的DD和RMSE。
2: 輸出:重構(gòu)誤差集R和失真度集D
3: 輸入層inputLayer←(輸入層神經(jīng)元節(jié)點(diǎn)數(shù)n_nodes=n)
4: 隱藏層(編碼)encoderLayer←Dense(神經(jīng)元節(jié)點(diǎn)數(shù)n_nodes=t,激活函數(shù)=softplus)(inputLayer)
5: 輸出層(解碼)decoderLayer←Dense(神經(jīng)元節(jié)點(diǎn)數(shù)n_nodes=n,激活函數(shù)=softplus)( encoderLayer)
6: AE模型←Model(inputLayer,decoderLayer)
7: encoder模型←Model(inputLayer,encoderLayer)
8: R←[]
9: D←[]
10: for t = n1:n2: n3do
11:AE.compile(optimizer='adam', loss='mean_squared_error')
12: AE.optimizer.lr.assign(0.001)
13: AE.fit(X)
15:Xf←encoder. predict(X)
15: reconstructError←[]
18: end for
21:end for
22: Return R, D
根據(jù)算法1得到的實(shí)驗(yàn)結(jié)果如表2所示,表中給出了由實(shí)驗(yàn)得到的不同隱層節(jié)點(diǎn)數(shù)下AE重構(gòu)原始輸入數(shù)據(jù)的DD(DD過(guò)小,將其乘以放大倍數(shù)104)和RMSE,圖8是將表2中的數(shù)據(jù)用折線圖表示。從圖8中可以看出,當(dāng)隱藏層節(jié)點(diǎn)數(shù)從10變化到30時(shí),隨著隱層節(jié)點(diǎn)數(shù)增加,DD和RMSE快速減小;當(dāng)隱層節(jié)點(diǎn)數(shù)由30增加到120時(shí),隨著隱層節(jié)點(diǎn)數(shù)的增加,DD和RMSE緩慢減??;當(dāng)隱藏層節(jié)點(diǎn)數(shù)大于120時(shí),隨著隱層節(jié)點(diǎn)數(shù)的增加,DD和RMSE在某個(gè)范圍內(nèi)呈震蕩變化。由于本文采用的是真實(shí)的燃?xì)廨啓C(jī)運(yùn)行數(shù)據(jù),實(shí)驗(yàn)結(jié)果存在一定的誤差。當(dāng)隱藏節(jié)點(diǎn)數(shù)為120,在誤差允許的范圍內(nèi),可以認(rèn)為DD和RMSE均已不再變化。因此,本文將選取120作為DAE模型隱藏層的節(jié)點(diǎn)數(shù)。
表2 不同隱藏層節(jié)點(diǎn)AE的RMSE和DD對(duì)比(輸入層節(jié)點(diǎn)數(shù)為40)
由圖2可知,DAE的輸出層就是最后一個(gè)AE的隱藏層。首先利用3.1節(jié)所確定的第一個(gè)AE模型(輸入層節(jié)點(diǎn)數(shù)設(shè)為40,隱藏層節(jié)點(diǎn)數(shù)設(shè)為120)對(duì)原始數(shù)據(jù)集進(jìn)行轉(zhuǎn)化,轉(zhuǎn)化后的數(shù)據(jù)集中每個(gè)樣本的維數(shù)變?yōu)?20,具體轉(zhuǎn)化過(guò)程如算法1中的Xf所示。然后將另一個(gè)AE輸入層設(shè)為120,選取該AE模型最優(yōu)的隱藏層節(jié)點(diǎn)數(shù),即為DAE模型的輸出層節(jié)點(diǎn)數(shù),訓(xùn)練該AE模型所使用的訓(xùn)練集為轉(zhuǎn)化后的數(shù)據(jù)集。本實(shí)驗(yàn)將AE隱藏層節(jié)點(diǎn)數(shù)分別設(shè)為5、10、15、20、25、30、35、40、50、55、60、65、70、75、80、85、90、95和100,依次進(jìn)行實(shí)驗(yàn),其余相關(guān)參數(shù)設(shè)置與前文保持一致,算法流程如算法1所示。實(shí)驗(yàn)結(jié)果如表3和圖9所示。
如圖9所示,在初始階段,DD和RMSE隨著隱層節(jié)點(diǎn)數(shù)的增加而快速減??;而當(dāng)隱藏層節(jié)點(diǎn)數(shù)增加到35后,DD和RMSE不再隨著隱層節(jié)點(diǎn)數(shù)的增加而減小,而是在很小的范圍內(nèi)呈震蕩變化。在誤差允許的范圍內(nèi),可以認(rèn)為當(dāng)隱藏層節(jié)點(diǎn)數(shù)到35以后,DD和RMSE不再發(fā)生變化。因此,當(dāng)AE輸入層節(jié)點(diǎn)數(shù)為120,隱藏層節(jié)點(diǎn)數(shù)設(shè)為35,AE的特征提取能力最好。因此,本文將DAE模型的輸出層節(jié)點(diǎn)數(shù)設(shè)為35。
表3 不同輸出節(jié)點(diǎn)數(shù)下AE的失真度和RSME(輸入層節(jié)點(diǎn)數(shù)為120)
本文基于DAE遷移學(xué)習(xí)建立發(fā)動(dòng)機(jī)狀態(tài)特征提取模型的目的是將發(fā)動(dòng)機(jī)原始的狀態(tài)特征映射到新的特征空間,以提高發(fā)動(dòng)機(jī)狀態(tài)數(shù)據(jù)的辨識(shí)度。由于發(fā)動(dòng)機(jī)故障樣本的缺乏,本文首先在源域中對(duì)DAE進(jìn)行預(yù)訓(xùn)練,而后將預(yù)訓(xùn)練后的DAE模型遷移到故障識(shí)別任務(wù)中并保持不變,建立發(fā)動(dòng)機(jī)狀態(tài)特征提取模型。正常樣本和故障樣本都來(lái)自發(fā)動(dòng)機(jī)的氣路監(jiān)測(cè),它們之間具有一定的聯(lián)系且具有一定相似性,因此,它們具有可遷移性。利用遷移學(xué)習(xí)建立的發(fā)動(dòng)機(jī)狀態(tài)特征提取模型的合理性,將通過(guò)以下實(shí)驗(yàn)進(jìn)行驗(yàn)證。
(1) 同種故障類(lèi)型樣本間差異性減小驗(yàn)證
圖10a和圖10c描述了歸一化后的正常樣本和TAT指示故障樣本(每類(lèi)隨機(jī)選取5個(gè)樣本)。通過(guò)觀察樣本,可以發(fā)現(xiàn)原始樣本存在大量的數(shù)據(jù)噪聲,并且即使同型號(hào)發(fā)動(dòng)機(jī)在發(fā)生同一類(lèi)故障時(shí),也存在較大的個(gè)體差異。將這些樣本通過(guò)本文建立的狀態(tài)特征提取模型映射到新的特征空間中,如圖10b和圖10d所示。通過(guò)對(duì)比,在特征空間中,同類(lèi)樣本基本都聚合在一起,樣本的個(gè)體差異性和數(shù)據(jù)噪聲得到了很好的消除。實(shí)驗(yàn)結(jié)果證明了將原始狀態(tài)數(shù)據(jù)通過(guò)所建立的發(fā)動(dòng)機(jī)狀態(tài)特征提取模型映射到新的特征空間中,可以很好地消除發(fā)動(dòng)機(jī)原始數(shù)據(jù)中存在的數(shù)據(jù)噪聲和個(gè)體差異性。此外,本文所提出的狀態(tài)特征提取模型還對(duì)原始樣本進(jìn)行了降維處理,有效降低了樣本的復(fù)雜性。
(2) 不同故障類(lèi)型樣本間的差異性增大
盡管圖10較好地描述了同種故障類(lèi)型樣本間的差異性,以及原始樣本中存在的數(shù)據(jù)噪聲在新的特征空間中得到了很好的消除,卻沒(méi)有明確地反映在新的特征空間中不同故障類(lèi)型樣本間的差異性是否得到增強(qiáng)。因此,本文隨機(jī)選取了68組正常樣本、30組EGT指示故障樣本、22組TAT指示故障樣本以及20組HTP葉片燒蝕故障樣本,并利用本文所建立的發(fā)動(dòng)機(jī)狀態(tài)特征提取模型對(duì)其進(jìn)行特征提取,然后對(duì)所得到的深度特征進(jìn)行了分析,部分分析結(jié)果如圖11所示。為了更好地可視化不同故障類(lèi)型在新特征空間中的可分性,本文將不同維度上的特征進(jìn)行組合,并通過(guò)三維視圖進(jìn)行展示。直觀分析圖11不難發(fā)現(xiàn),結(jié)合第11維、26維和29維特征可以較好地分離出正常樣本,而結(jié)合第22維、26維和29維特征可以很好地分離出TAT指示故障樣本。實(shí)驗(yàn)結(jié)果證明,原始數(shù)據(jù)通過(guò)本文建立的發(fā)動(dòng)機(jī)狀態(tài)特征模型映射到新的特征空間中后,具有較高的辨識(shí)度。
綜合上述實(shí)驗(yàn)結(jié)果表明,本文采用DAE遷移學(xué)習(xí)建立的發(fā)動(dòng)機(jī)狀態(tài)特征提取模型,將發(fā)動(dòng)機(jī)原始狀態(tài)數(shù)據(jù)映射到低維特征空間中,可以在消除數(shù)據(jù)噪聲和個(gè)體差異性的同時(shí),還具有較高的辨識(shí)度。因此,本文建立的發(fā)動(dòng)機(jī)狀態(tài)提取模型的合理性得以證明,同時(shí)上述實(shí)驗(yàn)結(jié)果也證明了本文所提出方法的可行性。
通過(guò)上述實(shí)驗(yàn)可以確定DAE模型的隱藏層和輸出層節(jié)點(diǎn)個(gè)數(shù),而輸入層節(jié)點(diǎn)個(gè)數(shù)由原始樣本數(shù)據(jù)的維數(shù)確定。因此,本文DAE模型輸入層節(jié)點(diǎn)個(gè)數(shù)為40,隱藏層節(jié)點(diǎn)個(gè)數(shù)為120,輸出層節(jié)點(diǎn)個(gè)數(shù)為35,其他相關(guān)參數(shù)設(shè)置如下:學(xué)習(xí)率設(shè)為0.001,迭代次數(shù)設(shè)為200,節(jié)點(diǎn)激活函數(shù)使用softplus函數(shù)。待DAE所有參數(shù)設(shè)置完成后,首先利用隨機(jī)選取的3 000組正常樣本構(gòu)成訓(xùn)練集對(duì)DAE模型進(jìn)行訓(xùn)練,而后利用訓(xùn)練好的DAE模型對(duì)有所有故障樣本組成的標(biāo)記集進(jìn)行特征提取,最后利用SVM對(duì)得到的特征進(jìn)行分類(lèi)測(cè)試,具體過(guò)程如算法2所示。此外,訓(xùn)練和測(cè)試SVM的樣本分布如表4所示,支持向量機(jī)核函數(shù)選用多項(xiàng)式核。
算法2基于DAE遷移學(xué)習(xí)與SVM相結(jié)合的故障診斷。
2:輸出:故障分類(lèi)結(jié)果Acc和 Recall
3: 輸入層inputLayer←(輸入層神經(jīng)元節(jié)點(diǎn)數(shù)n_nodes=40)
4: 隱藏層1(編碼)encoderLayer1←Dense(神經(jīng)元節(jié)點(diǎn)數(shù)n_nodes=120,激活函數(shù)=softplus)(inputLayer)
5: 隱藏層2(編碼)encoderLayer2←Dense(神經(jīng)元節(jié)點(diǎn)數(shù)n_nodes=35,激活函數(shù)=softplus)(encoderLayer1)
6: 重構(gòu)層1(解碼)decoderLayer1←Dense(神經(jīng)元節(jié)點(diǎn)數(shù)n_nodes=120,激活函數(shù)=softplus)(encoderLayer2)
7: 重構(gòu)層2(解碼)decoderLayer2←Dense(神經(jīng)元節(jié)點(diǎn)數(shù)n_nodes=40,激活函數(shù)=softplus)(decoderLayer1)
8:DAE模型←Model(inputLayer,decoderLayer2)
9: encoder模型←Model(inputLayer, encoderLayer2)
10: DAE.fit(Xtrain)
11:Xf←encoder. predict(Xtag)
12: XtrainSVM, XtestSVM←Xf
13: Ytrain_label←[zeros(200, 1), ones(20, 1), ones(10, 1)*2, ones(10, 1)*3]
14: Ytest_label←[zeros(68, 1), ones(10, 1), ones(10, 1)*2, ones(10, 1)*3]
15: SVM.fit(XtrainSVM, Ytrain_label)
16: Ypredict_label←SVM.predict(XtestSVM)
17: Acc←accuracy_score(Ytest_label,Ypredict_label)
18: Recall←recall_score(Ytest_label,Ypredict_label)
19: Return Acc, Recall
為了證明所提故障診斷方法的優(yōu)越性,本文進(jìn)行了7組對(duì)比實(shí)驗(yàn)。第1組對(duì)比實(shí)驗(yàn)使用SVM直接對(duì)原始標(biāo)記集數(shù)據(jù)進(jìn)行分類(lèi);第2組對(duì)比實(shí)驗(yàn)使用DAE和Softmax分類(lèi)器組成的監(jiān)督型深度神經(jīng)網(wǎng)絡(luò)(在DAE的輸出層直接連接一個(gè)Softmax分類(lèi)器)直接對(duì)原始數(shù)據(jù)進(jìn)行分類(lèi);第3組到~6組對(duì)比實(shí)驗(yàn)中使用的方法與實(shí)驗(yàn)組相同,但隨機(jī)組合了DAE的隱藏層和輸出層神經(jīng)元節(jié)點(diǎn)數(shù);第7組實(shí)驗(yàn)是實(shí)驗(yàn)組,即:用本文提出的方法進(jìn)行故障診斷。為了消除算法的隨機(jī)性,每組實(shí)驗(yàn)重復(fù)10次,取10次實(shí)驗(yàn)的平均值作為最終的診斷結(jié)果,如表5所示。
由表5可以看出,上述7組實(shí)驗(yàn)在訓(xùn)練集上的訓(xùn)練精度都能達(dá)到100%,但是在測(cè)試集上的測(cè)試精度存在著明顯的差異。第5組、第7組實(shí)驗(yàn)結(jié)果的測(cè)試精度最好,而第2組實(shí)驗(yàn)結(jié)果的測(cè)試精度最差。第2組實(shí)驗(yàn)完全不能檢測(cè)出3種故障類(lèi)型,這是因?yàn)楣收蠘颖緮?shù)量太少,導(dǎo)致網(wǎng)絡(luò)訓(xùn)練時(shí)出現(xiàn)了過(guò)擬合問(wèn)題,再次證明了樣本數(shù)量對(duì)監(jiān)督型深度神經(jīng)網(wǎng)絡(luò)的重要性。其次,SVM方法的測(cè)試精度也較差,尤其是對(duì)HPT故障不能識(shí)別,這是因?yàn)樵夹蛄袠颖局袇?shù)屬性之間存在冗余以及存在大量的噪聲,導(dǎo)致SVM分類(lèi)效果較差。
表4 訓(xùn)練和測(cè)試SVM的特征集分布
對(duì)比表5中后5組實(shí)驗(yàn)的故障識(shí)別率,第5組、第7組實(shí)驗(yàn)對(duì)故障的識(shí)別能力明顯優(yōu)于第3、4、6組實(shí)驗(yàn)。后5組實(shí)驗(yàn)唯一的區(qū)別在于DAE的隱藏層和輸出層節(jié)點(diǎn)數(shù)不同,在第3、4、5、6組實(shí)驗(yàn)中DAE的隱藏層和輸出層節(jié)點(diǎn)數(shù)是隨機(jī)組合,而在第7組實(shí)驗(yàn)中DAE模型的隱藏層和輸出層節(jié)點(diǎn)數(shù)則是通過(guò)所提出的基于單個(gè)DAE特征提取能力進(jìn)行確定的。雖然第5組和第7組實(shí)驗(yàn)結(jié)果均具有非常高的故障識(shí)別率,并且兩組實(shí)驗(yàn)的測(cè)試結(jié)果非常接近,但是第5組中實(shí)驗(yàn)中DAE模型的輸出層節(jié)點(diǎn)數(shù)是第7組實(shí)驗(yàn)中DAE模型的輸出層節(jié)點(diǎn)數(shù)的兩倍。顯然,第5組實(shí)驗(yàn)中的DAE模型要比第7組實(shí)驗(yàn)中的DAE模型更加復(fù)雜。因此,綜合比較而言,第7組實(shí)驗(yàn)中的DAE模型具有更優(yōu)的性能。上述實(shí)驗(yàn)結(jié)果可以證明DAE的隱藏層和輸出層節(jié)點(diǎn)數(shù)對(duì)最終所提取的特征有較大的影響,并且本文所提出的基于單個(gè)AE特征提取能力優(yōu)化DAE隱藏層和輸出層節(jié)點(diǎn)數(shù)的方法是有效的。
表5 不同模型的故障診斷結(jié)果比較
針對(duì)民航發(fā)動(dòng)機(jī)氣路故障診斷過(guò)程中的OEM數(shù)據(jù)噪聲明顯、故障樣本不足的問(wèn)題,本文提出一種基于DAE與SVM相結(jié)合的民航發(fā)動(dòng)機(jī)小樣本故障診斷方法,并通過(guò)某航空公司CFM56-7B系列機(jī)隊(duì)的實(shí)際飛行數(shù)據(jù)對(duì)該方法進(jìn)行了驗(yàn)證。實(shí)驗(yàn)證明,所提方法具有可靠的實(shí)用性,能對(duì)民航發(fā)動(dòng)機(jī)氣路故障進(jìn)行較好的診斷。通過(guò)研究,還得出如下結(jié)論:
(1)盡管兩個(gè)數(shù)據(jù)集存在一定的差異,本文基于DAE遷移學(xué)習(xí)方法建立的發(fā)動(dòng)機(jī)狀態(tài)特征提取模型,可以有效地提取故障樣本的深度特征。
(2)提出的基于單個(gè)AE特征學(xué)習(xí)能力確定DAE隱藏層和輸出層神經(jīng)元個(gè)數(shù)的方法可以有效地對(duì)DAE隱藏層和輸出層神經(jīng)元個(gè)數(shù)進(jìn)行優(yōu)化,為優(yōu)化DAE隱藏層和輸出層神經(jīng)元個(gè)數(shù)提供了新思路。
(3)對(duì)于本文提出的3種故障模式,當(dāng)DAE模型的結(jié)構(gòu)為40-120-35時(shí),故障診斷的診斷效果最好。
未來(lái)計(jì)劃收集更多故障類(lèi)型,來(lái)更加全面地驗(yàn)證本文方法。除此以外,對(duì)本文方法進(jìn)行改進(jìn),使其能應(yīng)用在飛機(jī)通信尋址與報(bào)告系統(tǒng)(Aircraft Communications Addressing and Reporting System,ACARS)數(shù)據(jù)上也是本文未來(lái)的研究方向。與OEM數(shù)據(jù)相比,ACARS數(shù)據(jù)參數(shù)關(guān)系更加復(fù)雜,并且參數(shù)種類(lèi)更多,這兩個(gè)特點(diǎn)使其更適合于作為發(fā)動(dòng)機(jī)故障診斷的數(shù)據(jù)源。基于ACARS數(shù)據(jù)對(duì)航空發(fā)動(dòng)機(jī)進(jìn)行故障診斷是一個(gè)具有挑戰(zhàn)性的研究領(lǐng)域。
計(jì)算機(jī)集成制造系統(tǒng)2021年12期