劉 杰,王昌達,武秋敏,胡兵兵
(西安理工大學 印刷包裝與數字媒體學院,西安710048)
滾動軸承作為重要部件被廣泛應用于幾乎所有類型的旋轉機械中。在工業生產的過程中,高速旋轉的機械設備容易造成滾動軸承的故障,給企業帶來巨大的經濟損失[1-2]。為減少軸承故障帶來的經濟損失,研究一種有效的軸承故障診斷方法是極為必要的。傳統故障診斷方法診斷滾動軸承故障的過程主要分為故障特征的提取和分類[3-4],這些過程都是通過人工提取特征實現,結果取決于信號處理技術和診斷專家的先驗知識。
隨著人工智能技術的發展,機器學習以及深度學習技術已逐漸應用于故障診斷領域,這些故障診斷方法不再依賴人工提取信號特征,大大減少了故障診斷的時間以及對信號處理技術的依賴。國內外學者提出了人工神經網絡(artificial neural network,ANN)[5]、支持向量機(support vector machine,SVM)[6]等故障診斷方法。但是ANN方法訓練時間過長,收斂速度慢,且易發生過擬合現象[7-8];SVM可以避免神經網絡結構選擇和局部極小值點問題,但是對非線性問題沒有通用的解決方案,并且上述方法均屬于淺層機器學習方法,學習能力有限,診斷準確率達到一定高度時很難再有大的提高。造成這一問題的關鍵因素便是樣本數據的大小以及樣本的準確性和完備程度。
生成對抗網路(Generative Adversarial Networks,GAN)[9]是一種新的人工智能技術,它獨特的對抗思想使其在眾多的生成器模型中脫穎而出,在圖片生成、數據增強等領域都有廣泛的應用。在生成對抗網絡中,生成器的存在使得樣本的大小、完備性等不再成為影響整個網絡判別準確率的關鍵因素。但是在故障診斷中,由于傳統的生成對抗網絡仍屬于無監督學習的生成模型,其判別器僅能判別生成樣本的真偽,而不能進行故障類型的識別。因此本文對生成對抗網絡模型進行了改進,在原始生成對抗網絡基礎上添加額外標簽信息,并且在輸出層添加輔助輸出層,使其成為一種監督學習的網絡模型,能夠在判別樣本真偽的同時也能實現樣本故障類型的診斷。通過實驗驗證,改進后的生成對抗網絡能夠對滾動軸承不同故障進行識別,并且與ANN、SVM以及LSTM 相比,改進后的生成對抗網絡在采樣信號更短的情況下,仍然保持有更高的故障診斷準確率。
2014年,Goodfellow 等提出了一種名為生成對抗網絡的神經網絡模型,其利用對抗的思想,提高了生成圖像的分辨率,使得網絡能夠無監督地學習到數據的概率分布。通過交替訓練一個生成器G和判別器D,生成對抗網絡使生成器能夠生成以假亂真的樣本,而判別器能夠對真實和生成的樣本進行二分類:真實的樣本經過判別器輸出趨向于1,而生成器生成的樣本輸入判別器,得到的結果趨向于0,其模型結構見圖1,生成器的輸入是隨機生成的噪聲矢量。生成器通過逐步學習從而生成與訓練樣本分布相同的數據。判別器的輸入是生成的數據或原始數據,其必須區分輸入數據是真實的還是生成的。訓練生成器和判別器不斷更新參數,直到生成器能夠反映原始數據的分布。生成對抗網絡總體的損失函數V(D,G)為

其中:E表示期望值,Pdata表示目標數據的數據分布;PZ是基底信號的數據分布;G(Z)表示生成模型生成的數據;D(x)表示真實樣本通過判別模型后的輸出;D(G(Z))表示生成樣本通過判別模型后的輸出。
生成對抗網絡判別器的損失函數JD表示為

生成對抗網絡生成器的損失函數JG表示為

