李 萌,黃子悅
(長春大學 機械工程學院,長春 130022)
滾動軸承是旋轉機械的核心部分,其健康狀態對機械設備的安全運行起重要作用。據研究表明,機械設備運行失效中有接近45%~55%[1]是由軸承故障導致的。隨著故障診斷技術的快速發展和完善,學者對診斷方法進行了大量的研究和改進。
小波變換(WT)、經驗模態分解(EMD)變分模態分解(VMD)等傳統的故障診斷方法都是從原始信號中提取時域、頻域、時頻域等有效故障特征,從而獲得更高的故障診斷精度。喬志城等[2]提出了改進小波變換的方法,對頻譜進行重新劃分和合并,減小頻帶數量,有效解決了傳統經驗小波變換過程中頻譜劃分過多的問題;陳宗祥等[3]利用小波包對信號進行分解重構的方式來抑制EMD分解信號時的模態混疊;鄭小霞等[4]提出了將變模態分解與極限學習機結合的故障診斷方法,使用機器學習方法來處理大量的經VMD分解后的信號。變模態分解具備完善的理論基礎,相對于遞歸-篩選模式的EMD而言,VMD分解信號的方式是非遞歸分解,從根本上避免了模態混疊的出現,但其核心參數組合[K,α]的設置需要人為經驗,錯誤地設置參數會導致信號分解結果不理想[5];趙聽海[6]利用VMD算法對故障特征信號進行特征提取分析,但需要人為經驗去確定K的值。
針對以上問題,提出一種優化的信號分解算法(PSO-VMD)對故障軸承數據進行信號分解,再通過搭建的卷積神經網絡(CNN)進行模式識別。
VMD將原始信號分解為多個模態分量,每個分量的中心頻率和帶寬通過迭代進行更新,最終分解出信號的頻帶范圍,在約束方程條件下,即分解的信號分量之和等于原始信號的情況下,使各個分量估計的帶寬總和最小。
變模態分解將原始信號f分解為多個本征模態IMF(Intrinsic Mode Function)分量,其數學表達式如式(1)所示:
uk(t)=Ak(t)cos(φk(t))
(1)
式中,uk(t)是分解后的模態;Ak(t)為信號的幅值,代表信號調幅部分,且為非負的信號包絡線,即Ak(t);φk(t)為信號的相位,代表信號調頻部分,且為非遞減函數,即φ'k(t)≥0。
為估計模態的帶寬,使各個估計帶寬之和最小:首先用希爾伯特變換得到分量信號的邊際譜;接著通過混合中心頻率將每個分量的頻譜調制到相應的基帶;最后用高斯平滑處理估計帶寬。通過上述處理得到相應的約束變分表達式如式(2)和式(3):
(2)
(3)
式(2)和式(3)中:k為分量個數;{uk}為第k個模態分量;{ωk}為第k個分量的中心頻率;δ(t)為狄拉克函數;*為卷積運算符。
為求解約束變分問題,通過懲罰因子α和拉格朗日算子λ,得到增廣函數為:
(4)
式(4)中:α為懲罰因子,作用是降低高斯噪聲的干擾。利用交替方向乘子算法(ADMM)經過一系列迭代更新信號分量uk、中心頻率ωk和λ,通過不斷求取拓展增廣函數的鞍點,尋找拉格朗日函數表達式的最優解:
(5)
(6)
(7)
有研究表明,在VMD分解信號時,對分解效果影響較大的參數是懲罰因子α和分量數K[7]。在以往的分析中,往往只考慮某一個參數對VMD分解的影響,結果只能得到片面的結論。本文用PSO算法優化VMD的核心參數組合[K,α]。
粒子群算法[8]具有良好的全局尋優能力。為了同時對VMD的2個影響參數尋優,利用全局自動尋優的PSO算法對VMD進行參數優化。下一步需要確定適應度函數fitness,fitness函數隨粒子位置的改變而更新,通過對比fitness值確定粒子的更新方向。fitness函數采用原信號總能量與分解后K個模態分量總能量的差值。差值代表原信號與各模態分量的相似程度,差值越小,相似程度高,相關公式如式(8)和式(9):
(8)
fitness=min(Eo-Ev)
(9)
式(8)中:Eo和Ev分別為原信號的總能量與各IMF分量的總能量;x(t)為輸入信號;ui(t)為VMD分解后的各模態分量;K為VMD的分解數量。
PSO優化VMD算法的流程如下:
(1)對PSO優化算法各參數初始值并設定適應度函數。
(2)對算法需要優化的參數組合[K,α]進行初始位置隨機化和初始粒子速度隨機化設置。
(3)在不同粒子位置處分別進行VMD分解,確定不同位置處的fitness函數值。
(4)比較不同位置處的fitness函數值的差值,從而更新局部極值以及種群的全局極值,更新粒子速度和位置:
xi,j(t+1)=xi,j(t)+vi,j(t+1),(j=1,2,…,d),
(10)
vi,j(t+1)=ω?vi,j(t)+c1r1[pi,j-xi,j(t)]+c2r2[pg,j-xi,j(t)],
(11)
循環迭代步驟(3)和(4),至最大迭代次數,輸出最佳fitness值與最佳粒子位置。
卷積神經網絡(Convolution Neural Network,CNN)是一種具有多層結構的機器學習算法。近年來,CNN網絡在大數據多樣本下的處理和分類能力成為深度學習領域的領頭者。CNN網絡模型一般由卷積層、池化層、全連接層和分類層4個部分組成。
2.1.1 卷積操作
卷積層用卷積核對輸入區域進行卷積操作。每個卷積操作使用相同的卷積核提取輸入區域的特征,這種操作通常稱為權值共享。卷積過程的數學表達式如式(12):
xi+1=wi*xi+bi,
(12)
式(12)中,xi為當前層的輸入特征向量;xi+1為卷積計算后得到的特征向量;*為卷積運算符;wi為卷積核權重;bi為偏置。
2.1.2 池化操作
在CNN架構中,在卷積層之后添加池化層是很常見的。它作為一種降采樣操作,對通過卷積得到的特征進行降維處理。采用最大池化層(max-pooling)對數據進行降采樣,其表達式如式(13):
max-pooling(f[i-1],f[i],f[i+1])=max(f[i-1],f[i],f[i+1]),
(13)
式(13)中,f[i]為第i個像素;f[i-1]為第i-1個像素;f[i+1]為第i+1個像素;max(?)表示取最大值。
2.1.3 全連接層
輸入特征在經過卷積和池化層的多次操作后,需要全連接層對提取的特征進行一一排列并分類,從而完成對故障類型的識別:
yk=f(wkxk-1+bk),
(14)
式(14)中:k為網絡的第k層;yk為輸出;xk-1是特征向量;wk為權重;bk為偏置。
2.1.4 分類層
在全連接層后會再接一個分類器,用于模式識別。由于softmax分類器具有良好的邏輯回歸特性且適用于多分類問題[9],因此本文選擇softmax函數作為輸出層的分類器。
為提高故障診斷精度和模型的泛化能力,在進行大量試驗比較后,綜合PSO的快速收斂能力、VMD的良好信號分解能力和CNN的特征提取及分類能力,提出了PSO-VMD-CNN新框架模型,其算法的總體流程如圖 1所示。
首先,用PSO算法對VMD參數中的模態分解個數K和懲罰因子α進行尋優;其次,利用參數組合[K,α]優化后的VMD來分解采集到的故障軸承振動數據,可得到k個分量,每個分量具有不同的中心信號頻率;之后計算每個分量的峭度指標,取峭度值最大的特征分量作為卷積神經網絡的輸入;最后將特征分量輸入到CNN網絡進行特征學習,輸入到全連接層后,采用softmax函數對故障數據進行分類,輸出故障類別概率并得到診斷結果。

