孔子宇,王海瑞
(650500 云南省 昆明市 昆明理工大學 信息工程與自動化學院)
齒輪箱作為旋轉機械中的關鍵傳動部件,被廣泛應用于各種大型機械,最常見的用途是機動車變速箱。在大型工程機械中,齒輪箱通常工作在較大的交變載荷條件下,且工作環境惡劣,導致齒輪箱出現磨損、齒輪斷裂等故障,造成人員傷亡與財產損失[1],因此對齒輪箱故障的檢測與診斷在機械裝備的安全正常工作方面具有重要意義[2]。
齒輪箱的故障診斷方法大多是通過采集振動信號進行分析與診斷,該方法主要有故障特征提取和故障識別分類2 個步驟。傳統的故障診斷方法是首先使用小波變換(Wavelet Transform,WT)[3]、快速傅里葉變換(Fast Fourier Transformation,FFT)[4]和經驗模態分解(Empirical Mode Decomposition,EMD)[5]等信號處理方法進行故障特征的提取,再使用支持向量機(Support Vector Machine,SVM)、決策樹(Decision Tree,DT)和多層感知器(Multilayer Perceptron,MLP)等方法進行故障分類。李眾[6]等使用蜻蜓算法優化支持向量機,該模型有效提高了滾動軸承故障診斷的準確率,且收斂速度快、尋優能力強。WANG[7]等使用極限學習機燃油系統進行故障分類,并使用蝙蝠算法優化模型參數,彌補了極限學習機在分類精度和泛化能力上的不足。
近幾年,隨著深度學習(deep learning)技術[8]的不斷進步,使用深度學習進行故障診斷的方法逐漸興起。相較于傳統的故障診斷方法,不需要豐富的故障特征提取經驗。該方法不僅可以自動提取特征信息,還能學習到更加深層次的特征信息,避免了人工進行特征提取的操作,簡化了使用流程。高統林[9]等將軸承振動信號轉換為已知故障模式的振動信號振譜圖,并使用卷積神將網絡獲得了很高的診斷準確率;胡蔦慶[10]等將齒輪箱的故障振動信號進行經驗模態分解得到內稟模式函數,該方法可自動化進行行星齒輪箱故障診斷;HE[11]等在殘差網絡的基礎上進行了改進,添加了軟閾值化方法,提高了噪聲干擾下數據的診斷效果。
本文提出一種基于改進粒子群算法優化雙尺度卷積神經網絡的齒輪箱故障診斷方法,該方法通過使用雙尺度卷積層,增加感受野,提高模型的特征提取能力,并改進粒子群算法的尋優方法,對診斷模型的結構參數及學習率進行優化,縮短模型的訓練時間,提高故障分類準確率。
卷積神經網絡[12]的核心結構為卷積層,由數個卷積核及偏置矩陣構成。卷積核在輸入數據上按一定距離滑動,每滑動到一個位置就會進行一次元素對應乘積并求和的運算,得到特征圖(feature map)上的一個元素,具體計算公式為

式中:xjl——第l 層中j個卷積核的輸出值;——第l 層的第j個卷積核;bjl——第l 層的第j個卷積核的偏置項;*——卷積操作;f——激活函數。
本文選取的激活函數為ReLU 函數[13]:

該函數的特點是解決了部分梯度彌散問題,并加快了網絡訓練速度。在每層卷積層后使用批標準化(batchnorm)[14],使輸出平滑化,減少損失函數的變化量并限制其梯度,數學表達式為

式中:xl——第l 層的輸出值;μ——輸入值的平均值;σ——輸入值的方差;γ,β——可訓練的參數來調整和縮放輸出值。
加入池化層的目的是減小特征圖的大小。由于卷積層會使通道數增加,加入池化層不僅可以減少計算量和資源消耗,還能增大感受野。常用的池化方法有最大池化與平均池化,這些方法計算簡單又能突出數據的主要代表特征。本文選取最大池化方法作為池化層,其數學表達式為

式中:l——網絡層數;——上一層輸入的第i個通道的第n個值。
全局平均池化是對各通道的特征圖分別計算平均值。傳統的卷積神經網絡的分類模塊大多是疊加數個全連接層,這樣就會使網絡的參數過多,不利于模型的訓練。使用全局平均池化不需要參數,避免了使用全連接層出現的過擬合現象,還不損失各特征圖之間的空間位置信息,其數學表達式為

式中:xil——第l層的輸出值中第i個通道的特征圖。
本文所用卷積神經網絡模型如圖1 所示。該模型使用“端到端”的方式進行訓練,即在輸入層不使用特征提取方法對輸入數據進行處理,僅使用標準化等必要方法對數據進行規整。多尺度卷積結構可以提取到不同尺度的特征,并能降低模型的復雜程度與計算量。在本模型中加入了雙尺度卷積結構,由多個不同尺度的卷積層或池化層構成,最后對輸出數據進行通道融合。