在對生成對抗網絡進行訓練的過程中,對生成器G和判別器D交替進行優化,使得生成器的生成樣本分布不斷趨向于原始樣本分布,而判別器通過不斷對抗生成器來不斷優化自身的判別模型,其模型如圖1所示。

圖1 生成對抗網絡模型
傳統的生成對抗網絡模型通過生成器與判別器之間的對抗來優化生成器與判別器中的模型參數,它在圖像生成、風格遷移等領域被廣泛應用。但是傳統的生成對抗網絡作為生成模型只能判別生成數據的真偽,不能實現分類。為了在對滾動軸承的故障診斷中,生成對抗網絡能夠在判別樣本真偽的同時對故障準確分類,首先在原始的生成對抗網絡的基礎上添加標簽信息[10-11],其中標簽信息來自于真實樣本的標簽,使得生成對抗網絡成為一個監督學習模型,再對生成對抗網絡中的判別器模型進行改進,在判別器的輸出層中增加一個額外的輔助分類器,從而使得改進后的生成對抗網絡成為一個監督學習的分類模型。
在本文改進后的生成對抗網絡模型中,判別器含有兩個不同的輸出層,一層輸出層為判別樣本真偽的輸出層,一層輸出層則為輸出滾動軸承故障類別的輸出層。構建后的整體模型如圖2所示。
本文所提出的改進的生成對抗網絡的總體結構如圖3所示。其由兩個部分組成,分別為生成器部分和判別器部分。在生成器部分包含1個輸入層、3個隱層以及1個輸出層。在判別器部分包含2個輸入層、3個隱層以及2個輸出層。生成器的輸出層與判別器的輸入層相連接,共同構成了改進的生成對抗網絡結構。

圖2 改進后生成對抗網絡模型

圖3 改進后的生成對抗網絡結構
文中利用真實樣本的標簽信息與具有高斯分布的噪聲信號融合后的數據作為生成器模型的輸入層,經過3個全連接隱層后連接到輸出層。其中輸入層為100 維度的向量,輸出層有784個神經元,并且將輸出層作為判別器的輸入層輸入到判別器中。
在判別器模型中輸入層分為兩部分,一部分為生成器生成的樣本數據,即784個神經元的全連接層;另一部分輸入層則為由真實樣本信息與真實標簽信息組成的784個神經元的全連接層,將其連接到判別器的隱層。在判別器輸出層處判別器的輸出層被分為兩部分,一部分為判斷樣本真假的輸出層(1);另一部分為診斷滾動軸承故障類別的輸出層(2)。
在對生成對抗網絡進行訓練的過程中,判別器通過輸出層(1)的損失函數不斷更新判別器中各層權重值,從而與生成器形成對抗,使得生成器的生成樣本分布趨向于真實樣本分布,而生成器的不斷更新同樣也使得判別器模型得到優化;同時,判別器通過輸出層(2)的損失函數對判別器模型進行故障診斷優化,從而不斷提高故障分類的精度。
生成對抗網絡模型中的超參數主要包括模型結構參數和迭代次數等,這些參數的取值會直接影響最終的信號生成結果。
本文使用的改進的生成對抗網絡模型中,生成器含有3個隱層,且3個隱層均為全連接層,神經元個數分別為256、512 和1024;判別器含有3個隱層,且3個隱層均為全連接層,其中神經元個數分別為512、256 和128。在生成器的輸出層使用tanh 函數作為激活函數;在判別器的輸出層(1)中使用sigmoid激活函數,輸出層(2)中使用softmax 激活函數。在其余每層神經元之間激活函數均使用LeakyReLu函數,學習率均設置為0.2。訓練過程中使用批次樣本訓練的方法,每次選取256個樣本進行訓練,每個樣本的信號長度為784,優化函數使用Adam 優化算法。
本文使用的實驗數據為凱斯西儲大學(Case Western Reserve University,CWRU)軸承數據庫的滾動軸承振動加速度數據[12]。該滾動軸承故障診斷實驗裝置由一個扭矩儀、一個功率計、一個三相異步電動機等組成,如圖4所示。樣本數據包含了采樣頻率為12 kHz時的3種不同故障類型信號以及1種正常振動信號,對應的4種狀態分別為:正常狀態、內圈故障、外圈故障、滾動體故障。每種故障類型按不同的故障直徑又分為3類,故障直徑分別為0.18 mm、0.36 mm 和0.54 mm,即數據集總共包含9類故障數據和1類正常數據。