圖1 PSO-VMD-CNN故障診斷流程圖
本文用于驗證所提出方法性能的滾動軸承數據來自美國凱斯西儲大學(CWRU) 。試驗臺如圖2所示,實驗數據故障類型分為內圈故障、外圈故障、滾動體故障、正常軸承 4 種類型,數據采樣頻率為48 kHz,電機轉速1 730 r/min。采用制造商 SKF的6205-2R型深溝球軸承的驅動端加速度數據,通過放電加工將單點故障引入到測試軸承的內圈、滾動元件和外圈中,其中故障深度為0.011 mm,故障直徑分別為0.007 mm、0.014 mm、0.021 mm共 10 類軸承故障類型。滾動軸承數據集具體描述如表 1 所示。

圖2 美國西儲大學軸承試驗臺

表1 滾動軸承數據集描述
3.2.1 PSO-VMD的參數優化

圖3 PSO對VMD參數優化
由PSO優化算法原理可知,PSO在進行尋優的過程中會根據某個適應度函數的最大最小值作為尋優范圍,并在此范圍中尋找需要的參數。在傳統的VMD分解信號中,需要人為經驗確定其核心參數[K,α]。PSO算法則可以用選取的準則函數來尋找核心參數組合的最優解,可避免因參數人為設置不當而造成的過分解,從而得到多余的分解結果而造成不必要的處理壓力。利用基于峭度值的PSO來搜索 VMD算法中最優參數組合[K,α],PSO優化VMD參數流程圖如圖3所示。
圖4是PSO搜尋的最佳適應度曲線。一共迭代10次,可以看到在迭代到第7次時可基本視為收斂。此時可以認為迭代出的參數組合是收斂的,是最優的參數組合。

圖4 粒子群搜尋最優解適應度曲線

圖5 迭代過程K值變化

