王黎陽,杜 翀,汪 欣,翟旭平
(1.上海大學 特種光纖與光接入網重點實驗室,上海200072;2.中國科學院上海高等研究院 城市公共安全研究中心,上海201210)
在當前的電機領域中,航空發動機、永磁直流電動機、軍用特種電機組等裝備正朝著自動化、智能化、高效化方向發展。建立可靠的故障智能診斷系統,保障裝備安全運行,避免事故發生顯得愈發必要[1]。對電機進行實時的狀態監測與故障診斷,不僅可以保證電機的正常運轉,而且能夠及時發現問題并進行維修,減少不必要的損失[2]。
在故障診斷研究中,普遍采用信號處理與模式識別相結合的診斷方法[3],其中特征提取和分類識別是故障診斷的核心技術。南京理工大學邢宗義團隊提出了基于經驗模態分解和支持向量機(Support vector machine,SVM)的故障診斷方法[4]。北京交通大學趙志宏團隊提出一種基于經驗模式分解與樣本熵的故障診斷方法,通過選取包含故障信息的內蘊模式分量,提高故障診斷準確率[5]。西安交通大學雷亞國團隊利用稀疏濾波和soft max 回歸分類處理大數據,獲得了較高的診斷準確率[6]。這些研究取得了一定的成果,但這種傳統的模式識別方法對信號采集和處理要求較高,模型的泛化能力有限[7]。
稀疏自編碼器(Sparse autoencoder,SAE)通過對數據的學習訓練,可自適應從大量數據中提取用于分類的特征信息,目前已被廣泛應用于圖像識別、語音識別等領域,并取得了顯著的成果[2]。
針對傳統的模型識別方法對信號采集和處理的要求較高、模型的泛化能力有限的問題[8],本文提出了一種基于稀疏自編碼器的故障診斷方法。該方法可以將海量信息通過稀疏自編碼器從輸入映射到編碼,自動學習輸入數據的特征表達。相比于傳統的模式識別方法,不僅能給出更好的特征描述,降低分類任務的復雜度,而且能得到更高的分類精度[9]。
基于稀疏自編碼器的故障診斷方法包括稀疏自編碼器和soft max分類器兩部分,稀疏自編碼器可視為一個神經網絡,通過訓練海量數據,來提取有效特征,與傳統基于經驗診斷特征選擇的方法相比,能夠更好地刻畫數據的內在特征。soft max 分類器將稀疏自編碼器提取的特征經過非線性變換,輸出分類結果。
稀疏自編碼器由OLSHAUSEN 等[10]提出,它克服了傳統自編碼器直接復制輸入層到隱含層,不能有效提取特征的缺點,通過多層非線性變換,提取輸入數據中隱含的分布式特征,通過稀疏懲罰項,提取稀疏的數據特征,提高了特征提取的效率,改善了自編碼器的性能,具有更廣闊的實用前景。
將稀疏自編碼器看成一個神經網絡,令輸入與輸出的個數相等,如圖1所示。

圖1 自編碼器結構圖
圖中,一個圓圈代表一個神經元,在隱含層對輸入層傳遞的數據進行編碼、重構,將高維的輸入數據轉換為低維的編碼特征矢量表示值。
對于一個給定的無標簽電機振動信號樣本集{x1,x2,x3,···,xk},先將其中的樣本x1,x2,x3,···,xk按順序拼接成長度為1×(n·m)的一維數組K,再將K以n為單位剪切,重構為n×m矩陣形式的數據集{x(1),x(2),x(3),···,x(m)},x(m)∈Rn,作為輸入矩陣X。
選取sigmoid 函數作為神經元激活函數。取一組n×1的樣本x作為輸入數據,定義a(i2)為隱含層第i個神經元的單元激活量,則

其中:xj為輸入層第j個神經元的值,W(1)ij代表輸入層第j個神經元與隱含層第i個神經元的連接權值,n為輸入層的神經元個數,b(1)i表示隱含層第i個神經元的偏置,其初始值為b(1)1=0,b2(1)=0,f(·)表示,表達式為
隱含層的作用是提取輸入數據的特征,其輸出即為特征。隱含層的特征表達能最大程度上降低重構誤差。對于輸入數據x,隱含層的特征表達式為

