侯榮濤,周子賢,趙曉平,謝陽陽,王麗華
(南京信息工程大學 a.計算機與軟件學院;b.江蘇省網絡監控中心;c.信息與控制學院,南京 210044)
滾動軸承通常工作于大型機械內部,其信號具有成分復雜、特征能量微弱、非線性等特點,因此故障診斷較為困難。此外,隨著機械設備群的規模不斷變大、效率不斷提高,故障檢測設備獲得的數據量也急劇增大。因此研究適用于“大數據”背景下的滾動軸承故障檢測方法顯得非常重要[1]。
目前,滾動軸承故障診斷的方法通常需要經過特征提取和模式識別2個步驟[2]。常用的特征提取方法有小波變換、經驗模態分解等[3]。文獻[4]提出STFT Viterbi擬合法極大降低了噪聲和干擾對特征提取的影響,能夠精確估計滾動軸承瞬時頻率。模式識別算法中,文獻[5]提出了一種基于EMD和支持向量機的滾動軸承故障診斷方法,通過EMD變換得到故障敏感信息的本征模態函數,然后輸入SVM分類器進行故障診斷。文獻[6]提出基于小波包和Bayes網絡的軸承診斷方法,利用小波包分解與特征提取函數提取軸承各頻帶上的特征信息,輸入BN模型進行軸承的故障診斷。以上方法都能夠獲得較高的診斷識別率,但在信號特征提取時需人工調整參數,處理過程較耗時且算法效率偏低。此外,算法訓練時樣本數量過少,處理海量實際信號時正確率難以保障。
目前,深度學習理論及其訓練策略[7-9]在機械健康診斷領域的應用正在增加,文獻[10]將信號經過奇異值分解后輸入深信度網絡,得到的滾動軸承故障診斷系統效果理想。文獻[11]提出構建堆疊自編碼器網絡,將“海量”信號轉化為頻域數據輸入網絡模型,實現了大數據環境下齒輪的故障診斷。以上算法在單一故障的滾動軸承信號診斷中效果良好,對于復合故障信號的處理效果未進行探究。
綜上,針對滾動軸承信號非平穩、數據龐大等特點,結合深度學習方法提出了基于堆疊稀疏自編碼(Stacked Sparse Autoencoder,SSAE)的滾動軸承故障診斷方法。SSAE算法通過梯度下降法逐層無監督的訓練堆疊稀疏自編碼網絡,實現信號的特征提取,然后將提取的特征信號輸入softmax分類器進行分類,根據分類結果與原信號標簽的差異對網絡進行微調,進一步優化網絡,從而實現精確的故障診斷。
自動編碼器(Autoencoder,AE)[12-13]是一個3層的無監督神經網絡,包括輸入層、隱藏層和輸出層,其網絡結構如圖1所示。

圖1 自動編碼器結構
假設輸入樣本集為{x1,x2,…,xk},先使用編碼函數fθ將每個訓練樣本xn轉化為隱藏層矢量,即
hw,b(x)=fθ(xn)=s(Wxn+b),
(1)
式中:s為sigmoid激活函數;θ為編碼網絡的參數矩陣,θ={W,b};W為輸入層到隱藏層的權值矩陣;b為偏置項系數。

(2)
式中:θ′為解碼網絡的參數矩陣,θ′={W′,b};W′為隱藏層到輸出層的權值矩陣;b′為偏置項系數。
AE算法通過網絡訓練尋找最優的參數矩陣,最小化輸出數據與輸入數據間的誤差。因此,需要構建誤差損失函數用于網絡訓練,損失函數定義為
(3)

自動編碼器強大的非線性表達能力使其常對數據擬合過度,為提高算法的實用性,需要對自動編碼器的學習能力加以限制。
稀疏自編碼(Sparse Autoencoder,SAE)通過對AE網絡加入稀疏性限制,使得部分隱藏層神經元處于抑制狀態,而能夠表示輸入數據間關聯的神經元處于激活狀態,從而增強特征提取能力。
(4)

(5)
堆疊稀疏自編碼是由多個SAE堆疊而成的深度網絡,其基本思想是訓練SSAE網絡,使輸出的低維信號在包含故障本質特征的同時去除高維信號中的干擾部分,最終將訓練得到的特征用于分類器識別。因此,基于稀疏性和堆疊理論的SSAE算法能夠提取高維數據的特征因子,增強算法的魯棒性,提高特征的線性可分性。
根據軸承故障診斷需求,設計由3個稀疏自編碼和1個分類器組成的3層SSAE網絡,如圖2所示。SSAE將上級SAE隱藏層輸出的特征向量作為下級隱藏層的輸入向量,使用梯度下降法逐層訓練SAE網絡,并通過多次迭代更新各層網絡的參數矩陣,提取輸入信號的特征信息。參數矩陣更新公式如下,其中μ表示學習率,

