何 強 唐向紅,,3 李傳江 陸見光,,3 陳家兌
1.貴州大學現(xiàn)代制造技術(shù)教育部重點實驗室,貴陽,5500252.貴州大學機械工程學院,貴陽,5500253.貴州大學公共大數(shù)據(jù)國家重點實驗室,貴陽,550025
在工業(yè)生產(chǎn)中,機械傳動設(shè)備的安全運行是工業(yè)生產(chǎn)過程中的核心要求,設(shè)備故障可能會導致嚴重的經(jīng)濟損失乃至災(zāi)難性事故。軸承作為機械傳動裝置必不可少的零件,有必要對其進行監(jiān)測與診斷。
軸承惡劣的工作環(huán)境(如負載不平衡、變負載、變轉(zhuǎn)速)對軸承可靠性診斷提出了挑戰(zhàn)。負載不平衡在軸承旋轉(zhuǎn)時會產(chǎn)生一個與轉(zhuǎn)速同頻的不平衡激勵力,從而引起軸承的不平衡振動,因此從負載不平衡軸承上測得的振動信號具有非平穩(wěn)性特點[1],很難從中提取到有效特征用于故障診斷。短時傅里葉變換(short-time Fourier transform,STFT)作為時頻分析方法的一種,能夠有效處理非平穩(wěn)信號,目前在機械故障診斷中已得到了廣泛的應(yīng)用。HE等[2]利用LAMSTAR神經(jīng)網(wǎng)絡(luò)對經(jīng)過STFT預(yù)處理的傳感器信號進行分類,實現(xiàn)了各種工況下軸承故障精確診斷;王麗華等[3]提出了一種基于短時傅里葉變換和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的故障診斷方法,成功應(yīng)用于異步電動機的故障診斷。由于軸承工作環(huán)境以及數(shù)據(jù)采集設(shè)備等原因,實際上采集到的軸承工作數(shù)據(jù)是有限的;同時,由于軸承大多數(shù)時候都處于正常運行狀態(tài),導致了其故障樣本更為稀少。上述方法雖然實現(xiàn)了機械設(shè)備故障的精確診斷,但是訓練數(shù)據(jù)對基于深度學習的故障診斷方法有著較大影響,在小樣本、數(shù)據(jù)不平衡等情況下,其診斷性能會嚴重下降[4-5]。
2014年,GOODFELLOW等[6]提出了生成對抗網(wǎng)絡(luò)(generative adversarial network,GAN),它在圖像生成方面具有顯著的能力。針對機械設(shè)備故障故障樣本量少、數(shù)據(jù)不平衡等問題,生成對抗網(wǎng)絡(luò)被引入故障診斷領(lǐng)域。文獻[4]提出了一種結(jié)合GAN和堆疊自動編碼器(stacked denoising auto encoder,SDAE)的齒輪箱故障診斷方法,它在小樣本情況下依然具有較好的診斷效果;文獻[7]提出一種基于GAN的往復(fù)式機械故障診斷方法,它在數(shù)據(jù)極端失衡情況下依然有效;文獻[8]提出了一種小樣本條件下基于GAN的旋轉(zhuǎn)機械故障診斷方法。以上方法雖然在故障樣本生成方面具有一定的貢獻,但依然缺乏以下兩點考慮:其一,大多數(shù)基于GAN的故障診斷方法單單針對時域信號或頻域信號,不能良好地利用振動信號的頻域信息與時域信息;其二,GAN及其變種都是建立在圖像處理領(lǐng)域上的,基于一維信號的GAN故障診斷方法不能充分發(fā)揮出其圖像生成能力。
本文將STFT與梯度懲罰Wasserstein距離生成對抗網(wǎng)絡(luò)(WGAN-GP)相結(jié)合,通過STFT構(gòu)建軸承振動信號的時頻譜圖,在充分利用振動信號時域信息與頻域信息的同時,更好地發(fā)揮WGAN-GP的圖像生成能力。此外,構(gòu)建自注意力卷積神經(jīng)網(wǎng)絡(luò)(SeCNN)以進一步提高模型對不平衡負載的抗干擾能力。分析CUT-2實驗平臺兩種負載不平衡軸承數(shù)據(jù)集,實驗結(jié)果表明該方法具有良好的魯棒性和泛化能力,且在小樣本條件下具有較好的故障診斷性能。
STFT變換是一種針對突變、非平穩(wěn)信號的時頻分析方法,通過STFT能夠?qū)⒁痪S的振動信號轉(zhuǎn)變?yōu)榘瑫r域、頻域信息的二維矩陣。它的基本思想是:為時域信號加上具有固定長度的滑動窗,并對窗內(nèi)的信號做傅里葉變換,得到窗長度這一時間段內(nèi)的局部頻譜,隨著窗口在信號上的平移,最終可以得到每一時間段上頻譜的集合。STFT的一般數(shù)學表達式為