其中:hW,b(x)為對于輸入數據x的隱含層特征矩陣,S2為隱含層的神經元數。對應的代價函數J(W,b;x)為

將稀疏懲罰項引入自編碼器的代價函數中,控制隱含層神經元的激活數量。隱含層第j個神經元的平均激活量ρj可以表示為

其中:m為樣本數,a(2)j(x(i))表示在給定輸入為第i組樣本的情況下,隱含層第j個神經元的單元激活量。通常,在激活函數為sigmoid 時,若神經元單元激活量接近1,可認為神經元被激活;若單元激活量接近0,則認為不被激活。稀疏編碼的目的就是減少被激活神經元數量,降低無效的特征數據量。
設ρ為近似為零的常稀疏參數,平均激活量ρi趨近于ρ時,稀疏效果最好。引入KL(Kullback-Leibler)散度來限制ρi和ρ之間的差值,該稀疏懲罰項PN為

式中:KL(ρ‖ρi)為KL 散度。 當ρ=ρi時,KL(ρ‖ρi)=0,PN=0。當ρi逐漸偏離ρ時,KL散度的值會隨之增大。
為最小化重構誤差,引入稀疏懲罰項,此時稀疏代價函數Jsparse(W,b)可表示為

其中:Sl為第l層神經元個數;λ為權值懲罰參數,通過減少權重的大小來防止過擬合;β為稀疏懲罰項的權重。最小稀疏代價函數通過梯度下降法來優化權值W和偏置b,形成特征抽取層W(1)和b(1)

其中:W(l)ij為輸入層第j個神經元與隱含層第i個神經元的連接權值,b(l)i為隱含層第i個神經元的偏置,α為學習率。通過計算平均激活量得到代價函數中的稀疏懲罰項,優化稀疏代價函數從而實現重構誤差的最小化[2]。
將稀疏自編碼器訓練出的特征權值矩陣,作為輸入訓練soft max 分類器,得到分類結果。soft max分類器是在log istic 回歸模型在多分類問題上的推廣,它將多個神經元的輸出,映射到(0,1)區間內,可看成概率來理解。
設訓練樣本集合{x(1),x(2),x(3),···,x(n) },x(n)Rm為輸入數據,{y(1),y(2),y(3),···,y(n) },y(n)N為輸入標簽,標簽可取k個不同值。對于給定的測試輸入x(i),經過soft max函數的假設輸出值為

基于假設函數估算出每一類標簽的概率值p(y(i)=k|x(i)),設hθ(x(i))所有的概率之和為1,假設函數表達如下

其中:θ表示全部的模型參數。圖2為soft max 類器的結構。

圖2 soft max分類器結構圖
對于輸出的一組概率值,選取數值最大的結點,作為分類結果。為了解決soft max 回歸模型中代價函數J(θ)最小化的解不唯一問題,在代價函數中加入權重衰減

其中:1{ · }是示性函數,表達式為真時取1,否則取0,λ為權重衰減參數。
當λ>0 時,J(θ)為嚴格的凸函數,可通過計算得到唯一解。為了獲得J(θ)的最小化值,使用迭代優化算法——梯度下降法來求解,此時的Hessian矩陣為可逆矩陣,且J(θ)為凸函數,因此J(θ)可以收斂到全局最優解。對J(θ)求導,可得梯度公式

將梯度公式代入到迭代優化的算法中,每一次迭代都需要更新θj

