楊超越 唐建 翟凱









摘要:為了解決機械故障診斷中信號樣本不足這一問題,本文將DCGAN(Deep Convolutional Generative Adversarial Nets)應用于故障診斷中廣泛使用的軸承振動加速度信號,證明了生成信號在時頻域表現與真實信號一致。通過SVM對比分類實驗,證明了利用DCGAN生成的振動信號可以用于解決故障診斷中的樣本缺少類間數據不均衡問題,以達到提高故障診斷準確率的目的。
Abstract: In order to solve the problem of insufficient signal samples in mechanical fault diagnosis, DCGAN (Deep Convolutional Generative Adversarial Nets) is applied to the bearing vibration acceleration signal which is widely used in fault diagnosis to generate vibration signals under various working conditions. It is proved that the generated signal is consistent with the real signal in time and frequency domain. Through the comparative classification experiment of SVM, the results show that the correct rate of fault classification can be improved by adding generated vibration. It is proved that the vibration signal generated by DCGAN can be used to solve the problem of lack of inter-class data imbalance in fault diagnosis, so as to improve the accuracy of fault diagnosis.
關鍵詞:生成對抗網絡;振動信號;機械振動
Key words: GAN;vibration signal;mechanical vibration
中圖分類號:TH113.1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-957X(2021)23-0113-03
0? 引言
基于機器學習的智能模式識別方法近年來快速發展,在語音識別、自然語言處理等領域發展迅速。近年來,深度網絡越來越多地應用到故障診斷。
深度學習模型一般需要大量的樣本才能保證良好的泛化和擬合能力,然而裝備正常運行狀態下獲取故障振動信號數量有限,并且各類故障信號之間存在樣本不平衡和典型故障樣本缺少的情況,最理想的解決方法是根據已有樣本學習信號的特征并根據特征進行擴展。目前開始有基于深度網絡進行機械振動信號生成的研究,運用的模型主要有自動編碼器(Auto-Encoder,AE)[1]、變分編碼器(Variational Auto-Encoder,VAE)[2]等。
由于自動編碼器、變分編碼器設計的初衷是面向數據壓縮,模型優化的最終目標是實現輸出數據與輸入數據的均方誤差最小化,所以會導致生成數據僅僅是對真實數據的簡單復制。GAN(Generative Adversarial Networks)[3]是由Ian Goodfellow于2014年提出的生成模型,由于其自適應學習、對抗訓練的優點,已經開始受到智能故障診斷研究人員的關注。
柴志豪[4]利用GAN生成了軸承振動信號的快速傅里葉變換(FFT)頻域圖,實現了頻域圖數據庫的擴充,證明了利用GAN生成頻域圖的可行性,提高了故障識別率。何強[5]首先對一維軸承振動信號進行短時傅里葉變換(STFT),得到時頻圖,將時頻圖放入WGAN-GP中進行對抗訓練,學習到二維時頻圖的特征。然而這必須將一維信號變換成二維信號,變換方法參數的選擇存在人為主觀性。使用Deep Convolution GAN(DCGAN)用來生成軸承振動信號的時頻圖,此方法雖然擴充了數據集,然而時域信號通常攜帶大量的隱含信息,而且在變換的過程中存在人為主觀因素,產生偏差。
基于上述思考,本文嘗試將一維卷積運算引入GAN的生成器和判別器中,構建一維DCGAN,通過對抗訓練自適應地獲取信號的特征,進而對生成信號的時域、頻域等特征進行分析,以對生成信號的逼真度和可信性進行評價,實現一維振動信號的生成,并最終實現信號樣本庫的擴充。
1? 基于一維DCGAN的振動信號生成
1.1 GAN原理
GAN的基本結構如圖1,由生成器G(Generator)和判別器D(Discriminator)組成,生成器的輸入為符合高斯分布的隨機噪聲,輸出為學習到的生成數據。判別器計算生成器的輸出和真實信號之間的JS(Jensen-Shannon)距離,用來判別生成信號的逼真度,進而反向調節生成器的參數,提高生成器生成高逼真度信號的能力,判別器區分真實信號與生成信號的能力。這樣,生成器和判別器交替訓練,生成能力和判別能力也在對抗訓練中交替上升。
訓練過程如圖2所示,判別器的目的是對真實數據的判別趨近真(1),對生成器生成數據的判別趨近假(0)。而生成器的目的是使判別器對生成數據判別趨近于真,達到以假亂真的目的,并根據損失更新生成器和判別器的參數,訓練的目標函數如式(1):
■
■■(1)
式中,Pdata (x)為真實數據,G(z)為生成數據,Z為輸入的符合高斯分布的隨機噪聲。
1.2 DCGAN
為了利用GAN強大的生成能力,生成器和判別器從一維振動信號出發,經過生成器輸出生成信號,判別器輸出損失。
一維GAN中引入卷積層可以根據信號的不同自適應地改進核函數并學習到信號的特征。
而原始GAN中G和D的網絡使用的是全連接層。與全連接層相比,卷積層可以在減少大量參數的同時減少訓練時間。
1.3 一維DCGAN
一維DCGAN中的生成器和判別器都是一維卷積網絡,主要由卷積層、上采樣層、批標準化和激活函數組成。
1.3.1 結構設計和參數
為了使生成器的輸入較穩定,設置輸入為長度是100的符合標準正態分布的一維隨機噪聲,經過兩次上采樣和卷積層,將信號長度擴展為1024。具體過程為輸入信號經過全連接層,映射為32768(256*128)長度,后接Reshape層將信號整合為大小為[128 256]的矩陣,卷積層1卷積核個數為128,大小為5,經過上采樣層1輸出為[512 128]的矩陣,卷積層2的卷積核個數為32,步長為5,上采樣層2輸出為[1024 32]的矩陣,卷積層3卷積核個數為1,大小為5,之后輸出為[1024 1]即為信號的長度。全連接層和卷積層1-2的激活函數為ReLU,可以避免“梯度消失”問題,同時也能加快收斂速度。卷積層3使用雙曲正切激活函數tanh,使輸出的值在(-1,1)范圍內。
判別器構建原理與生成器類似,輸入為真實信號或者生成信號,維度為[1024 1],卷積層1個數為32,和大小為5,卷積層2個數為64,大小為5,卷積層3個數為128,大小為5,每個層卷積層后添加Dropout層,防止發生過擬合,導致生成數據與真實數據高度重合。卷積層后的激活函數為LeakyReLU。
1.3.2 算法細節
本文模型采用的是Keras2.2.4,訓練過程優化器為Adam,學習率為0.0002,批大小為64,當目標函數收斂且穩定時,訓練結束。
2? 實驗驗證
實測信號為同一軸承故障的不同損傷程度振動信號,由于不同損傷程度振動信號的時頻圖區別非常小,很難分辨,故通過DCGAN生成各種損傷程度的振動信號,用來增加信號的多樣性。為表述方便,將0.1778mm、0.3556mm、0.5334mm、0.7112mm故障分別記為故障1~故障4,具體數據如表2。
2.1 實測信號時頻圖
從FFT變換分析,原信號的頻率主要集中在0.6kHz、1.4kHz、2kHz和2.5kHz范圍,最大分量在1.4kHz。從時頻圖分析,在1.4kHz的頻率下,間隔從0.005s至0.02s之間不等,且存在高頻成分干擾。生成信號在頻率和振幅等各個方面都很好地模擬了原信號。
故障2到故障4從FFT變換分析,主要集中在600Hz、1400Hz、2600-1800Hz和3500Hz,生成信號的頻率也主要集中在以上頻率,從小波變換分析,沖擊間隔0.005s至0.015s,故障2至故障4很難從時域、頻域和時頻域區分每種故障的時域或頻域特征。
故障2、故障3和故障4三種振動信號,頻率主要集中在0.6kHz,1.3kHz,2.5-2.9kHz和3.4-3.7kHz范圍,且間隔在0.003s-0.015s,且生成信號在時域和頻域都準確地模擬了原信號。
2.2 基于SVM的分類結果分析
針對小樣本分類,由于樣本數少,防止過擬合常用的方法有SVM。同時實驗結果表明,在KNN、樸素貝葉斯等分類模型中SVM效果最為優秀。
每類故障采用70個真實故障信號、依次加入100個生成信號進行SVM訓練,30個信號進行測試,分別進行了六次實驗,取平均分類正確率,測試分類正確率如圖5。
未加入生成信號用SVM分類的混淆矩陣如表3,其中故障一分類正確率為100%,故障2至4分類正確率較低,這符合從時頻圖上的直覺觀察。
加入400生成信號用SVM分類的混淆矩陣如表 4,從實驗結果可知,隨著生成信號個數地增加,分類正確率也隨之增加,故障4分類正確率已達到93%,效果明顯,證明生成信號在某些域可以比真實信號更接近超平面的距離,對超平面的確定比真實信號更具有價值。
實驗表明,用一維DCGAN生成的一維振動信號在時域和頻域表現與原信號相差無幾,說明G和D學習到了原始信號的時域和頻域特征,并在SVM的對比分類實驗中提高了分類正確率。
在SVM分類中,對超平面和邊距起決定性作用的是距離決策面最近的樣本。在真實數據的實驗中,由于樣本數過于少,且數據維度高,樣本覆蓋范圍小,對決策面的支持向量少或者難以覆蓋全部的樣本范圍,只依賴真實數據訓練出的模型魯棒性差,生成數據增加了樣本各個維度的多樣性,樣本覆蓋范圍大,生成信號會覆蓋真實數據未包括的隱含空間,對決策面的支持向量多,決策面更準確。
還有類生成信號在低頻表現即使與真實信號略有區別,即使如此,與異類信號相比,距同類信號也要更近。對超平面的決策也有貢獻。在SVM分類的實驗中,用GAN生成數據的方法對數據的寬容度較高,即生成的數據在時頻圖上不一定要和原信號保持一致,甚至為了避免過擬合,可以將SVM的訓練數據中添加。
3? 結論
①從模擬信號的實驗結果表明,生成對抗網絡可以學習到線性調頻信號、復雜周期信號、準周期信號和復雜調頻信號的頻率變化,且有降噪作用。②在SVM對比分類實驗中,隨著增加生成信號的個數,分類正確率逐步增加,說明生成信號可以學習到真實信號的特征,增加樣本多樣性。
參考文獻:
[1]葛磊蛟,廖文龍,王煜森,等.數據不足條件下基于改進自動編碼器的變壓器故障數據增強方法 [J].電工技術學報:1-11.
[2]張弛,吳東,王偉,等.不平衡樣本下基于變分自編碼器預處理深度學習和DGA的變壓器故障診斷方法[J].南方電網技術, 2021,15(03):68-74.
[3]IAN G, JEAN P-A, MEHDI M, et al., editors. Generative adversarial nets. Advances in neural information processing systems; 2014.
[4]柴志豪.基于GAN的軸承故障診斷方法[J].內燃機與配件, 2020(14):126-7.
[5]何強,唐向紅,李傳江,等.負載不平衡下小樣本數據的軸承故障診斷[J].中國機械工程,2021,32(10):1164-1171,1180.