龐新宇,魏子涵,仝 鈺
(1.太原理工大學(xué)機(jī)械與運(yùn)載工程學(xué)院 太原,030024)
(2.煤礦綜采裝備山西省重點(diǎn)實(shí)驗(yàn)室 太原,030024)
齒輪箱是機(jī)械設(shè)備的核心部件,特別是在工程機(jī)械、煤礦機(jī)械及航空機(jī)械等不同領(lǐng)域的機(jī)械設(shè)備中[1],齒輪數(shù)量多,結(jié)構(gòu)復(fù)雜,齒輪傳動(dòng)往往既有定軸傳動(dòng)也有行星傳動(dòng)[2-3],因此故障形式不僅表現(xiàn)為不同的單故障,還伴隨著復(fù)合故障[4-5]。復(fù)合故障較單故障來說信號(hào)混雜,故障特征不明顯,多種故障信號(hào)之間相互耦合,對(duì)其進(jìn)行故障診斷較為困難[6],故機(jī)械設(shè)備齒輪箱齒輪故障診斷一直是相關(guān)領(lǐng)域研究的熱點(diǎn)。復(fù)合故障信號(hào)所表現(xiàn)出的非線性函數(shù)關(guān)系較單故障來說更難以被挖掘。在齒輪復(fù)合故障診斷方面,傳統(tǒng)的診斷方法多集中在對(duì)于信號(hào)特征提取方面的研究,通過對(duì)故障信號(hào)的特征圖譜進(jìn)行去噪、濾波等方法提取出有效特征[7]。智能算法也被應(yīng)用到齒輪箱故障診斷中,并取得了一定成果。徐文博等[8]對(duì)比了幾種基于深度學(xué)習(xí)模型的齒輪故障診斷方法,其中磨損、斷齒、裂紋及點(diǎn)蝕4 種單故障在CNN 模型上取得了95.8%的識(shí)別準(zhǔn)確率。湯寶平等[9]提出一種多共振分量融合卷積神經(jīng)網(wǎng)絡(luò)的行星齒輪箱故障診斷方法,對(duì)行星齒輪箱滾動(dòng)軸承與齒輪的故障進(jìn)行了有效的區(qū)分,其中對(duì)齒輪的故障識(shí)別準(zhǔn)確率最高達(dá)到94.7%。張立智等[10]將CNN 與D-S 證據(jù)理論相結(jié)合,將CNN 輸出的結(jié)果作為D-S證據(jù)理論的輸入計(jì)算出基本概率分配,得到了診斷精度達(dá)到84.58%的齒輪箱診斷模型。丁頔等[11]將CNN 與循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,簡(jiǎn)稱RNN)融合,對(duì)齒輪箱單故障進(jìn)行診斷,改善了單一CNN 計(jì)算時(shí)間長(zhǎng)、精度低的問題。為了盡可能全面地呈現(xiàn)故障發(fā)生的狀態(tài),Wang 等[12]提出了一種合理有效的多傳感器數(shù)據(jù)融合方法,將多個(gè)傳感器采集到的風(fēng)機(jī)齒輪箱軸承與齒輪的復(fù)合故障信號(hào)特征融合并轉(zhuǎn)換為圖像導(dǎo)入CNN,獲得了99.47%的診斷精度。上述文獻(xiàn)反映了CNN 在故障診斷應(yīng)用中的優(yōu)點(diǎn),然而對(duì)于齒輪復(fù)雜特征的識(shí)別精度和效率仍然有待提高,模型的魯棒性也有待研究。
CNN 一般用于有監(jiān)督學(xué)習(xí),在處理分類問題時(shí),依據(jù)有標(biāo)簽樣本的指導(dǎo),能獲得較好的識(shí)別精度,但缺乏對(duì)未知樣本的學(xué)習(xí)能力。無監(jiān)督學(xué)習(xí)可以借助部分無標(biāo)簽的樣本指導(dǎo)訓(xùn)練有標(biāo)簽的樣本,獲得比只用有標(biāo)簽的樣本訓(xùn)練得到的分類器性能更優(yōu)的分類器,同時(shí)也能解決有標(biāo)簽樣本數(shù)量不足的問題。在深度學(xué)習(xí)中,GAN 是無監(jiān)督學(xué)習(xí)的代表,其在提高分類器性能、改善樣本集質(zhì)量及增強(qiáng)模型魯棒性等方面具有優(yōu)勢(shì)。筆者在CNN 的基礎(chǔ)上,融入GAN 的基本思想,提出一種半監(jiān)督卷積對(duì)抗神經(jīng)網(wǎng)絡(luò)模型,最大化地發(fā)揮兩種人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)特征圖譜的優(yōu)勢(shì),用于解決不同齒輪箱中齒輪單故障及復(fù)合故障的識(shí)別問題。
CNN 是一種前饋神經(jīng)網(wǎng)絡(luò),是典型人工神經(jīng)網(wǎng)絡(luò)的一種,主要應(yīng)用在計(jì)算機(jī)視覺領(lǐng)域,可用于處理多維數(shù)據(jù),它的隱含層中一般包含卷積層、池化層及全連接層3 個(gè)部分,整個(gè)網(wǎng)絡(luò)具有權(quán)值共享以及平移不變性等優(yōu)點(diǎn)。一般而言,CNN 通過卷積層與池化層的交替作用,對(duì)圖像進(jìn)行多次降采樣處理來壓縮并提取特征,它的優(yōu)勢(shì)在于能夠?qū)⒑A吭紨?shù)據(jù)直接作為網(wǎng)絡(luò)的輸入,自主學(xué)習(xí),挖掘其中的微弱特征[13]。與傳統(tǒng)故障診斷模式相比,卷積神經(jīng)網(wǎng)絡(luò)將特征提取和模式識(shí)別過程相結(jié)合,將所需數(shù)據(jù)制作成訓(xùn)練集,再通過反向傳播(back propagation,簡(jiǎn)稱BP)算法進(jìn)行訓(xùn)練,最終可以得到魯棒性和遷移性良好的網(wǎng)絡(luò)模型[14]。
CNN 的反向傳播算法包括數(shù)據(jù)前向傳播、誤差反向傳播與權(quán)值更新3 個(gè)部分[15]。
前向傳播的平方誤差代價(jià)函數(shù)為
其中:N為樣本個(gè)數(shù);c為類別;為第n個(gè)樣本標(biāo)簽tn的第k維;為第n個(gè)樣本 網(wǎng)絡(luò)輸出 的第k維。
網(wǎng)絡(luò)中權(quán)值更新的目標(biāo)是使網(wǎng)絡(luò)的實(shí)際輸出值y與真實(shí)值t更接近。網(wǎng)絡(luò)第l層的輸出可以表示為
其中:f為激活函數(shù);xl-1為第l-1 層的輸出;Wl,bl分別為第l層的權(quán)值與偏置。
樣本信息逐層傳遞,最終得到一個(gè)預(yù)測(cè)值。為了修正預(yù)測(cè)值與真實(shí)值之間的誤差,需要將誤差信息反向傳播回每一層,進(jìn)行權(quán)值與偏置的更新。式(3)、式(4)為更新后的權(quán)值與偏置
其中:α為梯度下降的學(xué)習(xí)率。
GAN 由兩部分組成:G(Generator)網(wǎng)絡(luò),即生成網(wǎng)絡(luò);D(Discriminator)網(wǎng)絡(luò),即判別網(wǎng)格。首先,在訓(xùn)練開始時(shí),先給G 網(wǎng)絡(luò)一個(gè)隨機(jī)的噪聲信號(hào),生成一些模糊的圖片,進(jìn)而輸入D 網(wǎng)絡(luò),D 網(wǎng)絡(luò)將這些圖片與真實(shí)的樣本圖進(jìn)行對(duì)比判別;其次,進(jìn)入第2 輪的生成與判別過程,每次生成的圖片質(zhì)量都會(huì)有所提高。如此反復(fù),兩個(gè)網(wǎng)絡(luò)相互競(jìng)爭(zhēng),形成對(duì)抗,最終生成網(wǎng)絡(luò)G 獲得更優(yōu)秀的生成圖像的能力,同時(shí)生成的圖像也起到擴(kuò)充樣本的作用,判別網(wǎng)絡(luò)D 則獲得更強(qiáng)的圖像判別能力[16]。
GAN 的對(duì)抗是通過尋找代價(jià)函數(shù)V的最大值與最小值實(shí)現(xiàn)的。生成模型G 的目的是對(duì)判別模型D 進(jìn)行干擾,使D 網(wǎng)絡(luò)無法區(qū)分正確的圖片與G網(wǎng)絡(luò)生成的“假”圖片,因此生成模型的目標(biāo)函數(shù)值要盡量小。G 網(wǎng)絡(luò)的目標(biāo)函數(shù)[17]為
其中:D(x)為判別映射函數(shù),表示判斷為真實(shí)圖片的概率;G(z)為生成映射函數(shù);x服從關(guān)于生成圖像映射函數(shù)G(z)的數(shù)據(jù)分布;Ex~G(z)為x~G(z)分布的期望值。
D 網(wǎng)絡(luò)的目標(biāo)函數(shù)為
其中:Ex~pdata(x)表示x服從真實(shí)圖片pdata(x)分布的期望值,通過目標(biāo)函數(shù)可找到D 網(wǎng)絡(luò)的最大值。
利用GAN 網(wǎng)絡(luò)中生成模型與判別模型之間相互博弈的思想,參考經(jīng)典的lenet5 網(wǎng)絡(luò)作為CNN 的基礎(chǔ)模 型[18],將2 個(gè)CNN 分別作為GAN 中的D 網(wǎng)絡(luò)與G 網(wǎng)絡(luò),通過訓(xùn)練達(dá)到提高G 生成圖像的能力以及D 圖像分類的能力,以增加故障診斷的精度。改進(jìn)后的模型結(jié)構(gòu)如圖1 所示,以不同的圖像作為模型的初始輸入(圖1 以像素大小為64×64 的圖像為例)。首先,在將樣本集輸入G 網(wǎng)絡(luò)之前,對(duì)圖像進(jìn)行隨機(jī)翻轉(zhuǎn)、剪裁等標(biāo)準(zhǔn)化設(shè)置,使得在訓(xùn)練與測(cè)試時(shí),圖片像素值歸一化,這樣可以提升收斂速度,節(jié)省訓(xùn)練時(shí)間;其次,對(duì)G 網(wǎng)絡(luò)進(jìn)行卷積,再進(jìn)行反卷積,將所有降采樣卷積部分的激活函數(shù)Relu 替換為L(zhǎng)eakyRelu,防止梯度稀疏,由于傳統(tǒng)CNN 的全連接層參數(shù)過多,易發(fā)生過擬合現(xiàn)象,故去掉全連接層,并用帶步長(zhǎng)的卷積代替池化,步長(zhǎng)均設(shè)置為2,加快收斂速度;然后,將G 網(wǎng)絡(luò)輸出層替換為Tanh函數(shù),它的值域?yàn)椋?1,1],與輸入數(shù)據(jù)時(shí)所做的標(biāo)準(zhǔn)化處理范圍保持一致,在G 與D 的每層中都加入BatchNorm 函數(shù)做歸一化處理,提高模型穩(wěn)定性與訓(xùn)練速度;最后,在分類器上的輸出層上添加softmax 層,對(duì)應(yīng)N+1 類樣本,多出的一類對(duì)應(yīng)生成器G 生成的樣本。假設(shè)給G 輸入N類故障信號(hào),那么到達(dá)D 的輸出層時(shí)類別為N+1 類,模型使用N+1類進(jìn)行訓(xùn)練,N類進(jìn)行驗(yàn)證。
圖1 SCGAN 主要結(jié)構(gòu)Fig.1 Main structure of SCGAN
損失函數(shù)是模型輸出和觀測(cè)結(jié)果間概率分布差異的量化。訓(xùn)練過程中以損失函數(shù)作為指導(dǎo)依據(jù),判別器D 工作時(shí),先做二分類,區(qū)分真實(shí)數(shù)據(jù)與生成數(shù)據(jù),再做多分類。當(dāng)判別器損失函數(shù)不斷下降趨于穩(wěn)定時(shí)停止訓(xùn)練,D 網(wǎng)絡(luò)的判別能力得到提高。
改進(jìn)后的模型為半監(jiān)督學(xué)習(xí)模型,損失函數(shù)分為有監(jiān)督損失與無監(jiān)督損失來計(jì)算。記有監(jiān)督損失為L(zhǎng)a,無監(jiān)督損失為L(zhǎng)b,D 網(wǎng)絡(luò)的總損失[19]為
其中:logpm(y∈{1,2,…,N}|x) 表示圖像屬 于1~N類的概率;pm(y=N+1|x)表示判別為生成圖像的概率;pm(y|x,y<N+1)表示圖像為真實(shí)圖像的概率。
D(x)表示輸出是真實(shí)圖像的概率,可以表示為
則無監(jiān)督學(xué)習(xí)部分的損失函數(shù)也可以表示為
設(shè)置一個(gè)提示位sign 控制La與Lb的統(tǒng)計(jì)量,并通過代碼sign*La+(1-sign)*Lb實(shí)現(xiàn)。統(tǒng)計(jì)無監(jiān)督學(xué)習(xí)的損失時(shí),sign 為0;統(tǒng)計(jì)監(jiān)督學(xué)習(xí)損失時(shí),sign為1。設(shè)置此開關(guān)保證了可以在每個(gè)epoch 開始的前幾個(gè)組使用帶標(biāo)簽的數(shù)據(jù),用于指導(dǎo)訓(xùn)練。
SCGAN 模型的工作流程見圖2。G 與D 的初始學(xué)習(xí)率都設(shè)置為0.001;每個(gè)回合(epoch)包含200個(gè)組(batch),每1 組訓(xùn)練1 次判別器,每10 組訓(xùn)練1次生成器。在每次訓(xùn)練結(jié)束后,根據(jù)訓(xùn)練的結(jié)果,對(duì)學(xué)習(xí)率、分組大?。╞atchsize)、步長(zhǎng)(stride)及補(bǔ)償(padding)值等作出調(diào)整,最終找到適合本次試驗(yàn)數(shù)據(jù)的最佳模型。表1 為模型訓(xùn)練前預(yù)設(shè)的參數(shù)。
圖2 模型工作流程圖Fig.2 Model work flow chart
表1 模型參數(shù)Tab.1 Model parameters
在圖3 所示的動(dòng)力傳動(dòng)模擬試驗(yàn)臺(tái)上完成齒輪箱故障試驗(yàn),試驗(yàn)臺(tái)主要由驅(qū)動(dòng)電機(jī)、行星輪系齒輪箱、定軸輪系齒輪箱及磁粉制動(dòng)器組成。4 個(gè)單向加速度傳感器分別安裝在定軸輪系和行星輪系齒輪箱的箱體上,其中定軸輪系齒輪箱x,y,z方向各1個(gè),行星輪系齒輪箱1 個(gè),通過DAHAS 數(shù)據(jù)采集系統(tǒng)采集振動(dòng)信號(hào)。
圖3 動(dòng)力傳動(dòng)模擬試驗(yàn)臺(tái)Fig.3 DDS experimental bench
圖4 為傳動(dòng)系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖,其中Z1=39,Z2=100,Z3=36,Z4=90。太陽(yáng)輪Zs=28,行星輪Zp=36,齒圈Zr=100。主軸轉(zhuǎn)速為2 400 r/min,采樣頻率設(shè)置為5 kHz,加速度傳感器連續(xù)采集信號(hào)200 s,共采集106個(gè)樣本點(diǎn)。
圖4 傳動(dòng)系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖Fig.4 Transmission system schematic
分別采集行星輪系中太陽(yáng)輪故障(磨損和缺齒)和定軸輪系中直齒輪故障(磨損和缺齒)作為單故障樣本,并兩兩組合成4 種復(fù)合故障形式,如表2 所示,其中定軸輪系直齒輪取Z1作為故障齒輪。
表2 故障形式分類Tab.2 Composite fault classification
將采集到的樣本點(diǎn)保存為Matlab 格式文件,并通過imwirte 函數(shù)批量導(dǎo)出,為保證樣本周期的完整性,以1 000 個(gè)樣本點(diǎn)為一張?zhí)卣鲌D,每種故障生成1 000 張?zhí)卣鲌D。由于每種類型的故障可能出現(xiàn)在不同工況與不同位置,數(shù)據(jù)集要盡可能全面地呈現(xiàn)故障發(fā)生的狀態(tài),因此將多個(gè)傳感器采集到的振動(dòng)信號(hào)所生成的特征圖隨機(jī)融合在一起。通過Python 編寫程序?qū)D片打亂順序并將測(cè)試集與訓(xùn)練集的比例按照7∶3 進(jìn)行劃分,得到5 600 張訓(xùn)練集與2 400 張驗(yàn)證集。將制作好的樣本集輸入改進(jìn)后的模型,選取10 次測(cè)試結(jié)果的平均值作為診斷結(jié)果。
采用Python 編程語(yǔ)言,在Pytorch 框架下進(jìn)行模型的搭建,使用Anaconda3 軟件設(shè)置環(huán)境變量,在其工具箱的Jupyterlab 里進(jìn)行編輯。表3 為判別網(wǎng)絡(luò)中每一層的參數(shù)。其中:F為卷積核大小;P為補(bǔ)償值;S為卷積步長(zhǎng)。
表3 判別網(wǎng)絡(luò)參數(shù)Tab.3 Parameters of Dicriminator
3.4.1 單故障
將表2 中的4 種單故障下64×64 的頻譜圖輸入網(wǎng)絡(luò)模型,得到其準(zhǔn)確率與損失函數(shù)分別如圖5(a,b)所示。由圖可見,在SCGAN 模型上,經(jīng)過300 次迭代,4 種單故障準(zhǔn)確率平均值達(dá)到99.67%,損失函數(shù)穩(wěn)定在0.02。
圖5 單故障分類結(jié)果Fig.5 Single fault diagnosis result
通過圖6 所示的混淆矩陣可以清晰地看出預(yù)測(cè)值與真實(shí)值之間的關(guān)系。其中橫坐標(biāo)1~4 對(duì)應(yīng)表1中的4 種單故障,行代表實(shí)際類別,列代表預(yù)測(cè)值。由圖可以看出第1 行屬于類別1 的樣本有299 個(gè)被正確分到了第1 類,1 個(gè)被錯(cuò)誤分到了第3 類;同理,第2 行屬于類別2 的樣本有298 個(gè)被正確分到第2類,2 個(gè)被錯(cuò)誤分到了第1 類。
圖6 單故障驗(yàn)證集混淆矩陣Fig.6 CNN Validation confusion matrix
3.4.2 復(fù)合故障
表2 中4 種復(fù)合故障64×64 的頻譜圖在網(wǎng)絡(luò)模型上的表現(xiàn)如圖7(a,b)所示,準(zhǔn)確率平均值達(dá)到了99.5%,判別器損失穩(wěn)定在0.03。
圖7 復(fù)合故障分類結(jié)果Fig.7 Compound fault diagnosis result
圖8 為表2 中4 種復(fù)合故障的混淆矩陣,每種類別被預(yù)測(cè)錯(cuò)誤的標(biāo)簽最多不超過2 個(gè)。由圖6、圖8可以看出,不論是單故障還是復(fù)合故障,SCGAN 模型都可以有效地進(jìn)行區(qū)分。
圖8 復(fù)合故障驗(yàn)證集混淆矩陣Fig.8 SCGAN Validation confusion matrix
在經(jīng)過GAN 的訓(xùn)練優(yōu)化后,模型識(shí)別的精度以及收斂效果都有了明顯的改善。與文獻(xiàn)[7]相比,驗(yàn)證集的準(zhǔn)確率提高了1.49%,損失函數(shù)下降了9.1%。表1 中8 種故障同時(shí)訓(xùn)練時(shí)生成器的損失函數(shù)如圖9 所示。在訓(xùn)練150 個(gè)回合后,由于判別器已獲得較強(qiáng)的識(shí)別能力,無法繼續(xù)給G 有效的指導(dǎo),導(dǎo)致生成器損失函數(shù)出現(xiàn)爆炸的現(xiàn)象。
圖9 SCGAN 生成器損失函數(shù)Fig.9 SCGAN generator loss function
考慮到實(shí)際工況中噪聲的影響,為了驗(yàn)證模型的泛化能力,選取Prognostics and Health Management Society(PHM 協(xié)會(huì))2009 年國(guó)際競(jìng)賽的全套齒輪箱數(shù)據(jù)集中主軸頻率分別為40 和50 Hz 的磨損、斷齒的故障齒輪對(duì)本次試驗(yàn)采集到的4 種單故障齒輪數(shù)據(jù)進(jìn)行替換,制成混合樣本集,見表4。每種類型故障同樣共計(jì)1 000 張?zhí)卣鲌D,使用已經(jīng)訓(xùn)練好的模型進(jìn)行測(cè)試,每種圖譜進(jìn)行3 組試驗(yàn),表5 中精確度代表8 種故障在驗(yàn)證集上診斷精度的平均值。
表4 選取PHM 數(shù)據(jù)集規(guī)格Tab.4 PHM data set parameters
表5 混合樣本集精確度Tab.5 Training epoch and accuracy %
由表5 看出,分別對(duì)3 種類型的特征圖進(jìn)行100,300 和500 次的訓(xùn)練并測(cè)試,使用已經(jīng)訓(xùn)練好的模型在進(jìn)行樣本融合后的測(cè)試集上進(jìn)行特征識(shí)別分類,也可以取得滿意的診斷效果。
為了進(jìn)一步驗(yàn)證SCGAN 模型對(duì)于齒輪箱故障診斷的效果,將其與CNN 和RNN 網(wǎng)絡(luò)模型進(jìn)行對(duì)比,如表6 所示,表中精確度仍為8 種故障平均值。
表6 對(duì)比了樣本集不同種類、不同輸入尺寸、不同網(wǎng)絡(luò)模型之間對(duì)于齒輪箱混合輪系復(fù)合故障診斷的效果,表中的準(zhǔn)確率為300 次訓(xùn)練的平均值。SCGAN 模型在診斷精度與收斂速度上優(yōu)于其他模型,在測(cè)試集上最高可達(dá)99.58%的準(zhǔn)確率,與文獻(xiàn)[6]中的軸承復(fù)合故障相比提高了15%,與文獻(xiàn)[8]中的軸承齒輪復(fù)合故障相比提高了0.11%。
表6 各模型之間準(zhǔn)確率對(duì)比Tab.6 Comparison of accuracy between models%
1)提出一種半監(jiān)督卷積對(duì)抗神經(jīng)網(wǎng)絡(luò)模型,該模型能夠有效地對(duì)齒輪單故障與復(fù)合故障進(jìn)行特征識(shí)別與故障診斷。
2)利用半監(jiān)督學(xué)習(xí)模型,獲得了比有監(jiān)督模型更強(qiáng)的分類能力,在其他樣本集上該模型也取得了較好的診斷效果,證明其具有良好的泛化能力。
3)通過與其他方法進(jìn)行對(duì)比,證明了筆者提出的SCGAN 模型提高了分類器的能力,獲得更優(yōu)的收斂速度與診斷精度。
4)對(duì)比了不同的網(wǎng)絡(luò)模型對(duì)于單故障與復(fù)合故障的診斷效果,在SCGAN 模型上獲得最高99.58%的診斷精度。