李俊卿, 胡曉東, 耿繼亞, 馬亞鵬
(華北電力大學(xué) 電氣與電子工程學(xué)院,河北 保定 071000)
軸承是電機中最易損傷的元件之一,對其故障進行診斷可以有效減少因故障停機而造成的經(jīng)濟損失[1]。目前軸承故障診斷方法主要集中于對振動信號的提取和分析[2-4],但是傳統(tǒng)的信號分析方法依賴大量的先驗知識,導(dǎo)致診斷效率低、工作量大[5]。因此,如何高效精確地提取并識別故障特征成為當今的研究熱點。
大數(shù)據(jù)時代的到來為故障診斷提供了新的思路,以機器學(xué)習(xí)為代表的人工智能算法已經(jīng)廣泛應(yīng)用于各種設(shè)備的故障診斷,并取得了不錯的效果。文獻[6]通過結(jié)合多個AlexNet基分類器和Adaboost算法對多工況下的滾動軸承故障進行識別。文獻[7]在傳統(tǒng)集合經(jīng)驗?zāi)B(tài)分解的基礎(chǔ)上,引入了深度學(xué)習(xí)中的長短時記憶(LSTM)網(wǎng)絡(luò),并通過主成分分析法(PCA)對分解后的分量進行降維,有效提高了故障診斷的準確率。文獻[8]提出了一種基于Inception-ResNet模型的方法對軸承故障進行分類,通過引入三維卷積融合了模型中各個通道的信息,在提高故障診斷能力的同時提升了訓(xùn)練效率。
雖然以上方法都取得了不錯的效果,但是這些智能算法均基于大量的平衡樣本數(shù)據(jù),當樣本數(shù)據(jù)不足時,往往難以達到預(yù)期的效果[9]。適當運用生成式對抗網(wǎng)絡(luò)(GAN)可以很好地解決數(shù)據(jù)不足以及數(shù)據(jù)不平衡的問題,但是傳統(tǒng)GAN存在訓(xùn)練困難的問題,需要加以改進。文獻[10]提出了一種梯度懲罰Wasserstein生成對抗網(wǎng)絡(luò)(WGAN-GP),增強了網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性,但該方法需要人工生成帶標簽的數(shù)據(jù)信息。文獻[11]利用條件生成式對抗網(wǎng)絡(luò)(CGAN)模型生成帶標簽信息的數(shù)據(jù),將GAN模型由無監(jiān)督轉(zhuǎn)變?yōu)橛斜O(jiān)督。文獻[12]利用深度卷積生成對抗網(wǎng)絡(luò)(DCGAN)生成齒輪點蝕圖像,有效解決了齒輪疲勞試驗成本高、故障樣本不充分等問題。文獻[13]通過訓(xùn)練信息生成對抗網(wǎng)絡(luò)(InfoGAN)生成時頻圖像,并生成了更多的圖像樣本。輔助分類器生成對抗網(wǎng)絡(luò)(ACGAN)[14]結(jié)合了CGAN和InfoGAN的優(yōu)點,極大程度地彌補了GAN模型訓(xùn)練困難的缺點,并且可以生成指定目標類別的高質(zhì)量數(shù)據(jù)。
集成學(xué)習(xí)[15]是機器學(xué)習(xí)的一種算法,通過集成眾多評估器的預(yù)測信息得出結(jié)果,這種算法中的各個弱評估器無法單獨得出較理想的結(jié)果。與狹義集成算法不同,模型融合雖然并未包含太多的評估器,但被融合的各個評估器都具有強學(xué)習(xí)能力,經(jīng)過適當融合可提高診斷結(jié)果的準確率。常見的模型融合方法主要有均值法、投票法[16]和堆疊法[17]。
基于此,本文提出基于ACGAN和模型融合的電機軸承故障診斷方法。為了克服ACGAN處理一維信號時可能會造成特征信息丟失的問題,本文首先將一維振動信號轉(zhuǎn)換為二維灰度圖像。然后通過構(gòu)建ACGAN對原始樣本進行數(shù)據(jù)擴充,生成高相似度的故障數(shù)據(jù)樣本。最后將生成樣本與原始樣本混合并通過PCA進行數(shù)據(jù)降維后訓(xùn)練融合模型,再將其應(yīng)用于電機軸承故障診斷。
GAN由生成器和判別器組成,如圖1所示。生成器通過學(xué)習(xí)真實樣本的分布生成樣本;判別器是一個二分類器,用于判別輸入的數(shù)據(jù)是真實數(shù)據(jù)還是生成器生成的數(shù)據(jù)。兩者在訓(xùn)練過程中通過競爭最終達到納什均衡。
圖1 GAN原理示意圖
判別器和生成器在訓(xùn)練時的目標函數(shù)如下所示:
V(D,G)=Ex~PxlogD(x)+
Ez~Pzlog{1-D[G(z)]}
(1)
式中:V(D,G)為目標函數(shù);E為期望;下標x代表真實樣本;下標z代表輸入生成器的噪聲信號;G(z)為生成樣本;D為判別器的輸出;Px為真實數(shù)據(jù)分布;Pz為噪聲數(shù)據(jù)分布。
判別器的目標是在G給定的條件下使V最大,生成器的目標是在D給定的條件下使V最小。兩者交替迭代訓(xùn)練,最終目標函數(shù)趨于收斂,即達到納什均衡,此時生成器可以生成令判別器無法辨別的數(shù)據(jù)樣本。
理論上GAN通過訓(xùn)練最終會達到納什均衡,但是GAN存在梯度消失,會導(dǎo)致訓(xùn)練困難,因此需要對傳統(tǒng)GAN加以改進。ACGAN就是一種衍生的優(yōu)化模型,其原理如圖2所示。
圖2 ACGAN原理示意圖
ACGAN在訓(xùn)練時不僅使用標簽信息,同時也重建標簽信息。生成器的輸入為隨機噪聲數(shù)據(jù)和標簽信息,通過拼接兩者提取特征進而生成樣本,判別器的輸入為生成數(shù)據(jù)或者真實數(shù)據(jù),輸出為真假判斷結(jié)果和分類結(jié)果。因此,ACGAN的損失函數(shù)由兩部分組成,一部分為判斷真假的損失函數(shù)Ls,用式(2)描述,一部分為判斷類別的損失函數(shù)Lc,用式(3)描述:
Ls=E[logP(S=real|Xreal)]+
E[logP(S=fake|Xfake)]
(2)
Lc=E[logP(C=c|Xreal)]+
E[logP(C=c|Xfake)]
(3)
式中:Xreal為真實數(shù)據(jù);Xfake為生成器生成數(shù)據(jù);S、C為判別結(jié)果;c為類別。
堆疊法是模型融合中最熱門的方法,主要有融合效果好、可解釋性強和適用于復(fù)雜數(shù)據(jù)等優(yōu)點。堆疊法模型為兩層結(jié)構(gòu),如圖3所示。第一層為多個具有強學(xué)習(xí)能力的基學(xué)習(xí)器;第二層為較簡單的元學(xué)習(xí)器,通過訓(xùn)練得到各個基學(xué)習(xí)器的最佳融合規(guī)則。
圖3 堆疊法結(jié)構(gòu)示意圖
基于ACGAN和模型融合的電機軸承故障診斷方法分為故障樣本生成和故障診斷兩個部分。首先構(gòu)建并訓(xùn)練ACGAN,使其能夠產(chǎn)生與真實數(shù)據(jù)高度擬合的樣本;然后將平衡后的數(shù)據(jù)輸入融合模型進行訓(xùn)練,最終得到高精度的故障診斷模型。
本文使用的ACGAN模型包含一個生成器和一個判別器。生成器采用3層結(jié)構(gòu),分別為輸入層、隱藏層和輸出層,輸入層和隱藏層均使用BatchNorm層防止梯度消失或梯度爆炸;判別器由輸入層、3個隱藏層和2個輸出層構(gòu)成,輸入層和輸出層均包含dropout層。具體結(jié)構(gòu)如表1所示。
表1 ACGAN結(jié)構(gòu)
采用的模型融合方法為堆疊法,選擇的基學(xué)習(xí)器分別為邏輯回歸模型(LR)、隨機森林(RF)、梯度提升(GB)、決策樹(DT)、XGBoost和K近鄰算法(KNN)。為了避免過擬合,元學(xué)習(xí)器選擇較為簡單的RF分類器。
融合模型的訓(xùn)練及測試過程如圖4所示,首先將數(shù)據(jù)集{S,Y}分為訓(xùn)練集S1和測試集S2,Y為數(shù)據(jù)標簽,并且按照5折交叉驗證,將訓(xùn)練集S1分為5個子集:{S11,S12,S13,S14,S15}。在某個基學(xué)習(xí)器訓(xùn)練時,其中4個子集作為訓(xùn)練數(shù)據(jù),剩下一個作為驗證數(shù)據(jù),最后每個基學(xué)習(xí)器會輸出對應(yīng)的驗證結(jié)果,將這些驗證結(jié)果拼接成新的矩陣Yp用于訓(xùn)練元學(xué)習(xí)器。訓(xùn)練完畢后,將測試數(shù)據(jù)S2輸入各個基學(xué)習(xí)器中得到不同的預(yù)測結(jié)果,將各個基學(xué)習(xí)器的預(yù)測結(jié)果輸入元學(xué)習(xí)器中,得到的預(yù)測結(jié)果即為融合模型的測試結(jié)果。
圖4 堆疊法融合訓(xùn)練和測試框架
本文所提的故障診斷方法包括數(shù)據(jù)采集和處理、生成樣本與故障診斷三個階段,具體的流程如圖5所示。
圖5 本文方法流程圖
本文方法首先收集電機軸承各狀態(tài)下的數(shù)據(jù),對數(shù)據(jù)進行歸一化處理并將其轉(zhuǎn)換為二維灰度圖;給灰度圖加上標簽并亂序,然后輸入ACGAN進行訓(xùn)練,直至生成器和判別器達到納什均衡;用生成器生成的新樣本與原始樣本混合并降維,輸入故障診斷模型進行訓(xùn)練,當損失函數(shù)收斂后,用測試集驗證模型的診斷效果。
本文數(shù)據(jù)來源為美國凱斯西儲大學(xué)的軸承試驗數(shù)據(jù),包括了內(nèi)圈故障、外圈故障、滾動體故障和正常狀態(tài)四種類型下的數(shù)據(jù)集。數(shù)據(jù)采樣頻率為12 kHz,電機轉(zhuǎn)速為1 797 r/min,空載運行,損傷直徑為0.017 78 cm。
首先將各個狀態(tài)的數(shù)據(jù)通過滑動時窗的方式轉(zhuǎn)換成如圖6所示的二維灰度圖,以4 096個數(shù)據(jù)點為一組生成的64×64的灰度圖作為一個樣本。此方法在最大程度上保留了一維數(shù)據(jù)的二維特征,并且不需要預(yù)處理參數(shù),減少了對技術(shù)人員經(jīng)驗的依賴[18]。
圖6 二維灰度圖
構(gòu)建ACGAN模型并初始化模型參數(shù)。使用內(nèi)圈故障、外圈故障、滾動體故障和正常狀態(tài)各500個樣本輸入模型中訓(xùn)練。采用的判別器為三層隱藏層,其在判別能力增強的同時可能會壓制生成器,從而出現(xiàn)不能為生成器提供有效指導(dǎo)的現(xiàn)象。為了防止出現(xiàn)這種情況,在訓(xùn)練初期,訓(xùn)練多次生成器后訓(xùn)練一次判別器,當生成器生成能力較強時,恢復(fù)兩者各訓(xùn)練一次。生成器和判別器的損失函數(shù)如圖7所示,可以看出,當?shù)螖?shù)在1 000次左右時,損失函數(shù)趨于收斂,此時停止訓(xùn)練并用ACGAN生成足夠的樣本數(shù)據(jù)。
圖7 生成器與判別器的損失函數(shù)
數(shù)據(jù)集劃分:將生成器生成的數(shù)據(jù)與原始數(shù)據(jù)混合后按7…3的比例劃分為訓(xùn)練集和測試集,并以獨熱編碼的形式為不同狀態(tài)的數(shù)據(jù)打上不同的標簽。
PCA數(shù)據(jù)降維:數(shù)據(jù)維度過高時,數(shù)據(jù)中的冗余信息往往會使得特征提取困難和訓(xùn)練速度慢,因此在訓(xùn)練故障診斷模型前,通過PCA將數(shù)據(jù)降維以提高模型訓(xùn)練的速度和診斷的準確率。
將處理后的訓(xùn)練樣本輸入上述的融合模型中,為了驗證本文所提方法的有效性,比較了融合模型以及每個基學(xué)習(xí)器單獨作為診斷模型時在三種樣本下的診斷準確率。其中三種樣本劃分情況如下所示。
(1) 樣本1:總樣本個數(shù)為1 200個。不使用ACGAN生成樣本,四種狀態(tài)的真實樣本各300個;
(2) 樣本2:總樣本個數(shù)為8 000個。不使用ACGAN生成樣本,四種狀態(tài)的真實樣本各2 000個;
(3) 樣本3:總樣本個數(shù)為8 000個。使用ACGAN生成四種狀態(tài)樣本各1 500個,并與原始數(shù)據(jù)中四種狀態(tài)各500個樣本混合,最終樣本中包含四種狀態(tài)各2 000個。
樣本1、樣本2和樣本3均按7:3的比例劃分為訓(xùn)練集和測試集,并且將三種樣本進行PCA降維處理。三種樣本下各種模型的診斷準確率如表2所示。
表2 不同模型在不同樣本下的診斷準確率
由表2可以得出如下結(jié)論:
(1) 對各個基學(xué)習(xí)器和融合模型的診斷準確率進行比較,可以看出,融合模型的準確率明顯大于任何一個基學(xué)習(xí)器,證明了模型融合的必要性和有效性;
(2) 比較樣本1和樣本2的結(jié)果,由各個模型在樣本2上的表現(xiàn)可以看出,當數(shù)據(jù)量大且樣本平衡時,模型的診斷正確率較高,而數(shù)據(jù)量較少的樣本1則無法有效訓(xùn)練模型,導(dǎo)致模型的診斷效果不佳;
(3) 比較樣本1和樣本3的結(jié)果,模型在數(shù)據(jù)量少的樣本1上的診斷準確率明顯低于在樣本3上的準確率,說明訓(xùn)練模型需要足夠的數(shù)據(jù),而本文所提的ACGAN模型可以解決訓(xùn)練數(shù)據(jù)不足的問題;
(4) 比較樣本2和樣本3的結(jié)果可以看出,當訓(xùn)練樣本數(shù)量相同時,由ACGAN生成的樣本對模型的訓(xùn)練效果更好,原因是采集的原始數(shù)據(jù)包含較多的噪聲和冗余信息,這些噪聲會影響模型對特征提取的速度和準確度,而ACGAN在生成樣本之前已經(jīng)對原始數(shù)據(jù)進行了一次特征提取,所以生成的數(shù)據(jù)比原始數(shù)據(jù)所含噪聲少得多,因此模型在樣本3上的表現(xiàn)要優(yōu)于在樣本2上的表現(xiàn)。
綜上,本文所提的基于ACGAN和模型融合的電機軸承診斷方法大大提高了故障診斷的準確率。
本文將電機軸承不同運行狀態(tài)的數(shù)據(jù)集轉(zhuǎn)換成二維灰度圖并標簽化,通過訓(xùn)練ACGAN從而生成樣本,將擴充后的樣本經(jīng)過PCA降維后訓(xùn)練融合后的模型。通過比較不同樣本以及不同模型下的故障診斷準確率,證明了本文所提方法的優(yōu)越性。ACGAN和模型融合方法的優(yōu)勢主要有:
(1) 利用ACGAN生成與原始樣本高度擬合的樣本,實現(xiàn)對數(shù)據(jù)的擴充,解決了數(shù)據(jù)不平衡和數(shù)據(jù)不足的問題;
(2) 數(shù)據(jù)處理中引入了二維灰度圖和PCA數(shù)據(jù)降維,前者在最大程度上保留了數(shù)據(jù)的特征,減少數(shù)據(jù)信息丟失問題;后者將高維度的數(shù)據(jù)映射到低維度,在保留特征的同時減少了無效信息,提升了模型學(xué)習(xí)的效率;
(3) 引入了模型融合概念,對傳統(tǒng)機器學(xué)習(xí)中具有強學(xué)習(xí)能力的算法通過堆疊法進行融合,利用RF算法找到最佳融合規(guī)則,大大提高了故障診斷的正確率。