徐先峰,趙龍龍,夏 振
(長安大學(xué)電子與控制工程學(xué)院,陜西 西安 710064)
軸承作為旋轉(zhuǎn)機(jī)械設(shè)備中廣泛應(yīng)用的關(guān)鍵部件之一[1],發(fā)生故障會(huì)導(dǎo)致設(shè)備停產(chǎn),甚至造成人員傷亡[2]。超過50%的旋轉(zhuǎn)機(jī)器故障與軸承故障有關(guān)[3]。軸承故障診斷可以發(fā)現(xiàn)軸承的早期特征和演變進(jìn)程,防止因故障造成的損失[4]。深度學(xué)習(xí)在21世紀(jì)迅猛發(fā)展。由于其在機(jī)械故障領(lǐng)域的應(yīng)用成果豐碩,研究人員已經(jīng)將多種深度學(xué)習(xí)模型應(yīng)用在軸承故障診斷中[5]。本文利用深度學(xué)習(xí)中卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)收斂速度快、準(zhǔn)確率高的優(yōu)勢[6],以及長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(long and short term memory,LSTM)神經(jīng)網(wǎng)絡(luò)在處理時(shí)間序列應(yīng)用中的優(yōu)勢,提出基于卷積-長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(convolutional neural network-long and short term memory neural network,CNN-LSTM)的軸承故障診斷方法。該方法將原始軸承振動(dòng)信號(hào)進(jìn)行CNN卷積層和池化層處理后作為模型的輸入,利用LSTM中的門運(yùn)算進(jìn)一步對(duì)數(shù)據(jù)進(jìn)行處理,最后輸出至全連接層進(jìn)行運(yùn)算分類并輸出故障類別。試驗(yàn)結(jié)果顯示,模型具有良好的收斂速度和精確度。
本文利用CNN提取軸承故障震動(dòng)信號(hào)的故障信息,用作LSTM的輸入層;建立CNN-LSTM軸承故障診斷模型,采用端到端的學(xué)習(xí)架構(gòu),提升LSTM軸承故障診斷模型的實(shí)時(shí)診斷能力。模型總體框架如圖1所示。
圖1 模型總體框架圖
CNN-LSTM模型搭建流程如圖2所示。
圖2 模型搭建流程圖
CNN-LSTM模型利用CNN的卷積層和池化層,對(duì)輸入的原始軸承故障數(shù)據(jù)進(jìn)行特征降維,并以此作為LSTM網(wǎng)絡(luò)層的特征輸入;輸出接softmax線性輸出層展開成與最終分類數(shù)目相匹配的維度;使用Adam優(yōu)化算法對(duì)整個(gè)網(wǎng)絡(luò)參數(shù)進(jìn)行更新,直至完成T次訓(xùn)練;在代價(jià)函數(shù)收斂時(shí)截止,以確保模型的準(zhǔn)確率。
CNN是一種專門為處理高維網(wǎng)格型數(shù)據(jù)而設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò),憑借其強(qiáng)大的特征提取與模式識(shí)別能力,受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注[7]。本文采用的CNN結(jié)構(gòu)如圖3所示。CNN主要由輸入層、卷積層、池化層、全連接層和輸出層5部分組成。該CNN是由2個(gè)卷積層、2個(gè)池化層、1個(gè)全連接層以及1個(gè)Softmax組成。由于單核的卷積每次只能提取一種特征,而實(shí)際應(yīng)用中則希望網(wǎng)絡(luò)的每一層能在多個(gè)位置提取多種類型的特征,所以采用多個(gè)并行卷積組成的運(yùn)算。
圖3 CNN結(jié)構(gòu)示意圖
CNN結(jié)構(gòu)的基本原理為:首先,通過歷史數(shù)據(jù)獲取機(jī)械設(shè)備全部可能發(fā)生的運(yùn)行狀態(tài),以構(gòu)成狀態(tài)空間,并利用CNN診斷模型拾取全部狀態(tài)的隱藏特征[8];然后,利用分類器利用監(jiān)督學(xué)習(xí)對(duì)特征空間進(jìn)行劃分,將特征空間映射到狀態(tài)空間,從而實(shí)現(xiàn)機(jī)械設(shè)備的故障檢測、診斷與模式匹配等[9]。
原始軸承故障信號(hào)經(jīng)過CNN的輸入層標(biāo)準(zhǔn)化后輸出至卷積層,使用原始軸承故障輸入數(shù)據(jù)與多個(gè)卷積核卷積生成特征映射。輸入數(shù)據(jù)序列X=[x1,x2,…,xN]。其中,N為序列的長度。卷積層中的卷積運(yùn)算可以定義為卷積核W(W∈RL)和串聯(lián)矢量Xi:i+L-1之間的乘法運(yùn)算。
Xi:i+L-1=xi⊕xi+1⊕∧⊕xi+L-1
(1)
式中:Xi:i+L-1為從第i個(gè)點(diǎn)開始的序列信號(hào)窗口;L為卷積核的大?。花挒榇?lián)方式連接數(shù)據(jù)樣本。
最終的卷積操作被定義為:
(2)
通過卷積核從樣本數(shù)據(jù)的第一個(gè)點(diǎn)到最后一個(gè)點(diǎn)的滑動(dòng)窗口,得到第j個(gè)卷積核的特征映射,可以表示為:
(3)
在卷積操作之后,使用線性整流單元ReLu激活函數(shù)激活神經(jīng)單元。ReLu激活函數(shù)公式描述為:
(4)
經(jīng)過卷積層卷積運(yùn)算處理后的特征映射序列,在池化層進(jìn)行降維提取軸承故障最重要的局部特征。池化層又稱子采樣層(下采樣層、匯聚層)。常用的池化方式有兩種:最大池化和平均池化[10]。最大池化是取該區(qū)域所有神經(jīng)元的最大值,平均池化則是取區(qū)域內(nèi)神經(jīng)元的均值。本文采用的最大值池化計(jì)算示例如圖4所示。
圖4 最大值池化計(jì)算示例
全連接層把池化層降維提取軸承故障最重要的局部特征全部連接起來,將輸出值送至分類器。全連接層位于神經(jīng)網(wǎng)絡(luò)的頂端。將最后一個(gè)池化層的輸出通過Flatten層展平為一維的特征向量,作為后續(xù)全連接層的輸入,從而在其與輸出層之間構(gòu)建全連接網(wǎng)絡(luò)。全連接層的正向傳播公式為:
(5)
本文搭建CNN模型診斷邏輯如圖5所示。圖5中:輸入為(2 048×1)的軸承故障診斷信號(hào)通過第一個(gè)卷積層及ReLu激活層成為一組(256×32)的特征圖,卷積層的窗口大小為64×1、步長16×1。第一層卷積層窗口較大是為了提取短時(shí)特征。卷積層后接一個(gè)池化層,池化層的窗口大小為2×1,縮小比例因數(shù)為2,采用最大值池化進(jìn)行降采樣成為(64×32)的特征圖。重復(fù)一次以上操作,把第二個(gè)池化層的輸出特征圖經(jīng)過Flatten展平成(1 024×1)并與全連接隱含層連接,經(jīng)過ReLu激活后輸出至softmax輸出層,輸出10類軸承故障。本文研究的是多分類問題,故選用分類交叉熵?fù)p失函數(shù)作為損失函數(shù)。為了加速模型的收斂速度,本文采用ReLu激活函數(shù)。該方法在函數(shù)正區(qū)間有效解決了梯度消失的問題,計(jì)算速度非???,而且涉及的超參數(shù)較多。傳統(tǒng)的優(yōu)化器,如隨機(jī)梯度下降(stochastic gradiene desceat,SGD)等,容易出現(xiàn)局部最優(yōu)點(diǎn)的問題,所以使用Adam優(yōu)化器可以動(dòng)態(tài)調(diào)整每一個(gè)參數(shù)的學(xué)習(xí)率。
圖5 CNN模型診斷邏輯示意圖
LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
LSTM神經(jīng)網(wǎng)絡(luò)已經(jīng)在許多基于時(shí)間序列的應(yīng)用中取得成功,如無約束手寫字符識(shí)別、語音識(shí)別、手寫生成、機(jī)器翻譯、為圖像生成標(biāo)題和解析等[11]。但是LSTM網(wǎng)絡(luò)對(duì)于軸承故障診斷系統(tǒng)來說,耗時(shí)長且精度低[12]。LSTM網(wǎng)絡(luò)包括長時(shí)記憶和短時(shí)記憶兩部分。神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)的參數(shù)更新為長時(shí)記憶,更新周期慢,積累了訓(xùn)練中的經(jīng)驗(yàn)。短時(shí)記憶是循環(huán)神經(jīng)網(wǎng)絡(luò)中隱狀態(tài)h存儲(chǔ)的歷史信息,每個(gè)時(shí)刻都會(huì)更新相對(duì)參數(shù)[13]。LSTM網(wǎng)絡(luò)作為循環(huán)神經(jīng)網(wǎng)絡(luò)的重要改型,克服了循環(huán)神經(jīng)網(wǎng)絡(luò)的諸多缺點(diǎn)(例如梯度消失問題),并逐漸替代經(jīng)典循環(huán)神經(jīng)網(wǎng)絡(luò)[14]。
首先,通過遺忘門刪除神經(jīng)元某些信息,利用上一時(shí)刻外部狀態(tài)ht-1和當(dāng)前時(shí)刻輸入xt,進(jìn)行三個(gè)門的計(jì)算:
ft=σ(Wf[ht-1,xt]+bf)
(6)
it=σ(Wi[ht-1,xt]+bi)
(7)
(8)
然后,結(jié)合遺忘門ft和輸入門it更新記憶單元ct,再使用tanh將ct值縮放到[-1,1]之間,最后結(jié)合輸出門ot將內(nèi)部狀態(tài)的信息同步給外部狀態(tài)ht。具體計(jì)算如下:
ot=σ(Wo[ht-1,xt]+bo)
(9)
(10)
ht=tanhctot
(11)
LSTM故障診斷模型流程如圖7所示。
圖7 LSTM故障診斷模型流程圖
為了驗(yàn)證本文建立模型的可行性,建立CNN軸承故障診斷模型和LSTM軸承故障診斷模型進(jìn)行對(duì)比驗(yàn)證。試驗(yàn)平臺(tái)為一臺(tái)計(jì)算機(jī),主要配置為:Intel E5 2620 V4,32GB DDR3 RAM,Intel 500G SSD,NVIDIA GTX 1080Ti。實(shí)現(xiàn)的代碼均采用Python語言在Keras框架下完成。
本文的試驗(yàn)數(shù)據(jù)來自于凱斯西儲(chǔ)大學(xué)(CWRU)滾動(dòng)軸承數(shù)據(jù)中心[15]。CWRU數(shù)據(jù)集是世界公認(rèn)的軸承故障診斷標(biāo)準(zhǔn)數(shù)據(jù)集。軸承故障類型如表1所示。其采樣頻率為48 kHz。數(shù)據(jù)集共包含4種狀態(tài)類別,分別為內(nèi)圈故障、外圈故障、滾動(dòng)體故障和正常狀態(tài)。每種故障類別包含有3種故障尺寸,分別為0.017 cm、0.035 cm、0.053 cm;再加上正常狀態(tài),共計(jì)10種狀態(tài)。
表1 軸承故障類型
通過本文的試驗(yàn)平臺(tái)在Python中進(jìn)行仿真,可得所建立CNN軸承故障診斷模型在訓(xùn)練集和驗(yàn)證集上的損失值和準(zhǔn)確率,分別如圖8和圖9所示。
圖8 CNN模型在訓(xùn)練集和驗(yàn)證集上的損失值曲線
由圖9可知,基于卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建的軸承故障診斷模型,經(jīng)過大約10次訓(xùn)練后準(zhǔn)確率開始收斂,且識(shí)別準(zhǔn)確率尚可。其平均準(zhǔn)確率超過98%,損失率也較低。在本文的硬件平臺(tái)上,訓(xùn)練用時(shí)為30 s左右,速度較快。
圖9 CNN模型在訓(xùn)練集和驗(yàn)證集上的準(zhǔn)確率曲線
CNN模型在測試集上的損失和準(zhǔn)確率如表2所示。
表2 CNN模型在測試集上的損失率和準(zhǔn)確率
經(jīng)過求平均值計(jì)算,可得CNN模型在測試集上的平均準(zhǔn)確率為0.967 3。
通過所建立的LSTM軸承故障診斷模型在Python中的仿真試驗(yàn),可得LSTM模型在訓(xùn)練集和驗(yàn)證集上的損失值和準(zhǔn)確率,分別如圖10和圖11所示。
圖10 LSTM模型在訓(xùn)練集和驗(yàn)證集上的損失值曲線
從圖11中可以看出,LSTM軸承故障診斷模型最顯著的弊端是模型的準(zhǔn)確率低、收斂速度慢,而且該模型在本文搭建的Python平臺(tái)上試驗(yàn)的平均用時(shí)超過1 h,無法滿足軸承故障診斷的實(shí)時(shí)性和有效性。
圖11 LSTM模型在訓(xùn)練集和驗(yàn)證集上的準(zhǔn)確率曲線
LSTM模型在測試集上的損失和準(zhǔn)確率如表3所示。
表3 LSTM模型在測試集上的損失率和準(zhǔn)確率
通過對(duì)表3求平均值,可得LSTM軸承故障診斷模型在測試集上的平均準(zhǔn)確率為0.893 2。但是該模型容易出現(xiàn)過擬合現(xiàn)象。
通過Python,對(duì)本文建立的CNN-LSTM軸承故障診斷模型進(jìn)行試驗(yàn)仿真。CNN-LSTM模型在訓(xùn)練集和驗(yàn)證集上的損失值和準(zhǔn)確率分別如圖12和圖13所示。
圖12 CNN-LSTM模型在訓(xùn)練集和驗(yàn)證集上的損失值曲線
由圖13可知,本文建立的CNN-LSTM軸承故障診斷模型不僅收斂速度快,在訓(xùn)練至第5次的時(shí)候模型準(zhǔn)確率已經(jīng)開始收斂,而且模型的準(zhǔn)確率有了很大的提高,在訓(xùn)練集和驗(yàn)證集上的準(zhǔn)確率達(dá)到1。
圖13 CNN-LSTM模型在訓(xùn)練集和驗(yàn)證集上的準(zhǔn)確率曲線
CNN-LSTM模型在測試集上的損失和準(zhǔn)確率如表4所示。
表4 CNN-LSTM模型在測試集上的損失率和準(zhǔn)確率
CNN-LSTM軸承故障診斷模型在測試集上的平均準(zhǔn)確率為0.993 4。
軸承作為機(jī)械領(lǐng)域關(guān)鍵組成部分,其安全、穩(wěn)定的運(yùn)行不僅直接影響企業(yè)和社會(huì)經(jīng)濟(jì),而且將影響人民群眾的生命財(cái)產(chǎn)。軸承故障的精確識(shí)別與診斷耗時(shí)耗力,因此對(duì)其進(jìn)行深入研究具有很大現(xiàn)實(shí)意義。本文結(jié)合深度學(xué)習(xí)在故障領(lǐng)域應(yīng)用的優(yōu)勢,建立了基于CNN-LSTM的軸承故障診斷模型,對(duì)采集到的軸承故障信號(hào)進(jìn)行處理,提取故障特征,識(shí)別并分類故障種類。該模型具有良好的識(shí)別精度,能實(shí)現(xiàn)對(duì)軸承故障的快速分類。與CNN軸承故障診斷模型相對(duì)比,該方法的精度有所提高,運(yùn)行過程更加穩(wěn)定。與LSTM軸承故障診斷模型相比,CNN-LSTM模型準(zhǔn)確率更高、收斂速度更快。在后續(xù)的研究中,考慮融合其他特征提取算法,提高模型的泛化能力和魯棒性。