許愛華,杜 洋,段玉波,許瀚鋒
(1.東北石油大學電氣信息工程學院,黑龍江 大慶 163318;2.國網山東省電力公司臨邑縣供電公司,山東 德州 251500)
由于軸承在電機運行中的重要作用與地位,以及軸承故障診斷的復雜性,使電機軸承故障診斷成為了電機故障診斷研究領域的一個熱點課題。之前的很長一段時間內對于軸承故障診斷工作的主流方案多是從為了有效的特征信息提取出發,通過采用各種有效的特征提取算法,對采集到的軸承振動信號進行多樣的預處理,進而通過選擇合適的分類模型對故障類型進行分類。受限于特征提取算法對于人工干預與專家經驗介入的依賴,目前所使用的軸承故障分類方法的可靠性與準確性較低。
隨著機器學習的進一步發展及深度學習的再次火熱,目前部分學者開始將其與軸承故障診斷工作結合起來進行研究。郭亮等[1]通過提取時域、頻域以及時頻域特征輸入到稀疏自編碼網絡進行訓練分類;趙光權等[2]提出一種基于深度置信網絡的故障特征提取及診斷方法;王麗華等[3]提出了一種基于短時傅里葉變換與卷積神經網絡結合的電機故障診斷方法;袁建虎等[4]提出了一種基于小波分析基礎上的時頻圖結合卷積神經網絡的滾動軸承的故障診斷方法。上述幾種方法的使用均在一定程度上提高了軸承故障診斷工作的效率和準確率,但同樣擺脫不了對原始數據預處理工作的依賴。基于此,許愛華等[5]結合卷積神經網絡處理大數據樣本的優點,通過構建大數據樣本,直接將原始數據作為卷積神經網絡的輸入,對模型訓練分類,不再需要對數據進行預處理,較大程度上擺脫了人工干預和經驗干預。該方法實現了一定的突破,但需要大量訓練樣本方能發揮其強大的自學習能力,在一定程度上降低了軸承故障診斷工作的效率。因此,本文結合卷積神經網絡特征提取的優勢和門控循環單元處理時序數據的有效性,提出了基于卷積神經網絡與門控循環單元(C-GRU)的軸承故障診斷模型,使用Softmax分類器進行分類,希望在樣本數量減小的情況下也能獲得較好的準確率。
因本文后續用到卷積神經網絡(CNN),故這里對CNN的特征提取過程做一個簡單的介紹,CNN通過構建卷積層,對輸入的數據進行卷積運算后生成新的數據,新數據的每個值即代表卷積核所覆蓋的一小片區域內數據的一個特征表示。在模型的卷積層間,卷積核通過對提取的特征矢量進行卷積操作后,使用非線性激活函數構建新的特征矢量,同時,每個卷積層的輸出結果均對應多對輸入特征的卷積結果[6-8]。其數學表達式為:
(1)

(2)
同時通過設置池化層,對每個覆蓋區域中選擇一個具有代表性的向量值,實現對特征向量的約簡[10]。通過池化層的操作,能夠大大減少數據的空間大小,并減少參數數目,提高模型的訓練效率。此外,池化層的存在使得CNN網絡對于噪聲干擾具有一定程度的“免疫性”,即降低訓練樣本中噪聲對池化層輸出的影響。
GRU單元作為循環神經網絡(RNN)的一種,和長短期記憶人工神經網絡(LSTM)一樣,他們的提出都是為了解決反向傳播和長期記憶中的梯度消失或爆炸問題而提出的,GRU單元內部將LSTM內部中三個控制門的結構改為了兩個控制門的結構,在提高了效率的同時,與LSTM具有相似的效果。
1.2.1 重置門與更新門
GRU單元將LSTM單元中的輸入門、遺忘門以及輸出門的結構,減少為重置門與更新門兩個門的結構,從而改變了LSTM中對隱藏狀態的計算方式。重置門的作用是有助于捕捉時序數據中短期的依賴關系,而更新門的作用是有助于捕捉時序數據中長期依賴關系。重置門與更新門的結構如圖1所示。其中GRU單元中的重置門與更新門的輸入均為當前時間步Xt,與上一時間步的隱藏狀態Ht-1,輸出的值由激活函數為Sigmoid函數的全連接層計算得到[11]。

圖1 GRU單元中重置門與更新門的計算
具體來說,假設隱藏單元個數為h,給定時間步t的小批量輸入Xt∈Rn×d(樣本數為n,輸入個數為d),和上一時間步隱藏狀態Ht-1∈Rn×d。重置門與更新門的計算如下:
Rt=σ(XtWxr+Ht-1Whr+br)
(3)
Zt=σ(XtWxz+Ht-1Whz+bz)
(4)
其中,Wxr,Wxz∈Rd×h和Whr,Whz∈Rh×h是權重參數;br,bz∈R1×h表示差參數。由于Sigmoid函數可將元素的值變換到0和1之間。因此重置門Rt和更新門Zt中每個元素的值域都為[0,1]。
1.2.2 候選隱藏狀態

