周文宣, 劉 洋, 鄧敏強, 丁 雪, 鄧艾東
(1.國家能源集團宿遷發電有限公司,江蘇宿遷 223803;2.東南大學 能源與環境學院, 火電機組振動國家工程研究中心,南京 210096)
滾動軸承是旋轉機械設備中常用的零部件,其健康狀態關系到設備運行的可靠性與穩定性[1]。但滾動軸承在高轉速、重負載工況下長期運行,故障頻發,若得不到及時維護,將導致設備其他零部件損壞,進而造成更大的經濟損失。因此,實現對滾動軸承健康狀態的準確識別具有重要意義。
受需求及環境等多種因素影響,滾動軸承并非在單一工況下運行,而是常常運行在變速變載荷條件下,工況變化在一定程度上增加了故障特征與故障模式間映射關系的復雜性,給機械設備的狀態監測帶來了巨大挑戰。針對滾動軸承的故障診斷問題,國內外學者開展了大量的研究工作。以數字信號處理為基礎的診斷方法研究較早,萬書亭等[2]提出了一種融合概率主成分分析和Teager能量譜的特征提取方法;唐明等[3]提出了一種基于階次解調譜的故障診斷方法。該類方法往往對專家經驗有較強的依賴性,在變工況條件下應用有一定的局限性。隨著機器學習技術的不斷深入,基于數據驅動的軸承故障診斷方法取得較大的進展。張淑清等[4]提出用雙樹復小波分解振動信號進而提取故障特征,用深度信念網絡實現軸承故障模式識別的方法;康守強等[5]提出了一種利用變分模態分解構造特征集與半監督遷移成分分析相結合的方法,在變工況條件下取得了良好效果。然而這些依賴于人工提取特征的方法難以實現設備故障的自動診斷。為了擺脫人工提取特征帶來的限制,深度學習方法展現了巨大潛力,趙小強等[6]提出一種基于改進Alexnet的滾動軸承變工況故障診斷方法,將構建好的二維特征圖輸入到卷積神經網絡中,實現了自適應特征提取,以進行軸承智能故障診斷。為了得到在變工況下故障診斷表現能力依然很強的特征,對于普通神經網絡有必要選取足夠多的訓練樣本,但在實際應用中往往難以滿足。
筆者針對上述問題提出了一種基于卷積自編碼(Convolutional Auto-encoders,CAE)和卷積神經網絡(Convolutional Neural Networks, CNN)的軸承故障診斷模型CAECNN模型。該模型以單一工況下的數據作為源域,以變工況下的數據作為目標域。卷積自編碼的編碼器由多層卷積層組成,解碼器由反卷積層組成,模型對源域和目標域數據進行訓練,首先經過編碼器獲得特征參數矩陣F,然后輸入到解碼器得到重構數據并計算損失;軸承故障診斷模型為淺層卷積神經網絡,其輸入為源域數據經過編碼器輸出的特征參數矩陣F,輸出軸承狀態類別并計算損失;以上述兩者的損失之和作為總損失進行訓練,使源域與目標域數據經過編碼器之后提取的特征分布更為接近,以此實現變工況下數據的特征域遷移,有助于CNN模型在變工況下的故障診斷。
卷積神經網絡經過多年的發展,已經在圖像處理[7]等方面得到廣泛應用。研究表明,通過卷積神經網絡可以學習人工提取難以得到的深層次特征,因此有助于提高模型的判別能力和泛化能力。圖1給出了常見的一維卷積神經網絡結構。該卷積神經網絡由輸入層、卷積層、池化層、全連接層和輸出層組成,卷積層和池化層兩者交替設置。卷積層使用一定大小的卷積核對輸入特征面的局部區域進行卷積運算,通過非線性激活函數后輸出多個特征面,同一輸入特征面與同一輸出特征面中共用相同的卷積核,以實現權值共享,易于訓練。池化層一般設置在卷積層之后,其輸出的特征面一一對應于上一層卷積層輸出的特征面,通過特定大小的窗口對局部接受域進行下采樣,具有特征信息整合及降維的作用。

