王應晨, 段修生
(1. 陸軍工程大學電子與光學工程系 石家莊,050003) (2. 石家莊鐵道大學機械工程學院 石家莊,050003)
機械裝備的故障診斷是通過其監測數據來分析裝備狀態的健康狀況,確定是否對其進行維護。現代武器裝備系統中各個部分相互耦合,故障模式復雜多樣,使故障診斷具有很大的難度和不確定性,對于復雜系統快速有效的故障診斷是裝備保障的重要課題。傳統的智能診斷方法在機械故障診斷中得到了廣泛的應用,但仍存在3個固有的缺陷:a.診斷性能很大程度上依賴于專家經驗所提取特征的質量;b.在不同的診斷問題中選擇敏感的特征費時費力;c.神經網絡(neural network,簡稱NN)和支持向量機(support vector machine,簡稱SVM)等屬于淺層學習模型,難以有效學習復雜的非線性關系。因此,有必要構建自動學習特征和精確故障診斷的深度學習架構。
為了克服淺層模型的缺點,Hinton首先提出了深度學習理論,此后深度學習引起了廣泛的關注,并取得了大量成功的應用[1]。深度學習強大的非線性映射能力以及多隱含層使其與NN,SVM等淺層學習模型相比,能夠更加有效、靈活地學習故障診斷問題中的復雜關系。趙光權等[2]將深度信念網絡(deep belief network, 簡稱DBN)用于軸承的故障診斷,該模型從原始時域信號中逐層提取故障特征,輸入Softmax分類器,獲得了較高的診斷精度。Guo等[3]采用堆棧降噪自編碼機(stacked denoising autoencoder,簡稱SDAE)來實現旋轉機械故障診斷。采用原始數據訓練模型,通過與不同級別的隨機噪聲結合組成新的數據進行測試,取得了較好的結果,證明了該模型在自動提取特征的同時能有效處理原始信號的噪聲。這些應用仍然存在以下局限性:a.沒有充分利用不同的模型來提高特征學習能力和抗干擾性;b.標準的深度學習算法存在誤差振蕩,收斂速度慢。
筆者提出了利用降噪自動編碼器和自適應高斯深度信念網絡結合提取故障特征,粒子群支持向量機(particle swarm optimization SVM,簡稱PSO-SVM)進行分類的診斷系統。利用不同基礎模型的優點,在提取信號特征的同時進行去噪,并采用自適應學習率有效提高網絡的診斷精度和收斂速度。
降噪自編碼器(denoising autoencoder, 簡稱DAE)是對普通自動編碼器(autoencoder,簡稱AE)的有效改進[4],為使AE 隱含層學習到的特征更具魯棒性,在訓練樣本中加入隨機噪聲來污染輸入數據,之后送到網絡中進行編碼和解碼,DAE從損壞的數據來重建未損的數據,以此提高模型的抽象能力,得到對原始數據更加魯棒的表達。
圖1說明了DAE的結構與訓練過程,主要目標是最小化重構誤差,定義為
(1)

在訓練過程中,DAE被迫捕獲數據中的隱含不變量,在診斷經常受噪聲影響的振動信號時,抵抗噪聲的魯棒性是非常重要的特性。

圖1 降噪自編碼器的編碼和解碼過程
受限玻爾茲曼機( restricted botlzmann machine, 簡稱RBM) 是一個由可見層和隱含層組成的雙層神經網絡[5]。可見單元和隱藏單元之間存在加權連接,但是其同層節點之間無連接,見圖2。

圖2 RBM的結構
在RBM中,各節點是二進制值,而故障信號是連續數值。因此筆者采用了高斯受限玻爾茲曼機(Gaussian RBM, 簡稱GRBM),將二進制的可視層節點值替換為具有高斯分布的連續實數,使輸入層能夠接受連續型信號,隱含層仍采用服從伯努利分布的二值神經元節點,GRBM的能量函數為
E(v,h;θ)=
(2)
模型參數為θGRBM={wij,ai,bj},其中:wij為可見單元v與隱藏單元h之間的權重;ai和bj分別為它們的偏置;n和m分別為可視層和隱含層單元的數量。
基于該能量函數,得到(v,h)聯合概率
(3)

由于隱藏層和可視層內部沒有連接,同層的節點間相互獨立,當給定可見層單元狀態v時,隱含層第j個單元hj的激活概率為
(4)
可視單元vi的激活概率為
(5)
其中:σ=1/(1+e-x)為sigmoid函數;N(μ,σ2)表示均值為μ、方差為σ2的高斯分布。
GRBM的訓練采用由 Hinton[6]提出的CD 算法:從訓練樣本的任一狀態出發,按照式(4)計算出隱含單元的概率,然后固定隱含單元,按照式(5)重構出可視單元。這樣,得到模型參數θGRBM={wij,ai,bj}的近似調整規則
其中:〈·〉data為由樣本數據決定的期望;〈·〉recon為重構數據的期望;ε為學習率。
訓練樣本一般被分為多個小子集,每個子集訓練完成后,再更新模型的參數。
高斯深度信念網絡(Gaussian DBN,簡稱GDBN)是通過層疊幾個GRBM構建的。具有3個堆疊的GRBM的GDBN體系結構如圖3所示。

