陶啟生,彭 成,2,滿君豐,2,劉 翊,3
1.湖南工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,湖南 株洲 412007
2.中南大學(xué) 自動(dòng)化學(xué)院,長沙 410083
3.國家先進(jìn)軌道交通裝備創(chuàng)新中心,湖南 株洲 412000
滾動(dòng)軸承是現(xiàn)代重機(jī)械中的基礎(chǔ)部件,也是最容易發(fā)生故障的部件之一,當(dāng)軸承發(fā)生故障而不能及時(shí)檢測(cè)出來時(shí),就可能造成不可預(yù)知的事故,甚至造成人員傷亡,文獻(xiàn)[1]指出接近50%的機(jī)械故障都是由于軸承故障引起的,所以為了保障機(jī)械設(shè)備的正常運(yùn)轉(zhuǎn),降低維修費(fèi)用,提升經(jīng)濟(jì)效益,對(duì)于機(jī)械軸承故障診斷技術(shù)進(jìn)行研究具有重大的實(shí)際意義[2-3]。
美國學(xué)者是最早對(duì)軸承故障診斷進(jìn)行研究的,他們通過加速度傳感器采集軸承的振動(dòng)信號(hào)對(duì)軸承進(jìn)行故障診斷,國內(nèi)對(duì)于軸承故障診斷研究起步相對(duì)較晚,開始只是學(xué)習(xí)國外的先進(jìn)經(jīng)驗(yàn),經(jīng)過眾多學(xué)者的不斷努力,國內(nèi)的振動(dòng)信號(hào)處理和故障診斷方法已經(jīng)有了長足的進(jìn)步。通常使用的軸承振動(dòng)信號(hào)處理方式有時(shí)域分析方法、頻域分析方法以及時(shí)頻分析方法。基于傳統(tǒng)的數(shù)據(jù)驅(qū)動(dòng)的機(jī)械故障診斷方法的步驟為:(1)信號(hào)采集;(2)特征提取;(3)特征選擇;(4)故障分類。近年來,人工智能逐漸走進(jìn)人們的視野,且隨著深度神經(jīng)網(wǎng)絡(luò)在圖像分類與語音識(shí)別方面取得的優(yōu)異成果,研究人員開始將神經(jīng)網(wǎng)絡(luò)應(yīng)用于機(jī)械故障領(lǐng)域,神經(jīng)網(wǎng)絡(luò)可以讓模型通過大量的數(shù)據(jù)提取并選擇特征,減少對(duì)于人工的依賴,極大地提升了故障診斷領(lǐng)域的智能化水平。
深度學(xué)習(xí)通常需要足量數(shù)據(jù)才能訓(xùn)練出優(yōu)異表現(xiàn)的網(wǎng)絡(luò)模型,而在實(shí)際生產(chǎn)環(huán)境中,軸承故障的數(shù)據(jù)獲取成本大,且獲取的數(shù)據(jù)故障分布不均衡,所以很容易造成深度學(xué)習(xí)模型過擬合或者難以收斂的問題。所以遷移學(xué)習(xí)逐漸被引用到機(jī)械故障診斷領(lǐng)域,通過在源數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集之間進(jìn)行遷移學(xué)習(xí),讓模型可以在少量數(shù)據(jù)和不平衡數(shù)據(jù)的情況下,但遷移學(xué)習(xí)同樣存在著負(fù)遷移[4]的問題,即由于源數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集之間數(shù)據(jù)分布差異過大影響遷移學(xué)習(xí)的效果,因此如何避免由于數(shù)據(jù)分布差異過大導(dǎo)致的負(fù)遷移效應(yīng)成為了研究的重點(diǎn)。本文提出了基于DCGAN(deep convolutional generative adversarial networks)與二步遷移學(xué)習(xí)的軸承診斷方法,本文先通過使用DCGAN創(chuàng)造輔助數(shù)據(jù)集,然后再在源數(shù)據(jù)集與輔助數(shù)據(jù)集之間進(jìn)行一次遷移學(xué)習(xí),最終在輔助數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集間再次遷移學(xué)習(xí)。由實(shí)驗(yàn)表明,本文提出的方法可以有效克服遷移學(xué)習(xí)的負(fù)遷移效應(yīng),成功訓(xùn)練出表現(xiàn)優(yōu)異的模型,而且最終的模型效果還優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)與普通深度學(xué)習(xí)方法。
由于振動(dòng)信號(hào)非常復(fù)雜,常伴隨著大量背景噪音,為了有效提取故障特征信號(hào),莫代一等[5]將基于信號(hào)共振稀疏分解(RSSD)方法引用到滾動(dòng)軸承早期故障診斷中,可以通過信號(hào)本身的特點(diǎn),自適應(yīng)地對(duì)信號(hào)進(jìn)行稀疏分解,有效去除噪音,為故障信號(hào)的檢測(cè)提供了新思路。因?yàn)槌2捎玫男盘?hào)分析的傅里葉變換、小波變換等數(shù)學(xué)方法都有各自的局限性,程軍圣等[6]提出了基于內(nèi)稟模態(tài)奇異值分解和支持向量機(jī)結(jié)合的故障診斷方法,采用EMD方法對(duì)故障信號(hào)進(jìn)行分解,得到IMF分量,然后將IMF分量組成的特征矩陣的奇異值作為特征向量,并結(jié)合支持向量機(jī)進(jìn)行故障診斷。Liu等[7]提出利用經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)和Hilbert譜進(jìn)行機(jī)械故障診斷。針對(duì)軸承故障特征信號(hào)被背景噪音干擾無法提取的問題,鄭慧峰等[8]提出了利用EMD與Kolmogorov熵相結(jié)合來提取信號(hào)特征的方法進(jìn)行故障診斷,即先對(duì)振動(dòng)信號(hào)進(jìn)行經(jīng)驗(yàn)?zāi)B(tài)分解得到imf分量,然后對(duì)imf分量進(jìn)行降噪得到特征信號(hào),最后對(duì)特征信號(hào)進(jìn)行Kolmogorov熵計(jì)算,通過熵進(jìn)行損傷評(píng)估。Dragomiretskiy等[9]于2017年提出變分模態(tài)分解,可以有效分解混合信號(hào),將抑制模態(tài)混淆,有助于下一步進(jìn)行提取特征進(jìn)行故障診斷。Mcdonald等[10]在最小熵反褶積法(MED)的基礎(chǔ)上提出了最大相關(guān)峭度解卷積算法,解決了傳統(tǒng)MED支對(duì)單脈沖信號(hào)敏感的特點(diǎn),有效提升了模型性能。上述基于信號(hào)處理和模式識(shí)別技術(shù)的方法雖取得了豐碩的成果,但依然存在信號(hào)處理方法復(fù)雜、對(duì)專家診斷經(jīng)驗(yàn)依賴等缺點(diǎn)。
Gao等[11]用深度卷積模型對(duì)故障軸承進(jìn)行診斷,而且與區(qū)域適應(yīng)性方法相結(jié)合,有效地增強(qiáng)模型效果;劉正平等[12]提出了基于堆棧降噪自編碼的軸承故障診斷方法,通過使用自動(dòng)編碼器從原始數(shù)據(jù)中學(xué)習(xí)到特征,有效避免了對(duì)于專家診斷經(jīng)驗(yàn)的依賴的弊端,且可以取得較好的診斷正確率。上述工作都避免了對(duì)于振動(dòng)信號(hào)的復(fù)雜的特征提取工作,而直接將軸承振動(dòng)信號(hào)輸入到神經(jīng)網(wǎng)絡(luò)中進(jìn)行故障診斷分類,實(shí)現(xiàn)了“端對(duì)端”的分析過程,且有效提升了診斷工作的智能化水平。深度學(xué)習(xí)通常需要足量數(shù)據(jù)才能訓(xùn)練出優(yōu)異表現(xiàn)的網(wǎng)絡(luò)模型,于是只需要少量數(shù)據(jù)就可以獲得優(yōu)異模型的遷移學(xué)習(xí)就被引入到故障診斷領(lǐng)域中。Yang等[13]提出一種基于遷移學(xué)習(xí)的軸承故障診斷方法,該方法對(duì)基于特征的轉(zhuǎn)移神經(jīng)網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí),且添加正則化項(xiàng),最終在缺乏數(shù)據(jù)的情況下可以訓(xùn)練可靠的智能模型。李林杰[14]提出了基于遷移學(xué)習(xí)的滾動(dòng)軸承診斷系統(tǒng),通過短時(shí)傅里葉變換將時(shí)域信號(hào)轉(zhuǎn)變?yōu)榘S富信息的時(shí)頻圖,并構(gòu)建CNN網(wǎng)絡(luò)且通過相關(guān)數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,可以有效提升實(shí)時(shí)性,上述的遷移學(xué)習(xí)方法都避免了深度學(xué)習(xí)海量數(shù)據(jù)的問題,但都對(duì)源數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集的數(shù)據(jù)分布差異有一定的要求,分布差異過大的遷移學(xué)習(xí)可能會(huì)導(dǎo)致模型無法很好地學(xué)習(xí)到源數(shù)據(jù)集的知識(shí),為了能夠在缺乏負(fù)樣本以及小樣本的情況下進(jìn)行遷移學(xué)習(xí)得到有效的故障診斷模型,所以本文提出了基于DCGAN與二步遷移學(xué)習(xí)的故障診斷方法,可以有效地避免在遷移學(xué)習(xí)中可能出現(xiàn)的負(fù)遷移問題,在當(dāng)前的機(jī)械故障診斷領(lǐng)域,基于遷移學(xué)習(xí)的診斷方法還是比較新穎的方法,相應(yīng)的研究還較少,相信以后會(huì)涌現(xiàn)更多優(yōu)秀的發(fā)現(xiàn)。
近些年,得益于硬件的發(fā)展與大數(shù)據(jù)技術(shù)的飛速發(fā)展,深度學(xué)習(xí)在圖像與語音[15]等領(lǐng)域取得了巨大的成功,于是將深度學(xué)習(xí)應(yīng)用于軸承故障檢測(cè)的研究與日俱增,由于深度學(xué)習(xí)方法需要海量的數(shù)據(jù)才可以訓(xùn)練出一個(gè)表現(xiàn)優(yōu)異的模型,而故障檢測(cè)領(lǐng)域的數(shù)據(jù)具有獲取難度大、標(biāo)注成本高的特點(diǎn),因而本文提出使用遷移學(xué)習(xí)來進(jìn)行故障診斷。
遷移學(xué)習(xí)[16]是將源領(lǐng)域的知識(shí)遷移到目標(biāo)領(lǐng)域中去應(yīng)用的方法,如圖1所示,遷移學(xué)習(xí)的核心在于對(duì)已有知識(shí)的重新使用,來解決目標(biāo)領(lǐng)域中數(shù)據(jù)匱乏的問題,即通過知識(shí)遷移達(dá)到知識(shí)重用的目的,在本文中就是想要在軸承振動(dòng)數(shù)據(jù)中應(yīng)用到模型在源數(shù)據(jù)集中學(xué)習(xí)到的特征提取的知識(shí)。
圖1 遷移學(xué)習(xí)示意圖Fig.1 Transfer learning diagram
遷移學(xué)習(xí)的主要概念有域D(Domain)和任務(wù)T(Task),域D的組成為特征空間X與X的邊緣概率分布P(x),其中x∈{x1,x2,x3},任務(wù)T的組成是標(biāo)簽空間Y與預(yù)測(cè)函數(shù)f(*),定義源域?yàn)镈s,目標(biāo)域?yàn)镈t,源任務(wù)是Ts,目標(biāo)任務(wù)是Tt,遷移學(xué)習(xí)的定義是當(dāng)Ds≠Dt,Ts≠Tt時(shí),將在Ds、Ts中學(xué)習(xí)到的知識(shí)應(yīng)用在Dt、Tt中,以期增高Tt的預(yù)測(cè)函數(shù)f(*)。
對(duì)抗生成網(wǎng)絡(luò)GAN由生成器(Generator)與判別器(Discriminator)組成[17],生成器與判別器之間相互博弈對(duì)抗,GAN的標(biāo)準(zhǔn)結(jié)構(gòu)如圖2所示,生成器的輸入Z為隨機(jī)數(shù)據(jù),通常為高斯分布噪音,而判別器則是要對(duì)生成器的輸出O進(jìn)行判別,同時(shí)判別器還要對(duì)真實(shí)數(shù)據(jù)進(jìn)行判別,在GAN的訓(xùn)練過程中,通過對(duì)于損失函數(shù)的設(shè)計(jì),生成器向著產(chǎn)生的O在判別器前取得更高的分?jǐn)?shù)發(fā)展,而判別器向著能夠更明顯地判別出生成器的O的方向發(fā)展,在不斷的博弈中,生成器生成的數(shù)據(jù)分布Pg就與真實(shí)數(shù)據(jù)的分布Pdata差異越來越小,當(dāng)差異小到一定的程度,就可以認(rèn)為模型訓(xùn)練收斂,這時(shí)可以將生成器單獨(dú)拆出來,使用生成器來生成與真實(shí)數(shù)據(jù)幾乎同分布的數(shù)據(jù),這就是GAN在數(shù)據(jù)增強(qiáng)領(lǐng)域中的應(yīng)用。
圖2 生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Generate adversarial network structure diagram
深度卷積生成對(duì)抗網(wǎng)絡(luò)(DCGAN)是由Radford等[18]在2015年提出,DCGAN的創(chuàng)新在于使用了深度卷積網(wǎng)絡(luò)來作為GAN的生成器與判別器,同時(shí)的改進(jìn)還有在卷積層后添加上批標(biāo)準(zhǔn)化(batch normalization,BN),使用卷積層來代替池化層,以及除了生成器輸出層激活函數(shù)使用Tanh,模型的所有其他層都使用ReLU和Leaky ReLU激活函數(shù),通過這些改進(jìn)與創(chuàng)新,DCGAN對(duì)于局部的特征提取能力有了極大的提升。本文對(duì)于振動(dòng)數(shù)據(jù)的預(yù)處理就是將其轉(zhuǎn)換成時(shí)頻圖像,由于DCGAN十分適合處理后的圖像數(shù)據(jù),且模型中多層的卷積與反卷積也對(duì)于故障特征的提取十分有益,所以本文選擇了使用DCGAN來進(jìn)行輔助數(shù)據(jù)集的生成。
在訓(xùn)練DCGAN使用的源數(shù)據(jù)集數(shù)據(jù)格式為(None×3×64×64),None為批處理量,在數(shù)據(jù)喂給DCGAN的判別器時(shí),判別器第五層卷積層輸出的數(shù)據(jù)格式為None×1×1×1,生成器的輸入為100×1×1的隨機(jī)噪音,輸出為1×64×64的數(shù)據(jù),將生成器的輸出與真實(shí)數(shù)據(jù)同時(shí)輸入判別器,模型的損失函數(shù)如下所示:
由生成器與判別器兩部分組成,通過兩個(gè)網(wǎng)絡(luò)之間的相互博弈,最終達(dá)到納什均衡,最終收斂的模型的生成器可以用來生成輔助數(shù)據(jù)集。
本文遷移學(xué)習(xí)使用的模型是Resnet18,Resnet是由He等[19]在2016年提出的,Resnet的最大創(chuàng)新在于引入了殘差塊結(jié)構(gòu),殘差塊的結(jié)構(gòu)如圖3所示,殘差塊的輸入為x,輸出為H(x),Weight Layer為卷積層,F(xiàn)(x)為殘差映射函數(shù),本文中殘差塊計(jì)算公式如下:
圖3 殘差塊示意圖Fig.3 Residual block diagram
identity表示輸入的恒等映射,即圖中的右側(cè)的曲線,F(xiàn)(x)代表對(duì)輸入x做兩次卷積與一次線性整流函數(shù)(Rectified Linear Unit relu)激活,當(dāng)F(x)=0時(shí),殘差塊構(gòu)成恒等映射H(x)=x,網(wǎng)絡(luò)可以通過最小化殘差函數(shù)F(x)=H(x)-x來逼近殘差映射以解決網(wǎng)絡(luò)層疊加的性能退化問題。
殘差網(wǎng)絡(luò)的使用可以有效地避免梯度爆炸與梯度彌散現(xiàn)象,同時(shí)殘差塊參數(shù)量減少也可有效避免過擬合問題,假設(shè)現(xiàn)在有n個(gè)殘差塊進(jìn)行堆疊連接,以x(n)表示第n個(gè)殘差塊的輸入,x(n+1)表示該殘差塊的輸出,也是第(n+1)個(gè)殘差塊的輸入,可以推導(dǎo)得到第n個(gè)殘差塊的輸出為:
由式(3)可知,各層殘差網(wǎng)絡(luò)的累加構(gòu)成了殘差網(wǎng)絡(luò)的特征,同時(shí)保證深層網(wǎng)絡(luò)擁有比淺層網(wǎng)絡(luò)更多的特征信息。Resnet18由8個(gè)殘差塊外加一層卷積層和最終的全連接層組成,如圖4所示,所以Resnet18由17層卷積層與1層全連接層組成。
圖4 Resnet18結(jié)構(gòu)示意圖Fig.4 Resnet18 structure diagram
遷移學(xué)習(xí)可以重復(fù)使用源數(shù)據(jù)域的知識(shí),因而廣泛應(yīng)用于標(biāo)簽數(shù)據(jù)缺乏的領(lǐng)域,軸承故障發(fā)生通常較難預(yù)見且發(fā)生概率較低,取得故障數(shù)據(jù)的成本與難度較高,較少的標(biāo)注數(shù)據(jù)難以支撐從頭訓(xùn)練一個(gè)深度網(wǎng)絡(luò),使用遷移學(xué)習(xí)可以有效地解決數(shù)據(jù)集過小的問題,通過對(duì)源數(shù)據(jù)集知識(shí)的復(fù)用能讓深度網(wǎng)絡(luò)在較小數(shù)據(jù)集的訓(xùn)練下依舊有較好的效果,本文提出基于遷移學(xué)習(xí)的軸承故障診斷。但是遷移學(xué)習(xí)要求源數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集的數(shù)據(jù)分布差異不能太大,如果數(shù)據(jù)集間差異太大,則模型在源數(shù)據(jù)集中學(xué)到的特征提取能力并不能成功地提取到目標(biāo)數(shù)據(jù)集的特征,從而不能在目標(biāo)數(shù)據(jù)集上取得較好的表現(xiàn),為了解決普通遷移學(xué)習(xí)的“負(fù)遷移”問題,本文提出了基于DCGAN的二步遷移學(xué)習(xí)法,其主要流程如圖5所示。
圖5 實(shí)驗(yàn)流程圖Fig.5 Experimental flowchart
(1)數(shù)據(jù)預(yù)處理。將滾動(dòng)軸承原始振動(dòng)數(shù)據(jù)按照7∶3的比例分層抽樣劃分為訓(xùn)練集與測(cè)試集。
(2)生成融合數(shù)據(jù)集。將原始時(shí)域振動(dòng)信號(hào)按照滑動(dòng)窗口法進(jìn)行取樣,并通過短時(shí)傅里葉變換轉(zhuǎn)化為時(shí)頻圖像數(shù)據(jù),即生成目標(biāo)數(shù)據(jù)集。同時(shí)在源數(shù)據(jù)集Imagenet中選取與目標(biāo)數(shù)據(jù)集數(shù)量相同的圖片,縮放到目標(biāo)數(shù)據(jù)集中圖片的形狀,然后隨機(jī)選取目標(biāo)數(shù)據(jù)集與源數(shù)據(jù)集的圖片進(jìn)行數(shù)據(jù)融合形成融合數(shù)據(jù)集。
(3)訓(xùn)練DCGAN。使用融合數(shù)據(jù)集訓(xùn)練DCGAN,直至模型達(dá)到預(yù)定的收斂條件,獨(dú)立取出DCGAN的生成器,使用隨機(jī)噪音來生成輔助數(shù)據(jù)集。
(4)在源數(shù)據(jù)集與輔助數(shù)據(jù)集間進(jìn)行遷移學(xué)習(xí)。使用在源數(shù)據(jù)集ImageNet完成預(yù)訓(xùn)練的Resnet18模型和DCGAN生成的輔助數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí),預(yù)定循環(huán)輪數(shù),達(dá)到循環(huán)輪數(shù)即固定模型參數(shù),結(jié)束遷移學(xué)習(xí)過程。
(5)在輔助數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集間進(jìn)行遷移學(xué)習(xí)。將經(jīng)過過程(4)的模型使用目標(biāo)數(shù)據(jù)集再次進(jìn)行遷移學(xué)習(xí)。預(yù)定循環(huán)輪數(shù),達(dá)到循環(huán)輪數(shù)即固定模型參數(shù),結(jié)束遷移學(xué)習(xí)過程。
(6)利用測(cè)試集來測(cè)試模型效果。將測(cè)試集輸入訓(xùn)練好的模型,使用準(zhǔn)確率、召回率、F1值來進(jìn)行性能評(píng)價(jià)。
實(shí)驗(yàn)數(shù)據(jù)采用的是CWRU的滾動(dòng)軸承振動(dòng)數(shù)據(jù),選用型號(hào)是SKF-6205的驅(qū)動(dòng)端軸承,通過電火花加工單點(diǎn)造成損傷,損傷位置有外圈、內(nèi)圈、滾動(dòng)體,信號(hào)的采樣頻率是12 kHz,故障直徑為0.007 in,0.014 in,0.021 in。由于多工況,不同軸承位置故障的存在,為了盡量全面地表現(xiàn)軸承的狀態(tài),把不同故障程度、不同位置的軸承都單獨(dú)看做一類,數(shù)據(jù)集共有10種類型,而且根據(jù)7∶3的比例分為了訓(xùn)練集與測(cè)試集,數(shù)據(jù)集如表1所示。
表1 不同類型滾動(dòng)軸承數(shù)據(jù)集描述Table 1 Description of different types of rolling bearing data sets
對(duì)于已經(jīng)分割的原始振動(dòng)信號(hào)數(shù)據(jù)集,采取窗口滑動(dòng)法截取1 024的點(diǎn)組成樣本,設(shè)滑動(dòng)窗口h,S1由第1個(gè)到第1 024個(gè)數(shù)據(jù)點(diǎn)組成,S2由第(h+1)個(gè)到第(h+1 024)個(gè)振動(dòng)數(shù)據(jù)點(diǎn)組成,由此類推,取樣方式如圖6所示。
圖6 振動(dòng)信號(hào)數(shù)據(jù)增強(qiáng)示意圖Fig.6 Schematic diagram of vibration signal data enhancement
對(duì)于上述已經(jīng)分割完成的原始數(shù)據(jù),需要對(duì)每段數(shù)據(jù)進(jìn)行時(shí)頻分析,將原始的振動(dòng)信號(hào)進(jìn)行短時(shí)傅里葉變換轉(zhuǎn)變成時(shí)頻圖進(jìn)行后續(xù)的網(wǎng)絡(luò)診斷,轉(zhuǎn)換后的時(shí)頻圖組成目標(biāo)數(shù)據(jù)集,四種狀態(tài)的原始信號(hào)轉(zhuǎn)換的時(shí)域圖如圖7所示。相比于原始振動(dòng)信號(hào)中故障特征不明顯,時(shí)頻圖可以更突出地反應(yīng)原始信號(hào)在時(shí)域與頻域方面的信息。
圖7 振動(dòng)信號(hào)時(shí)頻圖Fig.7 Time-frequency diagram of vibration signal
在ImageNet中隨機(jī)選取與訓(xùn)練集數(shù)量相同的圖片,縮放至64×64大小,隨機(jī)與訓(xùn)練集圖片進(jìn)行疊加形成融合數(shù)據(jù)集。由于二步遷移學(xué)習(xí)需要降低源域與目標(biāo)域的數(shù)據(jù)分布差異來提升遷移學(xué)習(xí)的效果,所以將兩種分布的數(shù)據(jù)進(jìn)行融合疊加,在DCGAN的訓(xùn)練過程中,通過損失函數(shù)的限制,讓生成的輔助數(shù)據(jù)集與源數(shù)據(jù)集的分布差異能比原本的源域和目標(biāo)域的差異小。
二次遷移學(xué)習(xí)方法的第一步就是利用DCGAN和融合數(shù)據(jù)集來生成輔助數(shù)據(jù)集。DCGAN的生成器G是由五層反卷積層組成,判別器D由五層卷積層組成。其中生成器接收隨機(jī)高斯噪音,輸出為G(Zi),判別器輸入為G(Zi)與混合數(shù)據(jù)集中的真實(shí)數(shù)據(jù),輸出為0至1之間的數(shù)值,其中判別器輸出越接近0代表判別器認(rèn)為輸入數(shù)據(jù)越有可能是G(Zi),輸出越接近1代表判別器認(rèn)為數(shù)據(jù)越有可能是真實(shí)數(shù)據(jù)Xi,在訓(xùn)練判別器時(shí),為了避免神經(jīng)元訓(xùn)練過程中“死亡”的問題,激活函數(shù)使用LeakyReLU[20],其定義為:
其中,a為設(shè)定較小的常數(shù)。
二次遷移學(xué)習(xí)方法的第二步是在源數(shù)據(jù)集與輔助數(shù)據(jù)集之間進(jìn)行遷移學(xué)習(xí),雖然源數(shù)據(jù)集Imagenet由現(xiàn)實(shí)中的圖片所組成,目標(biāo)數(shù)據(jù)集使用的模型是在ImageNet上完成預(yù)訓(xùn)練的Resnet18,考慮到預(yù)訓(xùn)練的Resnet18已經(jīng)在ImageNet數(shù)據(jù)集中學(xué)習(xí)到很多圖像低層次特征,所以在遷移學(xué)習(xí)訓(xùn)練前期只放開全連接層,當(dāng)模型損失平穩(wěn)不再下降后,為了模型能學(xué)習(xí)到輔助數(shù)據(jù)集中故障數(shù)據(jù)的高層次特征,放開剩下所有層的參數(shù)θ,然后固定訓(xùn)練M輪,讓模型形成多層次的特征提取器。在訓(xùn)練過程中使用交叉熵函數(shù)作為損失函數(shù)定義為:
其中,p(x)為樣本的真實(shí)分布,q(x)為模型預(yù)測(cè)的概率。損失函數(shù)中加入L2正則化可以降低模型復(fù)雜度,降低過擬合的風(fēng)險(xiǎn),所以最終的損失函數(shù)如下:
其中,λ是L2正則化的權(quán)值,w是模型所有層的權(quán)值,通過Adam算法進(jìn)行優(yōu)化,最小化目標(biāo)函數(shù)LResnet(w)。
二次遷移學(xué)習(xí)的第三步是在輔助數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集之間進(jìn)行遷移學(xué)習(xí),將模型所有層的參數(shù)都放開,固定訓(xùn)練N輪,讓模型中特征抽取的部分可以學(xué)習(xí)到目標(biāo)數(shù)據(jù)集的數(shù)據(jù)特征,而且由于輔助數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集之間的數(shù)據(jù)分布差異較小,所以遷移學(xué)習(xí)能有效地避免負(fù)遷移效應(yīng)帶來的問題,在訓(xùn)練過程中依舊采用交叉熵外加上L2正則化作為損失函數(shù),并最終通過Adam[21]算法進(jìn)行優(yōu)化,最小化損失函數(shù)。
實(shí)驗(yàn)基于開源框架Pytorch與Python3.6下實(shí)現(xiàn),實(shí)驗(yàn)平臺(tái)是ubuntu18.04,24 GB內(nèi)存,480 GB SSD,1 TB HD,AMD@Ryzen7 3700x,Nvidia GTX 1080Ti,顯存為11 GB,實(shí)驗(yàn)共分為兩個(gè)部分,即使用DCGAN來創(chuàng)造輔助數(shù)據(jù)集與利用輔助數(shù)據(jù)集和目標(biāo)數(shù)據(jù)集來兩步遷移學(xué)習(xí)并最終進(jìn)行軸承故障診斷。
DCGAN的生成器由五層反卷積組成,除了最后一層卷積層之外,其余卷積層后需加上批標(biāo)準(zhǔn)化層(BN)與relu激活函數(shù),第五層卷積的激活函數(shù)為tanh。經(jīng)過五層反卷積,輸入的隨機(jī)噪音信號(hào)的通道數(shù)在第一層卷積增大后逐層下降,最后通道數(shù)為1,而1×1的輸入經(jīng)由五層卷積生成64×64的圖片,生成模型參數(shù)如下,DCGAN的判別器主要由五層卷積層組成,在第二層與第三層卷積后加上批標(biāo)準(zhǔn)化(BN)。判別器的前四層卷積后都要通過leaky_relu進(jìn)行激活,第五層激活函數(shù)是sigmoid。輸入判別器的信號(hào)通道數(shù)為3,輸入為64×64信號(hào),輸出為1×1,DCGAN模型各層參數(shù)如表2所示。DCGAN模型訓(xùn)練的批處理大小batch_size=128,學(xué)習(xí)率learning_rate為0.000 2,迭代次數(shù)為20 000次,模型初始化參數(shù)符合均值為0,標(biāo)準(zhǔn)差為0.02的正態(tài)分布。
表2 DCGAN各層參數(shù)Table 2 DCGAN parameters of each layer
Resnet18的網(wǎng)絡(luò)模型如表3所示,為了適應(yīng)振動(dòng)數(shù)據(jù)的形式,實(shí)驗(yàn)中對(duì)Resnet18進(jìn)行了一些改變,改變?nèi)缦滤荆?/p>
表3 Resnet18各層參數(shù)Table 3 Resnet18 parameters of each layer
(1)將7×7的平均池化層改為了2×2。
(2)將512×1 000的全連接層改為了512×10的全連接結(jié)構(gòu)。通過改動(dòng),讓網(wǎng)絡(luò)既保留了對(duì)于原始振動(dòng)數(shù)據(jù)特征的提取能力,同時(shí)提升了對(duì)于振動(dòng)數(shù)據(jù)的適應(yīng)能力,讓殘差網(wǎng)絡(luò)在目標(biāo)數(shù)據(jù)源上能夠表現(xiàn)出更優(yōu)異的性能。在二次的遷移學(xué)習(xí)過程中,批處理大小batch_size=32,學(xué)習(xí)率learning_rate=0.000 1,二步遷移學(xué)習(xí)訓(xùn)練輪數(shù)M=50,N=40。
為了驗(yàn)證本文所提出的使用DCGAN來生成輔助數(shù)據(jù)集,再進(jìn)行二步遷移學(xué)習(xí)并進(jìn)行故障診斷的可行性。本文設(shè)計(jì)了普通的遷移學(xué)習(xí)與不使用遷移學(xué)習(xí)作為對(duì)比,普通的遷移學(xué)習(xí)使用通過ImageNet數(shù)據(jù)集預(yù)訓(xùn)練Resnet18作為模型,然后通過時(shí)頻圖數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí),其中遷移學(xué)習(xí)的參數(shù)設(shè)置與本文所使用二步遷移學(xué)習(xí)法中在輔助數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集之間進(jìn)行遷移參數(shù)設(shè)置相同。不使用遷移學(xué)習(xí)的則是使用沒有經(jīng)過Imagenet預(yù)訓(xùn)練的Resnet18使用目標(biāo)數(shù)據(jù)集進(jìn)行訓(xùn)練。而本文所提出方法的主要流程為:通過融合數(shù)據(jù)集來訓(xùn)練DCGAN,在DCGAN的生成器與判別器兩者之間達(dá)到納什均衡后,單獨(dú)取出生成器來生成格式為3×64×64的融合圖片(數(shù)量都是5 000),生成的數(shù)據(jù)組成為輔助數(shù)據(jù)集,讓神經(jīng)網(wǎng)絡(luò)先在源數(shù)據(jù)集與輔助數(shù)據(jù)集之間進(jìn)行遷移學(xué)習(xí),然后讓模型在輔助數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集間進(jìn)行二次遷移學(xué)習(xí)。
在對(duì)目標(biāo)數(shù)據(jù)集進(jìn)行預(yù)處理過程中,為了探究最合適的滑動(dòng)窗口,設(shè)定滑動(dòng)窗口為64、128、192、256,設(shè)計(jì)四組對(duì)照實(shí)驗(yàn),使用相同的DCGAN進(jìn)行數(shù)據(jù)擴(kuò)充且后續(xù)進(jìn)行二次遷移學(xué)習(xí)來訓(xùn)練模型,并最終設(shè)置相同對(duì)照組進(jìn)行故障診斷測(cè)試,最終的測(cè)試準(zhǔn)確率如表4所示。
表4 滑動(dòng)窗口數(shù)與準(zhǔn)確率關(guān)系表Table 4 Table between number of sliding windows and accuracy
通過4組對(duì)照實(shí)驗(yàn)可以發(fā)現(xiàn),在對(duì)照實(shí)驗(yàn)中,當(dāng)滑動(dòng)窗口數(shù)為由64增加為128時(shí),故障診斷的準(zhǔn)確率有所提升,而當(dāng)滑動(dòng)窗口數(shù)由128逐漸提升為192和256時(shí)準(zhǔn)確率反而逐漸降低,原因可能是當(dāng)滑動(dòng)窗口數(shù)過小時(shí),樣本之間差異過小,模型難以正確判斷,而滑動(dòng)窗口過大時(shí)則會(huì)造成數(shù)據(jù)集的樣本數(shù)量少,使模型無法得到充分的訓(xùn)練,所以滑動(dòng)窗口數(shù)在128時(shí),模型可以取得最優(yōu)的故障診斷率,所以后續(xù)的實(shí)驗(yàn)中滑動(dòng)窗口設(shè)定為128。
圖8~10依次為三者分類準(zhǔn)確率、召回率、F1值隨迭代次數(shù)的變化折線圖。由圖8~10都可以看出,使用了ImageNet進(jìn)行預(yù)訓(xùn)練的Resnet模型性能要明顯強(qiáng)于不使用ImageNet進(jìn)行預(yù)訓(xùn)練的Resnet模型。具體在圖8上,不僅準(zhǔn)確率提升快,而且最終的準(zhǔn)確率也由不使用遷移學(xué)習(xí)的98.5%提升到99.1%,這表明在軸承故障診斷領(lǐng)域引入遷移學(xué)習(xí)的有效性,模型通過知識(shí)遷移將源域的知識(shí)遷移到目標(biāo)域中,遷移學(xué)習(xí)的使用,極大地解決了軸承故障領(lǐng)域由于存在的數(shù)據(jù)量少和分布不均勻?qū)е履P瓦^擬合與泛化性差的問題。
圖8 準(zhǔn)確率變化曲線Fig.8 Curve of accuracy change
對(duì)于二步遷移學(xué)習(xí)方法與普通遷移學(xué)習(xí)方法的性能對(duì)比。由圖可知,使用了二步遷移學(xué)習(xí)方法的模型各項(xiàng)指標(biāo)提升都遠(yuǎn)遠(yuǎn)快過使用普通遷移學(xué)習(xí)方法的模型,而具體到圖8上,在循環(huán)輪數(shù)為10時(shí)二步遷移學(xué)習(xí)已經(jīng)達(dá)到了99%的準(zhǔn)確率,而遷移學(xué)習(xí)方法則要等到循環(huán)輪數(shù)為35時(shí)才能達(dá)到99%的準(zhǔn)確率,且由圖8可知,最終的軸承故障分類準(zhǔn)確率也由遷移學(xué)習(xí)的99.11%提升到了二步遷移學(xué)習(xí)的99.73%,有著0.62個(gè)百分點(diǎn)的明顯提高,而本文提出方法在開始時(shí)有著幾乎50%的準(zhǔn)確率明顯說明了所提出方法能夠克服負(fù)遷移效應(yīng),且能充分利用源數(shù)據(jù)集的知識(shí)。由圖9、10可知,在召回率與F1值指標(biāo)上同樣可以看到本文提出的方法具有更優(yōu)的輔助分類能力,且能在較短的時(shí)間內(nèi)達(dá)到收斂。所以為了克服遷移學(xué)習(xí)在軸承故障診斷領(lǐng)域產(chǎn)生的負(fù)遷移效應(yīng),可以使用本文提出的DCGAN與二步遷移學(xué)習(xí)結(jié)合的方法。
圖9 召回率變化曲線Fig.9 Recall curve
為了能更加精準(zhǔn)地觀察三種方法最終的故障診斷效果,將三種方法的診斷結(jié)果通過混沌矩陣圖11~13進(jìn)行展示,通過結(jié)果對(duì)比可以清楚地看到,使用遷移學(xué)習(xí)可以有效提升模型的表現(xiàn)力,但是分布差異大同樣影響著遷移學(xué)習(xí)的效果,通過本文提出的二步遷移學(xué)習(xí)法,模型的效果得到了進(jìn)一步提升,有效地解決了數(shù)據(jù)分布過大帶來的負(fù)面效應(yīng)。
圖11 二步遷移學(xué)習(xí)模型的混沌矩陣Fig.11 Chaotic matrix of two-steptransfer learning model
圖12 遷移學(xué)習(xí)模型的混沌矩陣Fig.12 Chaotic matrix of transfer learning model
圖13 不使用遷移學(xué)習(xí)模型的混沌矩陣Fig.13 Chaos matrix without transfer learning model
其中可以明顯看出在面對(duì)二步遷移學(xué)習(xí)會(huì)出錯(cuò)的診斷上,遷移學(xué)習(xí)通常也會(huì)出錯(cuò),而且有著更高的錯(cuò)誤率,而且遷移學(xué)習(xí)會(huì)在某些二步遷移學(xué)習(xí)完全正確的問題上出現(xiàn)錯(cuò)誤診斷,兩者混沌矩陣的對(duì)比可以充分地說明在故障診斷上,本文所提出的方法可以改進(jìn)遷移學(xué)習(xí)可能的錯(cuò)誤,增強(qiáng)遷移學(xué)習(xí)最終的模型表現(xiàn)力,讓遷移學(xué)習(xí)的模型具有更高的準(zhǔn)確率。
為了驗(yàn)證本文提出的基于DCGAN與二步遷移方法的軸承故障診斷方法的有效性,采取兩類機(jī)器學(xué)習(xí)算法RF、EMD_SVM和深度學(xué)習(xí)算法CNN進(jìn)行對(duì)比實(shí)驗(yàn)論證,RF為將軸承的時(shí)域振動(dòng)信號(hào)作為特征,輸入到隨機(jī)森林(random forest)進(jìn)行故障分類,EMD_SVM是通過EMD得到本征模函數(shù),再利用SVM進(jìn)行故障分類,CNN采取Lenet網(wǎng)絡(luò),將軸承的時(shí)域振動(dòng)信號(hào)轉(zhuǎn)化為時(shí)頻圖輸入網(wǎng)絡(luò)進(jìn)行故障診斷,不同方法的診斷結(jié)果如表5與圖14所示。
圖14 算法對(duì)比圖Fig.14 Algorithm comparison chart
表5 算法對(duì)比表Table 5 Algorithm comparison table %
通過表4與圖10可以知道深度學(xué)習(xí)如二步遷移學(xué)習(xí)與CNN的診斷準(zhǔn)確率普遍高于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,這應(yīng)當(dāng)?shù)靡嬗谏窠?jīng)網(wǎng)絡(luò)優(yōu)異的自適應(yīng)特征學(xué)習(xí)能力與深層非線性映射能力,在較小數(shù)據(jù)集下依然可以訓(xùn)練出表現(xiàn)出色的網(wǎng)絡(luò)模型,擁有極高的診斷準(zhǔn)確率。相比于RF的93.21%,本文提出的二步遷移學(xué)習(xí)法有著6.52個(gè)百分點(diǎn)的提升,主要由于深度學(xué)習(xí)擁有明顯的特征提取方面的優(yōu)勢(shì),以及本文方法擁有的從源數(shù)據(jù)集與輔助數(shù)據(jù)集遷移學(xué)習(xí)到的知識(shí),因此才能有著如此的提升,EMD_SVM方法雖然通過了經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)將原始時(shí)域信號(hào)變成本征模函數(shù)后再使用SVM進(jìn)行故障分類,而且SVM在小樣本診斷領(lǐng)域有著較為優(yōu)異的表現(xiàn)力,但是與本文方法相比依然有著5.29個(gè)百分點(diǎn)的差距,兩種機(jī)器學(xué)習(xí)方法與本文方法之間的診斷準(zhǔn)確率的差異充分證明了深度學(xué)習(xí)強(qiáng)大的特征學(xué)習(xí)能力與遷移學(xué)習(xí)對(duì)于知識(shí)的重復(fù)使用的優(yōu)異表現(xiàn),相比于CNN取得的98.50%的診斷準(zhǔn)確率,本文提出的方法依然有著1.23個(gè)百分點(diǎn)的提升,提升的主要原因在于本文所提出的二步遷移學(xué)習(xí)方法既有遷移學(xué)習(xí)利用源數(shù)據(jù)集知識(shí)的特性,同時(shí)通過輔助數(shù)據(jù)集的使用有效地避免了負(fù)遷移效應(yīng)的產(chǎn)生,總體來說,相對(duì)于機(jī)器學(xué)習(xí)方法RF、EMD_SVM,深度學(xué)習(xí)方法整體有著更優(yōu)異的表現(xiàn),而通過使用輔助數(shù)據(jù)集與二步遷移學(xué)習(xí),本文提出的方法相比普通的CNN則有著更出色的診斷準(zhǔn)確率與穩(wěn)定性。
圖10 F1值變化曲線Fig.10 F1 value change curve
在使用遷移學(xué)習(xí)進(jìn)行故障診斷時(shí),考慮到目標(biāo)數(shù)據(jù)集與源數(shù)據(jù)集數(shù)據(jù)分布之間的巨大差異可能引發(fā)的“負(fù)遷移”效應(yīng),本文提出了二步遷移學(xué)習(xí)法,其主要通過DCGAN生成輔助數(shù)據(jù)集,然后先在源數(shù)據(jù)集與輔助數(shù)據(jù)集之間進(jìn)行遷移學(xué)習(xí),最后在輔助數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集間二次遷移學(xué)習(xí),并最終實(shí)現(xiàn)軸承故障診斷,實(shí)驗(yàn)表明,與其他診斷方法相比,本方法具有更好的穩(wěn)定性與準(zhǔn)確度,且模型的收斂速度更快。但是本文依然具有一些不足,如過程過于繁瑣,且使用DCGAN訓(xùn)練較為困難,模型訓(xùn)練較難收斂,改進(jìn)的方向是可以使用更加易于收斂的對(duì)抗生成網(wǎng)絡(luò)。