吳 楠,王 喆
(1.中國科學院沈陽計算技術研究所,沈陽 110168;2. 中國科學院大學,北京 100049)
滾動軸承是工業生產機械設備中極其重要的一部分,由于軸承的工作狀態有長時間,高強度,并且一旦發生故障就會引起重大后果的特點,因此針對滾動軸承的故障判斷有極大的現實指導意義[1]。故障診斷作為一種多方法融合的模式識別過程,其主要過程包括原始振動信號的采集和信號預處理,故障信號特征提取等步驟[2],其中故障特征提取是其中一個關鍵的步驟。傳統的故障診斷方法一般使用經驗分解模型(Empirical Mode Decomposition, EDM)[3]、短時傅立葉變換、小波分解等方法對信號進行分析處理。振動信號作為反應機械設備運行狀態的一項重要特征信號,李學軍等利用齒輪振動信號的非高斯性,使用振動信號雙譜分析表示齒輪雙譜分布區域與故障模式問存在映射關系,實現了實現故障分類與故障診斷[4]。隨后有學者提出在滾動軸承振動信號數據集上使用深度學習算法進行診斷。朱丹宸等針對滾動軸承故障信號非平穩非線性且易受背景噪聲干擾的特點,結合深度學習的優勢,提出了基于卷積神經網絡的滾動軸承故障診斷法[5]。
但是以往的軸承故障方法多使用單一數據集進行訓練,訓練出的模型對于即使在同樣運行環境下提取的不同負載的數據診斷效果也不佳。軸承振動信號是一種自然時間序列,單純的CNN網絡難以捕捉軸承信號隨時間變化的故障信息。雙向長短期記憶網絡(Bi-LSTM)是一種特殊的RNN結構,具有很強的依據時序信息建模的學習能力。許多涉及順序數據的機器學習問題都證明了BiLSTM在分析時間信息上的有效性[6]。
本文利用卷積神經網絡提取特征的能力及循環神經網絡獲取上下文信息的能力,將卷積神經網絡與循環神經網絡相結合,構建了雙向循環卷積神經網絡模型(BiLSTM-CNN)。該模型同時兼具時間和空間上的特征表達能力,但是比傳統循環神經網絡的訓練時間更短,效果更穩定。經過實驗分析了在訓練時模型參數對軸承故障診斷結果的影響。通過與其他方法的對比得到結論,BiLSTM-CNN在變負載的數據集上比普通CNN模型和CNN-LSTM模型有更高的適用性。
卷積神經網絡(convolutional neural network,CNN)是基于計算機視覺的發展成果。卷積神經網絡通過不同尺寸的核對圖像進行卷積,可以較好的處理局部特征,最終從經過深層網絡處理的數據中得到從原數據中提取不到的特征。也有學者將CNN應用于聲音信號的檢測,取得了有效的成果[7]。設給定輸入軸承振動信號X,一維卷積特征映射可表示為:
(1)