圖3 GDBN結構
GDBN特征提取過程采用逐層無監督貪婪預訓練[7],將數據輸入到第1個GRBM的可見層中,并使用激活函數將其轉換為隱藏層,前1個GRBM學到的特征作為下1個的輸入,直到最后1個GRBM,無監督預訓練結束,GDBN從原始數據自動學習的特征被送入分類器中。
學習率是影響GDBN收斂速度和提取特征性能的決定性因素[8]。標準GRBM的學習算法中采用固定的學習率來訓練網絡,確定后,學習率在整個訓練過程中保持不變,自適應性差。如果學習率過大,很可能會越過最優值,在局部最優點附近來回跳動;而如果學習率過小,優化的效率可能過低,算法長時間無法收斂,所以學習率對于算法性能至關重要。
為了獲得更好的故障診斷性能并加速網絡的學習過程,在傳統DBN算法基礎上,引入一種基于重構誤差的自適應學習率算法,可以在訓練中每一步自適應調整學習速率。重構誤差是RBM學習規則中應用最廣泛的判斷標準,定義為
(9)

可以在RBM訓練規則中的每個時期調整學習速率。動態調整學習率為

(10)
其中:η∈(0,1)為增減因子,用來調整學習率;εold為原來的學習率;εnow為更新后的學習率;Δ=Errold-Errnow。
對比連續的重構誤差Errnow與Errold,當重構誤差減小時,加大學習率;當誤差增大時,則減小學習率。
深層神經網絡在構造時非常強調模型的混合[9],目前的深度學習模型大都是由一些簡單而相同的基本模型構建,不能同時充分利用不同基礎模型的優點。為了進一步提高模型的特征學習能力,有必要結合不同深度學習模型,設計一種混合模型。受限玻爾茲曼機和自編碼器是構成深度神經網絡的基本單元,文獻[10]指出,自編碼器擅長于擴充數據,而受限玻爾茲曼機擅長投影數據,并基于此提出了基于DBN和SAE的融合模型,較好地解決了作曲家分類問題,也證明了參數傳遞在自編碼器和深度置信網絡這兩個模型間是可行并有效的。
降噪自編碼器可以從損壞的輸入中學習有用的信息并從隱含層重建干凈的數據,具有保持原始數據的可恢復性的作用,這對于初級特征的提取非常重要[10]。對于第1層網絡,原始數據被映射到一個高維的空間能夠增加數據的可分性,并且在這個投影過程中數據的可恢復性能夠確保投影結果的相對穩定性,而RBM投影的結果依賴于隱節點的概率分布[10],因此網絡的第1層由降噪自編碼器來構建,學習原始振動數據的魯棒重構。
筆者結合DAE和DBN的優勢進一步提高特征學習能力,DAE用于處理原始信號的隨機噪聲并學習低層特征,DBN用于基于所學習的低層特征來學習深層特征。
診斷模型以降噪自動編碼器和自適應高斯深度信念網絡來提取故障特征,利用PSO-SVM作為分類器,如圖4所示。

圖4 改進的故障診斷模型
其步驟如下:
1) 利用傳感器采集裝備在不同故障狀態下的監測信號;
2) 對采集到的數據進行等分樣本段后線性歸一化,劃分訓練集和測試集,對模型進行訓練;
3) 建立單隱層的DAE對輸入數據提取低層故障特征;
4) 將DAE的隱含層作為第1個GRBM的可視層,建立多隱層自適應高斯深度信念網絡,無監督逐層預訓練,提取故障深層特征;
5) 將深度網絡提取到的故障特征輸入PSO-SVM進行訓練,得到訓練好的診斷模型;
6) 將測試集數據輸入訓練好的模型,輸出識別結果,完成故障診斷。
滾動軸承是機械裝備的核心部件,其健康狀況對裝備的機械性能、穩定性和壽命有重要的影響。筆者通過軸承故障診斷實驗來驗證所提算法的機械故障特征提取及診斷能力。
振動信號通常包含大量的信息,因此,基于振動信號的狀態監測技術已被廣泛應用。凱斯西儲大學(CWRU)軸承數據中心以12 kHz采樣頻率從電機驅動機械系統的加速度計獲得的軸承狀態數據集有以下4種故障類型:正常、球故障、內圈故障和外圈故障,每種故障類型分別包含0.177 8,0.355 6和0.533 4mm這3種故障直徑,共有10個故障條件。將采集的振動信號以相等的窗口長度劃分,每個樣本包含1 024個數據點,數據集A,B和C分別包含不同負載下的70個訓練樣本和30個測試樣本,數據集D包含所有3個負載的210個訓練樣本和90個測試樣本。將這些時域振動信號的頻譜直接作為特征向量來表示軸承的故障類型,數據集的每個樣本都包含512個樣本點。表1描述了所有數據集的細節,其中: RF,IF和OF分別代表滾珠、軸承內圈和外圈故障;RF1~RF3代表不同的故障深度。
1) 原始數據是512維的,所以DAE輸入層節點數為512,隱含層將原始數據映射到高維度的空間,實驗得到最優節點數為兩倍空間即1 024左右;將DAE的隱含層作為GDBN第1個GRBM的可見層,之后依次通過節點數為500和300的隱層對數據進行壓縮,提取深層特征。DAE噪聲系數取0.5,經反復實驗得到自適應學習率增減因子最優值η=0.7,訓練迭代次數為100。