(1)
式中,g(t-τ)為τ時刻的滑動窗;f(t)為時域信號。
GAN網(wǎng)絡(luò)主要由生成器G與鑒別器D兩個模塊組成。生成器主要職能是接收已知分布的隨機噪聲z,并盡力輸出與真實樣本分布一致的假樣本G(z);鑒別器主要職能是接受混合有真實樣本與假樣本的數(shù)據(jù)集,并盡力從中辨別出真實樣本與假樣本。生成器與鑒別器通過不斷地博弈學習來提高各自擬合真實樣本的能力與鑒別真假樣本的能力。生成器與鑒別器在交替訓練中達到納什均衡,其一般數(shù)學表達式為

(2)
式中,D(·)、G(·)分別為生成器與鑒別器的輸出值;x~Pdata(x)表示輸入樣本x的分布為Pdata(x);z~Pz(z)表示輸入噪聲z的分布為Pz(z);E[·]為期望函數(shù)。
由于JS散度導致了GAN訓練不穩(wěn)定、模式崩塌等問題,故Wasserstein距離生成對抗網(wǎng)絡(luò)(Wasserstein generative adversarial network,WGAN)[9]引入了一種新的分布度量距離,即Wasserstein Distance,也叫做EM距離,定義為
(3)
式中,Ⅱ(p,q)表示分布p、q的聯(lián)合分布;(x,y)采樣自聯(lián)合分布r;Ε(x,y)~y[‖x-y‖]為距離‖x-y‖的期望;inf{·}表示集合的下確界;W(p,q)為分布p、q的Wasserstein距離。
WGAN從理論層面上分析了GAN訓練不穩(wěn)定的原因,并有效解決了問題。然而,WGAN權(quán)重裁剪的實現(xiàn)方式存在兩個問題:其一,網(wǎng)絡(luò)的權(quán)重大部分都集中在兩端,這使得神經(jīng)網(wǎng)絡(luò)的學習變成了簡單的函數(shù)映射;其二,對網(wǎng)絡(luò)權(quán)重的強制裁剪容易造成梯度消失或梯度爆炸。為解決以上問題,WGAN-GP[10]被提了出來,采用增加梯度懲罰項的方式來迫使判別器滿足1-Lipschitz函數(shù)約束。同時,將梯度值約束在1周圍時網(wǎng)絡(luò)的效果會更好,梯度懲罰項的定義為
(4)

相對于WGAN,WGAN-GP收斂速度更快,生成樣本質(zhì)量更好。
自注意力機制已成功應(yīng)用于語音識別[11]、圖像處理[12-13]等領(lǐng)域。本文將自注意力機制引入軸承故障診斷以進一步提高故障診斷效率。自注意力機制的實現(xiàn)參考文獻[14]中的SE(Squeeze-and-Excitation)模塊。由于本文自注意力模塊是在網(wǎng)絡(luò)的全連接層后實現(xiàn)的,因此不需要額外的全局平均池化操作(Squeeze)。此外,在Excitation操作中多加入一層全連接層以進一步加強自注意力機制對故障特征的非線性擬合能力。自注意力模塊實現(xiàn)如圖1所示。