池化層是對輸入特征進行縮放,提取主要特征。本文采用最大值池化,它對輸入特征取最大值操作,以減少參數并獲得位置不變特征。這使網絡對于振動信號中的小偏移和失真更具魯棒性,更能反應信號尖峰變化趨勢。在神經網絡進行卷積時,圖像會縮小,邊緣信息會丟失,因此使用邊緣零填充沿著數據邊緣填充一層數據,保證輸入大小與輸出大小相同。
循環神經網絡(recurrent neural network,RNN)是一種處理文本,音頻輸入的神經網絡,可以有效地利用音頻信息上文的信息[8]。但是由于RNN網絡受前文信息的影響,存在梯度爆炸或梯度消失現象,從而導致神經元的短期記憶。
長短期記憶((long short term memory,LSTM)網絡是一種解決循環神經網絡長時間輸入序列的梯度爆炸與梯度消失問題的改進算法。LSTM的改進方向在于將LSTM變為兩個傳遞狀態,一個ct和一個ht。并在算法中加入了一個模塊,在一個信息xt進入cell后,和ht拼接訓練得到3個狀態。
LSTM每一時間(步)狀態更新的公式如下:
ft=sigmoid(Wf[ht-1,Xt]+bf)
it=sigmoid(Wi[ht-1,Xt]+bi)
ξt=tanh(Wξ[ht-1,Xt]+bξ)
Ct=ft·Ct-1+it·ξi
Ot=sigmoid(Wo[ht-1,Xt]+bo)
ht=Ot·tanh(Ct)
其中,ft,it,Ot分別表示遺忘門,輸入門和輸出門。遺忘門決定是否保留先前細胞狀態信息Ct-1;輸入門確定保留哪些值,更新細胞狀態的長期記憶;輸出門是當前LSTM的輸出;這些門的值在0~1之間,ht,ξt表示隱藏狀態,候選細胞狀態。Wf,Wξ,Wi,Wo,bf,bξ,bi,bo分別對應各個門的權重和偏差。
雙向LSTM(bidirectional long short term memory,BiLSTM)是在LSTM的基礎上,加入了對前后文的理解,不局限于只從過去的信息得到結論,而是結合當前時間點的未來信息得到此刻的結果。雙向LSTM基于輸入序列的時間順序對整個輸入進行預測,將隱藏層分為正反兩個獨立的隱藏層,輸出層同時具有過去和未來的信息,加深對原序列特征提取層次,提高模型輸出結果的準確性.因此BiLSTM在解決時序性問題方面往往能夠取得比單向LSTM更好的效果[9]。
根據圖1,第一層LSTM計算當前節點順序得到的信息,第二層LSTM計算當前節點逆序得到的信息。相比于其他神經網絡結構,LSTM更加真實地模擬了人類的行為邏輯理解了前文信息對后文的影響,在目前視覺方向的研究,卷積神經網絡在準確性和訓練時間上比LSTM表現更好,但LSTM網絡在處理時序關聯和富有邏輯的任務潛力更大。

圖1 LSTM圖示
本文針對傳統故障診斷方法特征提取的局限性和卷積神經網絡模型對時序數據時間信息不敏感的問題,結合卷積神經網絡與循環神經網絡的優點,提出了BiLSTM-CNN的模型用于軸承故障診斷。該網絡以卷積層提取主要特征,連接BiLISTM提取時序信息,主體框架包含兩個卷積層,兩個池化層,一個全連接層和一個雙向LSTM循環層。每個卷積層處理前一層輸入的特征映射分為三步:卷積運算、批標準化運算BN和激活函數單元(ReLU)。BN可以加速網絡訓練并提高深度神經網絡的性能防止梯度爆炸,提高模型精度。CNN特征提取的結果作為BiLSTM網絡輸入。BiLSTM引入時間對網絡的影響,增加時間維度,最后將輸出結果經過softmax層分類[11]。網絡內部結構框架及信息處理過程如圖2所示。

圖2 雙向循環卷積神經網絡模型診斷流程圖
該模型由深度一維CNN及BiLSTM網絡組成,能夠學習原始信號中的深層特征信息和時間動態信息。首先,一維CNN利用其強大特征自學習能力從原始振動數據中自適應提取故障特征,減少對人工處理信號和有經驗人員診斷經驗的依賴[10]。其次,考慮到軸承振動信號的時間關聯特性,雙向LSTM被用來學習CNN網絡輸出的故障特征,建立動態時間序列分類模型。最后,通過softmax完成特征分類,以識別軸承故障的類型。
由于單純的卷積神經網絡只能滿足單一數據集上的準確度,而使用LSTM網絡的訓練時間時間較長,將兩者混合使用,先對輸入的數據進行卷積操作,提取深層次的特征,同時減少數據量,再將處理過的數據輸入到LSTM中訓練,可以使訓練結果更加穩定;訓練時間比單純的LSTM網絡短;在不同負載的數據集中進行測試,有小幅度的效果提升。使用比LSTM效果更好的雙向LSTM,進行訓練,訓練時間相差較少,但是訓練效果有較好的提升。
實驗使用的深度學習框架為Google公司的TensorFlow,所用計算機的配置為CPU i5 8265U、16G內存,利用Python在TensorFlow環境下搭建卷積神經網絡模型,將每個文件中的數據按比例分為訓練集,驗證集和測試集,標注數據經過定義模型結構,初始化模型參數以后,就可以使用訓練集的數據對模型進行訓練,用驗證集的數據對模型每輪進行測試準確度和損失。最后使用測試集的數據對訓練好的模型進行測評。數據集共有10種數據狀態,包括一種正常數據狀態,和3種不同位置損傷組合3種損傷的直徑大小共9種損傷狀態。
本文實驗采用的數據集及參數配置數據如表1所示。

表1 實驗所用模型參數配置
為了驗證本文方法的效果,選擇與其他傳統方法進行比較。將本文方法與傳統BP方法,傳統卷積神經網絡方法和使用LSTM的卷積神經網絡方法比較,實驗結果比較如圖3所示。

圖3 不同模型診斷準確率對比圖
將本文模型與上述模型進行對比,比起其他模型,CNN-BiLSTM模型準確率最高并且更加穩定,在CWRU的數據集上的準確率達到了99.4%。其他模型在多次訓練后有不同程度的精度下降。
(1) BN Layer
BN layer是一種數據歸一化處理的方法,通過計算數據的均值和方差,將不太標準的數據統一到一個標準的范圍內。使經過一輪卷積池化后變得松散的數據,按照分布規律重新變成均值為0方差為1的一組數據。深層神經網絡在做前向反饋時,隨著網絡層深度的增加,模型訓練時的數據的分布發生偏移或者變動,反向傳播時模型向數據變化梯度最大的方向變化,數據分布的偏移會導致模型訓練效率不高。使用BN算法,可以替代dropout操作有效的防止梯度爆炸。
根據圖4結果的對比,可以得出結論:使用BN層的模型比不使用BN層的模型具有更高的診斷精度,平均可提高7%的精度。

圖4 是否使用BN結果圖
(2)激活函數
激活函數解決了神經網絡深層模型的非線性問題。常用的激活函數有relu、tanh、sigmoid三種,sigmid常用于分類問題的輸出層,tanh幾乎適用于所有問題,relu是激活函數的默認函數。本文根據表1的模型參數設置,對使用relu、tanh、sigmoid三種激活函數的效果進行了對比,實驗結果如表2所示。在訓練時間方面,實驗組之間沒有太大差異,訓練時間最短的是1號。在準確率方面,效果最好的是4號,其次是1號。對比幾組實驗結果,可以看出relu在全連接層有更好的效果;sigmoid在卷積層沒有relu和tanh優秀;在卷積層使用tanh,全連接層使用relu有最好的精度效果。在卷積層使用relu的精度更平均。因此本文卷積神經網絡模型在卷積層使用tanh激活函數,在全連接層使用relu激活函數。
(3)優化器
在深度學習模型訓練過程中的優化器的選擇十分重要,這關系到訓練出的模型能否取得比較高的準確率和召回率,以及訓練模型的速度。使用優化器,使其在學習方向梯度下降速度最快,在非學習方向減少擺動,有利于加快梯度下降的速度,可以使用較大的學習率。采用表中的模型參數設置,卷積層使用relu激活函數,全連接層使用tanh激活函數,對常用的5種優化器算法以及不使用優化器進行測試,實驗結果如表3所示。

表3 不同優化器效果表
由表中數據可得:Adam自適應優化器在性能上優于其他幾種優化器。在幾種優化器算法訓練時間相近的情況下,本文采用Adam自適應優化算法作為改進的CNN模型的訓練優化器。
(4)BILSTM

表4 變負載下各模型的效果表
由結果可知,從準確率方面分析,使用卷積神經網絡的模型比傳統BP模型有更好的結果,卷積神經網絡準確率達到98%以上,BP方法平均準確率只有77%;卷積神經網絡與循環神經網絡結合使用的模型比單純使用循環神經網絡的模型準確率更高。從診斷穩定性分析,本文方法穩定性最高,損失率只有0.15。實驗表明所提出打方法在故障診斷方面的表現優于傳統方法。
為了驗證BiLSTM的的重要作用,將CNN+BiLSTM模型與普通CNN模型,CNN+LSTM模型進行比較。對于其他兩種情況,卷積層的卷積核數量與全連接層的神經單元是相同的。CNN + LSTM模型與普通CNN之間的差別主要在于全連接層的拓撲不同,CNN+LSTM中卷積神經網絡模型連接的是LSTM層,而普通CNN模型的卷積神經網絡連接的是全連接層。CNN+BiLSTM模型與CNN+LSTM的差別主要在于CNN + LSTM卷積神經網絡的全連接層連接的是BiLSTM層。為了驗證BiLSTM-CNN在變負載工況下的泛化能力,使用滾動軸承在負載為1 hp條件下的樣本數據對模型進行訓練,并使用負載為2 hp和3 hp的樣本數據進行驗證和測試結果如表5所示。

表5 變負載下各模型的效果表
同樣使用相同的參數模型,將訓練數據變為使用3個不同負載混合的數據集訓練出的模型,在各自的數據集上的準確度見表6。

表6 多數據集混合訓練下各模型的效果表
混淆矩陣結果:圖5是在使用3個負載混合的數據集上訓練出的BiLSTM-CNN的模型上測試負載為2 hp的數據集的混淆矩陣,可以看出,準確率為88.6%,并且在大部分的分類在準確率達到100%,只有在第3個類別,第9個類別上的識別效率不高。

圖5 混淆矩陣結果圖
本文提出將卷積神經網絡與循環神經網絡相結合,使用CNN結合BiLSTM構建深度網絡模型進行軸承故障診斷。本文提出的BiLSTM-CNN模型,以混淆矩陣、準確率為評價依據,與傳統機器學習模型、CNN、LSTM模型進行對比。實例分析表明,深度學習模型相比于機器學習模型能夠更有效地提取特征信息;BiLSTM-CNN模型對提出方法的主要優勢在于無需手動特征提取即可完成高精度斷,擺脫對先驗知識的依賴。除此以外,利用雙向BiLSTM有更好的分類效果,因此相對于CNN、BiLSTM模型收斂速度更快,在變負載情況下有更高的準確度,具有一定的泛化能力。