劉偉君
(臨沂市生態(tài)環(huán)境局沂水縣分局,山東 沂水 276400)
現(xiàn)代機(jī)械在結(jié)構(gòu)設(shè)計(jì)上日趨復(fù)雜化,微小的故障不僅不易識(shí)別還具有傳導(dǎo)性,從而影響整個(gè)機(jī)械設(shè)備的穩(wěn)定輸出。機(jī)械設(shè)備故障排查的難度大、成本高,有時(shí)需要暫停生產(chǎn)線以查找設(shè)備故障的原因,因此如何實(shí)現(xiàn)機(jī)械故障的在線檢測(cè),逐漸成為工業(yè)領(lǐng)域的研究熱點(diǎn)之一[1-2]。傳統(tǒng)在線故障診斷方法主要包括基于信號(hào)分析的故障診斷[3-4]和基于數(shù)學(xué)模型的故障診斷[5-6]。由于復(fù)雜機(jī)械設(shè)備的故障數(shù)據(jù)集規(guī)模十分龐大,采用信號(hào)分析方法提取海量高維數(shù)據(jù)的難度極大,而針對(duì)復(fù)雜機(jī)械結(jié)構(gòu)的數(shù)學(xué)建模也變得越來(lái)越困難。隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展和軟件算法的迭代更新,越來(lái)越多的人工智能、機(jī)器學(xué)習(xí)算法被應(yīng)用到機(jī)械故障診斷領(lǐng)域[7]。故障信號(hào)的特征提取和特征識(shí)別是在線故障診斷的關(guān)鍵,李夢(mèng)詩(shī)等[8]提出基于深度置信網(wǎng)絡(luò)的信號(hào)分解方法,從原始故障信號(hào)中分離出多類(lèi)別的故障特征;侯榮濤等[9]首先對(duì)原始故障信號(hào)做快速傅里葉(FFT)變換,再基于自適應(yīng)編碼器提取出故障特征;王珂等[10]基于壓縮感知的理論方案,提取出原始故障信號(hào)降噪后的時(shí)頻域特征,再進(jìn)行深度的特征融合處理。對(duì)于上述以機(jī)械故障數(shù)據(jù)驅(qū)動(dòng)為前提的故障診斷方法而言,能夠捕捉到的故障特征越豐富,故障的分類(lèi)、識(shí)別和檢測(cè)效果就會(huì)越好。但在海量故障數(shù)據(jù)樣本和半監(jiān)督學(xué)習(xí)的條件下,標(biāo)記故障樣本的過(guò)程將變得十分困難,且樣本不均衡、提取成本高、控制精度差。為此,本文引入了數(shù)據(jù)生成的思維,通過(guò)構(gòu)建生成對(duì)抗網(wǎng)絡(luò)模型來(lái)模擬輸入故障數(shù)據(jù)的樣本分布狀態(tài),達(dá)到擴(kuò)大訓(xùn)練樣本總量及提高診斷精度的目的。
在半監(jiān)督的網(wǎng)絡(luò)環(huán)境下,原始故障樣本中會(huì)產(chǎn)生過(guò)剩的無(wú)類(lèi)標(biāo)簽樣本和少量的有類(lèi)標(biāo)簽故障樣本[11-12],隨著數(shù)據(jù)集規(guī)模的增大,樣本訓(xùn)練的難度同步增加。數(shù)據(jù)集訓(xùn)練中,將上一輪訓(xùn)練中標(biāo)記的最優(yōu)樣例加入到下一個(gè)訓(xùn)練集中,反復(fù)疊加訓(xùn)練容易導(dǎo)致數(shù)據(jù)積累錯(cuò)誤,尤其是在大故障數(shù)據(jù)樣本環(huán)境下,需要借助深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)算法優(yōu)化模型的性能[13-14]。生成對(duì)抗網(wǎng)絡(luò)模型是一種基于機(jī)器學(xué)習(xí)的全新生成式模型,從結(jié)構(gòu)上看,其由基于深度神經(jīng)網(wǎng)絡(luò)的生成器D和判別器G兩部分組成。第一步,由生成器負(fù)責(zé)捕捉故障樣本數(shù)據(jù)的分布形態(tài),并辨別出正常樣本和故障樣本的信號(hào)特征及分布特征;第二步,將故障樣本輸入判別器判別出樣本中包含真實(shí)值的概率,經(jīng)過(guò)多次交替訓(xùn)練即能完全識(shí)別出異常樣本,并達(dá)到納什均衡,在半監(jiān)督環(huán)境下生成對(duì)抗網(wǎng)絡(luò)模型的基礎(chǔ)結(jié)構(gòu),如圖1所示。
原始數(shù)據(jù)集中的總體數(shù)據(jù)概率p(x)服從均勻分布,將輸入生成器D的原始數(shù)據(jù)集轉(zhuǎn)換成為隨機(jī)向量,與真實(shí)的數(shù)據(jù)樣本概率分布一致,生成對(duì)抗網(wǎng)絡(luò)的優(yōu)化目標(biāo)是使判別器輸出數(shù)據(jù)的概率分布與真實(shí)的故障數(shù)據(jù)樣本一致。當(dāng)生成器的數(shù)據(jù)進(jìn)入判別器后,輸出結(jié)果的樣本空間被壓縮為[0,1],當(dāng)輸入判別器的向量取值為真實(shí)值時(shí),輸出概率趨近于1;而當(dāng)輸入判別器的向量取值為假值時(shí),生成對(duì)抗網(wǎng)絡(luò)的目標(biāo)函數(shù)ξ(G,D)可表示為:
圖1 半監(jiān)督環(huán)境下生成對(duì)抗網(wǎng)絡(luò)模型的基礎(chǔ)結(jié)構(gòu)
min maxξ(G,D)=epd(x)(lnpd(x))+
epg(x)(ln(1-pg(x)))
(1)
式中:epd(x)為模型期望函數(shù);epg(x)為模型實(shí)際函數(shù);pd(x)和pg(x)分別為原始故障模型生成器和判別器輸出的概率函數(shù)。只有滿(mǎn)足pd(x)=pg(x)條件時(shí),才能夠得到全局范圍內(nèi)的最優(yōu)解。為避免生成對(duì)抗網(wǎng)絡(luò)在對(duì)故障數(shù)據(jù)訓(xùn)練時(shí)出現(xiàn)梯度消失的情況,基于空間測(cè)量(EM)實(shí)時(shí)測(cè)量原始故障樣本與生成樣本之間的距離偏差,樣本之間的距離函數(shù)d表示如下:
(2)
式中:e為模型期望函數(shù);x為模型的輸入量;y為樣本判別器的輸出量。EM工具具有良好的數(shù)據(jù)平滑性能,即使樣本數(shù)據(jù)集沒(méi)有發(fā)生重疊的情況,也能從一定程度上解決梯度損失的問(wèn)題?;贓M工具優(yōu)化后,目標(biāo)函數(shù)可以簡(jiǎn)化為:
(3)
在半監(jiān)督的網(wǎng)絡(luò)環(huán)境下,生成對(duì)抗網(wǎng)絡(luò)模型參數(shù)的迭代更新依賴(lài)于數(shù)據(jù)梯度下降的方向。如果此時(shí)故障樣本量較大且包含環(huán)境噪聲和機(jī)械噪聲,將直接導(dǎo)致生成對(duì)抗網(wǎng)絡(luò)模塊的數(shù)據(jù)訓(xùn)練時(shí)間過(guò)長(zhǎng)。高維數(shù)據(jù)條件下,隨機(jī)選取的機(jī)械故障樣本無(wú)法代表總體的表征,將會(huì)延長(zhǎng)最優(yōu)解的計(jì)算時(shí)長(zhǎng),甚至干擾到梯度方向的更新。鑒于數(shù)據(jù)樣本的總體規(guī)模較大,采取批量處理的方式將進(jìn)入生成器 的全部高維數(shù)據(jù)分批處理,每個(gè)批次包含相同的故障數(shù)據(jù)總量。更新后的梯度方向由總體樣本的平均梯度決定,以樣本總體的期望為迭代方向,既可以保證故障數(shù)據(jù)訓(xùn)練的方向正確,還能夠從一定程度上減少訓(xùn)練的總量,節(jié)省求解時(shí)間。由于原始故障數(shù)據(jù)集中包含大量的噪聲,而基于深度學(xué)習(xí)算法的生成對(duì)抗網(wǎng)絡(luò)在處理高維數(shù)據(jù)時(shí)無(wú)法有效識(shí)別出樣本的分布狀態(tài),為解決這一問(wèn)題,本文先基于神經(jīng)網(wǎng)絡(luò)算法實(shí)現(xiàn)從信號(hào)值到灰度值的轉(zhuǎn)換,在灰度圖像數(shù)據(jù)中,機(jī)械故障信號(hào)中的原始特征能夠得到更好的保留,再利用灰度算法剔除系統(tǒng)噪聲和環(huán)境噪聲的干擾。
機(jī)械振動(dòng)原始信號(hào)是一種含噪的高維信號(hào),利用滑動(dòng)窗口將振動(dòng)信號(hào)轉(zhuǎn)換為圖像信號(hào),令滑動(dòng)窗口的長(zhǎng)度為L(zhǎng),即窗口包含L個(gè)單位的數(shù)據(jù),完成一次信號(hào)轉(zhuǎn)換后窗口向后移動(dòng)T個(gè)單位,為保證數(shù)據(jù)轉(zhuǎn)換的完整性,需滿(mǎn)足條件T≥L。一組待轉(zhuǎn)換的信號(hào)列長(zhǎng)度為L(zhǎng)×L,那么轉(zhuǎn)換后圖像的大小也為L(zhǎng)×L,即原信號(hào)列中包含的信息完整地轉(zhuǎn)化到圖像當(dāng)中,信號(hào)轉(zhuǎn)換為灰度圖像過(guò)程描述如下:
(4)
式中:F(i,j)為灰度圖像;round(·)為四舍五入的取整函數(shù);i和j分別表示滑動(dòng)窗口中隨機(jī)出現(xiàn)的兩個(gè)故障信號(hào)。round函數(shù)可將全部轉(zhuǎn)換圖像像素點(diǎn)歸一化處理,將像素點(diǎn)的數(shù)量控制在256以?xún)?nèi)。利用二維灰度圖像表示原始機(jī)械故障信號(hào),一方面可以最大限度地保留原始故障信號(hào)中的特征,提高對(duì)故障信號(hào)處理的效率;另一方面由于故障信號(hào)與正常機(jī)械振動(dòng)信號(hào)轉(zhuǎn)換后的圖像灰度不同,能夠更好地剔除噪聲信號(hào)干擾。
hτ=sigmoid(w(xij,cij)+ζij)
(5)
(6)
式中:ζ為映射到第二層結(jié)構(gòu)的偏置結(jié)構(gòu)參數(shù)模型常數(shù)項(xiàng)。
轉(zhuǎn)換為圖像數(shù)據(jù)的原始向量服從標(biāo)準(zhǔn)正態(tài)分布,且與原始信號(hào)的分布狀態(tài)保持一致。假設(shè)深度神經(jīng)網(wǎng)絡(luò)模型的隱含層為兩層結(jié)構(gòu),第一層的圖像數(shù)據(jù)結(jié)構(gòu)會(huì)映射到第二層中,并通過(guò)激活函數(shù)映射到第二層結(jié)構(gòu)中得到第二層的特征矢量hτ+1,計(jì)算過(guò)程如下:
hτ+1=sigmoid(w(xi+1,j+1,ci+1,j+1)+ζij)·τ(w,ζ)
(7)
式中:xi+1,j+1為映射到第二層的輸入數(shù)據(jù);ci+1,j+1是xi+1,j+1對(duì)應(yīng)的常數(shù)項(xiàng);τ為偏置結(jié)構(gòu)參數(shù)和生成網(wǎng)絡(luò)權(quán)重的函數(shù)。
深度神經(jīng)網(wǎng)絡(luò)的輸入層結(jié)構(gòu)利用判別器G對(duì)圖像數(shù)據(jù)做多模式識(shí)別,并將提取到的特征向量匹配不同的預(yù)測(cè)標(biāo)簽。數(shù)據(jù)訓(xùn)練與特征提取過(guò)程中,為避免過(guò)高的計(jì)算復(fù)雜度,利用梯度下降法將小批量數(shù)據(jù)集輸入深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集,算法步驟如下:
1)確定待處理批量圖像數(shù)據(jù)的規(guī)模及迭代訓(xùn)練的次數(shù);
2)更新模型的參數(shù)并按照特定的數(shù)據(jù)組規(guī)模開(kāi)始訓(xùn)練;
3)循環(huán)步驟1)和步驟2),直到得到去除噪聲灰度值的期望向量;
4)調(diào)整構(gòu)成生產(chǎn)網(wǎng)絡(luò)的權(quán)重比例和結(jié)構(gòu)偏置,保證深度網(wǎng)絡(luò)模型、生成器和判別器處于最優(yōu)的工作狀態(tài);
5)提取判別器G輸入數(shù)據(jù)所包含的特征,并基于圖像數(shù)據(jù)的特征判定機(jī)械故障的類(lèi)別和程度。
標(biāo)簽平滑對(duì)圖像數(shù)據(jù)訓(xùn)練起到重要的調(diào)節(jié)作用,可改善半監(jiān)督環(huán)境下樣本的脆弱性,并提升轉(zhuǎn)換后信號(hào)圖像的質(zhì)量。數(shù)據(jù)平滑需要設(shè)定合適的平滑系數(shù)值,并確定合理的置信區(qū)間,平滑后的樣本數(shù)據(jù)集{xij}g為:
(8)
式中:xi為樣本數(shù)據(jù)集的行向量。
通常情況下數(shù)據(jù)集在平滑處理后仍舊包含少量的錯(cuò)誤標(biāo)簽,使用交叉熵S作為損失函數(shù):
(9)
式中:pij為交叉熵出現(xiàn)的概率。
損失函數(shù)值會(huì)隨著訓(xùn)練次數(shù)的增加和訓(xùn)練時(shí)間的延長(zhǎng)而逐漸降低,適度縮小置信區(qū)間的區(qū)間間隔,以防止在數(shù)據(jù)平滑系數(shù)的選擇方面出現(xiàn)梯度過(guò)大的現(xiàn)象。損失函數(shù)值越低,表明生成對(duì)抗網(wǎng)絡(luò)模型的健壯性越好,數(shù)據(jù)轉(zhuǎn)換成二維圖像的真實(shí)度越高。基于深度神經(jīng)網(wǎng)絡(luò)構(gòu)建的生成對(duì)抗網(wǎng)絡(luò)模型具有強(qiáng)大的容錯(cuò)能力,為避免真實(shí)樣本置信區(qū)間縮小,在機(jī)械故障數(shù)據(jù)訓(xùn)練中盡量設(shè)置區(qū)間連續(xù)的置信值,以提升生成網(wǎng)絡(luò)模型的分類(lèi)能力和容錯(cuò)能力,還能夠?qū)ι傻男盘?hào)圖像灰度值持續(xù)優(yōu)化。當(dāng)生成對(duì)抗網(wǎng)絡(luò)輸出的二維圖像值與判別器輸出結(jié)果存在較大差異,表明當(dāng)前的分類(lèi)器需要更新神經(jīng)元網(wǎng)絡(luò)結(jié)構(gòu),并調(diào)整窗口的平滑參數(shù),將模型的平滑參數(shù)值縮小,同時(shí)調(diào)整置信區(qū)間的范圍,以便于識(shí)別出灰度值更小的故障特征點(diǎn)。在圖像數(shù)據(jù)訓(xùn)練的后期,再適當(dāng)恢復(fù)判別器G的分類(lèi)能力,改善模型的整體性能,并提取圖像數(shù)據(jù)集合中故障特征。在應(yīng)用梯度下降算法的過(guò)程中,應(yīng)保證模型算法的全局學(xué)習(xí)率指標(biāo)值持續(xù)優(yōu)化,初始階段根據(jù)先驗(yàn)知識(shí)確定全局學(xué)習(xí)率,隨著訓(xùn)練時(shí)長(zhǎng)的增加稀疏梯度任務(wù)的指標(biāo)參數(shù)值增加,機(jī)械故障診斷的精度也會(huì)隨之改善。
為訓(xùn)練生成器并提取機(jī)械故障數(shù)據(jù)的特征,將平滑后的樣本數(shù)據(jù){xij}g標(biāo)注真?zhèn)?,如果?biāo)注的真實(shí)值為1,則將訓(xùn)練數(shù)據(jù)輸入判別器,如果標(biāo)注的結(jié)果為0,表明生成器未能成功提取到故障特征,此時(shí)交叉熵?fù)p失函數(shù)最小化的調(diào)節(jié)過(guò)程描述如下:
(10)
式中:Smin為交叉熵?fù)p失函數(shù)的最小值;hij為xij所對(duì)應(yīng)的權(quán)重比例。
當(dāng)輸入故障樣本與原始圖像數(shù)據(jù)對(duì)應(yīng)時(shí),生成對(duì)抗網(wǎng)絡(luò)模型中判別器G的目標(biāo)是期望輸入結(jié)果的值盡量為1;如果輸入判別器的樣本數(shù)據(jù)為新樣本,判別器G的目標(biāo)是盡量使輸出的結(jié)果為0,而采用隨機(jī)梯度法優(yōu)化的目的是避免判別器準(zhǔn)確率過(guò)早最小化。在數(shù)據(jù)訓(xùn)練中生成器和判別器之間通過(guò)樣本的交替與參數(shù)的修正,使故障特征向量的分布達(dá)到一種均衡狀態(tài),此時(shí)交叉熵?fù)p失函數(shù)值最小。
為驗(yàn)證在半監(jiān)督環(huán)境下生成對(duì)抗網(wǎng)絡(luò)模型的故障診斷效果,選取電機(jī)軸的4種故障類(lèi)型(軸彎曲、軸徑磨損、鍵槽磨損、軸裂紋)構(gòu)建數(shù)據(jù)集,故障檢測(cè)實(shí)驗(yàn)臺(tái)和故障數(shù)據(jù)集分別,如圖2和表1所示。
圖2 電機(jī)軸故障檢測(cè)實(shí)驗(yàn)臺(tái)
表1 電機(jī)軸的故障數(shù)據(jù)集
在故障數(shù)據(jù)集的檢測(cè)中實(shí)驗(yàn)臺(tái)電機(jī)轉(zhuǎn)速調(diào)整為2 500 r/min,整體負(fù)載為5 kW,全部的振動(dòng)信號(hào)由傳感器和采集器讀取,振動(dòng)信號(hào)的采樣頻率為1.5萬(wàn)次/s,測(cè)試樣本數(shù)量與訓(xùn)練樣本數(shù)量的比例為1∶10。
提取正常狀態(tài)及4種故障狀態(tài)下振動(dòng)信號(hào)的時(shí)域分布圖,如圖3和圖4所示。
圖3 原始振動(dòng)信號(hào)時(shí)域分布
圖4 4種故障信號(hào)時(shí)域分布
將生成對(duì)抗網(wǎng)絡(luò)判別器的隱含層數(shù)量分別設(shè)定為2,3,4,與之對(duì)應(yīng)的節(jié)點(diǎn)數(shù)量設(shè)置為10,20,30,50,100,在不同的條件下檢驗(yàn)4種故障數(shù)據(jù)集合的訓(xùn)練熵誤差控制情況,統(tǒng)計(jì)結(jié)果見(jiàn)表2~表4。
表2 隱含層為2層判別器訓(xùn)練熵誤差
表3 隱含層為3層判別器訓(xùn)練熵誤差
表4 隱含層為4層判別器訓(xùn)練熵誤差
由表可知,當(dāng)生成對(duì)抗網(wǎng)絡(luò)模型的判別器隱含層數(shù)量分別設(shè)定為2,3,4層,與之對(duì)應(yīng)的節(jié)點(diǎn)數(shù)量設(shè)置為10,20,30,50,100時(shí),4種故障類(lèi)別的判別器訓(xùn)練熵誤差均能夠保持在0.1%以下,表明生成對(duì)抗網(wǎng)絡(luò)模型具有良好的健壯性;當(dāng)不斷增加節(jié)點(diǎn)數(shù)量和隱含層數(shù)后,訓(xùn)練熵差值呈現(xiàn)出線性下降趨勢(shì),可以根據(jù)實(shí)際診斷要求和控制成本選擇合適的模型結(jié)構(gòu)。
為驗(yàn)證本文所提算法的分類(lèi)檢驗(yàn)性能,基于生成對(duì)抗網(wǎng)絡(luò)模型對(duì)2 000個(gè)故障測(cè)試樣本做標(biāo)簽分類(lèi)。在相同的實(shí)驗(yàn)條件下,與本文所提算法相比,深度置信網(wǎng)絡(luò)、自適應(yīng)編碼和壓縮感知等診斷方法均出現(xiàn)了不同程度故障數(shù)據(jù)分類(lèi)混淆的情況,分類(lèi)效果如圖5~8所示。
生成對(duì)抗網(wǎng)絡(luò)模型的生成器和判別器都是基于深度神經(jīng)網(wǎng)絡(luò)模型構(gòu)建而成,在樣本訓(xùn)練中通過(guò)反復(fù)迭代尋優(yōu),損失函數(shù)可以快速地收斂到最低值,損失函數(shù)的值越低,機(jī)械故障分類(lèi)和診斷的精度就會(huì)越高,在診斷20 000個(gè)機(jī)械故障樣本的訓(xùn)練中,本文算法將損失函數(shù)曲線最大收斂步數(shù)控制在了150以?xún)?nèi)。
圖5 所提算法機(jī)械故障分類(lèi)效果
圖6 深度置信網(wǎng)絡(luò)診斷方法機(jī)械故障分類(lèi)效果
圖7 自適應(yīng)編碼診斷方法機(jī)械故障分類(lèi)效果
圖8 壓縮感知診斷方法機(jī)械故障分類(lèi)效果
圖9 損失函數(shù)的收斂曲線
將20 000個(gè)訓(xùn)練故障樣本共分為10組,每組的標(biāo)號(hào)為1~10,經(jīng)過(guò)分類(lèi)、分組模擬診斷后對(duì)比每組機(jī)械故障診斷精度,結(jié)果見(jiàn)表5。
表5 機(jī)械故障診斷精度對(duì)比
由表可知,生成對(duì)抗網(wǎng)絡(luò)模型的平均故障診斷精度高達(dá)99.45%,體現(xiàn)出該模型在復(fù)雜機(jī)械故障診斷中的優(yōu)勢(shì);在相同的仿真環(huán)境下,該模型的故障診斷精度優(yōu)于深度置信網(wǎng)絡(luò)故障診斷方法、自適應(yīng)編碼故障診斷方法和壓縮感知故障診斷方法。
伴隨著機(jī)械結(jié)構(gòu)復(fù)雜程度的提高和故障數(shù)據(jù)集規(guī)模的不斷擴(kuò)大,傳統(tǒng)基于信號(hào)特征分析的診斷算法在性能、精度和效率方面都有不同程度的下降。在人工智能算法大量引入之后,監(jiān)督成本、訓(xùn)練成本過(guò)高,損失函數(shù)收斂過(guò)慢等,成為制約人工智能和機(jī)器學(xué)習(xí)算法深入推廣的主要原因。本文以深度神經(jīng)網(wǎng)絡(luò)算法為基礎(chǔ),提出基于生成對(duì)抗網(wǎng)絡(luò)模型的機(jī)械故障診斷算法,為避免梯度函數(shù)值損失過(guò)快,使用空間測(cè)量工具優(yōu)化函數(shù)的數(shù)據(jù)平滑性能;采用圖像模型轉(zhuǎn)換的方式對(duì)故障做降維處理,在判別器與原始故障數(shù)據(jù)的對(duì)抗中,不斷降低損失函數(shù)的取值,保證訓(xùn)練精度和測(cè)試精度,實(shí)驗(yàn)結(jié)果也驗(yàn)證了文中所提算法的分類(lèi)性能與故障診斷性能。