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