圖1 自注意力模塊示意圖Fig.1 Schematic diagram of self-attention module
自注意力模塊一共有FC1、FC2、FC3三個全連接層,兩個ReLU激活函數(shù)和一個 Sigmoid激活函數(shù)。首先,第一個全連接層將特征維度降到輸入特征維度(X-dim)的1/16,第二個全連接層將特征維度增加到X/4,再分別使用ReLU激活函數(shù);第三個全連接層將特征維度恢復(fù)到X,也就是輸入特征維度。通過這樣的設(shè)計可以提高自注意力模塊對振動信號中復(fù)雜故障特征的非線性擬合能力。此外采用全連接層以及ReLU激活函數(shù)這樣的結(jié)構(gòu)可使參數(shù)量、計算量極小。然后使用Sigmoid激活函數(shù)對第三個全連接層的輸出進行激活,這樣就得到了區(qū)間[0,1]的權(quán)重值。最后將權(quán)重值與輸入特征的元素按位相乘就實現(xiàn)了自注意力模塊。
針對軸承振動信號易受負載不平衡干擾、故障樣本數(shù)量少等問題,提出基于WGAN-GP和SeCNN的故障診斷方法。診斷過程如下:首先對軸承振動信號進行短時傅里葉變換,得到信號的時頻譜圖,分為訓練集、驗證集、測試集;然后將訓練集輸入到WGAN-GP中進行對抗訓練,直至網(wǎng)絡(luò)收斂,從生成器中生成與訓練樣本分布相似的新樣本,將新樣本添加到訓練集中以擴充訓練集;最后,將擴充后的訓練集輸入到SeCNN中進行訓練,并將訓練好的模型應(yīng)用于測試集,輸出故障識別結(jié)果。診斷流程見圖2。

圖2 基于WGAN-GP和SeCNN的軸承故障診斷流程圖Fig.2 Flow chart of bearing fault diagnosis basedon WGAN-GP and SeCNN
實際工業(yè)中收集足夠的軸承故障數(shù)據(jù)是比較困難的,因此將少數(shù)樣本的時頻譜作為WGAN-GP的真實樣本,訓練WGAN-GP并生成與真實樣本分布相似的時頻譜樣本。基于WGAN-GP模型生成的高質(zhì)量時頻譜樣本能夠進一步豐富原始數(shù)據(jù)集、提高診斷模型的魯棒性,從而有助于實現(xiàn)軸承故障的精確診斷。WGAN-GP模型結(jié)構(gòu)示意圖見圖3。

圖3 WGAN-GP示意圖Fig.3 Schematic diagram of WGAN-GP
生成器的輸入為隨機噪聲z,它采樣自區(qū)間為[-1,1]上的均勻分布;生成器的輸出為合成樣本G(z),其分布與真實樣本X分布相似。鑒別器的輸入為真實樣本X或合成樣本G(z),輸出為線性函數(shù)值y。因為卷積運算在特征提取上的能力已被證明,所以本文模型WGAN-GP的鑒別器和生成器主要由卷積與轉(zhuǎn)置卷積構(gòu)成。生成器與鑒別器網(wǎng)絡(luò)詳細結(jié)構(gòu)圖見圖4。

(a)生成器
在生成器G中,輸入為符合均勻分布的隨機噪聲z,噪聲維度為200。該輸入先經(jīng)過全連接層F1擴維,然后將數(shù)據(jù)重組為三維張量并使用LeakyReLU[15]激活函數(shù),最后通過三層轉(zhuǎn)置卷積操作生成大小為(65,65,1)的張量,也就是生成的時頻譜樣本,其中前兩層轉(zhuǎn)置卷積均采用批量歸一化。第一層轉(zhuǎn)置卷積的卷積核個數(shù)為256,大小為3,步長為3,LeakyReLU作為激活函數(shù);第二層轉(zhuǎn)置卷積的卷積核個數(shù)為128,大小為5,步長為2,LeakyReLU作為激活函數(shù);第三層轉(zhuǎn)置卷積的卷積核個數(shù)為1,大小為5,步長為3,使用Tanh激活函數(shù)。
在鑒別器D中,一共3個卷積層,卷積核大小均為4,步長均為2,卷積核個數(shù)分別為64、128、256,均將LeakyReLU作為激活函數(shù);最后一層為全連接層,節(jié)點個數(shù)為1,不使用激活函數(shù)。
在訓練WGAN-GP時可以用鑒別器的loss值來指示模型訓練進度,鑒別器的loss值越趨向于收斂就代表模型訓練得越好,生成的樣本質(zhì)量越高。鑒別器的loss值定義如下:
(5)

