徐先峰,趙龍龍,夏 振
(長安大學電子與控制工程學院,陜西 西安 710064)
軸承作為旋轉機械設備中廣泛應用的關鍵部件之一[1],發生故障會導致設備停產,甚至造成人員傷亡[2]。超過50%的旋轉機器故障與軸承故障有關[3]。軸承故障診斷可以發現軸承的早期特征和演變進程,防止因故障造成的損失[4]。深度學習在21世紀迅猛發展。由于其在機械故障領域的應用成果豐碩,研究人員已經將多種深度學習模型應用在軸承故障診斷中[5]。本文利用深度學習中卷積神經網絡(convolutional neural network,CNN)收斂速度快、準確率高的優勢[6],以及長短時記憶神經網絡(long and short term memory,LSTM)神經網絡在處理時間序列應用中的優勢,提出基于卷積-長短時記憶神經網絡(convolutional neural network-long and short term memory neural network,CNN-LSTM)的軸承故障診斷方法。該方法將原始軸承振動信號進行CNN卷積層和池化層處理后作為模型的輸入,利用LSTM中的門運算進一步對數據進行處理,最后輸出至全連接層進行運算分類并輸出故障類別。試驗結果顯示,模型具有良好的收斂速度和精確度。
本文利用CNN提取軸承故障震動信號的故障信息,用作LSTM的輸入層;建立CNN-LSTM軸承故障診斷模型,采用端到端的學習架構,提升LSTM軸承故障診斷模型的實時診斷能力。模型總體框架如圖1所示。

圖1 模型總體框架圖
CNN-LSTM模型搭建流程如圖2所示。

圖2 模型搭建流程圖
CNN-LSTM模型利用CNN的卷積層和池化層,對輸入的原始軸承故障數據進行特征降維,并以此作為LSTM網絡層的特征輸入;輸出接softmax線性輸出層展開成與最終分類數目相匹配的維度;使用Adam優化算法對整個網絡參數進行更新,直至完成T次訓練;在代價函數收斂時截止,以確保模型的準確率。
CNN是一種專門為處理高維網格型數據而設計的神經網絡,憑借其強大的特征提取與模式識別能力,受到學術界和工業界的廣泛關注[7]。本文采用的CNN結構如圖3所示。CNN主要由輸入層、卷積層、池化層、全連接層和輸出層5部分組成。該CNN是由2個卷積層、2個池化層、1個全連接層以及1個Softmax組成。由于單核的卷積每次只能提取一種特征,而實際應用中則希望網絡的每一層能在多個位置提取多種類型的特征,所以采用多個并行卷積組成的運算。

圖3 CNN結構示意圖
CNN結構的基本原理為:首先,通過歷史數據獲取機械設備全部可能發生的運行狀態,以構成狀態空間,并利用CNN診斷模型拾取全部狀態的隱藏特征[8];然后,利用分類器利用監督學習對特征空間進行劃分,將特征空間映射到狀態空間,從而實現機械設備的故障檢測、診斷與模式匹配等[9]。
原始軸承故障信號經過CNN的輸入層標準化后輸出至卷積層,使用原始軸承故障輸入數據與多個卷積核卷積生成特征映射。輸入數據序列X=[x1,x2,…,xN]。其中,N為序列的長度。卷積層中的卷積運算可以定義為卷積核W(W∈RL)和串聯矢量Xi:i+L-1之間的乘法運算。
Xi:i+L-1=xi⊕xi+1⊕∧⊕xi+L-1
(1)
式中:Xi:i+L-1為從第i個點開始的序列信號窗口;L為卷積核的大小;⊕為串聯方式連接數據樣本。
最終的卷積操作被定義為:
(2)

通過卷積核從樣本數據的第一個點到最后一個點的滑動窗口,得到第j個卷積核的特征映射,可以表示為:
(3)
在卷積操作之后,使用線性整流單元ReLu激活函數激活神經單元。ReLu激活函數公式描述為:
(4)

