劉 偉,單雪垠,李雙喜*,張志華,姚思雨
(1.北京化工大學 機電工程學院,北京 100029;2.石河子大學 機械電氣工程學院,新疆 石河子 832003)
滾動軸承是現代機械設備,尤其是旋轉機械中常用的零部件,其通常工作在高溫、高壓和高速旋轉的惡劣環境中,所以極易發生故障。據有關部門的統計,在工業領域,由滾動軸承失效引起的機械設備故障占比達41%[1]。
采用故障診斷技術,不僅可以對機械設備的運行狀態進行實時監測,還可以對故障的部位和損傷程度進行識別,提高機械設備的可靠性和穩定性。因此,開發以滾動軸承為研究對象的故障診斷技術,對于提高整個機械系統的安全性意義重大。
隨著現代機械設備逐漸向復雜化和智能化方向發展,針對滾動軸承運行狀態的監測也進入了“大數據”時代。為了取得較好的診斷效果,傳統的故障診斷技術需要復雜的信號處理方法和專業的背景知識。而面對“大數據”時代海量的數據,這個過程通常需要大量的人力,這在一定程度上制約了傳統技術的應用前景。
近年來,隨著人工智能技術的迅猛發展,基于深度學習理論的故障診斷技術得到了廣泛應用。該技術尤其適用于解決復雜場景中的軸承故障診斷問題[2,3]。在此背景下,許多學者已經開展了大量的研究工作。
韓濤等人[4]首先對滾動軸承振動信號進行了多小波變換(multi-wavelet transform,MWT)處理,得到了相應的多小波系數分支,在此基礎上構造了特征圖,建立了卷積神經網絡(CNN)分類器模型,實現了對滾動軸承復合故障的智能診斷。吳春志等人[5]提出了一種基于一維CNN的齒輪箱故障診斷模型,可以直接從原始振動信號中學習特征,并完成了對齒輪箱故障的診斷。張向陽等人[6]針對滾動軸承故障激勵下的機匣微弱故障特征,使用連續小波尺度譜法將一維原始信號轉化為二維圖像信號,并將其輸入CNN網絡中,對滾動軸承故障進行了識別。王海龍等人[7]結合了經驗模態分解(empirical mode decomposition,EMD)與CNN方法,將滾軸承信號經EMD處理得到的模態分量,與原始振動信號一起構建了二維特征圖,再將特征圖輸入到CNN中,取得了較好的滾動軸承診斷結果。針對滾動軸承振動信號存在噪聲干擾等問題,董紹江等人[8]提出了一種抗噪多核卷積神經網絡,并在網絡中添加了dropout層,提高了模型的抗干擾能力。劉紅軍等人[9]通過格拉姆角差場,將一維時序振動信號轉化為二維圖像,提取出了其圖像特征,并將其輸入到改進的CNN模型中,再通過Adam小批量優化法對其進行了迭代訓練,最后取得了理想的故障檢測精度。
傳統的基于CNN的軸承故障診斷技術主要使用振動信號的時域信息或者頻域信息,但是都沒有將二者有效地結合起來,并加以更好地利用。
基于上述原因,筆者提出一種基于并行1DCNN(一維卷積神經網絡)的滾動軸承故障診斷方法。首先對滾動軸承振動信號進行處理,然后構建由兩個通道組成的并行1DCNN模型,一個通道學習振動信號時域信息,另一個通道學習振動信號頻域信息,由此加快信號處理速度,并減少運算量,以有效提高軸承信號中故障特征信息的利用率,增強模型的故障識別精度。
卷積神經網絡(CNN)是一種多層次的結構模型,由輸入層、卷積層、池化層、全連接層和輸出層組成[10]。
(1)輸入層。作為CNN的第一層,輸入層用來接收訓練和預測的樣本,并對輸入樣本的大小和格式等進行校驗。
(2)卷積層。卷積層是CNN的核心[11],通過卷積運算可以有效提取輸入圖像數據的特征信息。
卷積層的具體運算如下:
(1)

需要說明的是,從卷積層的輸入到輸出是線性映射,無法逼近復雜函數。為了使卷積層具有非線性輸出能力,通常引入激活函數,其作用是對卷積層的輸出進行非線性映射,一般采用修正線性單元(rectified linear unit,ReLu)作為一維CNN的激活函數。
(3)池化層。池化層的作用是對網絡進行下采樣,降低數據的維度,從而減少CNN中需要訓練的參數。網絡參數過多不僅會降低訓練速度,而且容易引起過擬合[12]。因此,通常在某些卷積層后添加池化層進行下采樣。池化一般有3種策略,即均值池化、最大池化和最小池化。目前,CNN廣泛使用的是后兩種,即:
(2)
(3)

(4)全連接層。全連接層將前幾層處理得到的二維特征進行拼接,得到一個一維特征,并和分類器配合使用,實現分類功能[13,14]。
(5)輸出層。輸出層包含分類器,其作用是對訓練特征進行分類,并在訓練時將與目標函數的誤差反饋給CNN來迭代更新權重。
傳統的1DCNN網絡模型如圖1所示。

