孔子宇,王海瑞
(650500 云南省 昆明市 昆明理工大學(xué) 信息工程與自動化學(xué)院)
齒輪箱作為旋轉(zhuǎn)機械中的關(guān)鍵傳動部件,被廣泛應(yīng)用于各種大型機械,最常見的用途是機動車變速箱。在大型工程機械中,齒輪箱通常工作在較大的交變載荷條件下,且工作環(huán)境惡劣,導(dǎo)致齒輪箱出現(xiàn)磨損、齒輪斷裂等故障,造成人員傷亡與財產(chǎn)損失[1],因此對齒輪箱故障的檢測與診斷在機械裝備的安全正常工作方面具有重要意義[2]。
齒輪箱的故障診斷方法大多是通過采集振動信號進行分析與診斷,該方法主要有故障特征提取和故障識別分類2 個步驟。傳統(tǒng)的故障診斷方法是首先使用小波變換(Wavelet Transform,WT)[3]、快速傅里葉變換(Fast Fourier Transformation,F(xiàn)FT)[4]和經(jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)[5]等信號處理方法進行故障特征的提取,再使用支持向量機(Support Vector Machine,SVM)、決策樹(Decision Tree,DT)和多層感知器(Multilayer Perceptron,MLP)等方法進行故障分類。李眾[6]等使用蜻蜓算法優(yōu)化支持向量機,該模型有效提高了滾動軸承故障診斷的準(zhǔn)確率,且收斂速度快、尋優(yōu)能力強。WANG[7]等使用極限學(xué)習(xí)機燃油系統(tǒng)進行故障分類,并使用蝙蝠算法優(yōu)化模型參數(shù),彌補了極限學(xué)習(xí)機在分類精度和泛化能力上的不足。
近幾年,隨著深度學(xué)習(xí)(deep learning)技術(shù)[8]的不斷進步,使用深度學(xué)習(xí)進行故障診斷的方法逐漸興起。相較于傳統(tǒng)的故障診斷方法,不需要豐富的故障特征提取經(jīng)驗。該方法不僅可以自動提取特征信息,還能學(xué)習(xí)到更加深層次的特征信息,避免了人工進行特征提取的操作,簡化了使用流程。高統(tǒng)林[9]等將軸承振動信號轉(zhuǎn)換為已知故障模式的振動信號振譜圖,并使用卷積神將網(wǎng)絡(luò)獲得了很高的診斷準(zhǔn)確率;胡蔦慶[10]等將齒輪箱的故障振動信號進行經(jīng)驗?zāi)B(tài)分解得到內(nèi)稟模式函數(shù),該方法可自動化進行行星齒輪箱故障診斷;HE[11]等在殘差網(wǎng)絡(luò)的基礎(chǔ)上進行了改進,添加了軟閾值化方法,提高了噪聲干擾下數(shù)據(jù)的診斷效果。
本文提出一種基于改進粒子群算法優(yōu)化雙尺度卷積神經(jīng)網(wǎng)絡(luò)的齒輪箱故障診斷方法,該方法通過使用雙尺度卷積層,增加感受野,提高模型的特征提取能力,并改進粒子群算法的尋優(yōu)方法,對診斷模型的結(jié)構(gòu)參數(shù)及學(xué)習(xí)率進行優(yōu)化,縮短模型的訓(xùn)練時間,提高故障分類準(zhǔn)確率。
卷積神經(jīng)網(wǎng)絡(luò)[12]的核心結(jié)構(gòu)為卷積層,由數(shù)個卷積核及偏置矩陣構(gòu)成。卷積核在輸入數(shù)據(jù)上按一定距離滑動,每滑動到一個位置就會進行一次元素對應(yīng)乘積并求和的運算,得到特征圖(feature map)上的一個元素,具體計算公式為
式中:xjl——第l 層中j個卷積核的輸出值;——第l 層的第j個卷積核;bjl——第l 層的第j個卷積核的偏置項;*——卷積操作;f——激活函數(shù)。
本文選取的激活函數(shù)為ReLU 函數(shù)[13]:
該函數(shù)的特點是解決了部分梯度彌散問題,并加快了網(wǎng)絡(luò)訓(xùn)練速度。在每層卷積層后使用批標(biāo)準(zhǔn)化(batchnorm)[14],使輸出平滑化,減少損失函數(shù)的變化量并限制其梯度,數(shù)學(xué)表達式為
式中:xl——第l 層的輸出值;μ——輸入值的平均值;σ——輸入值的方差;γ,β——可訓(xùn)練的參數(shù)來調(diào)整和縮放輸出值。
加入池化層的目的是減小特征圖的大小。由于卷積層會使通道數(shù)增加,加入池化層不僅可以減少計算量和資源消耗,還能增大感受野。常用的池化方法有最大池化與平均池化,這些方法計算簡單又能突出數(shù)據(jù)的主要代表特征。本文選取最大池化方法作為池化層,其數(shù)學(xué)表達式為
式中:l——網(wǎng)絡(luò)層數(shù);——上一層輸入的第i個通道的第n個值。
全局平均池化是對各通道的特征圖分別計算平均值。傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)的分類模塊大多是疊加數(shù)個全連接層,這樣就會使網(wǎng)絡(luò)的參數(shù)過多,不利于模型的訓(xùn)練。使用全局平均池化不需要參數(shù),避免了使用全連接層出現(xiàn)的過擬合現(xiàn)象,還不損失各特征圖之間的空間位置信息,其數(shù)學(xué)表達式為
式中:xil——第l層的輸出值中第i個通道的特征圖。
本文所用卷積神經(jīng)網(wǎng)絡(luò)模型如圖1 所示。該模型使用“端到端”的方式進行訓(xùn)練,即在輸入層不使用特征提取方法對輸入數(shù)據(jù)進行處理,僅使用標(biāo)準(zhǔn)化等必要方法對數(shù)據(jù)進行規(guī)整。多尺度卷積結(jié)構(gòu)可以提取到不同尺度的特征,并能降低模型的復(fù)雜程度與計算量。在本模型中加入了雙尺度卷積結(jié)構(gòu),由多個不同尺度的卷積層或池化層構(gòu)成,最后對輸出數(shù)據(jù)進行通道融合。
圖1 雙尺度卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)圖Fig.1 Dual-scale convolutional neural network model structure diagram
在第1 個雙尺度卷積結(jié)構(gòu)中連續(xù)使用2 個3×3 卷積層來代替5×5 卷積,在降低了28%計算量的前提下使輸出特征與5×5 卷積相同。本模型還在第2 個雙尺度卷積結(jié)構(gòu)中使用了非對稱卷積結(jié)構(gòu),通過將n×n大小的卷積操作分解為1×n卷積和n×1 卷積,在精度略微下降的前提下可將該層的計算量降低33%。在模型最后的分類部分使用全局平均池化(Global Average Pooling,GAP)與全連接層進行故障分類,其中全連接層使用softmax函數(shù)作為激活函數(shù)。
本模型使用負對數(shù)似然函數(shù)作為損失函數(shù),該函數(shù)通過評價樣本出現(xiàn)的概率來最小化損失,其數(shù)學(xué)表達式為
式中:X——one-hot 形式的觀測值;C——類別;l——真實值;p——測值。
優(yōu)化算法使用Adam 優(yōu)化算法[15]對本模型的權(quán)重進行優(yōu)化,通過加入動量因子和使用自適應(yīng)學(xué)習(xí)率來加快收斂速度。相較于傳統(tǒng)的梯度下降優(yōu)化算法,該算法計算效率更高,對內(nèi)存的需求更小,對嘈雜或稀疏的數(shù)據(jù)適應(yīng)度較好。
粒 子 群 算 法(Particle Swarm Optimization,PSO)是一種基于全局優(yōu)化的演化計算技術(shù),屬于一種萬能啟發(fā)式算法,能在沒有太多問題信息的情況下,有效搜索具有龐大解空間的問題并找到候選解。
該算法的基本原理:在一個維度為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,該算法通過不斷迭代更新每個粒子的位置,每次迭代的數(shù)學(xué)表達示為
式中:l——迭代次數(shù);w——慣性權(quán)重;c1、c2——加速常數(shù);r1、r2——0~1 的隨機因子。
粒子群算法的主要特點是簡單易實現(xiàn)、參數(shù)少和收斂快,但是其精度較低易發(fā)散,若參數(shù)設(shè)置不當(dāng)可能會錯過最優(yōu)解甚至使算法不收斂。
為增強粒子群算法的尋優(yōu)能力,本文提出一種對該算法進行改進的方法,可在計算量大致相同的情況下進一步優(yōu)化其精度。改進方法:在每個粒子周圍選取z個距離為d的不同隨機點s,第i個粒子的隨機點可記做si=(si1,si2,si3,si4,…,siz)T,每個隨機點方向的適應(yīng)度記做psi=(psi1,psi2,psi3,psi4,…,psiz)T,通過比較隨機點的適應(yīng)度進行迭代,并更新每個粒子的位置,每次迭代的數(shù)學(xué)表達式為
式中:l——迭代次數(shù);w——慣性權(quán)重;c1,c2——加速常數(shù);c3——步長常數(shù);r1,r2——0~1的隨機因子;α——變步長因子;θ——變步長因子的衰減值;bestfit()——選取最優(yōu)適應(yīng)度。
傳統(tǒng)的適應(yīng)度計算方法是直接使用神經(jīng)網(wǎng)絡(luò)預(yù)測準(zhǔn)確率作為其適應(yīng)度,為保證神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時收斂更快,本文方法按固定迭代間隔選取N 個神經(jīng)網(wǎng)絡(luò)訓(xùn)練時的輸出準(zhǔn)確度,則所有被選用準(zhǔn)確度可表示為P=(P1,P2,P3,…,PN)T。具體計算方法是使用均方誤差函數(shù)(Mean Square Error,MSE)求選取準(zhǔn)確度與100%之間的誤差值,該函數(shù)的特點是易于計算,由于經(jīng)過了平方,目標(biāo)值偏差較多時會受到更高的懲罰。該方法的數(shù)學(xué)表達式為
具體優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的流程如圖2 所示。第1 步,提取齒輪的故障信號,由于本文使用“端到端”的方法,僅對數(shù)據(jù)進行歸一化處理,再將數(shù)據(jù)集劃分為訓(xùn)練集、測試集和驗證集;第2 步,使用改進的粒子群算法優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)與學(xué)習(xí)率,使用測試集計算適應(yīng)度;最后,使用驗證集測試調(diào)優(yōu)后的卷積神經(jīng)網(wǎng)絡(luò)并輸出故障類型。
圖2 改進PSO 優(yōu)化CNN 流程圖Fig.2 Improved PSO optimized CNN flowchart
本文使用東南大學(xué)齒輪箱數(shù)據(jù)集[16]對方法進行實驗與分析。該數(shù)據(jù)集由傳動系統(tǒng)動態(tài)模擬器(Drivetrain Dynamic Simulator,DDS)進行數(shù)據(jù)采集,實驗裝置如圖3 所示。數(shù)據(jù)集包含了20 Hz-0 V 和30 Hz-2 V 兩種工況下的數(shù)據(jù)。每種工況包含齒面磨損、輪齒折斷、齒根斷裂和齒面點蝕4 種故障;每種故障包含以下8 種信號:電機振動,電機扭矩,行星齒輪箱的x,y,z三個坐標(biāo)軸方向的振動信號,并聯(lián)齒輪箱的x,y,z三個坐標(biāo)軸方向的振動信號。
圖3 齒輪數(shù)據(jù)采集實驗臺Fig.3 Gear data acquisition test bench
本文選取30 Hz-2 V 工況下并聯(lián)齒輪箱的3 個坐標(biāo)軸方向的振動信號作為實驗用數(shù)據(jù)構(gòu)建數(shù)據(jù)集,每條數(shù)據(jù)樣本對每個方向的采樣長度為1 024,并轉(zhuǎn)換為三通道大小為32×32 的二維圖像,每個通道分別為不同方位傳感器所采集的數(shù)據(jù),每種工作狀態(tài)各構(gòu)造1 024 個樣本,通過亂序分層抽樣的方法劃分訓(xùn)練集、測試集和驗證集。各故障樣本數(shù)據(jù)由表1 所示。
表1 齒輪數(shù)據(jù)集樣本信息Tab.1 Sample information of gear data
為驗證本方法的有效性,選用粒子群算法、遺傳算法(Genetic Algorithm,GA)和螢火蟲算法(Firefly Algorithm,F(xiàn)A)進行超參數(shù)優(yōu)化算法的性能對比分析,選用常用的故障診斷方法BPNN,PSO-SVM,LSTM 和DBN 進行模型分類準(zhǔn)確度對比分析。由于以上所選的故障診斷方法的部分參數(shù)為隨機初始化,為避免因隨機參數(shù)導(dǎo)致的性能波動,在每次進行實驗之前,使用固定隨機種子的方法讓每次實驗中模型參數(shù)的初始化值相同。實驗環(huán)境為Ubuntu 21.04 LTS 操作系統(tǒng),CPU 為Intel XEON E5-2680 v2,GPU 為NVIDIA GeForce RTX 2060,編程語言使用Python。
3.2.1 超參數(shù)優(yōu)化算法性能對比分析
本次實驗所選用的各優(yōu)化算法的初始化參數(shù)為:PSO 中的慣性權(quán)重w取0.6,學(xué)習(xí)因子c1,c2均取2;GA 中的變異概率取0.01,交叉概率取0.5;FA 中的光強吸收系數(shù),初始吸引度均取1。本文方法的參數(shù)隨機點數(shù)量z取1,步長常數(shù)取5,變步長因子衰減值取0.95,種群規(guī)模取50 其他均與PSO 參數(shù)相同。其余算法的種群規(guī)模和最大迭代次數(shù)均取100。實驗得到的性能對比圖如圖4 所示。
圖4 不同優(yōu)化算法的性能對比Fig.4 Performance comparison of different optimization algorithms
由圖4 可以得到,使用4 種優(yōu)化算法優(yōu)化都能在100 次迭代內(nèi)得到較好的結(jié)果。其中,PSO 的收斂性較差,在第73 輪之后才達到其最佳適應(yīng)度,且更新頻率慢、搜索效率低。相比于PSO,GA 與FA 的搜索效率較高,但不如本文方法。本文方法改進了PSO 的尋優(yōu)方式,在種群規(guī)模為50 的情況下仍能達到最優(yōu)的適應(yīng)度,且極大地改善了PSO搜索效率較低的問題,在第40 輪左右即可找到最優(yōu)適應(yīng)度。因此,本文的超參數(shù)優(yōu)化方法相對于其他常用的超參數(shù)優(yōu)化算法具有明顯優(yōu)勢。
通過上述實驗信息可確定神經(jīng)網(wǎng)路的最優(yōu)參數(shù):初始卷積層的輸出通道數(shù)取24,第2 個雙尺度卷積結(jié)構(gòu)的輸出通道數(shù)取46,學(xué)習(xí)率取0.000 135。
3.2.2 模型分類準(zhǔn)確度對比分析
本實驗使用的各故障診斷方法的參數(shù)與輸入數(shù)據(jù)處理方式為:BPNN 的結(jié)構(gòu)選用3096-1536-768-384-96-5,將輸入數(shù)據(jù)的3 個維度拼接成一維,不進行特征提?。籗VM 中的核函數(shù)使用高斯核函數(shù),其余參數(shù)使用PSO 優(yōu)化,使用VMD 與樣本熵進行特征提??;DBN 的結(jié)構(gòu)與BPNN 相同,但最后一層使用BPNN 進行分類,由高斯-伯努利受限玻爾茲曼機堆疊構(gòu)成,每層的學(xué)習(xí)率取0.003,動量值取0.98,數(shù)據(jù)處理方式與BPNN 相同;LSTM模型由3 層LSTM 層加2 層全連接層構(gòu)成,將輸入數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為二維時間序列數(shù)據(jù)。以上的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)使用交叉熵損失函數(shù)和Adam 優(yōu)化方法,批大小均取32。對比結(jié)果如表2 所示。
表2 各方法測試集與驗證集準(zhǔn)確率Tab.2 Accuracy of test set and verification set of each method
由表2 可以看出,本文方法的診斷識別率更加優(yōu)秀,驗證集與測試集的結(jié)果的差值也較小。LSTM 的結(jié)果次之。PSO-SVM 的驗證集準(zhǔn)確率與測試集準(zhǔn)確率差距較大,因為SVM 是淺層學(xué)習(xí)方法,無法像深度學(xué)習(xí)學(xué)習(xí)到深層次的特征,并且依賴與人工故障特征提取,故導(dǎo)致準(zhǔn)確率波動較大。BPNN 與DBN 使用一維數(shù)據(jù)進行診斷,無法很好地得到數(shù)據(jù)的空間信息,導(dǎo)致準(zhǔn)確率較低。
本文方法與其他兩種深度學(xué)習(xí)方法的訓(xùn)練穩(wěn)定性結(jié)果如圖5所示。其中,BPNN的前期波動較大,在15 輪之后趨于平穩(wěn);LSTM 則在前期的收縮較慢,25 輪之后趨于平穩(wěn)。本文方法在第5 輪時即能達到其最高的準(zhǔn)確率,表明其穩(wěn)定性與收縮速度比其他兩種方法更加優(yōu)秀。
圖5 深度學(xué)習(xí)方法模型穩(wěn)定性對比Fig.5 Stability comparison of deep learning models
為了顯示本文方法的特征提取能力,通過使用t-分布隨機鄰域嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)將GAP 層的輸出數(shù)據(jù)降維至三維,數(shù)據(jù)可視化后的結(jié)果如圖6 所示。從圖6 可以看出,各類別的數(shù)據(jù)已被明顯地區(qū)分開來,表明本文方法中的多尺度卷積層可以有效提取故障特征,有較好的分類性能。
圖6 故障特征可視化Fig.6 Fault feature visualization
本文提出了一種基于改進粒子群優(yōu)化雙尺度卷積神經(jīng)網(wǎng)絡(luò)的齒輪箱故障診斷方法。與常見的啟發(fā)式優(yōu)化算法和故障診斷方法對比得出如下結(jié)論:
(1)本文模型使用“端到端”的方法最大限度減小了因人工故障特征提取導(dǎo)致的特征損失,并使用雙尺度卷積層加快訓(xùn)練速度,減少訓(xùn)練參數(shù),對比常見的故障診斷方法有一定的優(yōu)勢。
(2)使用改進的粒子群優(yōu)化算法比常用的優(yōu)化算法在收斂性和搜索時間方面有了明顯改善。