經過卷積層卷積運算處理后的特征映射序列,在池化層進行降維提取軸承故障最重要的局部特征。池化層又稱子采樣層(下采樣層、匯聚層)。常用的池化方式有兩種:最大池化和平均池化[10]。最大池化是取該區域所有神經元的最大值,平均池化則是取區域內神經元的均值。本文采用的最大值池化計算示例如圖4所示。

圖4 最大值池化計算示例
全連接層把池化層降維提取軸承故障最重要的局部特征全部連接起來,將輸出值送至分類器。全連接層位于神經網絡的頂端。將最后一個池化層的輸出通過Flatten層展平為一維的特征向量,作為后續全連接層的輸入,從而在其與輸出層之間構建全連接網絡。全連接層的正向傳播公式為:
(5)

本文搭建CNN模型診斷邏輯如圖5所示。圖5中:輸入為(2 048×1)的軸承故障診斷信號通過第一個卷積層及ReLu激活層成為一組(256×32)的特征圖,卷積層的窗口大小為64×1、步長16×1。第一層卷積層窗口較大是為了提取短時特征。卷積層后接一個池化層,池化層的窗口大小為2×1,縮小比例因數為2,采用最大值池化進行降采樣成為(64×32)的特征圖。重復一次以上操作,把第二個池化層的輸出特征圖經過Flatten展平成(1 024×1)并與全連接隱含層連接,經過ReLu激活后輸出至softmax輸出層,輸出10類軸承故障。本文研究的是多分類問題,故選用分類交叉熵損失函數作為損失函數。為了加速模型的收斂速度,本文采用ReLu激活函數。該方法在函數正區間有效解決了梯度消失的問題,計算速度非常快,而且涉及的超參數較多。傳統的優化器,如隨機梯度下降(stochastic gradiene desceat,SGD)等,容易出現局部最優點的問題,所以使用Adam優化器可以動態調整每一個參數的學習率。

圖5 CNN模型診斷邏輯示意圖
LSTM神經網絡結構如圖6所示。

圖6 LSTM神經網絡結構示意圖
LSTM神經網絡已經在許多基于時間序列的應用中取得成功,如無約束手寫字符識別、語音識別、手寫生成、機器翻譯、為圖像生成標題和解析等[11]。但是LSTM網絡對于軸承故障診斷系統來說,耗時長且精度低[12]。LSTM網絡包括長時記憶和短時記憶兩部分。神經網絡訓練時的參數更新為長時記憶,更新周期慢,積累了訓練中的經驗。短時記憶是循環神經網絡中隱狀態h存儲的歷史信息,每個時刻都會更新相對參數[13]。LSTM網絡作為循環神經網絡的重要改型,克服了循環神經網絡的諸多缺點(例如梯度消失問題),并逐漸替代經典循環神經網絡[14]。
首先,通過遺忘門刪除神經元某些信息,利用上一時刻外部狀態ht-1和當前時刻輸入xt,進行三個門的計算:
ft=σ(Wf[ht-1,xt]+bf)
(6)
it=σ(Wi[ht-1,xt]+bi)
(7)
(8)
然后,結合遺忘門ft和輸入門it更新記憶單元ct,再使用tanh將ct值縮放到[-1,1]之間,最后結合輸出門ot將內部狀態的信息同步給外部狀態ht。具體計算如下:
ot=σ(Wo[ht-1,xt]+bo)
(9)
(10)
ht=tanhctot
(11)
LSTM故障診斷模型流程如圖7所示。

圖7 LSTM故障診斷模型流程圖