圖1 1DCNN網絡模型
由于該模型僅使用了信號的時間域相關信息,為了能充分利用頻域信息,筆者提出一種并行的1DCNN網絡模型。
由于滾動軸承產生的振動信號為一維時序信號,因此,在此處筆者主要研究一維CNN。
并行1DCNN由兩個通道組成,可以分別獲取振動信號的時域信息和頻域信息。提取時域信息時使用相對較小的卷積核,提取頻域信息時使用相對較大的卷積核,其目的是保證在獲取故障特征信息的同時,可以加快網絡的訓練速度。
與傳統單通道CNN模型相比,由于并行1DCNN模型可以充分利用所提取的時域和頻域特征信息,具有更加出色的故障診斷能力。
并行1DCNN的模型結構如圖2所示。

圖2 并行1DCNN網絡模型
圖2中,第一個卷積層針對時域信息和頻域信息分別使用了小卷積核和大卷積核,之后都使用較小的卷積核;同時,在每個卷積層中都設置補零操作,目的是確保卷積層的輸入和輸出具有相同的維度,有利于保護信號的邊緣信息。
在對軸承信號進行處理的過程中,小卷積核參數參照傳統的1DCNN模型,大卷積核參數根據CNN感受野的相關公式確定。
CNN的感受野示意圖如圖3所示。

圖3 感受野示意圖
圖3中,輸入信號中的黑色神經元表示最后一個池化層的神經元在輸入信號中的感受野。構建CNN的核心是確定感受野,即一個神經元在其下層網絡中的感知范圍[15]。由于機械振動信號具有周期性,且每一個輸入信號的相位不一定相同。為了使網絡學習到位移無關的特征,應確保最后一個池化層的神經元在輸入信號中的感受野大小要大于一個信號周期。
設并行1DCNN中,R(0)為最后一個池化層的神經元在輸入信號中的感受野,T為信號采集時一個周期的樣點數,L為一維時序信號的長度,則感受野R(0)應該滿足T≤R(0)≤L,其計算過程如下:
最后一個池化層的神經元在第K個池化層的感受野R(K)與在第K-1個池化層的感受野R(K-1)之間滿足如下關系:
R(K-1)=S(K)(P(K)R(K)-1)+W(K)
(4)
式中:S(K)—第K個卷積層的步長;W(K)—第K個卷積核的寬度;P(K)—第K個池化層降采樣點的個數。
文中,當層數K>1時,S(K)=1,W(K)=3,P(K)=2,則式(4)可簡化為:
R(K-1)=2R(K)+2
(5)
當K=n時,R(n)=1,則最后一個池化層在第一個池化層的感受野為:
R(1)=2n-1×3-2
(6)
根據上述關系可以計算出最后一個池化層的神經元在輸入信號上的感受野為:
R(0)=S(1)(P(1)R(1)-1)+W(1)=
2S(1)(2n-1×3-2)+W(1)-S(1)≈
S(1)(2n×3-4)
(7)
由于T≤R(0)≤L,T≤S(1)(2n×3-4)≤L,同時步長S(1)應該能夠整除信號長度L。此處輸入信號的長度為1 024,周期T為400,當卷積層數為5時,S(1)選定為8,卷積寬度不小于3倍步長。因此,此處第一次卷積核寬度選為24。為了同時提取滾動軸承振動信號中的時域和頻域信息,并行1DCNN的另一通道使用較小的卷積核。
需要說明的是,在傳統的1DCNN中通常使用全連接層。然而全連接層的缺點是訓練參數較多,降低了模型的訓練速度,容易導致過擬合[16,17]。為此,在并行1DCNN模型中,筆者使用全局最大池化層替換了全連接層。
另外,為了提高故障的診斷效率,筆者在并行1DCNN模型中使用了回調函數,確保當損失不再發生變化時停止訓練。筆者結合了Model Checkpoint與Early Stopping回調函數,當監控目標指數在設定的輪次內不再改變,可以用EarlyStoppin終止模型訓練,同時ModelCheckpoint在訓練的過程中可以不斷保存模型,以獲得最佳模型。
為了驗證并行1DCNN模型的有效性,筆者使用美國凱斯西儲大學(case western reserve university,CWRU)的軸承數據集進行仿真模擬。
CWRU實驗臺如圖4所示。

圖4 CWRU實驗臺
在所使用的數據集中,工作臺轉速為1 772 r/min,一個周期內可以采集400個樣點。軸承故障包括內圈、外圈和滾動體故障,每種故障對應3種不同的損傷程度,且故障尺寸分別為0.007 ft、0.014 ft、0.021 ft。
筆者分別選取3組不同損傷程度的內圈故障數據、3組不同損傷程度的外圈故障數據、3組不同損傷程度的滾動體故障數據和1組正常數據,并將上述所有數據按照56%、14%、30%的比例,劃分為訓練集、驗證集和測試集。
數據詳細使用情況如表1所示。

