李時奇,趙東標(biāo),申珂楠,豐嬴政
(南京航空航天大學(xué) 機電學(xué)院,江蘇 南京 210016)
智能故障診斷是未來飛機液壓系統(tǒng)故障診斷發(fā)展的趨勢之一[1-2]。國內(nèi)通常采用小波包分解或者信息熵等方法對復(fù)雜的液壓系統(tǒng)壓力信號進行特征提取,然后輸入BP神經(jīng)網(wǎng)絡(luò)或者支持向量機等學(xué)習(xí)器進行故障診斷分類[3-5]。這些特征提取的方法對人的經(jīng)驗要求比較高:不具備通用性;對于多傳感器壓力信號難以有效融合;單一模型有較大過擬合風(fēng)險。
針對上述問題,提出了一種卷積神經(jīng)網(wǎng)絡(luò)(CNN)特征提取加多模型融合的故障診斷方法。使用一維多通道CNN可以直接接收多傳感器一維壓力時間序列,從而實現(xiàn)多傳感器融合。選取少量數(shù)據(jù)對CNN進行有監(jiān)督訓(xùn)練提取特征。再用提取出的特征訓(xùn)練如線性多分類、決策樹、支持向量分類、k鄰近等學(xué)習(xí)器分別對其進行故障診斷。最后使用Stacking技術(shù)對這些模型進行融合。使用Amesim軟件對典型飛機液壓系統(tǒng)建模并進行故障仿真,驗證了算法效果。結(jié)果表明,本文算法在準(zhǔn)確率和訓(xùn)練用時上更優(yōu)。
由于飛機液壓系統(tǒng)的壓力信號是一維時間序列曲線,而且不同位置的多個傳感器可以采集多條曲線,為同時將多個傳感器的一維時間序列輸入CNN,采用一維多通道CNN。網(wǎng)絡(luò)中的所有卷積層、池化層均使用一維結(jié)構(gòu)。
設(shè)Hl為第l層的輸入特征圖,S為卷積操作的結(jié)果,Hl+1為卷積層的輸出特征圖,K為卷積核,i代表特征圖上的索引,p代表卷積核上索引,c為通道的索引,Hl(∶,c)為通道c的特征圖,b為偏移量,f(x)為激活函數(shù),則一維多通道卷積公式如下[6]:
S(i)=∑c∑pHl(i+p,c)K(p)
(1)
Hl+1=f(S+b)
(2)
池化操作分為最大池化和均值池化。設(shè)第l層為池化層,k為池化窗口的大小,p代表池化窗口上的索引。最大池化和均值池化操作公式分別為式(3)和式(4):
(3)
(4)
對數(shù)幾率回歸(logistic regression, LR)是一種用線性回歸模型的預(yù)測結(jié)果去逼近真實標(biāo)記的對數(shù)幾率,雖然名字是“回歸”,實際上是一種分類算法。設(shè)x為輸入向量,y為輸出標(biāo)記,w和b為待學(xué)習(xí)的權(quán)重和偏置。公式如下:
(5)
當(dāng)y>0.5時預(yù)測為正類,y<0.5時預(yù)測為反類,y=0.5時可以隨機預(yù)測。通過OvO(One vs. One)或者OvR(One vs. Rest)等拆分策略可以推廣到多分類[7]。
決策樹通過樹型結(jié)構(gòu)對樣本進行學(xué)習(xí)。樹的節(jié)點代表某個屬性,該節(jié)點下的路徑代表屬性的不同取值。每個葉節(jié)點代表某個類。隨機森林(random forest, RF)[8]是多個決策樹通過bagging策略集成的, RF能引入隨機性,有效減少過擬合。
支持向量機(support vector machine, SVM)通過尋找一個超平面劃分兩類樣本,離超平面最近的幾個訓(xùn)練樣本稱為“支持向量”,兩個不同類別的支持向量到超平面距離和稱為“間隔”,支持向量機算法試圖找到間隔最大的超平面來劃分不同類[9]。SVM同樣可以使用拆分策略推廣到多分類。
k鄰近算法(k- nearest neighbor,KNN)的訓(xùn)練過程就是保存訓(xùn)練集所有數(shù)據(jù)。當(dāng)新的樣本輸入時,計算訓(xùn)練集中距離它最近的k個樣本,根據(jù)這k個樣本的類別來決定新樣本的類別[10]。
圖1為算法流程示意圖。首先對典型飛機液壓系統(tǒng)進行Amesim建模,通過改變某些部件參數(shù)來模擬飛機液壓系統(tǒng)的常見故障。采集不同故障狀態(tài)以及正常狀態(tài)的壓力信號,進行歸一化處理并通過劃窗重采樣進行數(shù)據(jù)集增強。將訓(xùn)練集分為A和B兩個子集。用A集數(shù)據(jù)對CNN進行有監(jiān)督訓(xùn)練。再將數(shù)據(jù)集B輸入訓(xùn)練好的CNN,提取中間層的特征,將中間提取出的特征輸入其他學(xué)習(xí)器進行訓(xùn)練。之后將多個學(xué)習(xí)器的結(jié)果用Stacking融合技術(shù)融合。最后將測試集輸入訓(xùn)練好的模型,驗證算法效果。
圖1 算法流程示意圖
CNN各個層的結(jié)構(gòu)如表1所示。CNN可以接受一維多通道數(shù)據(jù),可將不同飛機液壓系統(tǒng)中不同傳感器獲取到的一維壓力時間序列輸入CNN。表中filter指卷積核(又叫濾波器)或者池化濾波器。filter大小1100指窗口大小為100的卷積核在特征圖上滑動,步長指的是filter在特征圖上滑動步長。
表1 CNN各層參數(shù)
用A集監(jiān)督訓(xùn)練CNN,目的是讓CNN的每一層獲得不錯的權(quán)重從而使網(wǎng)絡(luò)具備提取抽象特征能力。將B集輸入到訓(xùn)練好的網(wǎng)絡(luò),提取全連接層2尺寸為128的特征。此時向量的總數(shù)據(jù)維度從1 800降到了128,此時的特征已經(jīng)過濾掉一些無效信息并提取到有用的抽象特征,能極大地加快訓(xùn)練速度,簡化訓(xùn)練難度,提高訓(xùn)練準(zhǔn)確率。
Stacking模型融合技術(shù)[11]是一種兩級的模型融合技術(shù),將初級學(xué)習(xí)器學(xué)習(xí)到的分類結(jié)果作為次級學(xué)習(xí)器的輸入,再進行一次學(xué)習(xí)。
Stacking模型融合技術(shù)示意圖如圖2、圖3所示。首先需要每個學(xué)習(xí)器使用k折交叉驗證(圖中k=5)。將原訓(xùn)練集分為k折,用k-1折訓(xùn)練,預(yù)測剩下的1折,預(yù)測結(jié)果作為次級學(xué)習(xí)器的輸入,重復(fù)k次,每次用不同的折劃分。對于測試集,將k次的結(jié)果取平均值。用不同初級學(xué)習(xí)器重復(fù)相同操作,最終次級學(xué)習(xí)器的輸入特征為n個初級學(xué)習(xí)器的預(yù)測結(jié)果(圖中n=4)。用次級學(xué)習(xí)器對新生成的訓(xùn)練集進行訓(xùn)練,預(yù)測新測試集,得到最終結(jié)果。
圖2 Stacking融合每個學(xué)習(xí)器訓(xùn)練步驟
圖3 Stacking融合多學(xué)習(xí)器融合步驟
由于不同學(xué)習(xí)器的學(xué)習(xí)原理有所差異,通過融合可以互相彌補不足,提高總準(zhǔn)確率的同時減少過擬合的風(fēng)險。
圖4為典型飛機液壓系統(tǒng)Amesim模型。為簡化模型,只保留液壓系統(tǒng)核心部件以及一個用于故障診斷的作動器,其余作動器均用“液壓用戶”代替。
圖4 典型飛機液壓系統(tǒng) Amesim模型
表2為Amesim模型中各元件參數(shù)以及含義[12]。
表2 飛機液壓系統(tǒng)Amesim模型參數(shù)
系統(tǒng)故障模擬方法如下:通過在泵兩端并聯(lián)溢流閥模擬泵泄漏;改變油濾等效孔徑參數(shù)模擬油濾堵塞;改變液壓油中氣體含量模擬液壓油污染;用伺服閥和作動器直接串聯(lián)溢流閥模擬伺服閥堵塞;改變作動器內(nèi)泄漏參數(shù)模擬作動器內(nèi)泄漏。5種故障狀況加上正常情況共6種類別,類別標(biāo)號和類別編碼如表3所示。
表3 故障類別表
取仿真時長為18s,提取圖4中A、B、C 3處的壓力信號進行故障診斷。設(shè)采樣周期為0.01s,取長度為6s的曲線用于故障診斷。將6s的窗口在18s的曲線上滑動取點來增強數(shù)據(jù)集。通過在正?;蛘吖收戏秶鷥?nèi)微調(diào)參數(shù)多次仿真可以增加數(shù)據(jù)量。最終每個樣本含3條(A、B、C 3個位置)6s的曲線,即原始輸入特征的尺寸為16003。
圖5為液壓油污染情況以及正常情況下泵出口壓力曲線對比圖。由圖可知液壓油氣體含量上升導(dǎo)致的污染會使壓力曲線滯后。
圖5 故障與正常情況壓力曲線對比圖
若用在A集上訓(xùn)練的CNN直接預(yù)測B集的故障診斷結(jié)果,準(zhǔn)確率僅為84.3%,這是因為A集只占總數(shù)據(jù)集的很少一部分,但是足夠提取出有效的特征用于下一步訓(xùn)練。
圖6為A集大小對CNN訓(xùn)練時間以及最終準(zhǔn)確率的影響。圖7為從CNN不同中間層提取的特征對后續(xù)訓(xùn)練時間以及最終準(zhǔn)確率的影響。由圖可知,為使準(zhǔn)確率高的同時訓(xùn)練時間盡可能少, A集大小取20%,提取CNN中間層的卷連接層2作為特征進行下一步訓(xùn)練。
圖6 A集占比對結(jié)果的影響
圖7 CNN不同層特征訓(xùn)練結(jié)果
表4為各學(xué)習(xí)器用CNN提取到的特征進行訓(xùn)練(表中i)與直接用原始輸入壓力曲線訓(xùn)練(表中ii)的對比。由表可知,經(jīng)過CNN提取到的特征能極大加快訓(xùn)練速度,提高故障診斷的準(zhǔn)確率,降低模型大小。
表4 用特征與用原始數(shù)據(jù)訓(xùn)練對比
表5為用不同次級學(xué)習(xí)器進行Stacking融合的比較
以及和直接用簡單投票法融合的準(zhǔn)確率比較??梢钥吹?,使用LR作為次級學(xué)習(xí)器準(zhǔn)確率最高。
表5 不同模型融合方法比較
圖8為Stacking模型融合后與各個模型的對比。由圖可知,融合后的模型比所有原模型的準(zhǔn)確率都要高。
圖8 Stacking模型融合與各個模型對比圖
表6為CNN特征提取加Stacking模型融合與直接用CNN訓(xùn)練全部數(shù)據(jù)集進行故障診斷的對比。由表可知,在準(zhǔn)確率方面多模型融合略高,在訓(xùn)練耗時上多模型融合更少,但是所占的空間更大。
表6 兩種方法效果對比
本文采用CNN特征提取加Stacking多模型融合技術(shù)對飛機液壓系統(tǒng)進行了故障診斷。使用Amesim軟件對典型飛機液壓系統(tǒng)建模并進行故障仿真來驗證算法效果,結(jié)果如下:
1)使用少量數(shù)據(jù)監(jiān)督訓(xùn)練CNN也能提取出不錯的中間特征,用提取出的特征訓(xùn)練比用原始輸入信號訓(xùn)練在各方面都有較大提升。
2)Stacking多模型融合準(zhǔn)確率高于各個單一模型。
3)相比于直接用CNN訓(xùn)練全部數(shù)據(jù)集進行故障診斷,CNN特征提取加多模型融合訓(xùn)練速度明顯更快,準(zhǔn)確率也有少量提升。