圖4 實驗裝置照片
數據集總共包含20 000個樣本,每類故障有2 000個樣本及標簽信息。將樣本數據集劃分為用以訓練生成對抗網絡模型的14 000個樣本組成的訓練集和用來測試模型中判別器的準確率的6 000個樣本組成的測試集。
在訓練集中每類故障有700個樣本,每個樣本包含784個采樣點,共7 000個總樣本。訓練集的詳細信息如表1所示。

表1 樣本訓練集數據
將處理后的樣本輸入到改進后的生成對抗網絡中進行網絡模型的訓練,設置迭代次數為5 000次,生成器和判別器在迭代過程中互相對抗學習,以此提高判別器的故障診斷準確率,最后得到訓練完畢后改進的生成對抗網絡模型及該模型的準確率。
本文構建了與生成對抗網絡中判別器相同模型的人工神經網絡(ANN),并且通過使用支持向量機(SVM)以及長短時記憶神經網絡(LSTM)對相同的數據集進行故障診斷測試,對比結果如表2所示。

表2 對于相同測試集不同方法測試結果對比
從表2可以看出,改進后的生成對抗網絡在進行故障診斷時準確率可以達到99.86%,這表明改進后的生成對抗網絡可以進行故障類別的診斷,并且在滾動軸承故障診斷中達到了較高的準確率。
對比改進后的生成對抗網絡和人工神經網絡,改進后生成對抗網絡中的判別器與人工神經網絡有著相同的3層全連接層神經網絡,并且有相同的神經元以及各超參數,在相同的數據集下,樣本采樣點數均設置為784個,但是從表2可以看出,改進后的生成對抗網絡的故障類別診斷準確率相比人工神經網絡的故障類別診斷準確率有較大的提升,這正是由于改進后生成對抗網絡中判別器通過與生成器不斷對抗,經過多次的相互迭代優化,最終使得判別器的診斷效果達到更優。
從表2還可以看出,支持向量機所使用的采樣點數為6 000個,其對應的準確率為85.71%,長短時記憶神經網絡所使用的采樣點數為1 200個,其對應的準確率為93.05%,然而,本文所提出的生成對抗網絡卻能在較少的采樣點下達到更高的故障診斷準確率,這表明改進的生成對抗網絡與傳統機器學習方法相比在進行軸承故障診斷時對樣本數據長度依賴性更小,且仍然保持有較高的故障診斷準確率。
改進后的生成對抗網絡模型在軸承故障診斷中的準確率對比人工神經網絡、支持向量機以及長短時記憶神經網絡均有不同程度的提升,但是仍未能達到百分之百的準確率,存在一定誤差,這是由于在改進后生成對抗網絡訓練過程中所生成樣本里可能存在異常樣本,從而產生了一定的誤差。
(1)本文通過對傳統的生成對抗網絡進行改進,在傳統生成對抗網絡中添加條件信息以及在輸出層增加輔助分類層,使其從原來的無監督生成模型轉向監督學習的分類模型,從而使得生成對抗網絡能夠應用于軸承故障診斷中。
(2)使用美國凱斯西儲達大學的軸承數據集進行實驗,實驗結果表明改進后的生成對抗網絡模型能夠實現對滾動軸承不同故障的分類,并且故障診斷的準確率有較大的提高。
(3)與傳統的支持向量機、長短時記憶神經網絡進行實驗對比,發現改進后的生成對抗網絡在保持更高故障診斷準確率的同時,減少了對樣本信號長度的依賴,在一定程度上減少了對樣本數量的需求。