圖6 迭代過程中alpha值變化
圖5所示為程序迭代10次后所尋找的K值的變化,圖6所示為程序迭代后α值的變化。使用PSO算法對VMD算法中的核心參數組合[K,α]進行確定,適應度函數為故障信號下的峭度值,被優化參數K和α的初始尋優范圍分別是0~24和5~25,迭代次數設置為10次。
由圖5可見,經過迭代,最終K值穩定在4,說明經過PSO尋優后的K值最佳數值是4,原始信號最佳分解分量的個數是4個;由圖6可見,經過迭代,α值穩定在5.819。最終將得到的最優解組合[4,5.819]設置為VMD分解的參數,接下來在此尋優結果的基礎上完成信號的模態分解。
3.2.2 PSO-VMD的信號分解
將粒子群算法搜尋到的最優解設置為VMD分解信號程序中的核心參數,得到最優解組合的VMD對信號進行分解。圖7所示為經過PSO優化的VMD對故障軸承的信號分解。在VMD算法中,VMD可認為信號是由一系列圍繞在各自中心頻率附近的信號組成,完成模態分解后,信號分解出4個IMF分量,每一個分解后的分量都有一個對應的中心頻率和圍繞在中心頻率附近的窄寬信號。
圖8為對應信號及其分量的頻譜圖,IMF1的中心頻率在5 500 Hz左右,IMF2分量的中心頻率在2 000 Hz左右,IMF3分量的中心頻率在4 000 Hz左右,IMF4分量的中心頻率在6 000 Hz左右。原始信號的頻率可大致認為由這4個分量的頻率疊加而成,可認為是最佳分解。

圖7 經過PSO優化的VMD信號分解

圖8 對應分量的頻譜圖
3.2.3 PSO-VMD-CNN的實驗結果分析
本文構建的卷積神經網絡見表2,其包含4個卷積層、4個池化層、2個全連接層和1個 softmax層。其中,激活函數選用Relu函數,激活函數之前使用批歸一化(Bach Norm)處理以防止過擬合情況出現,為降低網絡數據處理壓力在全連接層使用dropout處理;損失函數為交叉熵,測試10次取平均值衡量準確度。

表2 CNN網絡結構
定義完模型后,將選好的IMF分量按照7∶2劃分訓練集和測試集,并作為特征向量輸入卷積神經網絡模型進行訓練。本算法的訓練分類試驗結果如圖9和圖10所示,隨著迭代次數的增加,試驗的訓練精度逐漸上升,最終接近100%;損失率也逐漸減小,趨近于0;訓練模型所用時間為57 s,訓練時間短。

圖9 訓練集的精確度

圖10 訓練樣本準確率
完成模型訓練后,用測試集驗證訓練完成的CNN故障模型,并根據診斷結果對該深度學習系統的診斷成功率進行定量分析。首先針對表1所示內圈、外圈、滾動體故障和正常軸承共10類故障類型進行分析,每類訓練和測試樣本數量分別是100和50個,總測試和訓練樣本分別為1 000和500個數據,測試樣本準確率和混淆矩陣如圖11、圖12所示。

圖11 測試樣本準確率

圖12 混淆矩陣
實驗結果表明在測試數據集驗證下,識別精度達到99%,且沒有出現過擬合或者訓練數據不足的情況,表明該CNN網絡模型學習訓練充分并已達到一定的深度,驗證了所提方法在軸承故障診斷中識別精度高。

圖13 不同方法在同一數據下的對比
為了驗證所提方法可以獲得更高的故障識別率,將PSO-V MD-CNN方法與VMD-CNN、PSO-CNN進行試驗對比。采用表1所示的10類故障數據,每類故障數據提取200個故障點,共2 000個數據樣本,分別對上述3種方法進行識別準確率進行對比,實驗結果如圖13所示。
VMD-CNN方法依靠卷積神經網絡對數據進行特征提取和故障分類識別,但是和PSO-VMD-CNN方法相比,沒有得到最優解的VMD在分解信號時會出現很多中心頻率值相近的分量,造成的結果是,將分量作為輸入送至卷積神經網絡時,中心頻率相近的分量過多且難以識別,影響網絡識別精度,多余且沒必要的分量也會影響網絡的學習速度;對于PSO-CNN方法,是將PSO算法優化CNN的核心參數,該方法不需要過多的專業知識和人為經驗,將原始故障軸承數據直接送入CNN網絡,其優點是易掌握,但由于未經過處理的原始軸承數據直接送入卷積神經網絡,導致網絡的處理壓力變大,影響學習速度。PSO-VMD-CNN方法在識別精度和學習速度上明顯高于其他兩種方法,取得了很好的診斷效果,驗證了本方法的有效性。
變模態分解在信號處理方面存在優勢,但核心參數的設置需要人為經驗,不同的核心參數對分解結果影響較大。采用粒子群算法對變模態分解進行優化,克服了憑借經驗設置參數的問題,得到了優化VMD算法的最優核心參數組合。所提PSO-VMD-CNN方法綜合了PSO的快速全局尋優、VMD的自適應分解和CNN網絡在大數據多樣本下的處理和分類能力,有效提高了故障識別精度;通過與PSO-CNN和VMD-CNN兩種方法對比,驗證了所提方法獲得的故障診斷準確率最高。