圖2 SSAE網絡結構
(6)
最后,將SAE3的輸出通過softmax分類器進行分類,計算分類器輸出與期望值的誤差,利用BP反向傳播算法微調整個網絡的權值和偏置,經過多次迭代收斂誤差,最終實現滾動軸承的故障診斷。
使用逐層無監督的方法訓練每一層神經網絡,多層的網絡結構能增強各類輸入數據間的差異[14]。輸入信息每經過一層網絡,特征信息都沒有丟失或者丟失的是冗余信息。綜上所述,SSAE網絡保留了原始信息的類型特征并且使分類邊界更加清晰,增強了數據線性可分性,能夠更好地提取到信息的特征表示。
滾動軸承的振動信號具有復雜性、非平穩性,且不同故障信號表現出相似性等特點。采集的時域信號成分復雜,難以提取有效的特征分量;而頻域信號由復雜時域信號分解的多個頻率成分疊加而成,能夠更清晰地顯示信號的構成。因此,為了提高算法的效率和實用性,將頻域信號進行歸一化處理后輸入SSAE網絡。
基于SSAE的滾動軸承故障診斷訓練分為5個步驟,其流程如圖3所示。

圖3 軸承故障診斷流程圖
1)SSAE網絡數據預處理。采集滾動軸承不同故障狀態的時域振動信號,使用Fourier變換將其轉換為頻域信號,進行歸一化處理后輸入網絡進行訓練。
2)SSAE網絡結構設定。根據實際數據大小確定網絡深度、各層神經元的數量和學習率等參數;再依據不同的任務需求設定合適的代價函數及優化策略。
3)SSAE網絡訓練。首先逐層訓練自編碼網絡,將前一層網絡的輸出作為下一層網絡的輸入,提取特征信息;將最后一層網絡的輸出作為softmax分類器的輸入,通過反向傳播算法微調整個網絡的權值和偏置等參數。
4)SSAE網絡診斷精度測試。根據訓練結果判斷是否滿足實際期望的診斷正確率(95%以上)。如果診斷正確率過低則修正SSAE網絡,再重復第2和第3步,直到達到預期精度。
5)SSAE網絡構建完成。
為驗證基于堆疊稀疏自編碼的深度神經網絡對滾動軸承故障的診斷效果,以動力傳動故障診斷試驗臺為對象,采集各種故障狀態下的滾動軸承振動信號進行分析。動力傳動故障診斷試驗臺如圖4所示,其由驅動電動機、2級行星齒輪箱、定軸齒輪箱和磁粉制動器組成,傳感器裝于定軸齒輪箱端蓋處。

圖4 動力傳動故障診斷試驗臺
試驗軸承為ER-16K型軸承,使用電火花技術分別在軸承內圈、外圈與滾動體上設置一個直徑2 mm、深0.5 mm的點蝕,驅動電動機轉速為3 600 r/min,采樣頻率為5.12 kHz。試驗中使用的5種軸承狀態見表1,其中復合故障包含外圈、內圈和滾動體3種故障成分。
隨機選取每類總樣本數據的20%作為測試數據,剩余的80%作為訓練數據,即每類數據均具有1 600組訓練樣本和400組測試樣本,其中每組樣本均包含3 000個連續的數據采樣點(包含軸承旋轉多個周期)。軸承5種狀態下的時域信號波形如圖5所示。
選擇頻域樣本用于SSAE網絡訓練,并對診斷結果進行分析。此外,SSAE網絡框架的構建與參數設置對滾動軸承的診斷效果有一定影響,因此比較了網絡深度與迭代次數對最終診斷效果的影響。
SSAE網絡訓練方法如下:

2)對樣本進行歸一化處理,輸入訓練數據開始SSAE網絡訓練,根據重構誤差構建損失函數,通過逐層梯度下降算法調整權值,縮小重構誤差。
3)訓練結束后,輸入測試集測試SSAE網絡的診斷正確率,根據診斷正確率再次調整SSAE網絡結構與參數。
3.2.1 網絡深度對診斷結果的影響
構建N層SSAE網絡(N=2,3,4,5,6),利用SSAE網絡分別對滾動軸承5種狀態下的頻域數據進行分析診斷,試驗總體識別率如圖6所示。