在WGAN-GP訓練中,基于上述損失函數(shù),迭代更新模型參數(shù)。采用Adam[16]優(yōu)化器,鑒別器學習率為0.0001,生成器學習率為0.0002,兩者交替訓練直至鑒別器loss值收斂。
本文提出的基于自注意力機制的卷積神經(jīng)網(wǎng)絡(luò)(SeCNN)旨在減小不平衡負載對數(shù)據(jù)的影響、提高模型的軸承故障特征提取能力,進而實現(xiàn)軸承故障抗干擾診斷。SeCNN的輸入為混合了真實時頻譜樣本和生成時頻譜樣本的訓練集,通過驗證集識別準確率指示SeCNN模型的訓練進度,最后將訓練好的SeCNN模型用于測試集識別,并輸出識別結(jié)果。本文提出的SeCNN模型主要由最大池化層、卷積層以及自注意力模塊組成,SeCNN結(jié)構(gòu)圖見圖5。

圖5 SeCNN模型結(jié)構(gòu)圖Fig.5 SeCNN model structure diagram
在SeCNN中,卷積層CONV1和CONV2的卷積核大小均為3,步長均為1,卷積核個數(shù)分別為32、64,使用ReLU激活函數(shù);池化層MaxP1和MaxP2的窗口大小均為2,步長均為2;GAP1為全局平均池化層;F1為全連接層,節(jié)點數(shù)為2048;輸出層節(jié)點數(shù)為輸入樣本的類別數(shù)n,采用Softmax激活函數(shù)。
為了驗證本文所提方法的有效性,針對軸承實測的振動信號,分析該方法在軸承負載不平衡和小樣本情況下的魯棒性和泛化能力。
軸承實驗數(shù)據(jù)來源于CUT-2軸承實驗平臺,平臺如圖6所示。實驗軸承型號為6900ZZ,使用電火花加工技術(shù)分別在軸承外圈、滾珠、內(nèi)圈加工直徑為0.2 mm和0.3 mm的故障,單點故障以及復(fù)合故障如圖7所示。使用加速度傳感器采集軸承振動信號,采樣頻率10 kHz,軸承轉(zhuǎn)速3000 r/min。軸承不平衡負載的構(gòu)建分為兩種:第一種為加裝負載在負載盤上單點連續(xù)分布;第二種為加裝負載在負載盤上半盤均勻分布。每種軸承負載不平衡條件下采集12類故障,包含單點故障以及復(fù)合故障。每類故障采集200個樣本,樣本長度為1024,按照2∶1∶1把數(shù)據(jù)集分為訓練集、驗證集和測試集,具體的數(shù)據(jù)集信息如表1所示。同時設(shè)定短時傅里葉變換的窗函數(shù)長度為128,窗函數(shù)重疊點數(shù)為112,每個樣本對應(yīng)生成的時頻譜圖尺寸為65×65。

圖6 CUT-2軸承實驗平臺Fig.6 CUT-2 bearing test platform

(a)外圈故障 (b)內(nèi)圈故障 (c)球體故障 (d)復(fù)合故障圖7 軸承故障的位置Fig.7 Location of the bearing faults

表1 CUT-2平臺軸承數(shù)據(jù)集
使用第一種負載不平衡軸承數(shù)據(jù)訓練集對所提出的WGAN-GP模型進行訓練。訓練輪數(shù)設(shè)為2000,模型批處理樣本數(shù)目為10,每類故障生成的時頻譜樣本數(shù)量預(yù)設(shè)定100,訓練集做區(qū)間為[-1,1]的歸一化處理。基于深度學習框架Tensorflow進行模型的搭建與訓練,記錄鑒別器loss的值并獲得合成樣本,實驗結(jié)果如圖8所示。