圖1 雙尺度卷積神經網絡模型結構圖Fig.1 Dual-scale convolutional neural network model structure diagram
在第1 個雙尺度卷積結構中連續使用2 個3×3 卷積層來代替5×5 卷積,在降低了28%計算量的前提下使輸出特征與5×5 卷積相同。本模型還在第2 個雙尺度卷積結構中使用了非對稱卷積結構,通過將n×n大小的卷積操作分解為1×n卷積和n×1 卷積,在精度略微下降的前提下可將該層的計算量降低33%。在模型最后的分類部分使用全局平均池化(Global Average Pooling,GAP)與全連接層進行故障分類,其中全連接層使用softmax函數作為激活函數。
本模型使用負對數似然函數作為損失函數,該函數通過評價樣本出現的概率來最小化損失,其數學表達式為

式中:X——one-hot 形式的觀測值;C——類別;l——真實值;p——測值。
優化算法使用Adam 優化算法[15]對本模型的權重進行優化,通過加入動量因子和使用自適應學習率來加快收斂速度。相較于傳統的梯度下降優化算法,該算法計算效率更高,對內存的需求更小,對嘈雜或稀疏的數據適應度較好。
粒 子 群 算 法(Particle Swarm Optimization,PSO)是一種基于全局優化的演化計算技術,屬于一種萬能啟發式算法,能在沒有太多問題信息的情況下,有效搜索具有龐大解空間的問題并找到候選解。
該算法的基本原理:在一個維度為n的搜索空間中,定義一個由m個粒子組成的集合X={x1,x2,x3,x4,…,xm},第i個粒子的速度記做vi=(vi1,vi2,vi3,vi4,…,vin)T,其最佳位置記錄記做pi=(pi1,pi2,pi3,pi4,…,pin)T,全局位置記錄記做pg=(pg1,pg2,pg3,pg4,…,pgn)T,該算法通過不斷迭代更新每個粒子的位置,每次迭代的數學表達示為

式中:l——迭代次數;w——慣性權重;c1、c2——加速常數;r1、r2——0~1 的隨機因子。
粒子群算法的主要特點是簡單易實現、參數少和收斂快,但是其精度較低易發散,若參數設置不當可能會錯過最優解甚至使算法不收斂。
為增強粒子群算法的尋優能力,本文提出一種對該算法進行改進的方法,可在計算量大致相同的情況下進一步優化其精度。改進方法:在每個粒子周圍選取z個距離為d的不同隨機點s,第i個粒子的隨機點可記做si=(si1,si2,si3,si4,…,siz)T,每個隨機點方向的適應度記做psi=(psi1,psi2,psi3,psi4,…,psiz)T,通過比較隨機點的適應度進行迭代,并更新每個粒子的位置,每次迭代的數學表達式為

式中:l——迭代次數;w——慣性權重;c1,c2——加速常數;c3——步長常數;r1,r2——0~1的隨機因子;α——變步長因子;θ——變步長因子的衰減值;bestfit()——選取最優適應度。
傳統的適應度計算方法是直接使用神經網絡預測準確率作為其適應度,為保證神經網絡在訓練時收斂更快,本文方法按固定迭代間隔選取N 個神經網絡訓練時的輸出準確度,則所有被選用準確度可表示為P=(P1,P2,P3,…,PN)T。具體計算方法是使用均方誤差函數(Mean Square Error,MSE)求選取準確度與100%之間的誤差值,該函數的特點是易于計算,由于經過了平方,目標值偏差較多時會受到更高的懲罰。該方法的數學表達式為

具體優化卷積神經網絡的流程如圖2 所示。第1 步,提取齒輪的故障信號,由于本文使用“端到端”的方法,僅對數據進行歸一化處理,再將數據集劃分為訓練集、測試集和驗證集;第2 步,使用改進的粒子群算法優化卷積神經網絡的結構參數與學習率,使用測試集計算適應度;最后,使用驗證集測試調優后的卷積神經網絡并輸出故障類型。

圖2 改進PSO 優化CNN 流程圖Fig.2 Improved PSO optimized CNN flowchart
本文使用東南大學齒輪箱數據集[16]對方法進行實驗與分析。該數據集由傳動系統動態模擬器(Drivetrain Dynamic Simulator,DDS)進行數據采集,實驗裝置如圖3 所示。數據集包含了20 Hz-0 V 和30 Hz-2 V 兩種工況下的數據。每種工況包含齒面磨損、輪齒折斷、齒根斷裂和齒面點蝕4 種故障;每種故障包含以下8 種信號:電機振動,電機扭矩,行星齒輪箱的x,y,z三個坐標軸方向的振動信號,并聯齒輪箱的x,y,z三個坐標軸方向的振動信號。

圖3 齒輪數據采集實驗臺Fig.3 Gear data acquisition test bench
本文選取30 Hz-2 V 工況下并聯齒輪箱的3 個坐標軸方向的振動信號作為實驗用數據構建數據集,每條數據樣本對每個方向的采樣長度為1 024,并轉換為三通道大小為32×32 的二維圖像,每個通道分別為不同方位傳感器所采集的數據,每種工作狀態各構造1 024 個樣本,通過亂序分層抽樣的方法劃分訓練集、測試集和驗證集。各故障樣本數據由表1 所示。