圖1 一維卷積神經網絡結構
反卷積又稱為轉置卷積,在場景分割、生成模型等領域得到廣泛應用。卷積操作可以實現特征尺寸的減小,而反卷積操作可以使特征尺寸增大,其正向與反向傳播運算為卷積操作的正向與反向傳播的逆運算。
自編碼神經網絡(Auto-encoders Networks,AE)是一種基于數據重構思想的網絡結構,其結構多樣,常被應用于異常檢測、模式識別[8]和噪聲處理[9]等領域。圖2為一個簡單的自編碼神經網絡結構圖,其結構主要由編碼器和解碼器組成,且兩者結構對稱,即神經元數量和層數相同,目標是通過學習使輸出信號與輸入信號之間的差別最小,傳統的自編碼神經網絡的編碼器和解碼器都是由全連接層組成的,通常設置中間隱藏層神經元數量小于輸入數據維度,可以起到特征提取、篩選和融合的作用。
自編碼神經網絡編碼階段和解碼階段的數學描述如下:
h=σe(W1x+b1)
(1)
y=σd(W2h+b2)
(2)
式中:h為隱藏層的輸出值;σe和σd為激活函數;W1和b1分別為編碼器的權重和偏置;W2和b2分別為解碼器的權重和偏置;y為輸出數據;x為輸入數據。

圖2 自編碼神經網絡結構
全連接神經網絡結構較為單一,在提取深層次特征和多樣性特征方面有一定的局限性,卷積神經網絡的優異性能推動了卷積自編碼的誕生,它是傳統自編碼神經網絡的一個變種,圖3為一個簡單的卷積自編碼神經網絡結構圖。卷積自編碼的編碼器和解碼器不再使用全連接層,編碼器被卷積層和池化層代替,解碼器被反卷積層代替。卷積核數量和大小的多樣化設置使卷積層相比全連接層具有更加強大的特征提取能力,尤其是在圖像處理領域得到廣泛的應用。

圖3 卷積自編碼神經網絡結構
變工況下風電滾動軸承的故障特征不僅受到強背景噪聲的干擾,也受到轉速、扭矩等時變運行參數的影響。所提出的CAECNN模型將卷積自編碼神經網絡引入到基于卷積神經網絡的軸承故障診斷模型中,其結構如圖4所示,核心思想是以軸承故障診斷模型的中間特征空間作為遷移目標,利用卷積自編碼實現變工況下數據特征域的自適應。卷積自編碼的損失函數Lcae(x,y)為均方誤差,如式(3)所示。軸承故障診斷模型采用交叉熵損失函數Lc(x,z),如式(4)所示。CAECNN模型的損失函數L(x,y,z)為兩者之和,如式(5)所示。
(3)
(4)
L(x,y,z)=Lcae(x,y)+Lc(x,z)
(5)


圖4 CAECNN結構
CAECNN模型的網絡參數如表1所示,其訓練的基本流程如下:
(1) 獲取數據。以某一工況下有標簽的軸承振動信號數據為源域,變工況下的數據作為目標域。
(2) 將源域和目標域數據一起輸入到編碼器中得到特征參數矩陣F,然后輸入到解碼器中得到還原數據,并計算均方誤差損失。
(3) 將源域數據的特征參數矩陣F輸入到CNN中,輸出軸承狀態類別并計算交叉熵損失。
(4) 計算步驟(2)與步驟(3)的損失之和及其梯度,進行反向傳播,更新模型參數。
(5) 重復步驟(2)~步驟(4),直到損失函數趨于穩定,模型訓練結束。
(6) 將變工況下的數據先輸入到編碼器中得到特征參數矩陣F,然后輸入到軸承故障診斷模型中得到狀態類別,完成變工況下的軸承故障診斷。

表1 CAECNN網絡參數
考慮變負載和變轉速都屬于軸承變工況,本文的2個軸承數據集中數據集Ⅰ采用美國凱斯西儲大學軸承數據中心的滾動軸承振動加速度數據,為變負載工況數據集;數據集Ⅱ選取加拿大渥太華大學的滾動軸承振動加速度數據,為變轉速工況數據集。
數據集Ⅰ采集自電機驅動端的6205-2RS-JEM SKF型深溝球滾動軸承,信號采樣頻率為12 000 Hz,共有A、B、C、D 4種工況,具體見表2,每種工況包括4種狀態類型:正常、內圈故障、外圈故障和滾動體故障。取1 024個數據點為一個樣本,某一工況下每種狀態類型有480個樣本。
數據集Ⅱ測試軸承的型號為ER16K,主要包括正常、內圈故障和外圈故障3種類別的振動信號。在勻變速的工況下進行實驗,轉速的變化范圍為900~1 620 r/min,信號的采樣頻率為200 000 Hz。取1 024個數據點為一個樣本,某一工況下每種狀態類型有120個樣本,具體的實驗樣本情況見表3。

表2 數據集Ⅰ樣本

