江蕾,唐建,楊超越,呂婷婷
(陸軍工程大學野戰工程學院,江蘇 南京 210004)
機械故障診斷在保障工業生產正常、有序進行中起著舉足輕重的作用。深度學習憑借其強大的特征學習能力和深度模型可以模擬人類復雜的大腦學習過程來獲取更多的內部信息從而達到更好的識別目的。在過去的幾年里,越來越多的研究人員將數據驅動方法應用于提高故障診斷準確性。Lei等人提出了一種基于稀疏濾波與無監督特征學習相結合的機械振動信號特征提取方法,并利用softmax回歸確定故障類別;然而,該方法存在一些不足:訓練速度慢、易陷入局部極小值以及無法處理過強或較弱的噪聲干擾。Liu等人將堆疊式自動編碼器用于齒輪箱故障診斷中,并介紹了丟棄法中的Dropout與ReLU,較好地解決了過擬合的問題。
但是,這些方法都需要大量的訓練數據,且計算復雜。而實際生產過程中存在大量的噪聲或干擾信息,使得設備出現異常時診斷結果也會發生偏差。這就需要我們根據現場情況對采集的信號進行適當修正,以提高診斷精度。在實際應用過程中,缺乏對機械設備運行狀態信息和故障數據之間關系的了解;而這幾種方法對于診斷非平衡故障的問題通常性能較差,甚至不能確定故障類別。針對上述問題,提出了一種基于非平衡樣本的故障診斷方法。生成對抗網絡(GAN)是近年來發展起來的對輸入樣本進行學習與訓練的新技術。GAN有著廣闊的應用前景,目前在圖像識別、語音處理和信息安全等領域都有很好的應用;目前,GAN已經被成功地應用到許多實際問題中,例如故障檢測與診斷等。
為了提高故障診斷的效率和準確性,本文將LSGAN應用于非平衡故障診斷。首先,構建了一個最小二乘生成對抗網絡(LSGAN),并用[7]中的方法對樣本進行學習,生成偽樣本補充原始不平衡數據集;然后,對增強后的數據集進行特征提取,利用SAE劃分不同故障類型。
生成對抗網絡包括兩部分,生成器的輸入是隨機噪聲Z,判別器的輸入是原始樣本或者生成樣本。生成器產生大量的樣本數據,而判別器則判別這些樣本是否為生成的偽樣本。該模型的最終目的是,不僅要提高判別器的判斷精度,而且要得到連判別器都分辨不出來的生成樣本,同時,不影響雙方的參數。G和D的函數如下。
由于原始GAN中判別器采用sigmoid交叉熵損失函數作為分類器進行訓練,因此可能存在梯度消失和訓練不穩的情況。針對這些問題,本文提出了基于最小二乘生成對抗網絡(LSGAN)的改進方法。在該算法中,LSGAN首先將原始數據投影到一個低維空間上進行分類處理,然后再利用得到的結果作為輸入對新訓練樣本進行預測。與原始GAN相比較,LSGAN能夠產生質量更高、訓練過程更加平穩的數據。LSGAN的損失函數如下:
其中,G是生成器,D是判別器,Z是噪聲,Pdata(x)是真實數據所遵循的概率分布,Pz(z)為z的概率分布,a,b是真實樣本與生成樣本的標簽,c是在設置時使判別器確定生成數據是真實數據的值。
針對軸承故障樣本數據總量少、非均衡等特點,提出一種基于LSGAN故障樣本集均衡方法。該算法通過對傳統GAN進行改進,在迭代過程中使其能夠適應不同類型的測試集以及具有較好的泛化能力。見圖1,首先對不均衡樣本集進行區分,然后向LSGAN輸入樣本量較少的樣本數據以產生新數據,并通過生成器與判別器之間的對抗訓練對原始樣本進行強化處理,直至小樣本量等于大樣本量后不再產生,最終獲得均衡故障樣本數據集。
圖1 基于LSGAN的樣本平衡流程圖
SAE屬于無監督學習算法。該方法通過在自動編碼器中加入一個隱藏層h來實現。SAE還包括一個或多個編碼器和一個或多個解碼器;編碼器對輸入數據進行隱藏表示映射,解碼器對數據進行重建。編碼過程表示為
式中,f表示編碼函數,W表示編碼器的權重矩陣,1b表示偏置向量。
式中,g表示解碼函數,WT表示解碼器的權重矩陣,表示偏置向量。對自動編碼器的參數進行優化,如下式:
自動編碼器層層迭加構成深層神經網絡;即上層輸出為下層輸入。在每層中采用反向傳播算法來學習各層神經元之間的連接關系。通過對多層網絡進行訓練獲得層與層之間的權值矩陣,從而實現層間數據信息傳遞。
針對現有技術中軸承故障數據少、不均衡等特點,提出一種基于LSGAN與SAE相結合的故障診斷方法。該方法首先對采集的軸承故障振動信號利用LSGAN建立模型,然后通過設計的生成器和判別器來生成用于診斷的故障樣本,得到均衡故障樣本集;然后把均衡樣本集送入SAE進行特征提取和故障分類,得到故障診斷結果。具體步驟見圖2。
圖2 故障診斷流程圖
本文選取的數據集是CWRU數據集,選取的軸承是轉速1750rmp,采樣頻率12kHz深溝球軸承SKF6205。其失效狀態有滾動體失效,內圈失效和外圈失效。在此基礎上建立了相應的故障診斷模型并進行診斷試驗研究。故障尺寸分別是0.007、0.014、0.021寸。參數的具體情況見表1。
表1 CWRU數據集參數
文中生成器G結構由3層組成,各層神經元個數分別是200、600、1200個。為了提高計算效率,G采用了一種基于反向傳播算法(RRT)的方法對神經網絡進行優化。鑒別器D的構造為4層,每一層分別為1200、600、200、1神經元。每層都有自己獨立的Re LU激活函數。SAE共有5層結構,每層都相當于1個編碼器,上一層抽取的特征為下一層提供了輸入。數據生成模塊其學習速率為1E-4,每次迭代次數為1000次左右;新的數據集訓練SAE得到最終的分類結果。
軸承故障生成信號與原始信號頻譜對比如圖3所示。從圖3中可知,生成信號的頻譜特征與原始信號相似,不同故障間生成信號的特征差異顯著,生成信號蘊含了原始信號的故障信息。取軸承的正常狀態振動信號10組數據,3種故障狀態各取5組數據。通過LSGAN算法生成3種故障數據各5組。此時,軸承正常、滾動體故障、內圈故障、外圈故障狀態樣本各10組,樣本集平衡。
圖3 生成樣本與真實樣本頻域特性對比
為了進一步檢驗生成樣本,本文采用T-SNE(t-distributed stock hastic neighbor embedding)方法將真實樣本與生成樣本特征可視化,并比較分布情況來評價生成樣本的真實性。從圖4中可以看出,二者的特征基本上都在重合區域內,這說明生成樣本已經學會了絕大部分特征,而一些離散的點將局部差異性保留下來。
圖4 生成樣本與真實樣本分布情況對比
將LSGAN產生的新平衡故障樣本集輸入SAE中,其輸出結果證明模型分類精度達到99%以上,證明了該算法有較好的分類能力。然后,將文中的診斷方法和隨機森林(Random Forest)、支持向量機(Support Vector Machine)進行了比較試驗。表2給出了3種方法的對比結果。由此可以看出, LSGAN產生的高質量均衡數據集在故障診斷中能夠識別出較多的特征得到較好的診斷能力,這也更加表明了文中所提模型在表征能力與泛化能力上都有較大的提升。
表2 診斷精度比較結果
本文針對軸承故障診斷樣本數據不均衡的問題,利用LSGAN算法產生新樣本來充實數據集,從而使難以獲取的故障數據達到均衡。在此基礎上,利用平衡數據集對基于SAE的故障分類進行訓練和測試。通過在CWRU軸承數據集上的實驗驗證了所提方法的正確性和數據樣本質量的可靠性。結果表明,所建模型魯棒性較好,故障識別準確率較高。