表1 齒輪數據集樣本信息Tab.1 Sample information of gear data
為驗證本方法的有效性,選用粒子群算法、遺傳算法(Genetic Algorithm,GA)和螢火蟲算法(Firefly Algorithm,FA)進行超參數優化算法的性能對比分析,選用常用的故障診斷方法BPNN,PSO-SVM,LSTM 和DBN 進行模型分類準確度對比分析。由于以上所選的故障診斷方法的部分參數為隨機初始化,為避免因隨機參數導致的性能波動,在每次進行實驗之前,使用固定隨機種子的方法讓每次實驗中模型參數的初始化值相同。實驗環境為Ubuntu 21.04 LTS 操作系統,CPU 為Intel XEON E5-2680 v2,GPU 為NVIDIA GeForce RTX 2060,編程語言使用Python。
3.2.1 超參數優化算法性能對比分析
本次實驗所選用的各優化算法的初始化參數為:PSO 中的慣性權重w取0.6,學習因子c1,c2均取2;GA 中的變異概率取0.01,交叉概率取0.5;FA 中的光強吸收系數,初始吸引度均取1。本文方法的參數隨機點數量z取1,步長常數取5,變步長因子衰減值取0.95,種群規模取50 其他均與PSO 參數相同。其余算法的種群規模和最大迭代次數均取100。實驗得到的性能對比圖如圖4 所示。

圖4 不同優化算法的性能對比Fig.4 Performance comparison of different optimization algorithms
由圖4 可以得到,使用4 種優化算法優化都能在100 次迭代內得到較好的結果。其中,PSO 的收斂性較差,在第73 輪之后才達到其最佳適應度,且更新頻率慢、搜索效率低。相比于PSO,GA 與FA 的搜索效率較高,但不如本文方法。本文方法改進了PSO 的尋優方式,在種群規模為50 的情況下仍能達到最優的適應度,且極大地改善了PSO搜索效率較低的問題,在第40 輪左右即可找到最優適應度。因此,本文的超參數優化方法相對于其他常用的超參數優化算法具有明顯優勢。
通過上述實驗信息可確定神經網路的最優參數:初始卷積層的輸出通道數取24,第2 個雙尺度卷積結構的輸出通道數取46,學習率取0.000 135。
3.2.2 模型分類準確度對比分析
本實驗使用的各故障診斷方法的參數與輸入數據處理方式為:BPNN 的結構選用3096-1536-768-384-96-5,將輸入數據的3 個維度拼接成一維,不進行特征提取;SVM 中的核函數使用高斯核函數,其余參數使用PSO 優化,使用VMD 與樣本熵進行特征提取;DBN 的結構與BPNN 相同,但最后一層使用BPNN 進行分類,由高斯-伯努利受限玻爾茲曼機堆疊構成,每層的學習率取0.003,動量值取0.98,數據處理方式與BPNN 相同;LSTM模型由3 層LSTM 層加2 層全連接層構成,將輸入數據結構轉換為二維時間序列數據。以上的神經網絡結構使用交叉熵損失函數和Adam 優化方法,批大小均取32。對比結果如表2 所示。

表2 各方法測試集與驗證集準確率Tab.2 Accuracy of test set and verification set of each method
由表2 可以看出,本文方法的診斷識別率更加優秀,驗證集與測試集的結果的差值也較小。LSTM 的結果次之。PSO-SVM 的驗證集準確率與測試集準確率差距較大,因為SVM 是淺層學習方法,無法像深度學習學習到深層次的特征,并且依賴與人工故障特征提取,故導致準確率波動較大。BPNN 與DBN 使用一維數據進行診斷,無法很好地得到數據的空間信息,導致準確率較低。
本文方法與其他兩種深度學習方法的訓練穩定性結果如圖5所示。其中,BPNN的前期波動較大,在15 輪之后趨于平穩;LSTM 則在前期的收縮較慢,25 輪之后趨于平穩。本文方法在第5 輪時即能達到其最高的準確率,表明其穩定性與收縮速度比其他兩種方法更加優秀。

圖5 深度學習方法模型穩定性對比Fig.5 Stability comparison of deep learning models
為了顯示本文方法的特征提取能力,通過使用t-分布隨機鄰域嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)將GAP 層的輸出數據降維至三維,數據可視化后的結果如圖6 所示。從圖6 可以看出,各類別的數據已被明顯地區分開來,表明本文方法中的多尺度卷積層可以有效提取故障特征,有較好的分類性能。

圖6 故障特征可視化Fig.6 Fault feature visualization
本文提出了一種基于改進粒子群優化雙尺度卷積神經網絡的齒輪箱故障診斷方法。與常見的啟發式優化算法和故障診斷方法對比得出如下結論:
(1)本文模型使用“端到端”的方法最大限度減小了因人工故障特征提取導致的特征損失,并使用雙尺度卷積層加快訓練速度,減少訓練參數,對比常見的故障診斷方法有一定的優勢。
(2)使用改進的粒子群優化算法比常用的優化算法在收斂性和搜索時間方面有了明顯改善。