為了驗證本文建立模型的可行性,建立CNN軸承故障診斷模型和LSTM軸承故障診斷模型進行對比驗證。試驗平臺為一臺計算機,主要配置為:Intel E5 2620 V4,32GB DDR3 RAM,Intel 500G SSD,NVIDIA GTX 1080Ti。實現的代碼均采用Python語言在Keras框架下完成。
本文的試驗數據來自于凱斯西儲大學(CWRU)滾動軸承數據中心[15]。CWRU數據集是世界公認的軸承故障診斷標準數據集。軸承故障類型如表1所示。其采樣頻率為48 kHz。數據集共包含4種狀態類別,分別為內圈故障、外圈故障、滾動體故障和正常狀態。每種故障類別包含有3種故障尺寸,分別為0.017 cm、0.035 cm、0.053 cm;再加上正常狀態,共計10種狀態。

表1 軸承故障類型
通過本文的試驗平臺在Python中進行仿真,可得所建立CNN軸承故障診斷模型在訓練集和驗證集上的損失值和準確率,分別如圖8和圖9所示。

圖8 CNN模型在訓練集和驗證集上的損失值曲線
由圖9可知,基于卷積神經網絡構建的軸承故障診斷模型,經過大約10次訓練后準確率開始收斂,且識別準確率尚可。其平均準確率超過98%,損失率也較低。在本文的硬件平臺上,訓練用時為30 s左右,速度較快。

圖9 CNN模型在訓練集和驗證集上的準確率曲線
CNN模型在測試集上的損失和準確率如表2所示。

表2 CNN模型在測試集上的損失率和準確率
經過求平均值計算,可得CNN模型在測試集上的平均準確率為0.967 3。
通過所建立的LSTM軸承故障診斷模型在Python中的仿真試驗,可得LSTM模型在訓練集和驗證集上的損失值和準確率,分別如圖10和圖11所示。

圖10 LSTM模型在訓練集和驗證集上的損失值曲線
從圖11中可以看出,LSTM軸承故障診斷模型最顯著的弊端是模型的準確率低、收斂速度慢,而且該模型在本文搭建的Python平臺上試驗的平均用時超過1 h,無法滿足軸承故障診斷的實時性和有效性。

圖11 LSTM模型在訓練集和驗證集上的準確率曲線
LSTM模型在測試集上的損失和準確率如表3所示。

表3 LSTM模型在測試集上的損失率和準確率
通過對表3求平均值,可得LSTM軸承故障診斷模型在測試集上的平均準確率為0.893 2。但是該模型容易出現過擬合現象。
通過Python,對本文建立的CNN-LSTM軸承故障診斷模型進行試驗仿真。CNN-LSTM模型在訓練集和驗證集上的損失值和準確率分別如圖12和圖13所示。

圖12 CNN-LSTM模型在訓練集和驗證集上的損失值曲線
由圖13可知,本文建立的CNN-LSTM軸承故障診斷模型不僅收斂速度快,在訓練至第5次的時候模型準確率已經開始收斂,而且模型的準確率有了很大的提高,在訓練集和驗證集上的準確率達到1。

圖13 CNN-LSTM模型在訓練集和驗證集上的準確率曲線
CNN-LSTM模型在測試集上的損失和準確率如表4所示。

表4 CNN-LSTM模型在測試集上的損失率和準確率
CNN-LSTM軸承故障診斷模型在測試集上的平均準確率為0.993 4。
軸承作為機械領域關鍵組成部分,其安全、穩定的運行不僅直接影響企業和社會經濟,而且將影響人民群眾的生命財產。軸承故障的精確識別與診斷耗時耗力,因此對其進行深入研究具有很大現實意義。本文結合深度學習在故障領域應用的優勢,建立了基于CNN-LSTM的軸承故障診斷模型,對采集到的軸承故障信號進行處理,提取故障特征,識別并分類故障種類。該模型具有良好的識別精度,能實現對軸承故障的快速分類。與CNN軸承故障診斷模型相對比,該方法的精度有所提高,運行過程更加穩定。與LSTM軸承故障診斷模型相比,CNN-LSTM模型準確率更高、收斂速度更快。在后續的研究中,考慮融合其他特征提取算法,提高模型的泛化能力和魯棒性。