圖8 鑒別器loss變化曲線Fig.8 Loss variation curve of discriminator
由圖8可以看出,最初鑒別器loss值由大幅振蕩迅速趨向于收斂但隨后又出現(xiàn)小幅振蕩,說明此時模型正處于學習階段,并沒有找到最優(yōu)解方向。經(jīng)過15 000次迭代后,鑒別器loss值小幅波動并趨向于平穩(wěn),說明此時WGAN-GP已經(jīng)得到了很好的訓練,生成器合成的時頻譜樣本分布已經(jīng)很接近故障樣本分布。待模型訓練完畢后,從生成器獲得合成的時頻譜樣本。表2展示了傳感器獲取的故障標簽為1~6的真實樣本及其時頻譜圖和對應(yīng)生成器合成的時頻譜樣本。由表2可以看出,合成的時頻譜圖與真實時頻譜圖很相似但又不完全相同,這說明模型既有效學習到故障特征,又保證了合成樣本的高質(zhì)量、多樣性。

表2 真實樣本及其時頻譜圖與合成樣本時頻譜圖
SeCNN采用Adam優(yōu)化器更新模型參數(shù),學習率設(shè)置為0.001,訓練輪數(shù)設(shè)置為100,批處理樣本數(shù)目為10。雖然訓練輪數(shù)設(shè)置為100,但是本文在SeCNN的訓練過程中引入了Early-Stopping機制,在一定訓練輪數(shù)內(nèi),如果模型的驗證集的準確率沒有提高,則停止訓練并保存模型參數(shù)。訓練集準確率及驗證集準確率變化曲線見圖9。由圖9可以看出,模型在第59輪時就達到了停止條件,訓練集準確率與驗證集準確率趨向于重合,這說明模型被訓練良好,且沒有出現(xiàn)過擬合現(xiàn)象。

圖9 訓練集及驗證集準確率變化曲線Fig.9 Accuracy change curve of training set andverification set
為了進一步評估合成樣本的質(zhì)量以及合成樣本數(shù)量對SeCNN模型學習的影響,每類故障分別生成100、200、500、1000個樣本,將生成的樣本與初始訓練集混合組成新的訓練集輸入到SeCNN中,并將訓練好的SeCNN模型應(yīng)用于測試集。為了避免實驗結(jié)果受隨機因素的影響,每次測試均進行10次重復(fù)性實驗,計算出模型的平均準確率及其標準差,實驗結(jié)果如表3所示。表3中,實驗方法SeCNN表示沒有向訓練集中添加合成樣本,SeCNN_100、SeCNN_200、SeCNN_500、SeCNN_1000表示向訓練集每類故障分別添加100、200、500、1000個合成樣本。
由表3可以看出,當向訓練集每類故障添加合成樣本的數(shù)量達到500個時,SeCNN平均準確率達到了94.23%,相較于沒有添加合成樣本的SeCNN來說其平均準確率提高了3.01%,準確率標準差更是減小了82%,充分說明了通過WGAN-GP合成樣本的高質(zhì)量、多樣性以及對故障診斷模型性能的有效提高。值得一提的是,SeCNN_1000相較于SeCNN_500,平均準確率雖然只提高了0.19%,但是其準確率標準差卻減小了81.13%,這說明了大數(shù)據(jù)對基于深度學習的故障診斷模型的泛化能力以及穩(wěn)定性具有顯著提高作用。

表3 生成不同樣本的數(shù)量對模型SeCNN的影響
為了進一步驗證本文基于短時傅里葉變換的WGAN-GP+SeCNN軸承故障診斷方法的有效性,將其與CNN以及文獻[3]、文獻[17]、文獻[18]中算法共四種算法進行對比。其中CNN是不帶自注意力模塊的SeCNN,輸入為時頻譜圖,其他參數(shù)與SeCNN保持一致。每種算法進行10次重復(fù)性實驗,實驗結(jié)果如表4所示。

