劉權(quán),裴未遲
(華北理工大學 機械工程學院,河北 唐山 063210)
旋轉(zhuǎn)機械長期運行在復(fù)雜的環(huán)境中難免會出各種問題。滾動軸承作為旋轉(zhuǎn)機械中的典型部件,其發(fā)生的任何故障都可能導(dǎo)致機械系統(tǒng)故障和意想不到的安全問題[1]。因此,滾動軸承的故障診斷越來越受重視,甚至成為系統(tǒng)維護中最重要的方面[2],迫切需要開發(fā)有效的故障診斷技術(shù)。
滾動軸承故障診斷最普遍使用的方法是通過快速傅里葉變換獲得振動信號頻譜中的故障沖擊特征并與正常工況下的振動幅度進行對比[3-4],但基于快速傅里葉變換的頻域分析缺乏對局部信息的識別能力,并不能準確的實現(xiàn)非平穩(wěn)信號的特征提取。時頻分析不僅可以呈現(xiàn)時域信號特征,還可以呈現(xiàn)信號在頻域的特點,并清楚地描述時間與頻率之間的聯(lián)系。
人工神經(jīng)網(wǎng)絡(luò)、支持向量機等基于模型驅(qū)動的傳統(tǒng)故障診斷方法在對信號進行簡單的特征提取后通過神經(jīng)網(wǎng)絡(luò)進行故障診斷,其準確率取決于人工提取的故障特征是否能夠表達旋轉(zhuǎn)機械的狀態(tài)信息,很難實現(xiàn)復(fù)雜機械系統(tǒng)的故障診斷[5-8]。基于深度學習的旋轉(zhuǎn)機械故障診斷方法能夠從大數(shù)據(jù)中自動學習特征,從而避免人工特征提取的弊端,同時通過多層非線性網(wǎng)絡(luò)訓練學習旋轉(zhuǎn)機械狀態(tài)信息的潛在特征,從而提高故障的分類能力。文獻[9]通過不同激活函數(shù)的深度自編碼器來提取不同類型的特征并形成特征池,進行評估和選擇實現(xiàn)滾動軸承故障識別。文獻[10]使用多尺度裁剪融合對滾動軸承信號進行數(shù)據(jù)增強并通過短時傅里葉變換轉(zhuǎn)換為時頻圖像,將多傳感器導(dǎo)出的圖像數(shù)據(jù)通過多尺度卷積神經(jīng)網(wǎng)絡(luò)進行特征提取和故障模式分類。文獻[11]采用復(fù)數(shù)形式的連續(xù)小波變換提取時頻復(fù)數(shù)矩陣,并使用復(fù)數(shù)卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)軸承故障分類。文獻[12]使用卷積神經(jīng)網(wǎng)絡(luò)對軸承振動信號進行特征提取,并使用XGBoost模型進行故障分類。文獻[13]提出了一種考慮噪聲數(shù)據(jù)和工作環(huán)境條件變化的分層分支卷積神經(jīng)網(wǎng)絡(luò)模型,其在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上增加了分支結(jié)構(gòu)來滿足分層診斷的要求,可以在可變工作條件和噪聲干擾下挖掘數(shù)據(jù)特征。文獻[14]通過生成器、判別器和分類器的共同作用分別實現(xiàn)滾動軸承故障樣本的生成、標記和故障識別。文獻[15]提出了一種基于深度全卷積條件Wasserstein生成對抗網(wǎng)絡(luò)的遷移學習故障診斷模型,通過矩陣將類別標簽映射到源域數(shù)據(jù),既加強了對學習過程的監(jiān)督,又加強了類別領(lǐng)域?qū)R的效果。
卷積神經(jīng)網(wǎng)絡(luò)能夠自動學習振動信號的抽象特征,具有強大的數(shù)據(jù)挖掘能力,但隨著網(wǎng)絡(luò)層數(shù)的加深易出現(xiàn)過擬合的問題,并造成梯度消失。而且,在進行特征提取時,卷積核尺寸限制了只能獲取輸入數(shù)據(jù)的局部特征,忽略了當前區(qū)域與全局其他區(qū)域之間的聯(lián)系。傳統(tǒng)的生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)屬于無監(jiān)督學習,其判別器只能判別生成樣本的真假。因此,將深度卷積生成對抗網(wǎng)絡(luò)與連續(xù)小波變換和殘差網(wǎng)絡(luò)相結(jié)合,引入標簽信息,并在生成器和判別器的解碼結(jié)構(gòu)中加入自注意力機制模塊,提出了一種新的滾動軸承故障診斷方法。
在生成對抗網(wǎng)絡(luò)的訓練過程中,生成器能學習到真實樣本分布并生成偽樣本,但無法指定生成樣本屬于何種類別。針對這種情況,在生成對抗網(wǎng)絡(luò)中添加額外條件信息,以對其條件變體進行建模,即條件生成對抗網(wǎng)絡(luò)(Conditional GAN,CGAN)[16],其結(jié)構(gòu)如圖1所示。
條件生成對抗網(wǎng)絡(luò)將噪聲z和條件c作為輸入同時輸入生成器,通過非線性函數(shù)映射到數(shù)據(jù)空間。將數(shù)據(jù)x和條件c作為輸入同時送進判別器,進一步判斷x是真實訓練數(shù)據(jù)的概率。條件生成對抗網(wǎng)絡(luò)的損失函數(shù)為
Ez~pz(z)[log(1-D(G(Z|c)))],
(1)
式中:θG,θD分別為判別器和生成器的參數(shù);V(D,G)為二元交叉熵函數(shù);x為真實數(shù)據(jù);c為條件信息;z為隨機噪聲;pz(z),pdata(x)分別為真實數(shù)據(jù)x和隨機噪聲z的數(shù)據(jù)分布。
條件生成對抗網(wǎng)絡(luò)的生成器可以將類別標簽與隨機噪聲組合起來作為隱藏層輸入。在判別器中,x和c是判別函數(shù)的輸入。判別器和生成器的性能通過對抗性學習機制不斷提高。當pz(z)=pdata(x)時,生成器生成的新樣本可以無限擬合原始樣本的分布,條件生成對抗網(wǎng)絡(luò)達到納什均衡。條件生成對抗網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示。
深度卷積生成對抗網(wǎng)絡(luò)(Deep Convolutional GAN,DCGAN)[17]是第一個基于卷積神經(jīng)網(wǎng)絡(luò)的生成對抗網(wǎng)絡(luò)架構(gòu),在無監(jiān)督圖像表示學習方面顯示出實質(zhì)性進步,訓練過程穩(wěn)定且能完成高質(zhì)量清晰圖像生成任務(wù)。
深度卷積生成對抗網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示:判別器中使用卷積進行判別;而生成器則由隨機噪聲通過生成器網(wǎng)絡(luò)生成一張圖片,與卷積作用相反,稱之為反卷積;取消了所有池化層,在生成器中使用轉(zhuǎn)置卷積進行上采樣,判別器中加入步長的卷積代替池化;網(wǎng)絡(luò)中使用了批標準化,可以穩(wěn)定學習并處理初始化不良導(dǎo)致的訓練問題。生成器使用ReLU作為激活函數(shù),最后一層使用Tanh激活函數(shù),判別器則使用LeakyReLU作為激活函數(shù)。
殘差神經(jīng)網(wǎng)絡(luò)(Residual Network,ResNet)[18]的主要貢獻是發(fā)現(xiàn)了退化現(xiàn)象并針對退化現(xiàn)象發(fā)明了快捷連接,極大地消除了深度過大的神經(jīng)網(wǎng)絡(luò)訓練困難問題。殘差單元如圖3所示。
殘差單元F(x)可以表示為
F(x)=H(x)-x,
(2)
式中:x為輸入值;H(x)為輸入為x時學習到的特征。
在圖3所示的2層網(wǎng)絡(luò)中,最優(yōu)輸出為輸入x。因此,對于沒有恒等映射的網(wǎng)絡(luò),需要優(yōu)化為H(x)=x。但是,對于具有恒等映射的網(wǎng)絡(luò),即殘差塊,如果最優(yōu)輸出為x,則只需將殘差單元F(x)優(yōu)化為0。原理如下
xp+1=xp+F(xp,wp),
(3)
式中:xp為第p層的輸入值;F(xp,wp)為第p層的殘差;wp為第p個特征圖相關(guān)的卷積濾波器。
則從淺層p到深層Q的學習特征為
(4)
根據(jù)反向傳播原理,損失函數(shù)ε關(guān)于xp的偏導(dǎo)數(shù)為
(5)
(5)式括號中的“1”表示短路機制可以無損的傳播梯度,而另一個殘差梯度需要通過權(quán)重層,并且梯度不直接轉(zhuǎn)移。一般情況下殘差梯度不都是-1。由于恒等函數(shù)的導(dǎo)數(shù)恒為1,即便殘差梯度非常小也不能造成梯度消失,從而進一步抑制了梯度的衰減,通過加法的計算提高了訓練的穩(wěn)定性和易用性。因此,網(wǎng)絡(luò)的層數(shù)增加,網(wǎng)絡(luò)性能顯著提高。
在圖像領(lǐng)域,自注意力機制用于學習某一像素點與其他所有位置像素點之間的關(guān)系,能夠更好地捕獲圖像的全局信息[19]。由于殘差網(wǎng)絡(luò)受限于鄰域的卷積核尺寸,生成對抗網(wǎng)絡(luò)的生成器只是局部區(qū)域的運算,忽略了全局其他區(qū)域與當前區(qū)域的關(guān)系。
自注意力機制如圖4所示:對經(jīng)過卷積特征映射后的特征圖X通過1×1卷積進行特征映射來壓縮通道數(shù),得到相應(yīng)特征θ(xi);其次,將特征θ進行展平,對其進行轉(zhuǎn)置操作,并與φ(xi)進行矩陣點乘,計算出每個位置的相似度;然后,經(jīng)過Softmax進行歸一化得到注意力映射的系數(shù)fc,將g(xi)經(jīng)過展平和轉(zhuǎn)置操作的結(jié)果與fc進行矩陣點乘得到結(jié)果y;最后,再使用1×1卷積上擴通道數(shù),與原輸入X進行殘差運算作為最終輸出,進而獲得全局特征信息。
本文提出的基于自注意力機制的條件殘差生成對抗網(wǎng)絡(luò)(Conditional Residual GAN of Self-Attention Mechanism,S-CRGAN)如圖5所示,該模型由生成器和判別器兩部分組成,類別標簽和隨機噪聲作為生成器的輸入,得到的偽樣本和真實標簽樣本作為判別器的輸入,進而對輸入的真實樣本和偽樣本進行判別。在判別器和生成器中引入自注意力機制和深度殘差模塊,利用殘差模塊的跳躍結(jié)構(gòu)緩解梯度消失,進而增加網(wǎng)絡(luò)的深度;自注意力機制用于彌補殘差模塊的缺陷,以生成更好的特征圖,增強泛化性,反過來使模型訓練得更好,提升生成樣本的質(zhì)量和故障診斷的準確率。
S-CRGAN的生成器包含全連接層、5個上采樣殘差模塊、自注意力模塊和卷積層,其結(jié)構(gòu)如圖6所示:將標簽信息和隨機高斯噪聲連接的數(shù)據(jù)作為輸入,通過全連接層轉(zhuǎn)換為3維張量;上采樣殘差模塊包含批處理歸一化、ReLU激活函數(shù)、卷積層、恒等映射、上采樣。添加批處理歸一化(Batch Normalization)可以在保持梯度傳播到每一層的同時避免不良的初始化效果,加快模型訓練時的收斂速度,起到一定的正則化作用,提高模型的穩(wěn)定性;自注意力機制用于獲取全局信息,再通過2層上采樣殘差模塊后在生成器的輸出層采用卷積核3×3、步幅1、填充1的卷積層并使用Tanh函數(shù)作為激活函數(shù)。
S-CRGAN的判別器包含卷積層、4個殘差模塊、自注意力模塊、自適應(yīng)平局池化和全連接層,其結(jié)構(gòu)如圖7所示:時頻圖像作為輸入,經(jīng)過卷積層后使用LeakyReLU函數(shù)作為激活函數(shù),每個殘差模塊包含卷積層、BN和LeakyReLU;輸入數(shù)據(jù)分成兩部分,一部分由BN,LeakyReLU和卷積層等操作構(gòu)成,另一部分使用二維卷積和BN進行恒等變換,最后經(jīng)過LeakyReLU激活函數(shù)形成一個完整的殘差模塊。自注意力機制放在殘差模塊中用于獲取特征圖的全局信息,在判別器中使用自適應(yīng)平均池化層來減少最后全連接層的參數(shù),最后通過一個全連接層判定故障樣本的真假。與生成器正好相反,判別器不需要在輸入時連接標簽數(shù)據(jù),直接將特征圖數(shù)據(jù)作為輸入,從而避免標簽數(shù)據(jù)對判別器分類的影響。
S-CRGAN模型超參數(shù)的選擇至關(guān)重要,會影響其故障分類性能。小尺寸圖像不能顯示所有的信號信息,導(dǎo)致診斷結(jié)果不良;圖像尺寸過大,會使分類器模型更復(fù)雜,帶來更大的計算量,也需要更大的樣本量才能使模型收斂[20]:因此選擇尺寸為128×128×3的時頻圖像。另外,設(shè)置batch_size為16,epochs為100,在生成器的輸出層采用Tanh函數(shù)作為激活函數(shù),其他采用LeakyReLU函數(shù)作為激活函數(shù),斜率設(shè)置為0.2;使用Adam優(yōu)化器訓練,計算梯度平均和的系數(shù)為(0.5,0.999),生成器和判別器的學習率都為0.000 2。
在S-CRGAN的訓練過程中,生成器和判別器都考慮自己的利益最大化。在訓練生成器時,生成器可解釋為將標簽信息c和低維噪聲z映射到高維真實樣本的函數(shù),試圖將目標函數(shù)V(D,G)最小化,此時判別器參數(shù)不變。當最小化目標函數(shù)時,生成器使偽樣本通過判別器的運算結(jié)果盡量接近“1”,使生成樣本分布接近真實樣本分布。
訓練判別器時,判別器的作用是到評估生成器產(chǎn)生的偽樣本的質(zhì)量,試圖將目標函數(shù)V(D,G)最大化,此時生成器固定。理想的判別器一方面接收真實樣本的計算結(jié)果為“1”,另一方面接收偽樣本的計算結(jié)果盡可能接近“0”,當生成樣本分布與真實樣本分布十分接近時,輸出結(jié)果為0.5,達到納什均衡。判別器的損失函數(shù)定義為兩部分:1)真實樣本通過判別器的輸出與c做交叉熵得到loss_D_c;2)新樣本通過判別器的輸出與“0”做交叉熵得到loss_D_f;這兩部分之和為判別器的損失函數(shù)。上述過程是判別器與生成器之間的對抗博弈。
為驗證S-CRGAN模型在完成生成任務(wù)的同時具有強大的提取特征能力,將判別器單獨提取出來并接一層Softmax訓練分類器,最終得到基于S-CRGAN的滾動軸承故障診斷模型,其故障診斷流程如圖8所示。
待S-CRGAN模型訓練好后,將判別器單獨提取出來并在圖6結(jié)構(gòu)中將輸出為“1”的全連接層替換為輸出為“n”的全連接層,其中n表示故障數(shù)據(jù)集中的類別標簽。同時采用交叉熵作為損失函數(shù),并使用Softmax層訓練此分類器,如圖9所示。
為驗證所提出基于自注意力機制的條件殘差生成對抗網(wǎng)絡(luò)模型的性能,采用美國凱斯西儲大學(CWRU)和德國帕德博恩大學(UPB)的軸承數(shù)據(jù)進行驗證。
3.1.1 數(shù)據(jù)描述和預(yù)處理
采用驅(qū)動端軸承6205在0hp負載情況下的數(shù)據(jù),試驗轉(zhuǎn)速為1 797 r/mim,采樣頻率為12 kHz,軸承每次旋轉(zhuǎn)為振動信號產(chǎn)生401個采樣點,采樣時間約0.033 s,詳細的數(shù)據(jù)描述見表1。
表1 CWRU軸承數(shù)據(jù)集描述
按7:3的比例劃分訓練集和測試集,包含10種不同故障狀態(tài)下的4 200個訓練樣本和1 800個測試樣本。0.356 mm外圈故障軸承振動信號經(jīng)連續(xù)小波變換處理后得到的時頻圖如圖10所示。
3.1.2 診斷結(jié)果
S-CRGAN生成器和判別器在CWRU軸承數(shù)據(jù)集上的損失變化趨勢如圖11所示:在S-CRGAN訓練初期,生成器和判別器一開始就產(chǎn)生震蕩,但幅度較??;在訓練中后期,隨著訓練次數(shù)增加,生成器和判別器損失值的變化幅度變大;總體上看,生成器損失值振蕩過程中逐漸增大,判別器損失值振蕩過程中逐漸減小,判別器在訓練過程中更具優(yōu)勢。
在S-CRGAN訓練完成后,將模型中的判別器參數(shù)提取出來,使用圖9的結(jié)構(gòu)進行故障分類,batchsize設(shè)置為16,學習率為0.000 2,優(yōu)化器為Adam。為驗證S-CRGAN方法在故障診斷上的優(yōu)勢,單獨訓練了SA-ResNet模型(與S-CRGAN模型判別器結(jié)構(gòu)完全相同),2個模型在CWRU軸承數(shù)據(jù)集上的損失和準確率隨迭代次數(shù)變化的結(jié)果如圖12所示。
由圖12可知:在相同迭代次數(shù)下,訓練開始后S-CRGAN就得到了較低的損失,更快地收斂并趨于穩(wěn)定,S-CRGAN在訓練初期的準確率就高于SA-ResNet并保持在99.5%以上,相較于SA-ResNet模型優(yōu)勢明顯。自適應(yīng)平均池化、殘差模塊和自注意力模塊的使用,使S-CRGAN模型更加穩(wěn)定,可有效獲取時頻故障圖像的非局部信息并避免模型過度擬合。
S-CRGAN在CWRU軸承測試集上分類結(jié)果的混淆矩陣如圖13所示:鋼球重度和外圈輕度故障中的少量樣本被錯誤分類,具體為3個鋼球重度故障樣本(標簽6)和2個外圈輕度故障樣本(標簽7)被誤分為鋼球中度故障(標簽5)。
幾種常用方法對CWRU數(shù)據(jù)集進行故障分類的準確率見表2。其中,SA-ResNet的結(jié)構(gòu)和參數(shù)與S-CRGAN判別器相同,C-DCGAN和CRGAN分別在S-CRGAN的基礎(chǔ)上去掉殘差網(wǎng)絡(luò)和注意力機制。由表2可知:經(jīng)過S-CRGAN預(yù)訓練后的分類器在故障分類上均優(yōu)于表中其他方法,證明了該方法的可行性;S-CRGAN故障分類準確率明顯高于SA-CRGAN,證明了該方法在預(yù)訓練階段提取時頻圖像特征的有效性。
表2 不同方法對CWRU軸承數(shù)據(jù)的故障分類準確率
對于德國帕德伯恩大學(UPB)的軸承數(shù)據(jù)集,采用編號0條件下6203型球軸承的試驗數(shù)據(jù),試驗轉(zhuǎn)速為1 500 r/min,扭矩為0.7 N·m,徑向力為1 000 N,采樣頻率為64 kHz。軸承數(shù)據(jù)包括正常(K001)和5類人為損傷:外圈電火花加工1級損傷(KA01)、外圈電刻加工1級損傷(KA05)、外圈鉆孔加工2級損傷(KA08)、內(nèi)圈電火花加工1級損傷(KI01)、內(nèi)圈電刻加工1級損傷(KI03)。詳細的數(shù)據(jù)描述見表3。
表3 UPB軸承數(shù)據(jù)描述
同樣,按7:3的比例劃分訓練集和測試集,包含6種不同運行狀態(tài)下的2 520個訓練樣本和1 080個測試樣本。采用前文所述步驟進行處理,不同方法在UPB軸承數(shù)據(jù)集上的故障診斷準確率見表4。其中,C-DCGAN在S-CRGAN的基礎(chǔ)上去掉殘差網(wǎng)絡(luò),CRGAN在S-CRGAN的基礎(chǔ)上去掉自注意力機制。S-CRGAN的故障識別準確率為99.91%,相較于其他故障診斷方法具有明顯優(yōu)勢,證明了使用S-CRGAN預(yù)訓練來實現(xiàn)故障診斷的有效性和可行性。
表4 不同方法對UPB軸承數(shù)據(jù)的故障分類準確率
S-CRGAN在UPB軸承測試集上分類結(jié)果的混淆矩陣如圖14所示:在1 080個測試數(shù)據(jù)中,只有一個外圈電刻加工1級損傷樣本(標簽2)被誤分為外圈鉆孔加工2級損傷樣本(標簽3),其他類型故障的分類準確率均為100%。
結(jié)合深度卷積生成對抗網(wǎng)絡(luò)、條件生成對抗網(wǎng)絡(luò)、深度殘差網(wǎng)絡(luò)和自注意力機制提出了基于自注意力機制的條件殘差生成對抗網(wǎng)絡(luò)(S-CRGAN),對2組軸承數(shù)據(jù)集進行驗證,結(jié)果表明:
1)將一維振動信號通過連續(xù)小波變換轉(zhuǎn)換成時頻圖能夠很好的提取原始信號的特征,通過生成對抗模型預(yù)訓練為判別器提供參數(shù),從而使該模型能夠?qū)崿F(xiàn)滾動軸承的故障分類并取得很好的效果。
2)采用深度殘差模塊構(gòu)建生成器和判別器,能夠有效提取時頻圖的特征,在一定程度上緩解生成對抗網(wǎng)絡(luò)隨著層的加深而造成梯度消失的問題,并提高模型訓練的穩(wěn)定性。
3)在生成器和判別器中加入自注意力機制,能夠更好地捕獲時頻圖的全局信息,彌補殘差模塊的缺陷,生成更好的特征圖,從而增強模型的泛化性,得到更好的判別器訓練效果,提升故障診斷的準確率。