焦瀚暉, 胡明輝, 江志農(nóng), 馮 坤
(1. 北京化工大學 發(fā)動機健康監(jiān)控及網(wǎng)絡化教育部重點實驗室,北京 100029;2. 北京化工大學 高端機械裝備健康監(jiān)控與自愈化北京市重點實驗室,北京 100029)
離心泵是石油化工、冶金、電力及國防工業(yè)的一種關鍵旋轉(zhuǎn)機械,由于其工作轉(zhuǎn)速高、介質(zhì)溫度壓力高等運行特點,使其容易發(fā)生各種機械故障。同時,雖然大多數(shù)離心泵均有備臺可切換,但由于其介質(zhì)部分具有可燃性,導致其故障危害性往往較大,近年來石化企業(yè)發(fā)生多起由于關鍵離心泵故障引起的惡性事故,嚴重影響了流程工業(yè)的可靠運行和生產(chǎn)安全。目前在線監(jiān)測技術已經(jīng)廣泛應用于各類大型企業(yè),但是對于故障識別及診斷主要依賴于現(xiàn)場相關人員以人工的方式,通過監(jiān)測數(shù)據(jù)進行趨勢分析、頻譜分析及包絡分析等技術,并結合自身知識和經(jīng)驗對離心泵的運行狀態(tài)進行判斷。隨著我國各類企業(yè)對無人或少人化生產(chǎn)的推進,上述診斷方式已顯示出明顯的弊端,主要存在以下兩個問題:①人工診斷對人的要求較高,若想實現(xiàn)準確的故障分析,要求相關人員不僅具備全面的故障診斷專業(yè)知識和信號處理分析理論,還需具備豐富的實際現(xiàn)場經(jīng)驗;②人工診斷效率難以滿足企業(yè)大批量離心泵的故障分析需求,各大型企業(yè)現(xiàn)場的離心泵數(shù)量往往較多,少則數(shù)百臺,多則上千臺,具備診斷能力的專家有限,難以滿足及時診斷的需求。因此,離心泵故障的智能診斷是一個亟需解決的問題。
針對離心泵的智能診斷,目前研究主要集中于兩個方向:一是基于知識規(guī)則的自動診斷,將專家的診斷規(guī)則程序化[1-3],但由于人在根據(jù)規(guī)則進行診斷時帶有明顯的閾值容偏性,而程序?qū)Υ穗y以較好實現(xiàn),因此該類方法雖然研究的起步較早,但目前仍主要停留在半自動診斷的狀態(tài),未實現(xiàn)廣泛的工程應用;二是基于故障數(shù)據(jù),利用機器學習或深度學習方法進行智能診斷,其研究起步較晚,目前仍處于理論研究階段。
卷積神經(jīng)網(wǎng)絡是深度學習方法的經(jīng)典模型之一,具備高度的非線性抽象和擬合功能,不僅在機器視覺和圖片識別等領域取得了重大突破[4],也逐漸應用在設備故障診斷領域。在服務于設備故障診斷方面,國內(nèi)外學者主要開展了如下兩方面的探索研究。第一方面,利用傳統(tǒng)卷積神經(jīng)網(wǎng)絡,將振動數(shù)據(jù)轉(zhuǎn)換為二維特征進行故障識別。Zhang等[5-6]提出將一維信號按照規(guī)定步長寫入二維矩陣,從而將一維信號轉(zhuǎn)化至二維,并利用卷積神經(jīng)網(wǎng)絡識別軸承故障。李恒等[7-9]利用時頻變換將時域信號轉(zhuǎn)換為時頻圖,基于傳統(tǒng)卷積神經(jīng)網(wǎng)絡實現(xiàn)不同設備的故障識別。以上方法是卷積神經(jīng)網(wǎng)絡在故障診斷中的大膽嘗試,并取得了一定效果。但振動信號作為一維序列信號,各個時刻的數(shù)據(jù)點具有關聯(lián)性,若直接將其轉(zhuǎn)換為二維圖片,信號中空間相關性會遭到破壞,可能丟失部分故障相關信息。第二方面,將傳統(tǒng)卷積神經(jīng)網(wǎng)絡進行改進,直接以振動數(shù)據(jù)為輸入,利用卷積神經(jīng)網(wǎng)絡具有自動特征提取和模式識別的特點進行故障診斷。Sun等[10]提出一種采用雙樹復小波變換來獲取多尺度信號的特征,并利用一維卷積神經(jīng)網(wǎng)絡方法自動識別來自多尺度信號特征的故障特征,通過齒輪故障識別實驗驗證了該方法能有效識別齒輪故障。Jia等[11]提出DNCNN(deep normalized convolutional neural network)模型,用于不平衡故障識別,并對卷積核學習所得一維特征圖的物理意義進行探究。胡曉依等[12]結合卷積神經(jīng)網(wǎng)絡和SVM(support vector machine),提出以時域波形為輸入,適用于軸承故障診斷的深度卷積神經(jīng)網(wǎng)絡模型。
基于卷積神經(jīng)網(wǎng)絡建立故障診斷模型的研究已經(jīng)初見成效,但目前仍存在如下問題:①直接以振動波形、頻譜及多域特征打包作為網(wǎng)絡輸入,造成網(wǎng)絡的輸入特征維度高,計算量大導致其難以在實時狀態(tài)監(jiān)測中應用,同時輸入維度高易引入和故障不相關的特征進而導致過擬合等問題;②所需訓練樣本數(shù)量多,而離心泵故障案例數(shù)據(jù)收集并不容易,訓練樣本不足則易造成識別準確率低等問題。
針對以上問題,本文提出一種基于補償距離評估和一維卷積神經(jīng)網(wǎng)絡的離心泵故障快速智能識別方法。首先,為提高單個訓練樣本的利用率以達到小樣本訓練的目標,提取時域、頻域、時頻域及能量等混合域全特征,使網(wǎng)絡輸入特征盡可能多地涵蓋故障相關信息;然后,為同時滿足工程中故障識別率和算法運行實時性兼顧的要求,使用補償距離評估方法對特征集進行預處理,保留與故障有關的特征,去除冗余特征,提高算法效率。最后,以降維后的特征集作為輸入,使用一維卷積神經(jīng)網(wǎng)絡實現(xiàn)故障快速智能識別。經(jīng)實際案例驗證,該方法故障識別率高,可利用小樣本訓練構建模型,同時其特征計算、訓練收斂及測試集分析速度快,適用于工程中離心泵的故障智能識別。
傳統(tǒng)卷積神經(jīng)網(wǎng)絡是一種前饋神經(jīng)網(wǎng)絡,主要應用于圖像、視頻等二維數(shù)據(jù)的識別。卷積神經(jīng)網(wǎng)絡主要由輸入層、卷積層、池化層、全連接層以及輸出層構成,其網(wǎng)絡結構圖如圖1所示。
圖1 傳統(tǒng)卷積神經(jīng)網(wǎng)絡結構Fig.1 Structure of typical convolution neural network
卷積層和池化層主要用于輸入數(shù)據(jù)的特征自學習。卷積層通常由多個卷積核構成,通過卷積核對輸入的數(shù)據(jù)做卷積運算,自動提取特征。池化層是對卷積得到的特征做池化運算。主流的池化方式有最大池化和平均池化。經(jīng)過卷積計算和池化計算,將結果輸入到全連接層,最后由softmax回歸層完成分類。
將一維信號轉(zhuǎn)換為二維特征信息的維度轉(zhuǎn)換會導致龐大的計算量,解決一維信號的分析識別問題,最好的方式是使用一維識別模型。因此,本文基于一維卷積神經(jīng)網(wǎng)絡構建故障診斷模型。本模型在傳統(tǒng)卷積神經(jīng)網(wǎng)絡的基礎上,將卷積核和池化核由二維改為一維,實現(xiàn)對一維振動信號的處理和識別,不再需對原始信號進行二維轉(zhuǎn)換,顯著減少了信號分析及計算工作量。一維卷積層計算公式如式(1)所示,最大池化層計算公式如式(2)所示。
(1)
(2)
現(xiàn)場采集到的離心泵振動信號中包含復雜的環(huán)境噪聲,若直接將波形數(shù)據(jù)作為輸入特征,神經(jīng)網(wǎng)絡內(nèi)部難以實現(xiàn)時域到頻域、時頻域的轉(zhuǎn)換,易造成部分故障特征無法被網(wǎng)絡感知、噪聲引起網(wǎng)絡誤感知等問題。同時,現(xiàn)場故障樣本數(shù)據(jù)收集難度大,故障案例樣本數(shù)量遠小于無故障樣本,因此在模型訓練中需盡可能將故障樣本的特征信息更全面地進行挖掘,進而在小樣本狀態(tài)下實現(xiàn)有效的模型訓練。
針對上述問題,基于離心泵振動信號分析基礎理論,本文構建混合域全特征集作為神經(jīng)網(wǎng)絡的原始輸入特征,其包含元素分以下三類,共101維,如表1所示。
表1 混合域全特征集組成Tab.1 Composition of the full feature sets in mixed domains
時域及頻域特征多為離心泵振動信號分析常用指標,對能量及熵特征的計算作如下說明:為了更好的反映故障引起的非平穩(wěn)動態(tài)響應,本文使用小波包變換對信號進行時頻分析。選擇常用的正交小波基db3,進行3層小波包分解。并對分解后的分量求解小波包能量、能量矩。從衡量系統(tǒng)的混亂程度的角度上,引入熵的概念。計算近似熵、樣本熵、排列熵等熵特征[15]。
為實現(xiàn)小樣本狀態(tài)下有效的模型訓練,構建混合域全特征集作為神經(jīng)網(wǎng)絡的原始輸入特征。若將此特征集直接輸入神經(jīng)網(wǎng)絡,即未考慮故障對特征的敏感性,將與故障相關、不相關特征均作為輸入,必然導致如下兩個問題:①神經(jīng)網(wǎng)絡內(nèi)部特征維度高,模型實際應用時占用計算機資源較多;②特征計算及模型訓練、檢測所需時間長,難以滿足應用中實時化要求。要實現(xiàn)神經(jīng)網(wǎng)絡模型在實際中的應用,快速計算分析是其中一個關鍵問題,需要在保證輸入特征滿足故障識別率要求的前提下盡可能降低輸入特征維度。
針對上述問題,本文提出基于補償距離評估的輸入特征降維優(yōu)化,充分考慮特征對故障分類識別的敏感性,篩選出故障敏感特征,其算法原理如下所述。
假設具有C個類w1,w2,w3,…,wc的特征集[16-17]
{pc,m,k,c=1,2,…,C;m=1,2,…,Mc;
k=1,2,…,K}
(3)
式中:pc,m,w為c狀態(tài)下第m個樣本第k個特征;Mc為c狀態(tài)下樣本總數(shù);K為每個樣本特征數(shù)目。在c類狀態(tài)下,可得Mc個樣本,因此總共可得Mc×C個樣本集。從而得到Mc×C×K個特征,定義為{pc,m,k}。
(1)計算Mc×C類中所有特征向量
(4)
對dc,k(c=1,2,…,C)求平均后得平均類內(nèi)距離
(5)
(6)
(3)計算C個模型類的類間距離
(7)
(8)
(5)定義并計算補償因子
(9)
(10)
對αk歸一化處理,得補償距離評估指標為
(11)
本文提出基于距離評估技術和卷積神經(jīng)網(wǎng)絡的離心泵故障智能識別模型,其實現(xiàn)流程如圖2所示,主要包含如下4個步驟:
步驟1混合域全特征集構造?;陔x心泵振動信號及其分析理論,構造三類101維混合域全特征集。其中包括16維時域特征、13維頻域特征及小波包分解信號的72維能量及熵特征,具體組成如表1所示。此特征集可較全面地涵蓋數(shù)據(jù)中的故障特征信息,通過此特征集進行故障識別模型訓練可充分挖掘訓練樣本中的故障信息,進而提高單個訓練樣本的利用率,使故障識別降低對大樣本的依賴,具備小樣本深挖掘的能力。
步驟3故障識別模型建立。首先,以一維卷積神經(jīng)網(wǎng)絡建立故障識別模型,初始化網(wǎng)絡參數(shù)。然后,使用訓練樣本降維后的特征集進行模型訓練,以達到Loss曲線收斂為訓練目標,不斷優(yōu)化網(wǎng)絡參數(shù),最終建立針對該離心泵的基于一維卷積神經(jīng)網(wǎng)絡的故障識別模型,將模型進行保存固化,上述模型可用于該泵n類故障(訓練集中包含的故障類型)的分類識別。
步驟4測試樣本故障識別。以待分析數(shù)據(jù)為原始輸入,首先計算步驟2中確定的k維特征,然后將該特征集輸入至步驟3中保存的故障識別模型,即可輸出故障識別結論。故障識別模型在實時故障分析中應用時,只需進行本步計算,無需每次都重新進行特征降維優(yōu)化與模型訓練,保證了故障識別的快速實現(xiàn)。
步驟5模型升級與優(yōu)化。若出現(xiàn)新的故障類型,即原來訓練集未包含該類故障,則將新的故障數(shù)據(jù)加入訓練集,再對步驟2的降維特征集和步驟3的故障識別模型進行升級與優(yōu)化。
圖2 離心泵故障快速智能識別方法流程圖Fig.2 Flow chart of the fast and intelligent fault identification method for centrifugal pump
選取兩臺離心泵現(xiàn)場案例,使用本文提出方法進行分析,以驗證該方法在離心泵故障識別中的有效性。
離心泵1為某石化煉油廠石腦油塔底泵,懸臂結構,轉(zhuǎn)速為1 450 r/min,運行過程中發(fā)生了抽空故障。在線監(jiān)測系統(tǒng)采集的振動信號為軸承座處振動加速度,數(shù)據(jù)信息如表2所示。每類訓練樣本數(shù)均小于20,為同類測試樣本的20%以下,以模擬小樣本訓練條件。其中一組正常和故障樣本時域波形如圖3所示。
表2 離心泵1振動數(shù)據(jù)集Tab.2 Vibration data of pump 1
圖3 離心泵1振動加速度時域波形Fig.3 Acceleration waveform of pump 1
3.1.1 混合域全特征集構造
將表2中訓練樣本提取三類101維混合域全特征集,并對其進行歸一化處理。無故障和抽空故障特征如圖4所示,對比可知部分特征在無故障和故障狀態(tài)下區(qū)分度不高,即全特征集中存在部分冗余特征。
圖4 離心泵1的全特征集對比Fig.4 Comparison of all features of pump 1
3.1.2 輸入特征降維優(yōu)化
表3 時域特征距離評估指標Tab.3 Indications of features in time domain
表4 離心泵1降維后特征集組成Tab.4 Features after dimension reduction of pump 1
有效特征在無故障和抽空故障狀態(tài)下的對比,如圖5(b)所示。由圖可知降維后的有效特征能夠較為理想地區(qū)分無故障和抽空故障狀態(tài)。
圖5 離心泵1特征降維Fig.5 Dimension reduction for features of pump 1
3.1.3 故障識別模型建立
設定離心泵1故障識別模型架構如下:兩個卷積層,兩個最大池化層和一個全連接層[19]。合理的配置卷積神經(jīng)網(wǎng)絡的層數(shù)、卷積核個數(shù)及大小,可以使神經(jīng)網(wǎng)絡獲得豐富的感知視野以提取到更多的有效特征[20],同時可避免冗余計算。通過多次測試,定義初始模型具體參數(shù)如表5所示,模型架構如圖6所示。
表5 模型參數(shù)表Tab.5 Parameters of the model
圖6 一維卷積神經(jīng)網(wǎng)絡架構Fig.6 Structure of the 1D convolution neural network
如表2所述,將17組無故障樣本和13組抽空故障樣本作為訓練集,按照表4計算其27維有效特征集。然后將上述特征輸入前面定義的故障識別初始模型進行訓練,模型的Loss函數(shù)曲線如圖7所示。
圖7 離心泵1故障識別模型訓練Loss函數(shù)曲線Fig.7 Loss curve of the fault identification model of pump 1
由圖7可知,通過上述訓練集對識別模型進行訓練后,步數(shù)為1 200左右時Loss函數(shù)值已收斂至0,即訓練生成了有效的模型,保存該模型為離心泵1的故障識別模型。
3.1.4 測試樣本故障識別
如表2所述,將130組無故障樣本和80組抽空故障樣本作為測試集,按照表4計算其27維有效特征集。然后將上述特征輸入保存的故障識別模型,故障識別結果如表6所示。
表6 離心泵1故障識別結果Tab.6 Fault identification results of pump 1
由表6可知:①130組無故障測試樣本識別準確率為100%,80組抽空故障測試樣本識別準確率為96.3%,總準確率達到98.6%,識別準確率高,可用于離心泵故障的分類識別;②單組數(shù)據(jù)故障識別時間為2.41 s,計算速度快,可用于離心泵實時故障分析。
離心泵2為某石化常減壓裝置底油泵,雙支承結構,轉(zhuǎn)速為2 980 r/min,運行過程中發(fā)生了滾動軸承內(nèi)圈損傷故障。在線監(jiān)測系統(tǒng)采集的振動信號為軸承座振動加速度,數(shù)據(jù)信息如表7所示,樣本選擇上繼續(xù)模擬小樣本條件。其中一組正常和故障樣本時域波形如圖8所示。
表7 離心泵2振動數(shù)據(jù)集Tab.7 Vibration data of pump 2
圖8 離心泵2振動加速度時域波形Fig.8 Acceleration waveform of pump 2
3.2.1 混合域全特征集構造
同3.1.1節(jié),計算訓練樣本的101維混合域全特征集,并作歸一化處理。無故障和軸承損傷故障特征對比如圖9所示,全特征集中亦存在大量冗余特征。
圖9 離心泵2的全特征集對比Fig.9 Comparison of all features of pump 2
3.2.2 輸入特征降維優(yōu)化
同3.1.2節(jié),對混合域全特征集進行降維優(yōu)化,距離評估及有效特征對比,如圖10所示。
圖10 離心泵2特征降維Fig.10 Dimension reduction for features of pump 2
由圖10可知,選取出的有效特征能夠較為理想地區(qū)分無故障和軸承內(nèi)圈損傷故障狀態(tài),特征維數(shù)由101降為13,降維后特征組成如表8所示。
表8 離心泵2降維后特征集組成Tab.8 Features after dimension reduction of pump 2
3.2.3 故障識別模型建立
離心泵2故障識別初始模型同離心泵1。如表7所示,將255組無故障樣本和25組滾動軸承損傷故障樣本作為訓練集,按照表8計算其13維有效特征集。然后將上述特征輸入前面定義的故障識別初始模型進行訓練,模型的Loss函數(shù)曲線如圖11所示。
圖11 離心泵2故障識別模型訓練Loss函數(shù)曲線Fig.11 Loss curve of the fault identification model of pump 2
由圖11可知,通過上述訓練集對識別模型進行訓練后,步數(shù)為1 800左右時Loss函數(shù)值已收斂至接近于0,即訓練生成了有效的模型,保存該模型為離心泵2的故障識別模型。
3.2.4 測試樣本故障識別
如表7所示,將255組無故障樣本和25組滾動軸承損傷故障樣本作為測試集,按照表8計算其13維有效特征集。然后將上述特征輸入保存的故障識別模型,故障識別結果如表9所示。
表9 離心泵2故障識別結果Tab.9 Fault identification results of pump 2
由表9可知:① 255組無故障測試樣本識別準確率為98.8%,25組滾動軸承內(nèi)圈故障測試樣本識別準確率為100%,總準確率達到98.9%,識別準確率高,可用于離心泵故障的分類識別。②單組數(shù)據(jù)故障識別時間為2.29 s,計算速度快,可用于離心泵實時故障分析。
為驗證本文提出的故障識別方法在離心泵故障識別準確率和識別速度方面的優(yōu)勢,選取其他三種相似方法對上述兩個案例數(shù)據(jù)進行分析。
方法1使用原始振動波形作為輸入,以一維卷積神經(jīng)網(wǎng)絡建立故障識別模型[21]。將無故障和故障樣本數(shù)據(jù)分為數(shù)據(jù)長度為1 024的時域波形作為輸入,其中一組輸入波形如圖12所示。
方法2使用振動信號變換得到的時頻圖為輸入,以傳統(tǒng)卷積神經(jīng)網(wǎng)絡建立故障識別模型。將無故障和故障樣本時域波形經(jīng)過小波時頻變換得到小波時頻圖,其中一組時頻圖如圖13所示。
方法3對本文提出方法進行修改,去掉方法2的輸入特征降維優(yōu)化,即以混合域全特征集作為一維卷積神經(jīng)網(wǎng)絡的輸入。
圖12 方法1振動波形輸入Fig.12 The input of method 1
圖13 方法2時頻圖輸入Fig.13 The input of method 2
在相同的計算條件下,訓練樣本與測試樣本設置與3.1節(jié)及3.2節(jié)一致,模擬小樣本測試條件,使用上述三種方法及本文方法分別進行分析,訓練情況和識別結果如表10所示。
表10 4種模型性能對比Tab.10 Performance comparison of four models
由表10分析結果對比可知:
(1) 在小樣本訓練條件下,本文提出方法及其簡化版(即方法3)可成功完成模型訓練,即其具備小樣本訓練下建立模型的能力。而方法1和方法2出現(xiàn)了過擬合現(xiàn)象,即Loss函數(shù)曲線難以收斂至接近于0,如圖14和圖15所示,因此判斷這兩種方法不太適用于小樣本訓練條件。目前解決過擬合問題的有效方法為增加樣本數(shù)量[22],但需要增加的故障樣本數(shù)量往往較大,不太符合實際生產(chǎn)安全需求。
(2) 本文提出方法及其簡化版(即方法3)的故障識別準確率均在98%以上,識別效果理想,其中全特征輸入的識別率略高于降維特征輸入。方法1和方法2由于過擬合現(xiàn)象的出現(xiàn),導致建立的模型故障識別效果較差,為50%~65%。
(3) 本文提出方法及方法1、方法2在單組數(shù)據(jù)故障識別時間及模型訓練總時間方面存在明顯優(yōu)勢,其中單組數(shù)據(jù)識別時間均在3 s左右及以下,故障識別速度快,可滿足實時故障識別的需求。而方法3由于每組數(shù)據(jù)均需構造101維全特征集,導致其單組數(shù)據(jù)識別時間為14 s以上,為本文提出方法的6倍以上,難以滿足實時故障識別的要求。上述分析結果證明本文提出的基于補償距離評估的特征降維優(yōu)化方法可去除全特征集中的冗余信息,保留故障敏感特征,從而顯著減少特征構造與故障識別時間。
因此,對比上述四種方法,本文提出方法在小樣本條件下模型訓練效果、故障識別準確率、識別時間及訓練時間4個方面均具有明顯優(yōu)勢,可用于工程中離心泵故障的快速智能識別。
圖14 離心泵1故障識別模型訓練的Loss函數(shù)曲線Fig.14 Loss function curve of the fault identification model for pump 1
圖15 離心泵2故障識別模型訓練的Loss函數(shù)曲線Fig.15 Loss function curve of the fault identification model for pump 2
(1) 本文提出的基于補償距離評估和一維卷積神經(jīng)網(wǎng)絡的故障快速智能識別方法能十分有效地實現(xiàn)離心泵故障的識別,故障識別準確率高且識別速度快,可滿足工程應用需求。
(2) 通過混合域全特征集的構造,可充分挖掘訓練樣本中的故障信息,提高單個樣本的利用率,進而使模型具備小樣本訓練的能力。
(3) 通過補償距離評估方法對全特征集進行降維優(yōu)化,可在保留故障相關信息的同時顯著降低特征維度,進而大幅降低特征構造、故障識別與模型訓練所需時間,使模型具備快速故障識別的能力。
(4) 使用已有案例數(shù)據(jù)訓練由上述方法建立的故障識別模型,模型內(nèi)部可自動生成對應故障的識別方法,進而用于后期監(jiān)測數(shù)據(jù)的智能分析與故障智能診斷。