王樹宇,袁嫣紅,張建義
(浙江理工大學(xué)機械與自動控制學(xué)院,浙江杭州 310018)
旋轉(zhuǎn)機械是一種主要依靠旋轉(zhuǎn)動作來實現(xiàn)特定功能的機械設(shè)備。典型的旋轉(zhuǎn)機械包括汽輪機、燃氣輪機、離心壓縮機和高速離心泵等。這些機器廣泛應(yīng)用于電力、石化、冶金、航天等行業(yè)。石油化工等流程工業(yè)的生產(chǎn)過程都是連續(xù)化大生產(chǎn),大功率高速流程離心泵作為流體輸送的關(guān)鍵動力設(shè)備,除了具備優(yōu)越的動力性能指標,更重要的是在運行過程中必須具有很好的可靠性。由于大功率設(shè)備智能化水平普遍不高,在實際運行過程中經(jīng)常出現(xiàn)故障,嚴重影響連續(xù)化大生產(chǎn),造成巨大的經(jīng)濟損失。因此,及時發(fā)現(xiàn)設(shè)備的故障具有重要意義。
目前在工業(yè)生產(chǎn)過程中主要依靠定期巡查來評估旋轉(zhuǎn)機械的運行狀態(tài)。這種方法無法及時發(fā)現(xiàn)設(shè)備的故障,同時非常依賴評估員的實踐經(jīng)驗,因此需要一套針對旋轉(zhuǎn)機械設(shè)備的有效在線故障診斷方法。目前,主要借助支持向量機(SVM)、小波包樣本熵和HHT等算法對設(shè)備進行故障診斷。但這些算法是有監(jiān)督機器學(xué)習(xí)方法,需要大量已知的樣本標簽,然而實際工況下缺少大量故障樣本,故限制了這些方法的廣泛應(yīng)用。基于此,無監(jiān)督機器學(xué)習(xí)方法更具有實際應(yīng)用價值。
2006年HINTON等發(fā)表的關(guān)于深度學(xué)習(xí)的文章中也提到了無監(jiān)督方法,其中著名的有受限玻爾茲曼機、自編碼網(wǎng)絡(luò)、對抗生成網(wǎng)絡(luò)。
HINTON等提出了受限玻爾茲曼機,堆疊形成深度信念網(wǎng)絡(luò),其主要用于特征提取和預(yù)訓(xùn)練。自編碼模型更是廣泛應(yīng)用于圖像分類、模式識別、視頻異常檢測。生成對抗網(wǎng)絡(luò)是由GOODFELLOW等在2014 年提出的一種新型網(wǎng)絡(luò)結(jié)構(gòu),是一種基于博弈場景的半監(jiān)督特征學(xué)習(xí)算法,隨后更是廣泛應(yīng)用于圖像生成。
2019年,Google Brain和OpenAI合作的文章Adversarial Autoencoders(AAE)中提出了一種對抗自編碼的方法,該架構(gòu)中訓(xùn)練一個新網(wǎng)絡(luò)來有區(qū)分地預(yù)測樣本是自編碼的隱藏代碼還是來自用戶確定的先驗分布。本文作者基于對抗自編碼模型,通過優(yōu)化網(wǎng)絡(luò)機構(gòu)建立故障檢測模型。將一臺高速泵作為研究對象,并與傳統(tǒng)方法作對比,驗證所提方法在機械系統(tǒng)異常檢測中的優(yōu)越性。
GAN網(wǎng)絡(luò)分為兩部分:生成器和鑒別器,本質(zhì)上為兩個多層感知機網(wǎng)絡(luò)。生成器可以生成偽造的圖像,通過訓(xùn)練鑒別器將生成器生成的虛假圖像與數(shù)據(jù)集區(qū)分開。最初因為權(quán)重是隨機的,生成器會產(chǎn)生一些隨機噪聲,通過訓(xùn)練可使鑒別器能分辨出這種隨機噪聲和真實圖像,鑒別器能力提高后,通過權(quán)值反向傳遞促使生成器生成虛假圖像的能力提高,使它生成更好的偽圖像,生成器產(chǎn)生圖像效果的提高又繼續(xù)反作用于判別器,繼續(xù)執(zhí)行此過程,直到生成器能夠很好地生成偽圖像為止,從而使鑒別器不再能夠分辨?zhèn)螆D像中的真實圖像。最終訓(xùn)練好的生成器,在生成隨機數(shù)字集作為輸入的情況下,該生成器可以生成看起來真實的偽圖像,GAN就是這樣一個博弈的過程。
在深度學(xué)習(xí)中,自動編碼器(Autoencoder,AE)是一種無監(jiān)督的神經(jīng)網(wǎng)絡(luò)模型,它可以學(xué)習(xí)到輸入數(shù)據(jù)的隱含特征,這一結(jié)構(gòu)稱為編碼(Encoder),同時用學(xué)習(xí)到的新特征可以重構(gòu)出原始輸入數(shù)據(jù),這一結(jié)構(gòu)稱之為解碼(Decoder)。直觀上看,自動編碼器可以用于特征降維,類似主成分分析PCA,但是它比PCA性能更強,這是因為神經(jīng)網(wǎng)絡(luò)模型可以提取更有效的新特征。除了進行特征降維,自編碼模型學(xué)習(xí)到的新特征可以送入有監(jiān)督學(xué)習(xí)模型中,所以自動編碼器可以起到特征提取器的作用。旋轉(zhuǎn)機械的振動信號中往往包含著很多復(fù)雜的成分,有效的特征夾雜在復(fù)雜的成分中,但早期故障的振動成分往往比較微弱,人工提取難度較大,而采用自編碼模型可使神經(jīng)網(wǎng)絡(luò)自動提取振動特征,有利于更好地進行故障判斷。
針對實際機械故障診斷工作中難以獲取故障狀態(tài)下數(shù)據(jù)樣本的問題,基于異常檢測的實際情況,提出一種故障檢測方法。
本文作者所采用的對抗自編碼模型如圖1所示。編碼器和解碼器組成了自編碼器結(jié)構(gòu),將大量正常的機械設(shè)備振動信息送入編碼器進行特征學(xué)習(xí),生成被壓縮后的特征向量,然后通過解碼器將壓縮后的特征重新解碼重建振動圖像。然而,單一的自編碼模型生成的壓縮特征分布不均,不利于后續(xù)數(shù)據(jù)重建。因而,引入對抗生成網(wǎng)絡(luò)模型,編碼器作為對抗生成網(wǎng)絡(luò)的一部分,因本身能夠產(chǎn)生和輸入數(shù)據(jù)相關(guān)的特征數(shù)據(jù),編碼器作為生成器不再如傳統(tǒng)GAN網(wǎng)絡(luò)那樣最初產(chǎn)生的是隨機數(shù)據(jù),可以減少訓(xùn)練難度,同時也使模型更容易被理解;模型中添加了新的網(wǎng)絡(luò)結(jié)構(gòu)作為鑒別器,鑒別器最終通過Softmax層直接判斷數(shù)據(jù)的真實性。
圖1 對抗自編碼模型
本文作者將同時訓(xùn)練編碼器和解碼器,以最大程度地減少重建損失。在編碼階段,給定輸入數(shù)據(jù),編碼器將輸入變換為特征向量:
()=[()]=[x()+]
(1)
(2)
式中:()為每一個輸入()經(jīng)過編碼器得到的隱藏層的特征表達;=(,)為網(wǎng)絡(luò)參數(shù),為輸入層到隱藏層之前的權(quán)值矩陣,為隱藏層神經(jīng)元的偏置量;()為激活函數(shù),文中選用式(2)為激活函數(shù):
′()=[()]=[′()+′]
(3)
式中:′()為隱藏層經(jīng)過解碼后得到的重構(gòu)表達;=(′,′)為網(wǎng)絡(luò)參數(shù),′為隱藏層到輸出層的權(quán)值矩陣,′為輸出層神經(jīng)元的偏置量。
將輸入傳遞給編碼器,該編碼器將提供輸入特征的潛在特征,將這個潛在特征傳遞給解碼器以獲取輸入數(shù)據(jù)曲線。通過反向調(diào)整編碼器和解碼器的權(quán)重,減少重建損失。AE的學(xué)習(xí)目標是最小化重構(gòu)誤差,使得輸入與輸出盡可能接近,損失函數(shù)選擇式(4)所示的均方差損失函數(shù):
=(-′)
(4)
進入訓(xùn)練的第二部分,訓(xùn)練鑒別器對編碼器輸出和一些隨機輸入′(實驗中采用標準正態(tài)分布)進行分類。因此,如果傳入具有期望分布的隨機輸入,則判別器輸出True;當(dāng)傳入編碼器輸出時,輸出為False。直觀地,編碼器的輸出和鑒別器的隨機輸入都應(yīng)具有相同的大小。
將編碼器輸出作為輸入連接到鑒別器,目的是迫使編碼器輸出具有給定先驗分布的值。使用編碼器(|)作為生成器,使用鑒別器來判斷樣本是來自先驗分布()還是來自編碼器(|),解碼器(|)返回原始輸入圖像。
生成器訓(xùn)練時應(yīng)保持鑒別器的權(quán)重固定為當(dāng)前的權(quán)重,并在鑒別器的輸出端將目標固定。之后將圖像傳遞到編碼器,并找到鑒別器輸出,然后將它用于查找損耗(交叉熵代價函數(shù))。僅通過編碼器權(quán)重進行反向傳播,會使編碼器學(xué)習(xí)所需的分布并產(chǎn)生具有該分布的輸出(將鑒別器目標固定為1會導(dǎo)致編碼器通過查看鑒別器權(quán)重來學(xué)習(xí)所需的分布)。
判別器在這里是一種分類器,用于區(qū)分樣本的真?zhèn)?,因此常使用交叉?Cross Entropy)判別分布的相似性。交叉熵公式;
(()))]
(5)
鑒別器訓(xùn)練時保持生成器權(quán)重不變,盡可能地讓鑒別器能夠最大化地判別出樣本來自于真實數(shù)據(jù)還是生成的數(shù)據(jù)。
輸入的振動信息不僅含有單純的機械振動信息,還包含大量的無用振動,為能夠讓網(wǎng)絡(luò)更好地學(xué)習(xí)振動數(shù)據(jù)的特征以及加快網(wǎng)絡(luò)學(xué)習(xí)效率,該模型在編碼器部分以及鑒別器部分加入了Dropout層,通過在每次訓(xùn)練時,隨機讓每層小部分神經(jīng)元停止工作,每次輸入網(wǎng)絡(luò)的有效數(shù)據(jù)只是部分數(shù)據(jù),以此達到去噪聲的目的,以提高網(wǎng)絡(luò)的泛化能力。
本文作者選用的實驗設(shè)備是某熱電廠運行的型號為HTD250-160X10的多級離心泵,為工藝上的給水泵,基本工作參數(shù):10級離心泵,額定流量為250 m/h,額定揚程為1 500 m,額度轉(zhuǎn)速為2 950 r/min,額定功率為1 273 kW。實際設(shè)備如圖2所示。自制的數(shù)據(jù)采集器,采樣頻率為50 kHz,單次采樣個數(shù)是1 000點;選用的傳感器為電渦流振動位移傳感器,通過電渦流效應(yīng),對泵的振動信息進行無接觸、連續(xù)的采集。數(shù)據(jù)采集完成后通過4G網(wǎng)絡(luò)上傳到自建的云平臺系統(tǒng),采集器24 h在線運行。
圖2 實驗設(shè)備
在云平臺中隨機抽取1 024組數(shù)據(jù)作為訓(xùn)練樣本,每組數(shù)據(jù)有1 000個振動數(shù)據(jù)作為特征。訓(xùn)練batch size取64,自編碼learning rate為0.001,對抗生成網(wǎng)絡(luò)learning rate設(shè)置為0.000 5,epoch取2 000。每次迭代將(64,1 000)的振動數(shù)據(jù)輸入構(gòu)造的對抗自編碼模型中進行訓(xùn)練。對抗自編碼模型在原有模型的基礎(chǔ)上加入了dropout層,神經(jīng)元丟棄率為0.2,在損失函數(shù)中加入交叉熵,進一步約束、指導(dǎo)神經(jīng)網(wǎng)絡(luò)進行特征學(xué)習(xí)。最后,將梯度信息反向傳播并更新梯度,以最小化損失函數(shù)。圖3所示為損失函數(shù)曲線。
圖3 損失函數(shù)曲線
在對抗部分中,模型輸入了正態(tài)分布的數(shù)據(jù)指導(dǎo)自編碼部分的隱藏層學(xué)習(xí)其分布。圖4顯示了從最初到訓(xùn)練結(jié)束過程中隱藏層數(shù)據(jù)分布的變化,直觀地表示出數(shù)據(jù)從最初分布極為不均到最后分布接近標準正態(tài)分布的過程。
圖4 隱藏層數(shù)據(jù)分布
將云平臺下載的數(shù)據(jù)分別輸入對抗編碼模型,實際輸入的振動圖像信息與編碼解碼后重建振動圖像的對比如圖5所示??芍褐亟▓D像很好地學(xué)習(xí)了輸入信息的特征并加以復(fù)現(xiàn)。
圖5 數(shù)據(jù)重建
為檢驗?zāi)P陀?xùn)練后的實際效果,同時選取未曾訓(xùn)練過某一時刻泵的振動數(shù)據(jù)作為模型的輸入,由兩種數(shù)據(jù)重構(gòu)情況的不同鑒別泵的運行狀態(tài)。選取未曾訓(xùn)練過的數(shù)據(jù)點,其中包含200個正常數(shù)據(jù)點和20個異常數(shù)據(jù)點,以此測試訓(xùn)練好的模型。數(shù)據(jù)點輸入模型后,將重構(gòu)數(shù)據(jù)點與原數(shù)據(jù)進行對比,通過二者的誤差區(qū)別數(shù)據(jù)的狀態(tài),同時選用傳統(tǒng)自編碼網(wǎng)絡(luò)模型進行對比,結(jié)果如圖6所示??芍簜鹘y(tǒng)自編碼器模型雖然能夠重建部分圖像,但是并不能將異常數(shù)據(jù)和正常數(shù)據(jù)進行明確的區(qū)分;對抗自編碼模型通過在隱藏層生成的均勻數(shù)據(jù)分布大大提高了模型的自適應(yīng)性,即使是未曾訓(xùn)練過的數(shù)據(jù)點,通過對比也可以看出,異常數(shù)據(jù)點分布于圖像上方,正常值數(shù)據(jù)點位于圖像的下側(cè)??赏ㄟ^設(shè)定閾值來進行實際工況下泵的健康狀態(tài)評判。
圖6 誤差對比
為直觀評價模型效果,引入混淆矩陣?;煜仃囀嵌诸悊栴}的多維衡量指標體系,在樣本不平衡時極其有用。在混淆矩陣中,將少數(shù)類認為是正例,多數(shù)類認為是負例。
TP(True Positive)為在預(yù)測正樣本中,預(yù)測正確的數(shù)目;FP(False Positive)為在預(yù)測正樣本中,預(yù)測錯誤的數(shù)目;TN(True Negative)為在預(yù)測負樣本中,預(yù)測正確的數(shù)目;FN(False Negative)為在預(yù)測負樣本中,預(yù)測錯誤的數(shù)目。準確率是所有預(yù)測正確的樣本除以總樣本的值,越接近1越好。精準率又叫查準率,表示所有被預(yù)測為少數(shù)類的樣本中,真正的少數(shù)類所占的比例。假正率表示模型將多數(shù)類判斷錯誤的能力。
取不同閾值,模型對泵異常檢測的準確率、精準率、假正率如表1所示。
表1 不同閾值下模型效果對比
本文作者將基于自編碼器的神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于高速泵故障檢測領(lǐng)域,通過優(yōu)化對抗自編碼的網(wǎng)絡(luò)結(jié)構(gòu)使模型在故障檢測中具有更好的適用性;提出了一種誤差閾值的故障檢測方法,該方法利用機械振動信號的高維特征參數(shù),通過自編碼網(wǎng)絡(luò)自動提取特征并學(xué)習(xí),依據(jù)模型輸出的變化,實現(xiàn)故障預(yù)警。結(jié)果表明:基于AAE模型的誤差閾值檢測方法在特定閾值下準確率可達100%,明顯優(yōu)于傳統(tǒng)自編碼模型,具有一定的研究價值。