通過最小化代價函數J(θ),可以實現一個可用的soft max分類器。通過上述原理分析可以看出,分類結果與輸入特征之間存在明顯相關性。當輸入中包含屬于某一分類的的特征越多,輸出為該分類的概率就越大。
對于不同類別之間滿足互斥關系的分類問題,即每個訓練樣本只會被打上一個標簽,例如識別不同的單個數字和圖像等,soft max分類器有很好的效果,因此可以應用于軸承故障的識別分類中,同時也適用于車牌識別、目標檢測等領域。
針對傳統故障診斷方法對于大數據處理的局限性,以及其依賴于信號處理與診斷經驗從海量數據中提取特征而導致的泛化性不強的缺點,本文提出了構建以稀疏自編碼器和soft max 分類器為基礎的故障診斷方法,通過對采集的振動信號經過預處理和非線性變換,實現故障特征的自動提取與健康狀況的智能診斷。
在預處理階段,對原始振動信號的處理方法有頻譜特征法和包絡解調法[11]。
頻譜特征法將振動信號的時域波形通過快速傅里葉變換(FFT)轉換到頻域,得到的頻譜作為一個樣本數據集輸入到稀疏自編碼器中。包絡解調法通過Hilbert 變換將時域實信號變為時域解析信號,對其幅值做FFT,得到Hilbert 包絡譜。相比而言,由Hilbert包絡分析得到的結果往往比較清晰直觀。
電機故障振動信號表現為非平穩信號,若人為將這類信號假定為平穩信號進行處理,將產生嚴重的“頻率模糊”現象[12]。包絡解調法通過包絡檢波和低通濾波,把與故障有關的部分從高頻調制信號中解調出來,對于低頻振動有著良好的抗干擾性,具有很高的診斷可靠性和靈敏度。
該方法的的整個流程如圖3所示。
主要描述可分為五個步驟:
(1)將原始振動信號進行預處理,提取振動信號的Hilbert包絡譜作為輸入數據。
(2)構建稀疏自編碼器,設置訓練學習率、稀疏參數ρ、權值懲罰參數λ、懲罰權重參數β等參數,確定稀疏自編碼器輸入層、隱含層的節點數,隨后初始化權值矩陣W和偏置b。
(3)設置前向算法中批量訓練數、迭代次數等,將預處理后的訓練集數據作為輸入訓練稀疏自編碼器。執行前向算法,計算平均激活量ρi和稀疏代價函數;執行反向傳播算法,更新參數W(l)ij和b(l)i,獲得權值矩陣和稀疏代價函數。

圖3 故障診斷方法流程圖
(4)用稀疏自編碼器訓練出的特征權值矩陣作為輸入訓練soft max 分類器,通過梯度下降法,在迭代運算中求出代價函數J(θ)的最小值,并更新參數θj的值。
(5) 將測試集數據輸入soft max 分類器,根據代價函數J(θ)最小值和參數θj,得到soft max分類器的預測分類結果,驗證訓練后的稀疏自編碼器診斷精度,統計分類準確率,完成電機故障的智能診斷。
實驗一直接采用凱斯西儲大學的軸承數據[13]來進行訓練,測試本文所提出方法的有效性和可行性。
采樣數據為驅動端加速度計采集的振動信號,軸承轉速為1 797 r/min,采樣頻率為48 kHz,采樣時長為10 s,電機負載為0 馬力,共有4 種不同健康狀況的樣本集,分別為正常情況下信號(Normal)、外圈故障(Outer Raceway)、內圈故障(Inner Raceway)和滾動體故障(Ball)。其中故障規格又分0.178 毫米、0.356毫米和0.533毫米3種。
將3種不同故障尺寸的滾動體、內圈和外圈在3處不同故障位置下測得的9 類故障數據,加上正常信號共10類數據,按照4 096點為一個樣本分組,并添加標簽,共得2 121個樣本。將每類標簽的樣本通過循環往復的形式補充到7 000組,可得70 000個樣本,如表1所示,構成實驗一樣本數據集。
在每類標簽的樣本中隨機選擇6 000 個,共60 000 組樣本用于訓練,剩下10 000 個樣本用于測試。為了降低隨機因素對實驗結果的影響,實驗重復進行15次,取平均診斷準確率。
稀疏自編碼器輸入層、隱含層的節點數分別為784 和200,訓練學習率為0.6、稀疏參數ρ為0.1、權值懲罰參數λ為0.000 1、懲罰權重參數β為3。
將經過預處理的數據輸入構建的稀疏自編碼器,通過soft max分類器得到相應的代價函數。
如圖4所示。可以看到FFT 頻譜信號和Hilbert包絡譜信號的代價函數在迭代過程中逐漸收斂。FFT頻譜信號和Hilbert包絡譜信號的分類準確率在迭代過程中的變化趨勢如圖5所示。