表1 數據集描述
為了防止因數據集樣本過少,從而導致在訓練過程中網絡模型出現欠擬合現象[18],在實驗中,筆者采用重采樣方法來增加數據樣本的數量[19]。
信號重采樣示意圖如圖5所示。

圖5 信號重采樣示意圖
重采樣是一種數據增強的方法。它通過重疊讀取振動信號,來增強樣本之間的相關性,使模型通過學習來增強其魯棒性。此處選取的信號長度為1 024,采樣間隔為200。
2.1.1 網絡中間層可視化
中間層可視化能夠展現網絡模型提取軸承振動信號故障特征的過程,以便更好地理解并行1DCNN模型。筆者以內圈故障信號為例來展示并行1DCNN的中間層可視化結果。
內圈故障信號的波形圖如圖6所示。

圖6 內圈故障信號
筆者將故障信號輸入并行1DCNN模型,然后提取不同卷積層的中間輸出結果,并將其做可視化處理。
軸承內圈故障信號卷積層可視化結果如圖7所示。


圖7 內圈故障信號卷積層可視化
從圖7中可以看出:當信號通過卷積層后,不同的通道可以提取不同的特征(例如,第2個卷積層的第6通道對振動信號某一區域沖擊部分敏感;而第3個卷積層13通道對另一段振動信號的沖擊部分敏感)。
由于不同的通道可以檢測軸承不同段的沖擊信號,網絡模型可以通過識別信號不同區域的沖擊,來學習不同故障的規律,并由此識別軸承的故障類別與故障深度。
2.1.2 t-SNE可視化
t-SNE(t-distributed stochastic neighbor embedding)是一種非線性降維技術,主要用來對高維數據進行可視化[20]。通過t-SNE降維,可以將高維數據降為二維平面散點圖,通過散點圖就可以直觀地反映深度學習模型的故障分類情況。
并行1DCNN模型中,輸入層的分類結果如圖8所示。

圖8 輸入樣本的分布
從圖8中可以看出:正常數據和故障數據具有較明顯的分隔;但同時不同故障類型的數據又完全疊合在一起,無法得到很好區分。
并行1DCNN模型中,輸出層的分類結果如圖9所示。

圖9 并行1DCNN模型的輸出
從圖9中可以看出:經過并行1DCNN處理后,10種數據實現較好區分,且每種數據結構更加緊湊,只有個別類別9被錯誤預測為類別7;該情況說明,對于滾動體故障而言,損壞尺寸所導致的振動信號間的差異較為相似。
并行1DCNN針對訓練集和驗證集的精度如圖10所示(迭代次數為30次)。

圖10 訓練和驗證精度
并行1DCNN針對訓練集和驗證集的損失如圖11所示(迭代次數為30次)。

圖11 訓練和驗證損失
在圖10和圖11中,黑色線條表示訓練集的精度與損失,灰色線條表示驗證集的精度和損失。
從圖10和圖11中可以看出:當批次大于15時,模型的分類精度已接近100%,同時損失值也隨著批次的增加而逐漸降低。
為了避免偶然性,在實驗中需要平行訓練并行1DCNN模型5次,在測試集上獲得故障診斷精度為0.996 9。
此外,筆者在實驗中也測試了小卷積核網絡和大卷積核網絡的診斷精度,并將該結果與采用并行1DCNN模型獲得的診斷精度進行了對比,結果如表2所示。

表2 平行訓練模型5次得到的模型精度
從表2可以明顯看出,并行1DCNN模型的故障診斷精度均高于其他2種模型的診斷精度。
針對3種網絡模型的精度箱型圖如圖12所示。

圖12 精度箱形圖
由圖12可知:并行1DCNN模型取得了更優的故障診斷效果,且5次運行的精度均高于0.996,最高可達0.998。
為了充分利用時域和頻域中的故障特征信息,筆者提出了一種新的軸承故障診斷模型,即并行1DCNN(一維卷積神經網絡)模型。
采用該模型對軸承故障進行診斷時,首先對滾動軸承振動信號進行處理,然后構建由兩個通道組成的并行1DCNN模型,一個通道學習振動信號時域信息,另一個通道學習振動信號頻域信息,由此加快了信號處理速度,提高了軸承信號中故障特征信息的利用率,增強了模型的故障識別精度。
由于1DCNN是針對傳統CNN的一種改進,它具有更加出色的故障診斷能力。與其他智能診斷模型相比,并行1DCNN具有如下優勢:
(1)并行1DCNN通過兩個具有不同卷積核大小的通道,來學習滾動軸承振動信號的時域信息和頻域信息,能夠充分利用振動信號所包含的故障信息;
(2)模型的輸入更加簡單,直接對一維時序信號進行處理,無需將其轉化為二維圖像,由此加快了信號處理速度,并且減少了運算量;
(3)與傳統的CNN模型相比,并行1DCNN能夠有效提高軸承信號中故障特征信息的利用率,極大地提高模型的故障識別精度。
在未來的研究中,筆者將重點探索環境噪聲對并行1DCNN穩定性的影響,并提出相應的解決方案。