吳 楠,王 喆
(1.中國(guó)科學(xué)院沈陽(yáng)計(jì)算技術(shù)研究所,沈陽(yáng) 110168;2. 中國(guó)科學(xué)院大學(xué),北京 100049)
滾動(dòng)軸承是工業(yè)生產(chǎn)機(jī)械設(shè)備中極其重要的一部分,由于軸承的工作狀態(tài)有長(zhǎng)時(shí)間,高強(qiáng)度,并且一旦發(fā)生故障就會(huì)引起重大后果的特點(diǎn),因此針對(duì)滾動(dòng)軸承的故障判斷有極大的現(xiàn)實(shí)指導(dǎo)意義[1]。故障診斷作為一種多方法融合的模式識(shí)別過(guò)程,其主要過(guò)程包括原始振動(dòng)信號(hào)的采集和信號(hào)預(yù)處理,故障信號(hào)特征提取等步驟[2],其中故障特征提取是其中一個(gè)關(guān)鍵的步驟。傳統(tǒng)的故障診斷方法一般使用經(jīng)驗(yàn)分解模型(Empirical Mode Decomposition, EDM)[3]、短時(shí)傅立葉變換、小波分解等方法對(duì)信號(hào)進(jìn)行分析處理。振動(dòng)信號(hào)作為反應(yīng)機(jī)械設(shè)備運(yùn)行狀態(tài)的一項(xiàng)重要特征信號(hào),李學(xué)軍等利用齒輪振動(dòng)信號(hào)的非高斯性,使用振動(dòng)信號(hào)雙譜分析表示齒輪雙譜分布區(qū)域與故障模式問(wèn)存在映射關(guān)系,實(shí)現(xiàn)了實(shí)現(xiàn)故障分類(lèi)與故障診斷[4]。隨后有學(xué)者提出在滾動(dòng)軸承振動(dòng)信號(hào)數(shù)據(jù)集上使用深度學(xué)習(xí)算法進(jìn)行診斷。朱丹宸等針對(duì)滾動(dòng)軸承故障信號(hào)非平穩(wěn)非線性且易受背景噪聲干擾的特點(diǎn),結(jié)合深度學(xué)習(xí)的優(yōu)勢(shì),提出了基于卷積神經(jīng)網(wǎng)絡(luò)的滾動(dòng)軸承故障診斷法[5]。
但是以往的軸承故障方法多使用單一數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練出的模型對(duì)于即使在同樣運(yùn)行環(huán)境下提取的不同負(fù)載的數(shù)據(jù)診斷效果也不佳。軸承振動(dòng)信號(hào)是一種自然時(shí)間序列,單純的CNN網(wǎng)絡(luò)難以捕捉軸承信號(hào)隨時(shí)間變化的故障信息。雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-LSTM)是一種特殊的RNN結(jié)構(gòu),具有很強(qiáng)的依據(jù)時(shí)序信息建模的學(xué)習(xí)能力。許多涉及順序數(shù)據(jù)的機(jī)器學(xué)習(xí)問(wèn)題都證明了BiLSTM在分析時(shí)間信息上的有效性[6]。
本文利用卷積神經(jīng)網(wǎng)絡(luò)提取特征的能力及循環(huán)神經(jīng)網(wǎng)絡(luò)獲取上下文信息的能力,將卷積神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)相結(jié)合,構(gòu)建了雙向循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模型(BiLSTM-CNN)。該模型同時(shí)兼具時(shí)間和空間上的特征表達(dá)能力,但是比傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間更短,效果更穩(wěn)定。經(jīng)過(guò)實(shí)驗(yàn)分析了在訓(xùn)練時(shí)模型參數(shù)對(duì)軸承故障診斷結(jié)果的影響。通過(guò)與其他方法的對(duì)比得到結(jié)論,BiLSTM-CNN在變負(fù)載的數(shù)據(jù)集上比普通CNN模型和CNN-LSTM模型有更高的適用性。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)是基于計(jì)算機(jī)視覺(jué)的發(fā)展成果。卷積神經(jīng)網(wǎng)絡(luò)通過(guò)不同尺寸的核對(duì)圖像進(jìn)行卷積,可以較好的處理局部特征,最終從經(jīng)過(guò)深層網(wǎng)絡(luò)處理的數(shù)據(jù)中得到從原數(shù)據(jù)中提取不到的特征。也有學(xué)者將CNN應(yīng)用于聲音信號(hào)的檢測(cè),取得了有效的成果[7]。設(shè)給定輸入軸承振動(dòng)信號(hào)X,一維卷積特征映射可表示為:
(1)
池化層是對(duì)輸入特征進(jìn)行縮放,提取主要特征。本文采用最大值池化,它對(duì)輸入特征取最大值操作,以減少參數(shù)并獲得位置不變特征。這使網(wǎng)絡(luò)對(duì)于振動(dòng)信號(hào)中的小偏移和失真更具魯棒性,更能反應(yīng)信號(hào)尖峰變化趨勢(shì)。在神經(jīng)網(wǎng)絡(luò)進(jìn)行卷積時(shí),圖像會(huì)縮小,邊緣信息會(huì)丟失,因此使用邊緣零填充沿著數(shù)據(jù)邊緣填充一層數(shù)據(jù),保證輸入大小與輸出大小相同。
循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)是一種處理文本,音頻輸入的神經(jīng)網(wǎng)絡(luò),可以有效地利用音頻信息上文的信息[8]。但是由于RNN網(wǎng)絡(luò)受前文信息的影響,存在梯度爆炸或梯度消失現(xiàn)象,從而導(dǎo)致神經(jīng)元的短期記憶。
長(zhǎng)短期記憶((long short term memory,LSTM)網(wǎng)絡(luò)是一種解決循環(huán)神經(jīng)網(wǎng)絡(luò)長(zhǎng)時(shí)間輸入序列的梯度爆炸與梯度消失問(wèn)題的改進(jìn)算法。LSTM的改進(jìn)方向在于將LSTM變?yōu)閮蓚€(gè)傳遞狀態(tài),一個(gè)ct和一個(gè)ht。并在算法中加入了一個(gè)模塊,在一個(gè)信息xt進(jìn)入cell后,和ht拼接訓(xùn)練得到3個(gè)狀態(tài)。
LSTM每一時(shí)間(步)狀態(tài)更新的公式如下:
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分別表示遺忘門(mén),輸入門(mén)和輸出門(mén)。遺忘門(mén)決定是否保留先前細(xì)胞狀態(tài)信息Ct-1;輸入門(mén)確定保留哪些值,更新細(xì)胞狀態(tài)的長(zhǎng)期記憶;輸出門(mén)是當(dāng)前LSTM的輸出;這些門(mén)的值在0~1之間,ht,ξt表示隱藏狀態(tài),候選細(xì)胞狀態(tài)。Wf,Wξ,Wi,Wo,bf,bξ,bi,bo分別對(duì)應(yīng)各個(gè)門(mén)的權(quán)重和偏差。
雙向LSTM(bidirectional long short term memory,BiLSTM)是在LSTM的基礎(chǔ)上,加入了對(duì)前后文的理解,不局限于只從過(guò)去的信息得到結(jié)論,而是結(jié)合當(dāng)前時(shí)間點(diǎn)的未來(lái)信息得到此刻的結(jié)果。雙向LSTM基于輸入序列的時(shí)間順序?qū)φ麄€(gè)輸入進(jìn)行預(yù)測(cè),將隱藏層分為正反兩個(gè)獨(dú)立的隱藏層,輸出層同時(shí)具有過(guò)去和未來(lái)的信息,加深對(duì)原序列特征提取層次,提高模型輸出結(jié)果的準(zhǔn)確性.因此BiLSTM在解決時(shí)序性問(wèn)題方面往往能夠取得比單向LSTM更好的效果[9]。
根據(jù)圖1,第一層LSTM計(jì)算當(dāng)前節(jié)點(diǎn)順序得到的信息,第二層LSTM計(jì)算當(dāng)前節(jié)點(diǎn)逆序得到的信息。相比于其他神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),LSTM更加真實(shí)地模擬了人類(lèi)的行為邏輯理解了前文信息對(duì)后文的影響,在目前視覺(jué)方向的研究,卷積神經(jīng)網(wǎng)絡(luò)在準(zhǔn)確性和訓(xùn)練時(shí)間上比LSTM表現(xiàn)更好,但LSTM網(wǎng)絡(luò)在處理時(shí)序關(guān)聯(lián)和富有邏輯的任務(wù)潛力更大。
圖1 LSTM圖示
本文針對(duì)傳統(tǒng)故障診斷方法特征提取的局限性和卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)時(shí)序數(shù)據(jù)時(shí)間信息不敏感的問(wèn)題,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn),提出了BiLSTM-CNN的模型用于軸承故障診斷。該網(wǎng)絡(luò)以卷積層提取主要特征,連接BiLISTM提取時(shí)序信息,主體框架包含兩個(gè)卷積層,兩個(gè)池化層,一個(gè)全連接層和一個(gè)雙向LSTM循環(huán)層。每個(gè)卷積層處理前一層輸入的特征映射分為三步:卷積運(yùn)算、批標(biāo)準(zhǔn)化運(yùn)算BN和激活函數(shù)單元(ReLU)。BN可以加速網(wǎng)絡(luò)訓(xùn)練并提高深度神經(jīng)網(wǎng)絡(luò)的性能防止梯度爆炸,提高模型精度。CNN特征提取的結(jié)果作為BiLSTM網(wǎng)絡(luò)輸入。BiLSTM引入時(shí)間對(duì)網(wǎng)絡(luò)的影響,增加時(shí)間維度,最后將輸出結(jié)果經(jīng)過(guò)softmax層分類(lèi)[11]。網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)框架及信息處理過(guò)程如圖2所示。
圖2 雙向循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模型診斷流程圖
該模型由深度一維CNN及BiLSTM網(wǎng)絡(luò)組成,能夠?qū)W習(xí)原始信號(hào)中的深層特征信息和時(shí)間動(dòng)態(tài)信息。首先,一維CNN利用其強(qiáng)大特征自學(xué)習(xí)能力從原始振動(dòng)數(shù)據(jù)中自適應(yīng)提取故障特征,減少對(duì)人工處理信號(hào)和有經(jīng)驗(yàn)人員診斷經(jīng)驗(yàn)的依賴[10]。其次,考慮到軸承振動(dòng)信號(hào)的時(shí)間關(guān)聯(lián)特性,雙向LSTM被用來(lái)學(xué)習(xí)CNN網(wǎng)絡(luò)輸出的故障特征,建立動(dòng)態(tài)時(shí)間序列分類(lèi)模型。最后,通過(guò)softmax完成特征分類(lèi),以識(shí)別軸承故障的類(lèi)型。
由于單純的卷積神經(jīng)網(wǎng)絡(luò)只能滿足單一數(shù)據(jù)集上的準(zhǔn)確度,而使用LSTM網(wǎng)絡(luò)的訓(xùn)練時(shí)間時(shí)間較長(zhǎng),將兩者混合使用,先對(duì)輸入的數(shù)據(jù)進(jìn)行卷積操作,提取深層次的特征,同時(shí)減少數(shù)據(jù)量,再將處理過(guò)的數(shù)據(jù)輸入到LSTM中訓(xùn)練,可以使訓(xùn)練結(jié)果更加穩(wěn)定;訓(xùn)練時(shí)間比單純的LSTM網(wǎng)絡(luò)短;在不同負(fù)載的數(shù)據(jù)集中進(jìn)行測(cè)試,有小幅度的效果提升。使用比LSTM效果更好的雙向LSTM,進(jìn)行訓(xùn)練,訓(xùn)練時(shí)間相差較少,但是訓(xùn)練效果有較好的提升。
實(shí)驗(yàn)使用的深度學(xué)習(xí)框架為Google公司的TensorFlow,所用計(jì)算機(jī)的配置為CPU i5 8265U、16G內(nèi)存,利用Python在TensorFlow環(huán)境下搭建卷積神經(jīng)網(wǎng)絡(luò)模型,將每個(gè)文件中的數(shù)據(jù)按比例分為訓(xùn)練集,驗(yàn)證集和測(cè)試集,標(biāo)注數(shù)據(jù)經(jīng)過(guò)定義模型結(jié)構(gòu),初始化模型參數(shù)以后,就可以使用訓(xùn)練集的數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,用驗(yàn)證集的數(shù)據(jù)對(duì)模型每輪進(jìn)行測(cè)試準(zhǔn)確度和損失。最后使用測(cè)試集的數(shù)據(jù)對(duì)訓(xùn)練好的模型進(jìn)行測(cè)評(píng)。數(shù)據(jù)集共有10種數(shù)據(jù)狀態(tài),包括一種正常數(shù)據(jù)狀態(tài),和3種不同位置損傷組合3種損傷的直徑大小共9種損傷狀態(tài)。
本文實(shí)驗(yàn)采用的數(shù)據(jù)集及參數(shù)配置數(shù)據(jù)如表1所示。
表1 實(shí)驗(yàn)所用模型參數(shù)配置
為了驗(yàn)證本文方法的效果,選擇與其他傳統(tǒng)方法進(jìn)行比較。將本文方法與傳統(tǒng)BP方法,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)方法和使用LSTM的卷積神經(jīng)網(wǎng)絡(luò)方法比較,實(shí)驗(yàn)結(jié)果比較如圖3所示。
圖3 不同模型診斷準(zhǔn)確率對(duì)比圖
將本文模型與上述模型進(jìn)行對(duì)比,比起其他模型,CNN-BiLSTM模型準(zhǔn)確率最高并且更加穩(wěn)定,在CWRU的數(shù)據(jù)集上的準(zhǔn)確率達(dá)到了99.4%。其他模型在多次訓(xùn)練后有不同程度的精度下降。
(1) BN Layer
BN layer是一種數(shù)據(jù)歸一化處理的方法,通過(guò)計(jì)算數(shù)據(jù)的均值和方差,將不太標(biāo)準(zhǔn)的數(shù)據(jù)統(tǒng)一到一個(gè)標(biāo)準(zhǔn)的范圍內(nèi)。使經(jīng)過(guò)一輪卷積池化后變得松散的數(shù)據(jù),按照分布規(guī)律重新變成均值為0方差為1的一組數(shù)據(jù)。深層神經(jīng)網(wǎng)絡(luò)在做前向反饋時(shí),隨著網(wǎng)絡(luò)層深度的增加,模型訓(xùn)練時(shí)的數(shù)據(jù)的分布發(fā)生偏移或者變動(dòng),反向傳播時(shí)模型向數(shù)據(jù)變化梯度最大的方向變化,數(shù)據(jù)分布的偏移會(huì)導(dǎo)致模型訓(xùn)練效率不高。使用BN算法,可以替代dropout操作有效的防止梯度爆炸。
根據(jù)圖4結(jié)果的對(duì)比,可以得出結(jié)論:使用BN層的模型比不使用BN層的模型具有更高的診斷精度,平均可提高7%的精度。
圖4 是否使用BN結(jié)果圖
(2)激活函數(shù)
激活函數(shù)解決了神經(jīng)網(wǎng)絡(luò)深層模型的非線性問(wèn)題。常用的激活函數(shù)有relu、tanh、sigmoid三種,sigmid常用于分類(lèi)問(wèn)題的輸出層,tanh幾乎適用于所有問(wèn)題,relu是激活函數(shù)的默認(rèn)函數(shù)。本文根據(jù)表1的模型參數(shù)設(shè)置,對(duì)使用relu、tanh、sigmoid三種激活函數(shù)的效果進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果如表2所示。在訓(xùn)練時(shí)間方面,實(shí)驗(yàn)組之間沒(méi)有太大差異,訓(xùn)練時(shí)間最短的是1號(hào)。在準(zhǔn)確率方面,效果最好的是4號(hào),其次是1號(hào)。對(duì)比幾組實(shí)驗(yàn)結(jié)果,可以看出relu在全連接層有更好的效果;sigmoid在卷積層沒(méi)有relu和tanh優(yōu)秀;在卷積層使用tanh,全連接層使用relu有最好的精度效果。在卷積層使用relu的精度更平均。因此本文卷積神經(jīng)網(wǎng)絡(luò)模型在卷積層使用tanh激活函數(shù),在全連接層使用relu激活函數(shù)。
(3)優(yōu)化器
在深度學(xué)習(xí)模型訓(xùn)練過(guò)程中的優(yōu)化器的選擇十分重要,這關(guān)系到訓(xùn)練出的模型能否取得比較高的準(zhǔn)確率和召回率,以及訓(xùn)練模型的速度。使用優(yōu)化器,使其在學(xué)習(xí)方向梯度下降速度最快,在非學(xué)習(xí)方向減少擺動(dòng),有利于加快梯度下降的速度,可以使用較大的學(xué)習(xí)率。采用表中的模型參數(shù)設(shè)置,卷積層使用relu激活函數(shù),全連接層使用tanh激活函數(shù),對(duì)常用的5種優(yōu)化器算法以及不使用優(yōu)化器進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果如表3所示。
表3 不同優(yōu)化器效果表
由表中數(shù)據(jù)可得:Adam自適應(yīng)優(yōu)化器在性能上優(yōu)于其他幾種優(yōu)化器。在幾種優(yōu)化器算法訓(xùn)練時(shí)間相近的情況下,本文采用Adam自適應(yīng)優(yōu)化算法作為改進(jìn)的CNN模型的訓(xùn)練優(yōu)化器。
(4)BILSTM
表4 變負(fù)載下各模型的效果表
由結(jié)果可知,從準(zhǔn)確率方面分析,使用卷積神經(jīng)網(wǎng)絡(luò)的模型比傳統(tǒng)BP模型有更好的結(jié)果,卷積神經(jīng)網(wǎng)絡(luò)準(zhǔn)確率達(dá)到98%以上,BP方法平均準(zhǔn)確率只有77%;卷積神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合使用的模型比單純使用循環(huán)神經(jīng)網(wǎng)絡(luò)的模型準(zhǔn)確率更高。從診斷穩(wěn)定性分析,本文方法穩(wěn)定性最高,損失率只有0.15。實(shí)驗(yàn)表明所提出打方法在故障診斷方面的表現(xiàn)優(yōu)于傳統(tǒng)方法。
為了驗(yàn)證BiLSTM的的重要作用,將CNN+BiLSTM模型與普通CNN模型,CNN+LSTM模型進(jìn)行比較。對(duì)于其他兩種情況,卷積層的卷積核數(shù)量與全連接層的神經(jīng)單元是相同的。CNN + LSTM模型與普通CNN之間的差別主要在于全連接層的拓?fù)洳煌?,CNN+LSTM中卷積神經(jīng)網(wǎng)絡(luò)模型連接的是LSTM層,而普通CNN模型的卷積神經(jīng)網(wǎng)絡(luò)連接的是全連接層。CNN+BiLSTM模型與CNN+LSTM的差別主要在于CNN + LSTM卷積神經(jīng)網(wǎng)絡(luò)的全連接層連接的是BiLSTM層。為了驗(yàn)證BiLSTM-CNN在變負(fù)載工況下的泛化能力,使用滾動(dòng)軸承在負(fù)載為1 hp條件下的樣本數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,并使用負(fù)載為2 hp和3 hp的樣本數(shù)據(jù)進(jìn)行驗(yàn)證和測(cè)試結(jié)果如表5所示。
表5 變負(fù)載下各模型的效果表
同樣使用相同的參數(shù)模型,將訓(xùn)練數(shù)據(jù)變?yōu)槭褂?個(gè)不同負(fù)載混合的數(shù)據(jù)集訓(xùn)練出的模型,在各自的數(shù)據(jù)集上的準(zhǔn)確度見(jiàn)表6。
表6 多數(shù)據(jù)集混合訓(xùn)練下各模型的效果表
混淆矩陣結(jié)果:圖5是在使用3個(gè)負(fù)載混合的數(shù)據(jù)集上訓(xùn)練出的BiLSTM-CNN的模型上測(cè)試負(fù)載為2 hp的數(shù)據(jù)集的混淆矩陣,可以看出,準(zhǔn)確率為88.6%,并且在大部分的分類(lèi)在準(zhǔn)確率達(dá)到100%,只有在第3個(gè)類(lèi)別,第9個(gè)類(lèi)別上的識(shí)別效率不高。
圖5 混淆矩陣結(jié)果圖
本文提出將卷積神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)相結(jié)合,使用CNN結(jié)合BiLSTM構(gòu)建深度網(wǎng)絡(luò)模型進(jìn)行軸承故障診斷。本文提出的BiLSTM-CNN模型,以混淆矩陣、準(zhǔn)確率為評(píng)價(jià)依據(jù),與傳統(tǒng)機(jī)器學(xué)習(xí)模型、CNN、LSTM模型進(jìn)行對(duì)比。實(shí)例分析表明,深度學(xué)習(xí)模型相比于機(jī)器學(xué)習(xí)模型能夠更有效地提取特征信息;BiLSTM-CNN模型對(duì)提出方法的主要優(yōu)勢(shì)在于無(wú)需手動(dòng)特征提取即可完成高精度斷,擺脫對(duì)先驗(yàn)知識(shí)的依賴。除此以外,利用雙向BiLSTM有更好的分類(lèi)效果,因此相對(duì)于CNN、BiLSTM模型收斂速度更快,在變負(fù)載情況下有更高的準(zhǔn)確度,具有一定的泛化能力。
組合機(jī)床與自動(dòng)化加工技術(shù)2021年9期