圖4 兩種不同信號的代價函數曲線
從中可以看到FFT頻譜信號和Hilbert包絡譜信號的分類準確率在迭代過程中提高并逐漸收斂,和圖4相比,可以說明代價函數的減小和分類準確率的提高呈正相關。
如果不考慮迭代步數,用優化前的代價函數進行分類,不更新參數,在本文提出的基于稀疏自編碼器和soft max 分類器的方法下,FFT 頻譜信號和Hilbert 包絡譜信號的分類準確率分別為78.81%和80.74%。

圖5 兩種不同信號的分類準確率曲線
對不同故障診斷系統分別輸入FFT頻譜信號和Hilbert包絡譜信號,BP[14]分類算法、SVM[15-16]分類算法和本文提出的基于稀疏自編碼器和soft max 分類器的故障診斷方法的實驗結果如表2所示。其中BP神經網絡構建的輸入層、隱含層的節點數分別為784和200,通過梯度下降法來優化權值矩陣W和偏置b,迭代次數設為500。SVM分類算法的核函數使用二次核函數。本文提出的基于稀疏自編碼器和soft max 分類器輸入層、隱含層的節點數分別為784和200,迭代次數設為20。

表2 實驗一故障診斷結果 單位:%
從表2中可以看出,對同一分類方法,Hilbert包絡譜預處理數據的分類效果優于FFT頻譜預處理數據。而對不同分類方法,本文提出的方法與BP 和SVM 故障診斷方法相比較,診斷準確率更高,分類效果更好。和不考慮迭代步數相比,迭代后的分類器分類效果提升明顯,因此最小化代價函數的迭代優化算法能更好地提取隱含層特征表達,提高分類的準確性。
為進一步驗證基于稀疏自編碼器的診斷方法對電機故障智能診斷的效果,利用電機故障實驗平臺采集各種故障下的電機振動信號進行分析。實驗平臺如圖6所示,包括一組故障電機,一個加速度傳感器,一臺驅動電源,還有一臺數據采集系統。
一組故障電機包括4種狀態的電機,分別為:正常、滾動體故障、松動故障和摩擦故障。在電機實驗平臺上采集電機的3種故障振動信號和正常振動信號進行分析。信號采樣頻率為48 kHz,采樣時間為100 s,其振動信號時域波形圖如圖7所示。

圖6 電機故障實驗平臺

圖7 電機4種狀態時域波形圖
采集的4 類振動信號按照4 096 點為一個樣本分組,通過循環往復的形式補充到每類17 500組,并添加標簽構成如表3所示的實驗二樣本數據集。

表3 實驗二樣本數據集故障種類說明
采用實驗一中的實驗方案,將經過預處理的實驗數據輸入BP 分類算法、SVM 分類算法和本文提出的基于稀疏自編碼器和soft max 分類器的方法等故障診斷系統,實驗結果如表4所示。
從表4中的結果可以看出,同等條件下,文中所提的分類器平均診斷準確率最好,可證明該方法的優越性。此外,在同一種分類方法中,基于Hilbert包絡譜的輸入其平均診斷準確率均高于基于FFT頻譜數據,因此經過優選的預處理方法對分類器提升效果明顯。

表4 實驗二故障診斷結果 單位:%
本文簡述了稀疏自編碼器在電機故障診斷領域的研究前景,分析了稀疏自編碼器的結構和原理,提出了一種基于稀疏自編碼器和soft max分類器,利用振動信號Hilbert包絡譜作為預處理數據的故障智能診斷方法,得到了如下結論:
(1)稀疏自編碼器的稀疏性能更有效地提取數據深層次特征,最小化代價函數的迭代優化算法能更好地提取隱含層特征表達,提高分類的準確性。
(2)實驗結果表明,相同情況下,基于時域信號Hilbert包絡譜的預處理數據分類準確率高于FFT頻譜的預處理數據,可獲得更好的診斷效果。
(3)與神經網絡和傳統BP神經網絡以及支持向量機相比,基于稀疏自編碼器和soft max分類器的故障診斷方法,具有更準確的故障診斷率。