表4 第一種軸承負載不平衡下不同算法實驗結(jié)果
由表4可以看出,文獻[17]與文獻[18]提出的基于一維振動信號的故障診斷算法對負載不平衡下的軸承數(shù)據(jù)集診斷精度較低,不能有效識別出各種故障。其中文獻[17]的診斷精度只有10.27%,這可能是由于其卷積核設(shè)置過大,不能有效學習到故障局部特征所致;通過查看其訓練過程發(fā)現(xiàn)訓練集準確率已經(jīng)達到100%,但是驗證集卻只有10%左右,說明該模型已經(jīng)出現(xiàn)了嚴重的過擬合現(xiàn)象。文獻[18]雖然診斷精度相對于文獻[17]有所提高,但是該算法是基于一維時域信號的故障診斷方法,丟失了信號的頻域信息;其次,批處理大小設(shè)置為64,在樣本量較小時不能發(fā)揮出算法的性能,所以文獻[18]的診斷精度依然較低。文獻[3]與算法CNN+STFT都是基于短時傅里葉變換的故障診斷方法,其診斷精度相較于基于一維振動信號的故障診斷方法有了很大提高,這說明短時傅里葉變換能很好地應(yīng)對非平穩(wěn)信號,且時頻域信息的樣本在提高數(shù)據(jù)量的同時對模型性能也有較大提高。此外,由表4算法SeCNN的實驗結(jié)果可以看出,相對于沒有自注意力機制的CNN+STFT以及文獻[3]來說,其診斷精度有了一定提高,這說明自注意力模塊在抑制噪聲權(quán)重、提高故障特征權(quán)重方面具有比較明顯的作用。本文方法相較于其他主流故障診斷方法具有較大優(yōu)勢,相較于文獻[3]與算法CNN+STFT的故障診斷方法其準確率提高了4%以上,準確率標準差減少了95%以上,驗證了本文方法在軸承負載不平衡下基于小樣本數(shù)據(jù)的故障診斷具有可行性。
為了說明本文方法在處理軸承負載不平衡問題時的優(yōu)越性,將負載平衡軸承數(shù)據(jù)輸入到不同故障診斷算法中進行訓練與測試,實驗結(jié)果如表5所示。

表5 軸承負載平衡下不同算法實驗結(jié)果
由表5可以看出,文獻[17]的平均識別率幾乎沒有變化,說明該算法沒有學習到故障特征,造成了模型的隨機分類,這與前文的分析一致。文獻[18]的平均準確率在移除負載不平衡的影響后反而下降了,說明影響該算法的主要因素是數(shù)據(jù)量,較小的樣本量造成了模型的不穩(wěn)定。算法CNN+STFT與文獻[3]在負載平衡下不僅平均準確率得到了提高并且準確率標準差也減小了86%左右,這說明在移除負載不平衡的影響后普通算法的診斷性能與穩(wěn)定性都得到了提高。對照表4與表5可以看出,本文方法在負載平衡下與負載不平衡下的診斷性能相近,這說明該方法對負載不平衡具有較好的魯棒性。
為了進一步驗證軸承負載不平衡下本文方法的魯棒性與泛化能力,對第二種負載不平衡軸承數(shù)據(jù)集進行實驗與分析。使用軸承訓練集對WGAN-GP進行訓練,通過實驗發(fā)現(xiàn),當訓練輪數(shù)達到5000時,模型鑒別器的loss值處于收斂狀態(tài),因此確定訓練輪數(shù)為5000。將本文方法與其他四種故障診斷方法進行對比,所有配置與前文保持一致,每種模型進行10次重復(fù)實驗,實驗結(jié)果如表6所示。

表6 第二種軸承負載不平衡下不同算法實驗結(jié)果
由表6可以看出,本文方法相較于其他四種算法具有明顯優(yōu)勢,故障識別平均準確率達到了94.58%,能夠有效分辨出軸承負載不平衡下的復(fù)合故障與單點故障,證明了該方法具有良好的魯棒性與泛化性能。
(1)將振動信號通過短時傅里葉變換轉(zhuǎn)為時頻譜能夠充分利用的時域與頻域信息,并且時頻譜樣本方便生成對抗網(wǎng)絡(luò)(GAN)處理,可更好地發(fā)揮其生成圖像的優(yōu)勢。
(2)利用梯度懲罰Wasserstein距離生成對抗網(wǎng)絡(luò)(WGAN-GP)生成時頻譜樣本,豐富了數(shù)據(jù)集,可以有效提高基于深度學習的故障診斷模型的泛化能力和魯棒性。
(3)基于自注意力機制的卷積神經(jīng)網(wǎng)絡(luò)在面對負載不平衡條件下的軸承時,其故障診斷能力相較于普通卷積神經(jīng)網(wǎng)絡(luò)有了較大提高,說明將自注意力機制引入到故障診斷領(lǐng)域中具有可行性。