表1 軸承故障數據
2) 將提取到的特征輸入PSO-SVM,初始化PSO參數為:最大進化代數為200,種群數量為20,學習因子c1為1.5,學習因子c2為1.7,訓練和測試模型;
3) 為了驗證所提方法的優越性與魯棒性,將本研究方法與標準GDBN、標準SDAE、自適應GDBN在相同的網絡結構和PSO-SVM參數下的診斷精度進行對比,標準GDBN學習率為1,DAE噪聲系數取0.5。
5.3.1 特征提取能力分析
為了觀察深度學習的特征提取能力,利用非線性降維算法(t-distributed stochastic neighbor embedding, 簡稱t-SNE)將筆者所提融合模型學習到數據集A的故障特征轉換映射,顯示為二維散點圖,分別命名為t-SNE1和t-SNE2,見圖5~圖7。
可以看出,提出的模型能夠對不同故障深度和故障類型的數據進行較好的特征提取,并且各原始特征點似乎是同心圓,經過深層學習模型后被線性分割,這展現深度學習強大的非線性映射能力。
5.3.2 收斂性分析
在實踐中通常用平均重構誤差來表示RBM對原始輸入數據的似然度,并反映訓練過程中收斂速度的快慢。圖8給出了自適應學習率和固定學習率性能的對比。
可以看出,ε=1時重構誤差一開始呈現急速下降趨勢,引起了算法不穩定;ε=0.5時收斂速度較慢;采用自適應學習率時,迭代到第20次時已基本達到穩定 并且重構誤差最小,證明了所提出的自適應策略在提高收斂速度和重構精度方面的有效性。

圖5 原始數據特征分布可視化
Fig.5 Visualization of the raw data via t-SNE
圖6 DAE提取低層特征分布可視化
Fig.6 Visualization of the Low-level feature dis-tribution extracted by DAE via t-SNE
圖7 GDBN提取深層特征分布可視化
Fig.7 Visualization of the Deep-level feature dis-tribution extracted by GDBN via t-SNE
圖8 最后1個RBM的重構誤差
Fig.8 Reconstruction error of the last RBM
5.3.3 故障診斷能力分析
利用各診斷模型分別進行10次實驗,取最好的1次測試結果表征模型的診斷精度。圖9具體顯示了本研究方法在數據集A的每個故障狀態的識別準確度,數據集A的訓練集全部被正確識別,測試集的兩個樣本識別錯誤。
表2為4種不同方法在4類數據集下的測試結果。分析得出,4種方法的診斷時間相差不多,這是因為4種方法的特征提取網絡結構和分類器都比較相似,處理的時間也相近。在不同的負載下筆者提出的融合模型的診斷精度都高于其他3種傳統模型,并且自適應GDBN的性能優于標準GDBN。

圖9 訓練結果與測試結果

表2 不同模型的診斷結果
5.3.4 魯棒性分析
為了驗證所提方法處理隨機噪聲的能力,進一步證明所提出方法的優越性,實驗中模型由原始數據進行訓練,然后對含噪聲的數據進行測試。數據集A的信號在時域中與加性高斯白噪聲合成不同信噪比的信號,并在此之后轉換為頻率信號,定義為
(11)
其中:Psignal和Pnoise分別為信號功率和噪聲功率。
圖10 給出了信號與噪聲混合示例。

圖10 信噪混合示例
噪聲信號范圍為-4~10 dB,比較本方法與自適應GDBN、標準SDAE,圖11顯示了不同噪聲干擾水平下3種模型的故障識別精度,可以看出所提方法略優于SDAE。與傳統GDBN相比,隨著噪聲水平的增加,所提方法的優越性變得明顯,表明該方法對一定范圍的噪聲水平具有魯棒性。

圖11 不同模型在不同噪聲環境下分類精度
提出了一種基于降噪自編碼器和自適應高斯深度信念網絡的深度學習融合模型來解決機械裝備故障診斷問題。該模型直接處理原始振動信號,無需耗時的手工特征提取過程,并采用自適應學習率提高了網絡的收斂速度和診斷精度,優于傳統單一的深度學習模型,并且在噪聲環境下工作良好。