房紅征
(1.青海民族大學(xué) 計(jì)算機(jī)學(xué)院,西寧 810007; 2.北京航天測(cè)控技術(shù)有限公司,北京 100041;3.北京市高速交通工具智能診斷與健康管理重點(diǎn)實(shí)驗(yàn)室,北京 100041;4.裝備全壽命周期狀態(tài)監(jiān)測(cè)與健康管理技術(shù)與應(yīng)用國家地方聯(lián)合工程研究中心,北京 100041)
在發(fā)動(dòng)機(jī)等典型設(shè)備的故障診斷中,具有較好的非線性問題處理能力的神經(jīng)網(wǎng)絡(luò)等方法得到了很多成功的應(yīng)用。隨著人工智能科學(xué)的發(fā)展,機(jī)器學(xué)習(xí)算法不斷豐富,學(xué)習(xí)深度不斷加深,性能不斷提高,基于深度學(xué)習(xí)方法得到廣泛應(yīng)用,在圖像、視覺和智能對(duì)弈等領(lǐng)域取得了空前的成功[1-2]。深度學(xué)習(xí)方法是多層表示的表示學(xué)習(xí)方法,多層表示由一個(gè)從低到高的非線性簡單模塊網(wǎng)絡(luò)獲得,每個(gè)模塊將表示從一個(gè)層次(起始于原始輸入)轉(zhuǎn)化至另一個(gè)更高的更抽象的層次。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,基于一個(gè)嘗試使用多復(fù)雜結(jié)構(gòu)處理層或多非線性變化來模型化高層次抽象的算法集。
常見的深度學(xué)習(xí)方法包括深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)[3-4]、深度置信網(wǎng)絡(luò)(Deep Belief Network,DBN)[5-6]、遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)[7]、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)等[8-9]。其中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為一種重要的深度神經(jīng)網(wǎng)絡(luò)方法,可以為識(shí)別二維形狀提供多層感知器,對(duì)于平移、縮放、傾斜或其他形式的變形具有高度不變的特點(diǎn),因此更適合于用于時(shí)間序列和語音信號(hào)的處理,在模式識(shí)別各個(gè)領(lǐng)域都取得了很好的成果[10]。此外在工業(yè)生產(chǎn)流水線上對(duì)磁片的缺陷檢測(cè)、潛射武器健康狀態(tài)評(píng)估也有了初步應(yīng)用[11-12]。
基于卷積神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)方法已經(jīng)有了一些研究。文獻(xiàn)[13]利用CNN方法權(quán)值共享的特性帶來的減少網(wǎng)絡(luò)參數(shù)數(shù)量、降低訓(xùn)練難度、便于網(wǎng)絡(luò)優(yōu)化的優(yōu)勢(shì),對(duì)飛行器的航跡進(jìn)行了預(yù)測(cè)。文獻(xiàn)[14]利用改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)DropSample訓(xùn)練方法構(gòu)建短時(shí)交通流量預(yù)測(cè)模型,并利用Adam算法的優(yōu)化器對(duì)預(yù)測(cè)模型進(jìn)行優(yōu)化,與傳統(tǒng)的CNN、卡爾曼濾波、BP神經(jīng)網(wǎng)絡(luò)等方法相比取得了更高的預(yù)測(cè)精度。文獻(xiàn)[15]建立了一種用于太陽能輻照度預(yù)測(cè)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),針對(duì)CNN預(yù)測(cè)模型因?yàn)槌瑓?shù)選取不當(dāng)而導(dǎo)致預(yù)測(cè)性能差的問題,利用融合算法對(duì)CNN網(wǎng)絡(luò)的超參數(shù)進(jìn)行優(yōu)化,有效地提高了CNN的預(yù)測(cè)性能。但是目前在發(fā)動(dòng)機(jī)故障預(yù)測(cè)領(lǐng)域的應(yīng)用較少。本文針對(duì)卷積神經(jīng)網(wǎng)絡(luò)故障預(yù)測(cè)方法進(jìn)行了研究,基于發(fā)動(dòng)機(jī)試驗(yàn)仿真數(shù)據(jù)對(duì)提出的方法進(jìn)行了驗(yàn)證,并與其它一些傳統(tǒng)的方法進(jìn)行了比較,驗(yàn)證結(jié)果表明,提出的基于卷積神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)方法具有較好的可行性和效果,可作為開展發(fā)動(dòng)機(jī)PHM技術(shù)研究的參考。
卷積神經(jīng)網(wǎng)絡(luò)的模型構(gòu)建如圖1所示。CNN具有局部連接、權(quán)值共享、池化操作以及多層結(jié)構(gòu)等特點(diǎn),一方面使得CNN可以有效提取局部特征,并通過網(wǎng)絡(luò)參數(shù)量的減少從而降低訓(xùn)練過程的難度;另一方面對(duì)于平移、縮放、傾斜或其他形式的變形具有不變性,使其適用于時(shí)間序列和語音等信號(hào)的處理;此外,其多層結(jié)構(gòu)的特點(diǎn)還具有比其他方法更強(qiáng)的學(xué)習(xí)與特征表達(dá)能力。
圖1 卷積神經(jīng)網(wǎng)絡(luò)模型構(gòu)建示意圖
卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)包括輸入層、卷積層、激活層、池化層、全連接層和輸出層等。CNN方法的應(yīng)用首先是進(jìn)行卷積層CNN,并通過卷積+池化的方法提取出某個(gè)時(shí)間點(diǎn)特征之間的空間信息,具體包括:
1)卷積層:對(duì)整體數(shù)據(jù)做卷積,通過多個(gè)卷積核來提取不同角度的空間信息;
2)池化層:減少模型的參數(shù)維度,提高模型訓(xùn)練的效率。
CNN的訓(xùn)練算法分為兩個(gè)階段:前向傳播階段:該階段首先需要從樣本集中取樣并輸入網(wǎng)絡(luò),然后再計(jì)算相應(yīng)的實(shí)際輸出。后向傳播階段:需要先計(jì)算真實(shí)結(jié)果與預(yù)期結(jié)果之間的差值,然后再根據(jù)最小化誤差的方法調(diào)整權(quán)重矩陣。
基于CNN的預(yù)測(cè)方法的流程如圖2所示。首先,對(duì)發(fā)動(dòng)機(jī)的故障預(yù)測(cè)試驗(yàn)數(shù)據(jù)集進(jìn)行預(yù)處理,將相應(yīng)的數(shù)據(jù)進(jìn)行歸一化。然后準(zhǔn)備用于訓(xùn)練和測(cè)試的數(shù)據(jù)集,其中每個(gè)樣本包含時(shí)間窗內(nèi)的時(shí)間序列信息。之后,基于特定的信號(hào)處理問題和數(shù)據(jù)集信息,開始建立用于預(yù)測(cè)的卷積神經(jīng)網(wǎng)絡(luò),并且確定其配置包括隱藏層的數(shù)量,卷積濾波器數(shù)量和長度等。卷積神經(jīng)網(wǎng)絡(luò)將標(biāo)準(zhǔn)化訓(xùn)練數(shù)據(jù)作為輸入,并且訓(xùn)練樣本的標(biāo)記剩余壽命值用作網(wǎng)絡(luò)的目標(biāo)輸出。反向傳播學(xué)習(xí)用于更新網(wǎng)絡(luò)中的權(quán)重。對(duì)于每個(gè)訓(xùn)練周期,將樣本隨機(jī)分成多個(gè)小批量,每批包含若干(如512)個(gè)樣本,并放入訓(xùn)練系統(tǒng)。接下來,基于每個(gè)小批量的平均損失函數(shù)來優(yōu)化網(wǎng)絡(luò)信息,即每層中的權(quán)重。批量大小的選擇會(huì)影響網(wǎng)絡(luò)訓(xùn)練性能。例如本研究中根據(jù)實(shí)驗(yàn)發(fā)現(xiàn)512個(gè)樣品的批量大小是合適的,并且它被用于本文的所有案例研究中。此外,采用不同的學(xué)習(xí)率。最后,將測(cè)試數(shù)據(jù)樣本饋送到訓(xùn)練的網(wǎng)絡(luò)中以進(jìn)行剩余壽命估計(jì),并且得到預(yù)測(cè)準(zhǔn)確性。
圖2 卷積神經(jīng)網(wǎng)絡(luò)模型構(gòu)建示意圖
在卷積神經(jīng)網(wǎng)絡(luò)方法研究基礎(chǔ)上開發(fā)了基于深度學(xué)習(xí)的氣路故障診斷預(yù)測(cè)軟件平臺(tái)。算法實(shí)現(xiàn)基于TensorFlow平臺(tái)架構(gòu),使用Python語言實(shí)現(xiàn)深度學(xué)習(xí)和其他算法。TensorFlow平臺(tái)架構(gòu)示意如圖3所示。
圖3 TensorFlow平臺(tái)架構(gòu)示意圖
如圖3所示,通過平臺(tái)API接口層的核心功能,可以實(shí)現(xiàn)相關(guān)的實(shí)驗(yàn)和應(yīng)用[16]。TensorFlow的系統(tǒng)架構(gòu)如圖3所示。它從底部分為設(shè)備管理/通信層,數(shù)據(jù)操作層,圖形計(jì)算層,API接口層和應(yīng)用層。在所有層中,管理/通信層,數(shù)據(jù)操作層和圖形計(jì)算層是TF的核心層。
在方法層面,整個(gè)過程包括數(shù)據(jù)集成,數(shù)據(jù)處理,特征工程,模型培訓(xùn),數(shù)據(jù)集成,模型評(píng)估,模型保存等。 選擇卷積神經(jīng)網(wǎng)絡(luò)(CNN)、長短時(shí)記憶網(wǎng)絡(luò)(LSTM)等深度學(xué)習(xí)模型,選擇MES,RMSE和相關(guān)系數(shù)等評(píng)價(jià)指標(biāo),評(píng)價(jià)試驗(yàn)數(shù)據(jù)的預(yù)測(cè)精度。氣路預(yù)測(cè)算法包括診斷過程創(chuàng)建模塊,過程模板管理模塊,數(shù)據(jù)集設(shè)置管理模塊,算法模型編輯管理模塊,算法模型訓(xùn)練模塊和算法性能評(píng)估模塊等。
利用軟件平臺(tái)各個(gè)功能模塊,通過平臺(tái)構(gòu)建模型的過程主要包括:創(chuàng)建流程;選擇流程模板;修改流程參數(shù);訓(xùn)練模型,評(píng)估性能。深度學(xué)習(xí)模型評(píng)估頁面如圖4所示。
圖4 深度學(xué)習(xí)模型評(píng)估頁面示意圖
發(fā)動(dòng)機(jī)測(cè)試數(shù)據(jù)源自于NASA發(fā)布的一組發(fā)動(dòng)機(jī)實(shí)驗(yàn)數(shù)據(jù),該組數(shù)據(jù)包含了一系列多元多變量時(shí)間序列。NASA發(fā)布該數(shù)據(jù)主要用于開展發(fā)動(dòng)機(jī)壽命預(yù)測(cè)方面的競(jìng)賽等目標(biāo)[17]。發(fā)動(dòng)機(jī)實(shí)驗(yàn)數(shù)據(jù)描述如表1所示。
表1 發(fā)動(dòng)機(jī)實(shí)驗(yàn)數(shù)據(jù)描述
這里利用該數(shù)據(jù)開展基于數(shù)據(jù)的發(fā)動(dòng)機(jī)的故障預(yù)測(cè)方法研究,通過人工智能方法實(shí)現(xiàn)基于數(shù)據(jù)的預(yù)測(cè)。本試驗(yàn)數(shù)據(jù)的每一組數(shù)據(jù)被劃分成了訓(xùn)練和測(cè)試數(shù)據(jù),每臺(tái)發(fā)動(dòng)機(jī)數(shù)據(jù)開始于一定程度的磨損和誤差,磨損和誤差程度未知。訓(xùn)練數(shù)據(jù)中分別含有100臺(tái)、260臺(tái)、100臺(tái)、249臺(tái)發(fā)動(dòng)機(jī)的全壽命測(cè)試數(shù)據(jù),測(cè)試數(shù)據(jù)中分別含有100臺(tái)、259臺(tái)、248臺(tái)發(fā)動(dòng)機(jī)某生命周期階段中的數(shù)據(jù),剩余壽命數(shù)據(jù)給出了測(cè)試數(shù)據(jù)中每臺(tái)發(fā)動(dòng)機(jī)的實(shí)際剩余壽命。
實(shí)驗(yàn)數(shù)據(jù)主要記錄了發(fā)動(dòng)機(jī)每次工作循環(huán)的以下26個(gè)參數(shù):
1)發(fā)動(dòng)機(jī)號(hào);2)循環(huán)次數(shù);3)運(yùn)行設(shè)置1; 4)運(yùn)行設(shè)置2;5)運(yùn)行設(shè)置3;6)風(fēng)扇入口總溫T2; 7)LPC出口總溫T24;8)HPC出口總溫T30;9)LPT出口總溫T50;10)風(fēng)扇入口壓力P2;11)旁通總壓P15;12)HPC出口總壓P30;13)物理風(fēng)扇轉(zhuǎn)速Nf;14)物理核心機(jī)轉(zhuǎn)速Nc;15)發(fā)動(dòng)機(jī)壓氣比Epr(P50/P2);16)HPC出口靜壓Ps30(Psia);17)燃油流量Phi;18)換算風(fēng)扇轉(zhuǎn)速NRF;19)換算高壓轉(zhuǎn)速NRC;20)涵道比(BPR);21)燃燒室油氣比(FarB);22)氣流焓值(htBleed);23)要求的風(fēng)扇轉(zhuǎn)速Nf_dmd;24)要求修正的風(fēng)扇轉(zhuǎn)速PCNfR_dmd(R/min);25)HPT冷卻流量W31(Lbm/s);26)LPT冷卻流量W32。
本文選取test_FD002文件數(shù)據(jù)作為驗(yàn)證數(shù)據(jù),選取RUL_FD002文件數(shù)據(jù)作為觀察值數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行歸一化等處理。訓(xùn)練數(shù)據(jù)樣本和測(cè)試數(shù)據(jù)樣本文件如圖5、圖6所示。
圖5 訓(xùn)練數(shù)據(jù)樣本文件
圖6 測(cè)試數(shù)據(jù)樣本文件
根據(jù)數(shù)據(jù)特點(diǎn),再進(jìn)行歸一化等預(yù)處理操作。數(shù)據(jù)的結(jié)尾為標(biāo)簽信息。由于數(shù)據(jù)特征空間不一致,需要進(jìn)行歸一化處理,以品更各特征權(quán)重。預(yù)處理后生成相應(yīng)的結(jié)果數(shù)據(jù)。
根據(jù)卷積神經(jīng)網(wǎng)絡(luò)模型原理,結(jié)合上述試驗(yàn)數(shù)據(jù),在相關(guān)文獻(xiàn)基礎(chǔ)上[17-18],搭建學(xué)習(xí)模型,實(shí)現(xiàn)相關(guān)預(yù)測(cè)過程。模型包含2層CNN和2層的池化層構(gòu)建神經(jīng)網(wǎng)絡(luò),如圖7所示。
圖7 面向發(fā)動(dòng)機(jī)故障預(yù)測(cè)的CNN模型示意圖
由于綜合了連續(xù)的15條記錄進(jìn)行預(yù)測(cè),所以選擇了卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行建模。卷積神經(jīng)網(wǎng)絡(luò)通過卷積核,將卷積視野下的連續(xù)幾個(gè)特征卷積在一起,達(dá)到了更好的提取局部特征的功能。
池化層采用下采樣操作(最大值方法),即對(duì)于某個(gè)Filter抽取到若干特征值,只取其中得分最大的那個(gè)值作為Pooling層保留值,其它特征值全部拋棄,值最大代表只保留這些特征中最強(qiáng)的,而拋棄其它弱的此類特征。
面向發(fā)動(dòng)機(jī)試驗(yàn)數(shù)據(jù)的CNN模型結(jié)構(gòu)主要包括以下過程:卷積(Convolution):特征掃描、提??;池化(Pooling):特征過濾,最大值法;降維(Flatten):實(shí)現(xiàn)數(shù)據(jù)的平展與降維;分類(Dense):對(duì)提取的特征進(jìn)行分類。
將處理后的訓(xùn)練數(shù)據(jù),利用神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到訓(xùn)練后的氣路系統(tǒng)故障診斷與預(yù)測(cè)模型。之后,將測(cè)試數(shù)據(jù)導(dǎo)入模型中進(jìn)行計(jì)算,得出每個(gè)發(fā)動(dòng)機(jī)的剩余壽命,并將其與實(shí)際結(jié)果進(jìn)行比對(duì)與評(píng)價(jià)。評(píng)價(jià)方法選用MES、RMSE、Pearson相關(guān)系數(shù)等指標(biāo)。計(jì)算方法如下:
(1)
(2)
(3)
其中:MSE主要用于評(píng)價(jià)數(shù)據(jù)的變化程度;RMSE主要用于評(píng)價(jià)樣本離散程度;Pearson相關(guān)系數(shù)(PCC)主要用來衡量定距變量間的線性關(guān)系。
利用卷積神經(jīng)網(wǎng)絡(luò)將處理后的訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,得到發(fā)動(dòng)機(jī)氣路系統(tǒng)故障預(yù)測(cè)模型。將測(cè)試數(shù)據(jù)導(dǎo)入模型預(yù)測(cè)每臺(tái)發(fā)動(dòng)機(jī)的剩余壽命。如圖8所示。
圖8 基于CNN模型的預(yù)測(cè)結(jié)果示意圖
為便于與本文提出的方法進(jìn)行對(duì)比,在驗(yàn)證過程中對(duì)一些數(shù)據(jù)驅(qū)動(dòng)的算法進(jìn)行了應(yīng)用分析,包括支持向量機(jī)、線性回歸、嶺回歸、彈性網(wǎng)絡(luò)、貝葉斯脊回歸等方法,具體說明如下:1)支持向量機(jī)方法建立在統(tǒng)計(jì)學(xué)習(xí)和結(jié)構(gòu)風(fēng)險(xiǎn)最小原理的基礎(chǔ)上,可作為二元分類器,對(duì)線性可分和線性非可分?jǐn)?shù)據(jù)的分類較為有效,對(duì)發(fā)動(dòng)機(jī)數(shù)據(jù)擬合與預(yù)測(cè)有良好的適應(yīng)性;2)線性回歸是一種傳統(tǒng)的基于回歸分析的數(shù)理統(tǒng)計(jì)分析方法,包括簡單回歸和多元回歸等;3)嶺回歸建立在最小二乘估計(jì)基礎(chǔ)上并進(jìn)行了改進(jìn),較為適合針對(duì)線性數(shù)據(jù)的分析;4)彈性網(wǎng)絡(luò)是一種適用于很少的權(quán)重不為零的稀疏模型的線性回歸模型;5)貝葉斯脊回歸方法主要用于解決最大似然估計(jì)中很難決定模型的復(fù)雜程度,并對(duì)數(shù)據(jù)進(jìn)行正規(guī)化處理。
上述各種算法的預(yù)測(cè)結(jié)果如圖9~12所示,預(yù)測(cè)結(jié)果分析如表2所示。
圖9 基于支持向量機(jī)的預(yù)測(cè)結(jié)果示意圖
圖10 基于線性回歸的預(yù)測(cè)結(jié)果示意圖
圖11 基于嶺回歸的預(yù)測(cè)結(jié)果示意圖
圖12 基于彈性網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果示意圖
從表2可見,通過各算法的MSE、RMSE和Pearson系數(shù)可得出,CNN由于具有良好的容錯(cuò)能力和自學(xué)習(xí)能力,其預(yù)測(cè)精度最高,與實(shí)際數(shù)據(jù)的相關(guān)度也較高,基于回歸分析的預(yù)測(cè)精度最差;SVM由于具備非線性及高維模式識(shí)別的優(yōu)勢(shì),也具有較好的預(yù)測(cè)精度和效果,且與實(shí)際數(shù)據(jù)的相關(guān)度更高。
本文研究了基于卷積神經(jīng)網(wǎng)絡(luò)的發(fā)動(dòng)機(jī)故障預(yù)測(cè)方法,構(gòu)建了基于深度學(xué)習(xí)的發(fā)動(dòng)機(jī)故障預(yù)測(cè)人工智能算法平臺(tái),實(shí)現(xiàn)的人工智能算法,較傳統(tǒng)支持向量機(jī)以及回歸分析等方法相比,在預(yù)測(cè)的準(zhǔn)確率上有較大的提升。研究方法可直接應(yīng)用于典型實(shí)驗(yàn)環(huán)境下的航空發(fā)動(dòng)機(jī)氣路故障診斷與預(yù)測(cè);算法經(jīng)適應(yīng)性調(diào)整和訓(xùn)練后,亦可推廣應(yīng)用于其他類型的發(fā)動(dòng)機(jī)裝備中,具有較好的推廣前景和價(jià)值。