(5)
在式(5)中,Wxh∈Rd×h和Whh∈Rh×h表示為權重參數,bh∈R1×h表示為偏差參數。從式(5)可看出,重置門的存在,決定了前一隱藏狀態是否能夠與當前候選隱藏狀態控制相連接,而前一隱藏狀態中可能保存了在其之前的歷史時序信息,因此重置門可用以丟棄與預測無關的信息。

圖2 GRU單元中候選隱藏狀態的計算
1.2.3 隱藏狀態

(6)
需要注意的是,更新門通過控制隱藏狀態,決定著候選隱藏狀態中所包含的是時序信息是否更新,如圖3所示。假設更新門在時間步t′到t(t′ 圖3 GRU單元中隱藏狀態的計算 在本文中,由于所使用軸承故障數據為一維時序數據,因此在使用CNN網絡進行特征提取時,需將卷積操作同樣設置為一維。并且為了能夠將CNN算法在數據特征提取的優點,以及GRU網絡在處理時序數據的優點有效結合起來,本文中所使用的模型前端設置為CNN網絡,后端設置為GRU單元。通過網絡前端搭設的卷積層等結構實現對故障信息的特征提取后,進而通過GRU網絡層實現對提取后的特征中所蘊含的時序信息深入挖掘后,最終使用Softmax分類器分類不同類型的電機軸承故障。 為了保證模型的訓練效率以及分類的可靠性,在經過多次實驗綜合對比后,最終確定了本文所搭建的基于C-GRU的電機軸承故障診斷模型結構如圖4所示。其中,第1、3、5、6層為卷積層,并分別將卷積核的數目設置為256、128、64、32個,卷積核尺寸設置為1×4,以實現對數據進行特征提取工作。此外,為了提高模型的魯棒性以及保障模型能夠學習到有效特征信息,本文所用的是從不同方向或位置采集到的同一故障類型的數據,因此將卷積層設置為多通道處理模式,以提高模型的訓練和學習效率。同時,由于樣本數量眾多,故在模型訓練過程中,模型極易出現過擬合現象,使得模型的訓練效率大幅度下降,因此將第2、4、7層分別設置最大池化層,并將池化尺寸設置為1×2,以提取數據特征中的局部最大值,有效降低參數數量,在一定程度上降低過擬合的可能性。由于GRU模型訓練過程中的單向性,多層結構的GRU會大大延長模型的訓練時間,因此為了保證模型的訓練效率,將第8、9層設置為GRU單元層。同時,由于GRU網絡中單元的數量決定著對時序信息提取的效率,為了能夠更好的提取電機軸承振動信號中所蘊含的時序信息,以及為了減少網絡模型的復雜程度,將兩層GRU單元層中的單元數分別設置為128個,實現在減少模型復雜度的同時,能夠有效的提取出數據中所蘊含的時序特征。將最后3層設置為全連接層,將模型前端中網絡結構所提取的大量的有效信息進行平鋪處理,重新構成一維向量。將第3層全連接層設置為分類層,最終使用Softmax分類器分類不同類型的電機軸承故障。 圖4 基于C-GRU的電機軸承故障診斷模型 實驗采用的數據來自于美國凱斯西儲大學開放軸承數據庫,使用Tensorflow與Keras深度學習框架搭建卷積神經網絡模型,將原始數據進行打標簽后輸入進行訓練分類。所選樣本數據采樣頻率為12 kHz,數據樣本分別選取正常狀態數據,0.007 in、0.014 in和0.021 in故障尺寸下的軸承內外圈及滾珠故障數據。這些數據樣本按照3個不同點分別對應作為3個通道的輸入數據,數據分別對應不同通道按組輸入。 為了方便對比驗證,本文首先搭建了基于CNN的軸承故障診斷模型,依據數據量的不同分別選用了兩個數據集。數據集1中10個類型共1440萬個樣本數據分為4800組,數據集2中10個類型共720萬個樣本數據,數據量是數據集1的一半,具體的樣本組成如表1、表2所示,訓練和測試樣本均是隨機按照49:1的比例選取。 表1 數據集1樣本組成 表2 數據集2樣本組成 基于CNN的模型共10層,模型的第1、3、5、6層為卷積層,并分別將卷積核的數目設置為256、128、64、32個,卷積核尺寸設置為1×4,采用3通道處理方式。第2、4、7層為最大池化層,池化尺寸為1×2。并在模型的最后設置3層全連接層(其中最后一層為分類層),實現對軸承故障分類。 分別使用數據集1與數據集2對基于CNN的軸承故障診斷模型進行訓練分類,并將模型的最大迭代次數設置為15次。使用Tensorflow中可視化工具Tensorboard將模型的訓練結果可視化后,使用數據集1的訓練與測試的準確率及損失函數值如圖5、圖6所示,使用數據集2的訓練與測試的準確率及損失函數值如圖7、圖8所示。 圖5 CNN模型使用數據集1訓練與測試準確率 圖6 CNN模型使用數據集1訓練與測試損失函數 圖7 CNN模型使用數據集2訓練與測試準確率 圖8 CNN模型使用數據集2訓練與測試損失函數 由圖5、圖6所示,基于CNN的軸承故障診斷模型使用數據集1進行訓練后,測試集中準確率與訓練集中的準確率基本沒有差別;對比損失函數值,測試集的普遍略小于訓練集,證實了該參數設置下的CNN網絡模型的分類準確性較高,較好地避免了過擬合或欠擬合的現象發生。而由圖7、圖8所示,使用數據集2進行訓練后,CNN模型訓練與測試的準確率雖達到了94%,但是訓練與測試集的損失函數值較高,說明在使用數據集2進行訓練的過程中,基于CNN的軸承故障診斷模型出現了嚴重的過擬合現象,嚴重影響了軸承故障診斷工作的可靠性與準確性。 接著使用本文所搭建的C-GRU模型,直接使用數據量較少數據集2對搭建好的網絡模型進行訓練,同樣將網絡的最大迭代次數設置為15次。使用可視化工具Tensorboard將模型的訓練結果可視化后,訓練集與測試集的準確率和損失函數曲線如圖9、圖10所示。 圖9 C-GRU模型使用數據集2訓練與測試準確率 圖10 C-GRU模型使用數據集2訓練與測試損失函數 與基于CNN的軸承故障診斷模型相比,在訓練樣本減少一半的情況下,本文所搭建的C-GRU網絡模型通過深入挖掘原始數據中所蘊含的時序信息,使得最終的訓練與測試準確率與采用數據集1進行訓練后的基于CNN的軸承故障診斷方法獲得的結果基本相近,最終測試集的準確率為99.7%,且測試集的損失函數也低于訓練集的損失函數,未出現過擬合的情況。 前一部分使用國際通用數據集進行測試驗證了C-GRU模型的可行性,為了進一步驗證該模型在實際電機軸承故障診斷分類中的應用情況,使用實驗室QPZZ-II旋轉機械振動分析及故障模擬實驗系統平臺進行電機軸承故障診斷測試。如圖11所示,該試驗臺主要由0.75 kW變速驅動電機、變頻器、平衡盤、齒輪箱以及軸系總成等組成。本次故障診斷測試中使用的軸承型號為N205,故障類型分別為外圈、內圈、滾珠以及混合故障,其中混合故障為外圈與滾珠故障組成。上位機采集軟件使用Labview編寫數據采集程序,數據采集卡使用NI PCI-6251加SCB-68A接線盒,加速度傳感器使用的是蘭德公司的BZ1151三軸加速度傳感器,采集卡采樣率設置為12 k,電機工頻額定轉速運行。 圖11 QPZZ-II旋轉機械振動分析及故障模擬實驗系統平臺 將采集到相同位置中x軸、y軸、z軸的數據作為3個通道,每個通道的每組數據量為1000按組輸入至本文搭建的C-GRU軸承故障診斷模型進行訓練和測試,樣本數據組成如表3所示。 表3 QPZZ-II型平臺電機軸承數據樣本數據組成 由圖12可以看出經過15次的模型迭代后,本文中所搭建的基于C-GRU的電機軸承故障診斷模型,在實驗室QPZZ-II電機試驗臺軸承故障診斷工作中的訓練準確率與測試準確率分別為99.1%和99.6%,與凱斯西儲大學開放軸承數據庫數據訓練測試的準確率基本相同。同時在圖13中,測試集損失函數略低于訓練集損失函數,未出現過擬合的情況。由上述結果可看出,本文所搭建的網絡模型在不同的電機軸承故障診斷中均具有較高的診斷效率與可靠性,達到了預期的訓練和診斷效果。 圖12 QPZZ-II電機平臺軸承故障訓練與測試準確率 圖13 QPZZ-II電機平臺軸承故障數據訓練與測試損失函數 本文所提出的基于C-GRU軸承故障診斷模型取長補短,一方面結合了卷積神經網絡(CNN)在處理大數據特征提取中的優勢和門控循環單元(GRU)善于處理時序數據的特點,另一方面也在一定程度上彌補了單一CNN和GRU各自的不足。通過多次實驗選擇合適的模型結構,將前端CNN網絡對電機軸承故障數據進行特征提取的數據作為后端GRU網絡的輸入,充分挖掘了電機軸承故障數據中所蘊含的時序信息。通過使用凱斯西儲大學開放軸承數據庫數據,以及實驗室QPZZ-II型電機平臺的數據對文中所搭建的網絡模型進行訓練分類,發現該方法在減少了對樣本量需求的同時,很好地保障了電機軸承故障診斷分類的準確率,同時對不同的類型電機軸承同樣具有很好的分類準確性,證明了該模型具有較強的魯棒性,對于時序數據的分析分類具有一定的實用價值。
1.3 模型搭建與參數選擇

2 通用數據集實驗分析








3 其他類型軸承故障分類對比實驗分析




4 結論