楊青,葉義霞,吳東升,劉伊鵬
(沈陽(yáng)理工大學(xué) 自動(dòng)化與電氣工程學(xué)院,沈陽(yáng) 110159)
滾動(dòng)軸承是旋轉(zhuǎn)機(jī)械的重要部件,其故障將影響整機(jī)的安全運(yùn)行,軸承故障診斷一直是研究的熱點(diǎn)問題[1-3]。軸承大部分時(shí)間處于正常狀態(tài),正常數(shù)據(jù)易于采集,故障數(shù)據(jù)難以采集,這導(dǎo)致出現(xiàn)了數(shù)據(jù)不平衡問題[4]。此外,軸承在工作過程中工況(如轉(zhuǎn)速、負(fù)載)會(huì)發(fā)生變化,而目前大多數(shù)研究均假設(shè)軸承工況不變[5-6]。
針對(duì)數(shù)據(jù)不平衡問題,從數(shù)據(jù)處理和算法改進(jìn)2個(gè)方面進(jìn)行研究。在數(shù)據(jù)處理方面:文獻(xiàn)[7]提出了一種基于樣本特性的過采樣算法;文獻(xiàn)[8]提出了一種簡(jiǎn)單有效的時(shí)域下采樣算法。在算法改進(jìn)方面:文獻(xiàn)[9]將歸一化卷積神經(jīng)網(wǎng)絡(luò)用于數(shù)據(jù)不平衡和變工況軸承的故障診斷;文獻(xiàn)[10]提出了一種可再生融合故障診斷網(wǎng)絡(luò)(Renewable Fusion Fault Diagnosis Network, RFFDN)深度學(xué)習(xí)模型。上述研究取得了一定的成果,但存在如下問題[11]: 1)數(shù)據(jù)處理未學(xué)習(xí)到原始樣本的數(shù)據(jù)分布; 2)樣本數(shù)據(jù)較少時(shí),改進(jìn)算法也無法使模型等價(jià)學(xué)習(xí)不平衡樣本。隨著深度學(xué)習(xí)的發(fā)展,有學(xué)者嘗試用深度神經(jīng)網(wǎng)絡(luò)解決數(shù)據(jù)不平衡問題:文獻(xiàn)[12]提出的生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)能夠?qū)W習(xí)原始數(shù)據(jù)的分布,然后生成具有相似分布的新樣本;文獻(xiàn)[13]利用GAN生成故障樣本,進(jìn)而提高故障診斷模型的泛化能力;文獻(xiàn)[14]為解決GAN的模式崩潰與訓(xùn)練不穩(wěn)定問題,提出了基于深度遺憾分析(Deep Regret Analysis,DRA)的變分自編碼(Variational Auto-Encoder, VAE)- GAN的滾動(dòng)軸承故障診斷方法,在VAE-GAN 的基礎(chǔ)上使用DRA機(jī)制和特征匹配模塊,提高了生成樣本的質(zhì)量。
針對(duì)變工況問題:文獻(xiàn)[15]提出了一種基于對(duì)抗學(xué)習(xí)的分布式自適應(yīng)網(wǎng)絡(luò),通過改進(jìn)聯(lián)合最大平均差(Improved Joint Maximum Mean Difference, IJMMD)測(cè)量源域與目標(biāo)域之間的聯(lián)合分布差異,無需近似計(jì)算,利用對(duì)抗性域自適應(yīng)方法提取源域與目標(biāo)域數(shù)據(jù)的不變特征,實(shí)現(xiàn)無監(jiān)督變工況故障診斷;文獻(xiàn)[16]提出了一種基于注意力的雙層對(duì)抗網(wǎng)絡(luò)的變工況滾動(dòng)軸承故障診斷方法;文獻(xiàn)[17]提出了一種新的多任務(wù)域自適應(yīng)變工況滾動(dòng)軸承智能故障診斷方法。上述方法取得了一定的成果,但大多考慮全局域?qū)R,計(jì)算復(fù)雜。
為更好地解決上述問題,本文提出一種輔助分類生成對(duì)抗網(wǎng)絡(luò)與深度子領(lǐng)域自適應(yīng)網(wǎng)絡(luò)(Auxiliary Classifier Generative Adversarial Networks-Deep Subdomain Adaptation Network, ACGAN-DSAN) 相結(jié)合的變工況滾動(dòng)軸承故障診斷方法。首先,用自適應(yīng)損失函數(shù)代替原來ACGAN中的交叉熵?fù)p失函數(shù),生成高質(zhì)量軸承數(shù)據(jù)進(jìn)行平衡;然后,使用子領(lǐng)域自適應(yīng)網(wǎng)絡(luò)對(duì)齊源域與目標(biāo)域的數(shù)據(jù)分布并加入自注意力機(jī)制;最后,構(gòu)建聯(lián)合損失進(jìn)行變工況自適應(yīng)故障診斷。
GAN[12]主要由生成器和鑒別器組成,生成器主要用于學(xué)習(xí)原始數(shù)據(jù)的分布并生成與之相似的數(shù)據(jù),鑒別器主要用于判斷輸入的數(shù)據(jù)是真實(shí)數(shù)據(jù)還是來自生成器的數(shù)據(jù)并訓(xùn)練至納什均衡。目標(biāo)函數(shù)為
Ez~pz(z)[log(1-D(G(z))],
(1)
式中:x為真實(shí)數(shù)據(jù);pdata(x)為真實(shí)數(shù)據(jù)分布;z為隨機(jī)噪聲;pz(z)為隨機(jī)噪聲的數(shù)據(jù)分布;D(x)為樣本為真的概率;G(z)為生成的樣本。
ACGAN[18]是GAN的變體,ACGAN給生成器輸入標(biāo)簽信息,利用隨機(jī)噪聲和類別數(shù)生成有對(duì)應(yīng)標(biāo)簽的樣本Xfake=G(z,c)。生成器根據(jù)輸入標(biāo)簽生成指定樣本,鑒別器輸出樣本真假與標(biāo)簽類別,實(shí)現(xiàn)樣本分類。ACGAN網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 ACGAN結(jié)構(gòu)
ACGAN的損失函數(shù)包含判斷樣本真假的損失LS及判斷標(biāo)簽類別的損失LC,即
LS=E[logP(S=real∣Xreal)]+
E[logP(S=fake∣Xfake)],
(2)
LC=E[logP(C=c∣Xreal)]+
E[logP(C=c∣Xfake)],
(3)
式中:S為樣本真假;C為樣本類別;Xreal為真實(shí)數(shù)據(jù);Xfake為生成數(shù)據(jù);P(S∣X)和P(C∣X)為判別器網(wǎng)絡(luò)輸出數(shù)據(jù)為真實(shí)樣本的概率分布、所屬數(shù)據(jù)類別概率分布。
鑒別器用于鑒別樣本的真假與類別,即LS,LC越大越好,其損失函數(shù)為L(zhǎng)S+LC最大。生成器希望LS小,LC大,其損失函數(shù)為L(zhǎng)C-LS最大。
全局領(lǐng)域自適應(yīng)的遷移網(wǎng)絡(luò)雖然能使2個(gè)域的分布大致相同,但會(huì)使不同子域的數(shù)據(jù)分布過于接近,無法準(zhǔn)確分類。文獻(xiàn)[19]提出了一種子域適應(yīng)方法,即在源域和目標(biāo)域中精確對(duì)齊同一類別內(nèi)相關(guān)子域的分布,結(jié)構(gòu)如圖2所示。
圖2 DSAN結(jié)構(gòu)圖
DSAN使用類別劃分子領(lǐng)域,一個(gè)類別對(duì)應(yīng)一個(gè)子領(lǐng)域。采用局部最大均值差異(Local Maximum Mean Discrepancy,LMMD)對(duì)齊子領(lǐng)域分布,其計(jì)算方法為
(4)
樣本xi的權(quán)重為
(5)
采用真實(shí)標(biāo)簽的獨(dú)熱編碼計(jì)算源域樣本,使用網(wǎng)絡(luò)的概率輸出作為偽標(biāo)簽計(jì)算目標(biāo)域樣本。整個(gè)網(wǎng)絡(luò)的損失函數(shù)為
(6)
原始一維時(shí)序信號(hào)數(shù)據(jù)可以用來處理數(shù)據(jù)不平衡問題,但特征不明顯,生成樣本的質(zhì)量較差。故本文將一維的原始軸承數(shù)據(jù)轉(zhuǎn)換為二維的灰度圖,轉(zhuǎn)換過程如圖3所示。
圖3 一維數(shù)據(jù)轉(zhuǎn)化為二維圖像
將一維振動(dòng)信號(hào)切分為若干個(gè)N×N的序列片段,將每個(gè)序列片段歸一化到0~255之間,將像素值取整后轉(zhuǎn)換為灰度圖,歸一化公式為
(7)
式中:p(i,j)為圖像在(i,j)點(diǎn)的像素值;h為取整;Lmax,Lmin為振動(dòng)信號(hào)的最大值和最小值。
為了提高樣本質(zhì)量,提出了一種改進(jìn)ACGAN網(wǎng)絡(luò),結(jié)構(gòu)如圖4所示。
圖4 改進(jìn)ACGAN結(jié)構(gòu)圖
為降低噪聲對(duì)模型穩(wěn)定性的影響以及提高圖像質(zhì)量,用自適應(yīng)損失函數(shù)代替原ACGAN中的交叉熵?fù)p失函數(shù),即
(8)
式中:x為期望值與目標(biāo)值的差;α為超參數(shù),用于控制損失函數(shù)的魯棒性;m為尺度參數(shù),用于控制x在0附近的彎曲尺度。
(8)式可轉(zhuǎn)化為
(9)
當(dāng)m=1.1時(shí),對(duì)(9)式求導(dǎo)可得f與x的關(guān)系如圖5所示。由(9)式和圖5可知:當(dāng)limα→2時(shí),損失函數(shù)近似于平方誤差損失,x越大,對(duì)損失函數(shù)的影響越大,模型收斂越快;當(dāng)α=1時(shí),損失函數(shù)近似于平均絕對(duì)誤差損失,當(dāng)|x|增大到大于m時(shí),導(dǎo)數(shù)的大小飽和為常數(shù)1/m,當(dāng)殘差增加時(shí),其影響永遠(yuǎn)不會(huì)減小,但永遠(yuǎn)不會(huì)超過固定值,收斂速度慢;當(dāng)α<1時(shí),|x|逐漸大于m,損失函數(shù)的導(dǎo)數(shù)值逐漸減小,故x在梯度下降期間對(duì)模型的影響較小,這說明當(dāng)期望值與目標(biāo)值的差值增大時(shí)對(duì)梯度的影響較小,可以有效地減緩模型訓(xùn)練過程中異常值的影響,提高生成樣本的質(zhì)量;當(dāng)limα→-∞時(shí),|x|>3m時(shí)損失函數(shù)值幾乎不變,對(duì)模型影響幾乎不變。
圖5 自適應(yīng)損失函數(shù)導(dǎo)數(shù)
在模型訓(xùn)練過程中,根據(jù)(10),(11)式優(yōu)化α,m使模型能自適應(yīng)地選擇不同形式的損失函數(shù),即
(10)
(11)
為提高變工況下故障診斷的泛化能力,在原DSAN中加入自注意力機(jī)制,結(jié)構(gòu)如圖6所示。自注意力機(jī)制可以調(diào)整不同特征向量的注意力權(quán)重,從而弱化冗余特征信息。根據(jù)樣本重要性分配權(quán)重,即
(12)
加入自注意力機(jī)制的交叉熵分類損失為
(13)
LMMD的自適應(yīng)損失為
(14)
改進(jìn)后的DSAN損失函數(shù)為
(15)
基于ACGAN-DSAN的變工況滾動(dòng)軸承故障診斷流程圖如圖7所示,主要包括數(shù)據(jù)預(yù)處理、數(shù)據(jù)集平衡、離線階段、在線階段,具體步驟如下:
1)將不同工況的原始振動(dòng)信號(hào)分為源域和目標(biāo)域,將一維數(shù)據(jù)轉(zhuǎn)換為二維灰度圖;
2)將轉(zhuǎn)換后的源域和目標(biāo)域數(shù)據(jù)分別用來訓(xùn)練改進(jìn)ACGAN網(wǎng)絡(luò),達(dá)到納什均衡后保存模型,調(diào)用模型生成源域和目標(biāo)域類別不平衡的數(shù)據(jù);
3)用殘差網(wǎng)絡(luò)提取源域和目標(biāo)域的特征,將其映射到再生核希爾伯特空間中,在該空間中用LMMD計(jì)算每個(gè)類別源域和目標(biāo)域的最大均值差異,并在DSAN中加入自注意力機(jī)制,由交叉熵分類損失和LMMD自適應(yīng)損失計(jì)算聯(lián)合損失,判斷是否完成訓(xùn)練;
4)模型訓(xùn)練完成后保存模型,調(diào)用模型進(jìn)行在線故障診斷。
圖7 變工況滾動(dòng)軸承故障診斷流程圖
采用美國(guó)凱斯西儲(chǔ)大學(xué)[20]的6205深溝球軸承數(shù)據(jù)集。CPU為Intel Core i7-8700,GPU為INVIDIA GTX 1080 Ti,深度學(xué)習(xí)框架為Tensorflow和Pytorch。
試驗(yàn)裝置如圖8所示,轉(zhuǎn)速分別取1 772,1 750,1 730 r/min,定義為工況A,B,C,每種工況又包含10種故障類型,見表1。
圖8 試驗(yàn)臺(tái)
表1 6205軸承的故障類型
采樣頻率為48 kHz,每個(gè)故障類型取4 096個(gè)連續(xù)點(diǎn)生成一張像素為64×64的灰度圖,每類故障可以生成115張灰度圖,每種工況下共計(jì)1 150張灰度圖,轉(zhuǎn)換后的灰度圖如圖9所示。在轉(zhuǎn)換后的灰度圖數(shù)據(jù)集中,取80%作為訓(xùn)練樣本,20%作為測(cè)試樣本。
圖9 不同故障類別的灰度圖
采用KL散度、歐式距離(ED)和皮爾遜相關(guān)系數(shù)(PCC)3個(gè)指標(biāo)來評(píng)估樣本質(zhì)量,KL散度、ED表征2個(gè)分布的相似度,其值越小,說明兩分布越相似,PCC表征2個(gè)變量的相關(guān)性,其值越大,說明越相關(guān)。為驗(yàn)證本文方法的有效性,選擇DCGAN,ACGAN與本文改進(jìn)ACGAN對(duì)比,3組試驗(yàn)均采用相同的數(shù)據(jù)集和訓(xùn)練參數(shù)。迭代次數(shù)為1 000,批次大小為32,鑒別器的學(xué)習(xí)率為0.000 2,生成器的學(xué)習(xí)率為0.000 3,優(yōu)化器采用Adam算法,3種方法生成樣本的各項(xiàng)質(zhì)量指標(biāo)見表2:改進(jìn)ACGAN的KL散度和ED最小,PCC最大,說明改進(jìn)ACGAN生成樣本的質(zhì)量?jī)?yōu)于其他模型。
表2 不同方法生成樣本的各項(xiàng)質(zhì)量指標(biāo)
改進(jìn)ACGAN在訓(xùn)練過程中,生成器和鑒別器的損失曲線如圖10所示:當(dāng)?shù)螖?shù)達(dá)到1 500時(shí),生成器和鑒別器的損失曲線基本耦合并保持小幅震蕩,說明網(wǎng)絡(luò)達(dá)到了納什均衡。網(wǎng)絡(luò)訓(xùn)練后故障8的生成灰度圖如圖11所示,隨機(jī)截取故障8的真實(shí)灰度圖,如圖12所示。
圖10 改進(jìn)ACGAN的損失曲線
圖11 故障8的生成樣本圖
圖12 故障8的真實(shí)樣本圖
為進(jìn)一步驗(yàn)證本文方法在數(shù)據(jù)集不平衡方面故障診斷的有效性,選擇Borderline-SMOTE[21],DCGAN,ACGAN進(jìn)行對(duì)比,生成不平衡類別的數(shù)據(jù)然后補(bǔ)全訓(xùn)練集數(shù)據(jù),用CNN網(wǎng)絡(luò)進(jìn)行故障診斷,診斷準(zhǔn)確率見表3:改進(jìn)ACGAN的診斷準(zhǔn)確率優(yōu)于其他模型,說明本文的數(shù)據(jù)生成方法能有效解決數(shù)據(jù)不平衡問題。
表3 不同方法對(duì)軸承故障診斷的準(zhǔn)確率
為驗(yàn)證本文方法在變工況軸承故障診斷方面的有效性,選擇DAN,Deep Coral[22]與本文改進(jìn)DSAN進(jìn)行變工況軸承的故障診斷。設(shè)1為原始軸承數(shù)據(jù)集,2為ACGAN生成數(shù)據(jù)進(jìn)行平衡后的數(shù)據(jù)集,3為改進(jìn)ACGAN生成數(shù)據(jù)進(jìn)行平衡后的數(shù)據(jù)集,根據(jù)工況的不同,分別進(jìn)行A1-B1,A1-C1,B1-C1,A2-B2,A2-C2,B2-C2,A3-B3,A3-C3,B3-C3(A1代表原始數(shù)據(jù)中的A工況,A2代表ACGAN生成的數(shù)據(jù)平衡原始數(shù)據(jù)集后的A工況,A3代表本文方法生成的數(shù)據(jù)平衡原始數(shù)據(jù)集后的A工況,B,C工況類似;A1-B1代表A1為源域,B1為目標(biāo)域,其他類似)的變工況軸承故障診斷試驗(yàn),具體的任務(wù)樣本集見表4。參數(shù)設(shè)置:網(wǎng)絡(luò)的輸入為64×64的灰度圖,初始學(xué)習(xí)率為0.01,動(dòng)量因子為0.9,批次大小為32,迭代次數(shù)為100。每次試驗(yàn)重復(fù)3次取平均值,結(jié)果見表5。
表4 任務(wù)樣本集設(shè)置
表5 變工況軸承故障診斷的準(zhǔn)確率
對(duì)比表5中任務(wù)1,2,3,任務(wù)4,5,6,任務(wù)7,8,9可知:改進(jìn)ACGAN生成數(shù)據(jù)進(jìn)行源域數(shù)據(jù)增強(qiáng)和目標(biāo)域數(shù)據(jù)平衡后的數(shù)據(jù)集的故障診斷準(zhǔn)確率高于原始數(shù)據(jù)和ACGAN生成數(shù)據(jù)進(jìn)行源域數(shù)據(jù)增強(qiáng)與目標(biāo)域數(shù)據(jù)平衡后的數(shù)據(jù)集,說明本文方法生成的數(shù)據(jù)能有效解決數(shù)據(jù)不平衡的變工況軸承故障診斷問題。
對(duì)比表5中任務(wù)1,4,7,任務(wù)2,5,6,任務(wù)3,6,9可知:使用改進(jìn)ACGAN生成數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng)時(shí),本文方法的故障診斷準(zhǔn)確率高于DAN,Deep Coral且波動(dòng)不大,說明本文方法具有較好的魯棒性。
對(duì)比表5中任務(wù)4,5,6可知:DAN,Deep Coral的A-C工況故障診斷準(zhǔn)確率遠(yuǎn)低于本文方法, 說明對(duì)齊源域和目標(biāo)域中同一類別相關(guān)子域的分布能夠獲取每個(gè)類別的細(xì)粒度信息,這些信息可以在端到端的框架中訓(xùn)練,使模型能有效提高變工況軸承故障診斷的準(zhǔn)確率。
為進(jìn)一步驗(yàn)證本文方法對(duì)故障誤判的情況,對(duì)本文方法進(jìn)行混淆矩陣試驗(yàn),分別選取有自注意力機(jī)制A1-B1工況,無自注意力機(jī)制A3-B3工況,有自注意力機(jī)制A3-B3工況,結(jié)果如圖13所示:1)未進(jìn)行數(shù)據(jù)增強(qiáng)時(shí),模型將故障6誤判為故障1,故障1的準(zhǔn)確率僅33%;2)在有自注意力機(jī)制A3-B3工況,故障2, 8的準(zhǔn)確率分別為67%,86%,其余故障的準(zhǔn)確率均達(dá)到100%,說明本文方法的數(shù)據(jù)增強(qiáng)能有效提高故障診斷準(zhǔn)確率;3)有自注意力機(jī)制的診斷準(zhǔn)確率高于無自注意力機(jī)制,說明引入自注意力機(jī)制,能降低模型對(duì)故障識(shí)別的混淆度。
(a) 有自注意力機(jī)制A1-B1工況
(b) 無自注意力機(jī)制A3-B3工況
(c) 有自注意力機(jī)制A3-B3工況
為解決軸承故障數(shù)據(jù)少、樣本不平衡以及變工況導(dǎo)致故障診斷準(zhǔn)確率低的問題,提出一種基于ACGAN-DSAN的滾動(dòng)軸承故障診斷方法,其具有以下優(yōu)點(diǎn):
1)改進(jìn)ACGAN能有效提高生成樣本的質(zhì)量;
2)對(duì)原始數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),有效提高了軸承故障診斷的準(zhǔn)確率;
3)使用子領(lǐng)域自適應(yīng)方法將源域和目標(biāo)域同一類別的特征對(duì)齊,增大了樣本的類間可分性,提高了模型的分類性能;
4)在DSAN中加入自注意力機(jī)制,提高了模型對(duì)故障特征的非線性擬合能力,降低了模型對(duì)故障識(shí)別的混淆度,進(jìn)一步提高了軸承故障診斷的準(zhǔn)確率。
ACGAN-DSAN在加噪的環(huán)境中故障診斷效果較差,后續(xù)有待進(jìn)一步研究。