管業(yè)勤, 蔣祖華
(上海交通大學(xué) 機械與動力工程學(xué)院,上海 200240)
機電設(shè)備隨著科技的發(fā)展和進步日趨復(fù)雜,隨機性、繼發(fā)性、并發(fā)性、暴發(fā)性、隱蔽性等也已成為故障出現(xiàn)時所具備的性質(zhì)[1]。同時,故障的出現(xiàn)方式更加復(fù)雜,多個故障同時發(fā)生或相互作用的情況更加常見。
傳統(tǒng)的研究將多重故障診斷轉(zhuǎn)化為一類由各個組成故障對應(yīng)于征兆數(shù)據(jù)集合的類劃分問題[2]?,F(xiàn)有的智能診斷方法大多針對具體的工程問題展開,如文獻[3]針對航空發(fā)動機的并發(fā)多故障診斷問題,運用自聯(lián)想記憶神經(jīng)網(wǎng)絡(luò),改進輸入數(shù)據(jù)不完整或充滿噪聲情況下的診斷效果,但其特點對于相似故障的判別能力較弱。文獻[4]建立基于置信規(guī)則的復(fù)合式診斷系統(tǒng)架構(gòu)以應(yīng)對無耦合關(guān)聯(lián)和發(fā)生沖突的船用柴油機并發(fā)多故障,擴大系統(tǒng)可診斷的故障范圍,其缺點是沒有考慮可能并發(fā)的故障之間如沖突、耦合等更為復(fù)雜的聯(lián)系。文獻[5]針對電動機故障診斷復(fù)雜,訓(xùn)練困難等難題,擴展了單故障診斷方法,采用子徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)構(gòu)造組態(tài)式故障診斷模型一種故障模式。文獻[6]針對傳統(tǒng)模糊診斷規(guī)則庫缺乏聯(lián)想和自學(xué)習(xí)能力的缺點,采用模糊神經(jīng)網(wǎng)絡(luò)構(gòu)造智能診斷系統(tǒng),將遺傳算法和蟻群算法用于系統(tǒng)參數(shù)優(yōu)化訓(xùn)練中,提高了診斷系統(tǒng)的泛化能力和收斂速度,不足之處在于該方法僅針對多種相互獨立故障,難以應(yīng)對復(fù)雜的多故障并發(fā)情形?,F(xiàn)有研究大多聚焦于提取表征故障類型的有效故障特征,或著力于建立基于特征信息的模式分類系統(tǒng)。
機器學(xué)習(xí)作為新興的技術(shù)手段,在故障診斷領(lǐng)域大放異彩。遞歸神經(jīng)網(wǎng)絡(luò)是機器學(xué)習(xí)最常用到的模型,遞歸神經(jīng)網(wǎng)絡(luò)中常用的Elman網(wǎng)絡(luò),其輸出不僅取決于當(dāng)前的輸入,而且與以前的網(wǎng)絡(luò)內(nèi)部狀態(tài)有關(guān),契合復(fù)雜系統(tǒng)的實時故障診斷要求[7]。故障診斷情境具有歷史數(shù)據(jù)稀疏的特點,結(jié)構(gòu)簡單的支持向量機(support vector machine,SVM)算法適合解決此類小樣本模式識別問題[8]。文獻[9]結(jié)合極限學(xué)習(xí)機(extreme learning machine, ELM)算法與糾錯輸出碼(error corrected output code, ECOC),建立基于故障特征的模式分類系統(tǒng),準(zhǔn)確識別故障原因。因而,本文提出了基于Elman網(wǎng)絡(luò)和ECOC-SVM的機電系統(tǒng)并發(fā)多故障診斷方法,在線推送診斷結(jié)果,助力維修決策。
如圖1,本文提出的并發(fā)多故障診斷方法分為離線建模和在線診斷2個部分:離線建模:1)待診斷故障的原因初判模型;2)疑似故障的篩選模型。在線診斷:1)運用初判模型構(gòu)造疑似故障原因集合;2)利用篩選模型識別故障原因。
圖1 多故障并發(fā)診斷方法示意Fig.1 Fault diagnostic method for multiple concurrent fault modes
本文采用基于Elman網(wǎng)絡(luò)的組態(tài)式模型對故障類別進行初判。如圖2所示,幾個相對獨立的子模型組成多故障初判模型,其輸入是傳感器監(jiān)測到的系統(tǒng)運行參數(shù)值,不同的故障類型分別對應(yīng)各自的子模型??紤]到在線診斷的實時性要求,子模型均由Elman網(wǎng)絡(luò)訓(xùn)練而成。
編號為i(i=1,2,…,N)的子模型中,其故障特征集合Ti根據(jù)專家知識選取得到,輸入層神經(jīng)元的個數(shù)由Ti決定,網(wǎng)絡(luò)中間層到輸出層的傳遞函數(shù)采用對數(shù)Sigmoid函數(shù),輸出表示為yi,yi的取值范圍是(-1,1)。Pi用于推測該子模型用于識別的類型是否為故障原因。
當(dāng)yi≤0時,Pi=0,表示該子模型對應(yīng)的故障未發(fā)生;當(dāng)yi>0時,Pi=yi,表示該子模型對應(yīng)的故障類型,其發(fā)生概率與模型輸出值的大小成正比。
可能的故障原因集合F為:
F={(F1,P1),…,(Fi,Pi),…,(FN,PN)
(1)
式中Fi(i=1,2,…,N)表示第i種故障類型。
Pi的取值為:
(2)
圖2 基于Elman網(wǎng)絡(luò)的組態(tài)式多故障類別初判模型結(jié)構(gòu)Fig.2 Fault diagnostic model for multiple concurrent fault modes in a parallel structure
1.2.1 篩選模型
SVM結(jié)構(gòu)簡單、泛化能力強;ECOC對于解決多分類問題很有效。因此本文通過結(jié)合ECOC與OVO將SVM擴展至ECOC-SVM建立篩選模型。
離線建模過程中,本文用于訓(xùn)練分辨任兩類故障的SVM二值分類器與1.1節(jié)中訓(xùn)練Elman網(wǎng)絡(luò)的歷史故障數(shù)據(jù)一致,假設(shè)所有的可能故障類別數(shù)為N。
訓(xùn)練過程如圖3所示。
圖3 故障篩選模型訓(xùn)練流程圖Fig.3 Fault screening model training flowchart
不同于文獻[8]在編碼之前使用統(tǒng)計特征(例如主成分和線性判別分析)來過濾特征,本文采用唯一初始矩陣:列向量為二值分類器,行向量為類別標(biāo)簽,規(guī)避了編碼穩(wěn)定性不強的問題。
本文提出的編碼矩陣M取值于集合,{-1,0,+1},M[i,j]=0意味著樣本的標(biāo)簽值對于第j個二值分類器無意義。對于類別數(shù)為m的多分類問題,M是一個m行、m(m-1)/2列的矩陣,對于第j列,若M[r1,j]=+1,M[r2,j]=-1,且其他處均為零,說明該列代表區(qū)分故障類別r1和r2的二值分類器。結(jié)合ECOC與OVO初始化糾錯輸出碼矩陣M的詳細流程如圖4所示。
圖4 糾錯輸出碼矩陣初始化流程Fig.4 ECOC matrix flowchart
執(zhí)行上述步驟得到的初始化編碼矩陣M為:
(3)
1.2.2 篩選過程
F為本文1.1節(jié)得到的可能故障原因集合,m為集合中的故障類別數(shù)量。當(dāng)m≤2時,診斷結(jié)果即為集合F。
本文考慮m>2的診斷情形,提出基于極大似然估計[13]的ECOC解碼方式,運用ECOC-SVM多分類器篩選故障原因,得到最終診斷結(jié)果。
類別數(shù)為m的多分類問題中,ψn表示第n組分類,有ψn{SVMi,j,SVMj,i}(n=1,2,…,m(m-1)/2)。假設(shè)初始編碼矩陣M中,hn(i)表示第n列第i行的元素值,hn(i)∈{-1,0,+1}。若hn(i)≠0,un(di)表示以待診斷故障數(shù)據(jù)d為輸入時,該非零項的實際預(yù)測值,un(di)∈{+1,-1}。gn(di)表示在第n組分類中,d屬于類別i的權(quán)重,其取值為:
(4)
其中:
(5)
d屬于類別i的可能性大小U(di)為:
(6)
本文提出的篩選模型用于識別故障原因的過程如下:
2)依次用ψ中第n組分類器ψn對d進行分類,若SVMi,j返回值為-1,則un(di)=-hn(i);若SVMi,j返回值為+1,則un(di)=hn(i);若SVMj,i返回值為-1,則un(di)=-hn(i);若SVMj,i返回值為+1,則un(di)=hn(i)。
3)運用式(4)、(5)計算d屬于類別i的權(quán)重gn(di);
4)d的歸屬類別與類別i的相似度值U(di),由式(6)計算得到,篩選判據(jù)為:
(7)
經(jīng)上述步驟,診斷結(jié)果經(jīng)故障原因篩選后推送給維修人員輔助其決策。
本文采集某類型船用發(fā)動機售后維修部的真實數(shù)據(jù),以該發(fā)動機故障診斷為例,對本文提出的診斷方法進行實驗評估。
2.1.1 離線建模
本文收集897項報警內(nèi)容為發(fā)動機氧合系數(shù)異常的船用發(fā)動機故障的發(fā)動機運行數(shù)據(jù)用于實驗。
表1為9個預(yù)先設(shè)置的特征參數(shù)。表2為可能引起發(fā)動機氧合系數(shù)異常的6種故障原因。
表1 特征參數(shù)表Table 1 Features details
表2 故障原因表Table 2 Faults details
表3表示根據(jù)專家經(jīng)驗得到的特征參數(shù)與故障原因間的映射關(guān)系,由此構(gòu)造診斷系統(tǒng)。
針對此6類故障原因,采用1.2節(jié)所述方法構(gòu)建故障類別初判模型S;采用1.1節(jié)所述步驟,訓(xùn)練SVM二值分類器,構(gòu)造用于在線診斷階段的ECOC-SVM分類器。
表3 特征參數(shù)-故障明細表Table 3 Features-faults for every sub-system
2.1.2 在線診斷
本實例中待診斷故障數(shù)據(jù)為d,經(jīng)2.1.1節(jié)構(gòu)造的故障類別初判模型S處理后得到可能故障原因集合F為:
F={(F1,0.65),(F2,0.73),(F3,0.57),
(F4,0.51),(F5,0),(F6,0)}
(8)
初始化編碼矩陣為:
(9)
d的歸屬類別與各類別的相似度值U(di)(i=1,2,3,4)如表4所示。
表4 ECOC-SVM預(yù)測值Table 4 Prediction values of ECOC-SVM
(10)
性能對比實驗均在R環(huán)境下進行,所用計算機內(nèi)存為8 GB。
2.2.1 對比常用機器學(xué)習(xí)分類方法
表5給出了與本文方法進行比較的分類算法[10-12]的描述和參數(shù)選擇。
表5 實例研究中的各個算法說明Table 5 Details of classifiers used in the experimental study
本文使用性能測量指標(biāo)宏F1(macro_F1)衡量分類器性能:
(11)
性能對比如圖5所示,其中TP、FP、TN和FN分別代表真陽性、假陽性、真陰性和假陰性的數(shù)量。
圖5 分類器性能比較箱線圖Fig.5 Boxplot of average Macro-F1 obtained examined classifiers used
每種方法的平均訓(xùn)練持續(xù)時間和測試持續(xù)時間如表6所示。
從圖5可以看出,單個分類器(C5.0,kNN)的性能指標(biāo)低于80%,這意味著超過1/5的實際故障在故障診斷中將被忽略。
表6 算法時長對比
OVA-SVM使用一對多分類策略,精確度不高的原因可能是樣本數(shù)量不均。輸出代碼設(shè)計(ECOC)是糾錯碼(ECC)和一對一分類(OVO)的結(jié)合。從圖6可以看出,與ECOC組合的分類器的性能要優(yōu)于組合前單個分類器的性能。另外,作為比較算法,k-NN的宏高于C5.0,但結(jié)合糾錯輸出代碼,ECOC-k-NN性能遠不及其他混合算法,而ECOC-SVM性能高于其他混合算法。
圖6 分類錯誤率對比Fig.6 Comparison of the multiclass error
考慮到診斷系統(tǒng)需要及時給出故障檢測建議,以解除警報,因此本文對比了各分類方法的平均訓(xùn)練時間與對未知樣本的平均分類時間(測試時間),如表6所示。盡管k-NN不需要預(yù)先訓(xùn)練,但其測試時間顯著高于其他方法,不適合實際使用。與OVA-SVM相比,ECOC-SVM的訓(xùn)練時間更長,但是實際的診斷系統(tǒng)采用離線訓(xùn)練,訓(xùn)練時長不影響在線診斷的即時響應(yīng)時間。
2.2.2 對比基于漢明距離的ECOC-SVM分類方法
將本文提出的基于最大似然估計的ECOC-SVM故障分類方法與傳統(tǒng)的基于漢明距離的ECOC-SVM故障分類方法進行比較[8],如圖6所示。
本文提出的方法考慮了分類過程中的損失函數(shù),因此與傳統(tǒng)的漢明距離方法相比,分類精度有所提高。但隨著分類數(shù)量的增加,2種分類方法的錯誤率均增加,分類準(zhǔn)確度呈下降趨勢。
本文診斷方法的優(yōu)勢在于使用故障類別初判模型減少ECOC-SVM的分類數(shù)量,以此降低ECOC-SVM的分類錯誤率。
1)本文提出的方法利用Elman網(wǎng)絡(luò)構(gòu)造組態(tài)式的多故障診斷模型,構(gòu)建方法簡單,各子系統(tǒng)含義清晰。
2)這種方法的模型訓(xùn)練的實質(zhì)是訓(xùn)練子系統(tǒng)。子系統(tǒng)可以根據(jù)應(yīng)用條件進行重組或更新,以方便擴展。
3)這種方法中的子系統(tǒng)是相對獨立的。故障特征的選擇充分利用了專家的經(jīng)驗。
4)該方法根據(jù)實時數(shù)據(jù)的特征從所有單個故障中選擇可能的故障類型,避免了故障診斷對機理模型的依賴。
本文提出的故障診斷方法以沒有未知故障為前提,忽略了故障模式未知的診斷情形。因此之后的研究應(yīng)聚焦未知故障情境下的診斷方法。