表3 數據集Ⅱ樣本
設置對比模型有以下3種:(1)CNN模型,即筆者所提模型中的CNN軸承故障診斷模型;(2)殘差卷積神經網絡ResCNN,其結構見參考文獻[10];(3)支持向量機(SVM),提取的特征參數包括6個時域特征參數(均方根、峭度、偏度、波形因子、峰值因子和標準差)、5個頻域特征參數(中心頻率、均方頻率、均方根頻率、頻率方差和頻譜散度)和4個時頻特征參數(包絡階次譜中旋轉階次以及滾動軸承內圈、外圈、滾動體故障特征階次處的幅值)。
3.3.1 訓練過程分析
本實驗采用Pytorch深度學習框架,首先使用數據集Ⅰ進行驗證,以0 W負載工況下的數據作為源域,并將數據劃分為訓練集、驗證集和測試集,以其余工況下的數據作為目標域數據,全部數據作為測試集進行診斷效果評估。訓練過程中采用Adam優化器,學習率為0.000 3,訓練輪數為600,小批量mini-batch大小為32。圖5給出了CAECNN模型訓練過程中前100輪的損失函數。由圖5可以看出,模型整體訓練過程較好,在訓練初期損失函數迅速下降,在30輪之后損失函數已經達到0.01,驗證集診斷準確率達到100%,該過程中CNN模型和CAE模型的損失函數均迅速下降;之后損失函數開始平穩緩慢地下降,該過程主要是CAE模型損失函數的下降過程,600輪時損失函數為0.000 9,因其下降較緩慢不作展示。

圖5 損失函數
3.3.2 CAE模型訓練結果分析
圖6給出了數據集Ⅰ工況A下原始數據與經過CAE模型之后的重構數據的對比。由圖6可以看出,原始數據與重構數據的波形圖基本一致,由于CAE具有去噪功能,2種數據圖僅存在一些細微的差別。此外經過600輪訓練后,損失函數達到0.000 9,這也說明了CAE模型的訓練效果較好。因此,經過編碼器之后提取的特征參數矩陣F能很好地反映數據自身存在的一些性質。


正常狀態


內圈故障


滾動體故障


外圈故障
3.3.3 診斷準確率對比
為了對比所選取的4個模型的診斷效果,本實驗以數據集Ⅰ工況A下的數據作為訓練數據,并將其20%的數據作為測試集,為了模擬變工況條件,以其余負載工況下的全部數據作為測試集,各模型在測試集上的的診斷準確率如表4所示,每個模型中的每個診斷任務均是3次訓練并預測取平均值的結果。由表4可以看出,對于A診斷任務,即工況A下的測試集,各模型的診斷準確率均較高,ResCNN、CNN、CAECNN模型的診斷準確率可以達到100%,SVM的診斷準確率達到97.6%,但是對于變工況下的數據,各模型的診斷準確率均有所下降。對比B、C、D診斷任務的診斷準確率以及平均值可以看出,基于人工提取特征的SVM在3個變工況下的故障診斷準確率均較低,其原因可能是所提取的特征并不具有很好的表達能力以及模型自身在變工況下的局限性;而ResCNN、CNN、CAECNN模型平均診斷準確率都高于92%,其中ResCNN在變工況下的診斷能力較為穩定且表現良好,在3個診斷任務上的診斷準確率均比CNN模型高。CAECNN模型的診斷準確率大幅提升,對于B、C診斷任務已經超過99.5%,對于D診斷任務的診斷準確率較低,為93.5%,但相比其他模型仍然具有優勢,該模型的平均診斷準確率高于97%。

表4 測試集診斷準確率
3.3.4 變轉速結果分析
為了驗證CAECNN模型的普適性,使用數據集Ⅱ進行驗證,以轉速為900~1 080 r/min時的數據作為訓練數據,其余轉速下的數據視為變工況數據,各模型在各工況下的診斷準確率如圖7所示,其中每個模型有E、F、G、H 4個診斷任務。由圖7可以看出,在數據集Ⅱ上各個模型診斷準確率的分布規律與數據集Ⅰ上基本一致,基于人工提取特征的機器學習模型SVM的診斷效果最差,而CAECNN模型在CNN的基礎上加入CAE,其診斷準確率有了較大的提升,證明了該模型的有效性。
(1) 所提出的CAECNN模型聯合單一工況下有標簽的數據和變工況下無標簽的數據進行訓練,變工況下其平均診斷準確率高于97%,相比未引入卷積自編碼神經網絡的CNN模型有了較大提升。

圖7 診斷準確率
(2) CAECNN模型訓練過程較為穩定,易于訓練,且卷積自編碼神經網絡基于數據重構思想,有一定的降噪作用。CAECNN模型在變負載和變轉速工況數據集上均表現良好,具有一定的普適性。