圖6 不同深度網絡診斷結果
從圖6中可以看出,以頻域信號作為輸入樣本時SSAE算法診斷效果良好,不同網絡深度的診斷正確率都在96%以上。當SSAE網絡深度為3,網絡結構3 000-200-100-50-5(輸入信號長度為3 000個點;中間3個隱藏層神經元數量分別為200,100,50;輸出為5類二進制標簽)時正確率達到100%。此外,隨著網絡層數的增加,診斷正確率不斷波動,因此并非網絡層數越深診斷效果越好。此外,網絡層數變大還會導致計算量的增大,因此選擇3層SSAE網絡用于滾動軸承故障診斷效果最佳。
為進一步分析SSAE網絡較SAE網絡(單隱層網絡)特征提取的優勢,提取頻域樣本訓練SAE,SSAE網絡輸出的隱藏層特征,利用主成分分析提取這些特征的前3個主成分并進行可視化,結果如圖7所示。圖7a為頻域信號在SAE網絡中提取的特征主成分散點圖。可以看到各類滾動軸承狀態的散點沒有完全呈現規律的聚集狀態,內圈故障的散點部分與復合故障的散點交叉,說明單隱層的SAE網絡對頻域信號的特征提取能力還有不足。圖7b為SSAE網絡提取的頻域信號散點圖。圖中不同滾動軸承健康狀態的散點都聚集于一處,同時能夠與其他故障明顯的分離,因此能取得100%的診斷正確率。

圖7 提取特征的散點圖
3.2.2 迭代次數對診斷結果的影響
由于不同迭代次數對SSAE網絡的診斷效果具有一定影響,所以研究比較了迭代次數對SSAE網絡最終分類效果的影響,試驗結果如圖8所示。

圖8 不同迭代次數診斷結果圖
從圖中可以看出:頻域信號輸入SAE網絡的初始診斷正確率較高,迭代次數20次時已達到98.25%,但隨著迭代次數的增加正確率提升緩慢;而SSAE網絡在迭代次數到達60次時,診斷正確率已經超過單隱層的SAE網絡,且隨著迭代次數的增加正確率繼續提升,在迭代次數到達150次時,診斷正確率達到100%。
3.2.3 頻域特征提取效果分析
為了驗證SSAE算法特征提取能力,提取頻域信號作為輸入樣本時滾動軸承5種狀態在SSAE網絡中第3隱藏層的輸出信號,其可視化結果如圖9所示。從圖中可以看出:軸承5種狀態以不同顏色的信號代表并以虛線隔開,可以發現不同故障的輸出波明顯不同。為了更直觀地比較不同樣本對特征提取的影響,將每類故障的隱藏層輸出與其他4類狀態的隱藏層輸出做了相關性分析,結果如圖10所示。圖中不同故障間相關系數普遍較低(均值20.54%),其中,復合故障與滾動體故障相關系數最高僅為44.82%,因此能夠較好地區分各類故障。

圖9 5種狀態SSAE網絡的隱藏層輸出

圖10 頻域相關系數比較
綜上所述,SSAE網絡能夠無監督地從滾動軸承的頻域信號中提取故障特征,同時保證不同健康狀態間的區別度,能夠自適應地實現滾動軸承故障診斷。此外,當構建3層網絡并以頻域信號作為樣本時取得診斷精度最高。
為驗證上述算法的有效性,與EMD+SVM算法以及BP神經網絡進行對比分析。此外,為更好地體現SSAE網絡的優勢,增大了BP神經網絡深度,以構建與SSAE網絡結構相同的BP神經網絡結構,即網絡模型均為3 000-200-100-50-5(輸入信號長度為3 000個點;中間3個隱藏層神經元數量分別為200,100,50;輸出為5類故障標簽)。
試驗數據統一采用表1的5類滾動軸承數據,共包含10 000組樣本。同樣以80%數據作為訓練數據,剩余20%作為測試數據。不同診斷方法下滾動軸承的故障識別率見表2。

表2 不同診斷方法識別率
由表2可知: EMD+SVM方法診斷精確度為85.32%,表明在處理復雜時域信號時,基于EMD自適應分解方法的診斷結果較為理想。將輸入樣本改為頻域信號后,單層BP神經網絡的診斷性能低于EMD+SVM方法,但其分類準確率依然不足80%。這是因為BP神經網絡收斂速度較慢且易產生局部最優解,診斷精度難以滿足實際需求。此外,同樣網絡結構及同等規模的BP神經網絡相比,SSAE算法通過構建深層網絡,使用梯度下降方法和反向傳播算法進行網絡訓練,能夠自適應地提取出故障的特征表示,對故障的分類更加準確。
針對滾動軸承信號非平穩,數據量大等特點,提出了基于SSAE的滾動軸承故障診斷方法。SSAE網絡能夠自適應地提取軸承信號特征,有效區分不同類型故障,通過采集不同故障類型的軸承數據進行試驗,結果表明該方法能夠有效提取軸承故障特征且診斷精度高于傳統方法,適用于滾動軸承故障的精確診斷。但不足之處在于信號預處理時僅將信號做了時頻域轉化,如何根據軸承的故障機理與工況選擇其他信號預處理方法,從而更精確、更高效地識別滾動軸承健康狀況需要進一步的研究。