劉 奇,唐紅濤,高晟博,李 冰
(1.武漢理工大學(xué) 機電工程學(xué)院,湖北 武漢 430070;2.武漢理工大學(xué) 數(shù)字制造湖北省重點實驗室,湖北 武漢 430070)
齒輪具有傳動比大、體積小、承載能力大等優(yōu)點,同時作為減速箱的關(guān)鍵零件,由于其長期處于惡劣的工況條件下,也是設(shè)備最易損壞的部分。此外,齒輪一旦出現(xiàn)不同程度的失效,整個減速箱乃至整臺設(shè)備都可能出現(xiàn)故障,這些故障引起的設(shè)備重大問題屢見不鮮。
為了維持設(shè)備的安全運行,避免造成不必要的停機維修損失,需要對齒輪進(jìn)行狀態(tài)監(jiān)測和故障診斷,這也成為國內(nèi)外眾多學(xué)者的研究對象。例如,雷亞國等[1]從動力學(xué)建模和動態(tài)信號處理兩方面分析了行星齒輪箱故障診斷的國內(nèi)外研究進(jìn)展,指出當(dāng)前研究中存在的關(guān)鍵問題并討論了解決這些關(guān)鍵問題的方法和途徑; Hinton等[2]通過“逐層預(yù)訓(xùn)練”來有效克服深層神經(jīng)網(wǎng)絡(luò)在訓(xùn)練上的困難,從而掀起了深度學(xué)習(xí)的浪潮。近年來,越來越多的學(xué)者開始嘗試將卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)應(yīng)用于工業(yè)設(shè)備的故障診斷中,雖然卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)、池化方式、激活函數(shù)、分類器等結(jié)構(gòu)參數(shù)可依據(jù)經(jīng)驗進(jìn)行選擇,不需要優(yōu)化,但是卷積核的個數(shù)、大小、學(xué)習(xí)率等參數(shù)并沒有明確的選取規(guī)則,顯然隨機選擇容易使神經(jīng)網(wǎng)絡(luò)陷入局部最優(yōu)。
綜上所述,筆者結(jié)合鯨魚算法(whale optimization algorithm),其具有結(jié)構(gòu)簡單、參數(shù)少、搜索能力強且易于實現(xiàn)等特點,提出了WOA-CNN診斷模型,利用WOA對卷積神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化,避免模型陷入局部最優(yōu)解。
卷積神經(jīng)網(wǎng)絡(luò)[3]結(jié)構(gòu)一般包括輸入層、卷積層、池化層、全連接層和輸出層5部分,筆者主要研究兩個卷積層和兩個池化層的CNN網(wǎng)絡(luò)。
卷積過程是用多個卷積核對輸入圖像進(jìn)行卷積運算,然后將輸出加上偏置后,通過激活函數(shù)進(jìn)行非線性變換,對于二維圖像信號,卷積定義為:
(1)
池化操作[4]是圖像的下采樣過程,主要作用是對卷積層輸出特征進(jìn)行壓縮,以減少特征圖。池化方式有最大值池化、均值池化、高斯池化和可訓(xùn)練池化。針對齒輪周期性振動的時域信號,為了獲取與位置無關(guān)的特征,采用最大值池化方式。池化操作運算公式為:
hn=max(jn-1)W (2) 式中:hn為第n池化層池化結(jié)果;jn為第n層第j個池化切片;W為池化區(qū)域;fn為第n卷積層卷積結(jié)果。 鯨魚優(yōu)化算法[5](WOA)是一種模擬座頭鯨捕獵的群智能優(yōu)化算法,其結(jié)構(gòu)簡單、收斂速度快且易于實現(xiàn)。算法分為包圍獵物、泡泡網(wǎng)攻擊和搜索獵物[6]3個步驟,因此,用系數(shù)矢量A來區(qū)別是環(huán)繞包圍獵物還是隨機搜索行為。 為了提高模型的收斂速度和準(zhǔn)確率,筆者設(shè)計了一種基于WOA優(yōu)化CNN結(jié)構(gòu)參數(shù)的算法(WOA-CNN),采用WOA對兩個卷積層卷積核的數(shù)量k1、k2,大小s1、s2,訓(xùn)練批次batch,學(xué)習(xí)率η進(jìn)行優(yōu)化[7],將上述6個參數(shù)映射成每頭鯨魚個體的空間向量位置,第n頭鯨魚的位置為: xn=(k1n,k2n,s1n,s2n,batchn,ηn) (3) (1)包圍獵物。鯨群在捕食獵物過程中,對于獵物的位置是未知的,基于動態(tài)變換的獵物位置。WOA算法假定目標(biāo)最佳位置就是鯨魚最接近獵物時的位置,并包圍它。為此,引入系數(shù)向量A,當(dāng)|A|小于1時,選擇鯨魚種群中最接近目標(biāo)的鯨魚個體作為局部最優(yōu)獵物xgbest,此時CNN得到的適應(yīng)度值最小,其余個體向著這個位置逐漸包圍獵物,位置更新公式為: D=|C·xgbest(t)-xn(t)| (4) xn(t+1)=xn(t)-A·D (5) 式中:t為當(dāng)前迭代次數(shù);·為逐元素相乘并非向量運算中的點乘;A和C的更新公式為: A=2a·r1-a (6) C=2·r2 (7) 式中:r1、r2是[0,1]中的隨機向量;a為收斂因子,其變化公式可設(shè)置為: (8) 式中:N為最大迭代次數(shù)。 (2)泡泡網(wǎng)攻擊。鯨魚在捕食過程中,一方面連續(xù)吐出氣泡形成一種圓柱形氣泡網(wǎng),將獵物包圍起來,采用收縮包圍機制;另一方面會作螺旋姿勢旋轉(zhuǎn)上升,向水面游動,采用螺旋更新位置機制[8]。假設(shè)鯨群選擇收縮包圍和螺旋更新兩種情況的幾率各占50%,則鯨魚位置的更新公式分別為: xn(t+1)=xgbest(t)-A· |C·xgbest(t)-xn(t)|p<0.5 (9) xn(t+1)=D′·ebl·cos(2πl(wèi))+ xgbest(t)p≥0.5 (10) 式中:D′=|xgbest(t)-xn(t)|表示第n頭鯨魚到最佳位置的距離;b為螺旋線常數(shù);l為[-1,1]中的隨機數(shù)。 (3)搜索獵物。鯨魚可以根據(jù)彼此的位置進(jìn)行隨機搜索,當(dāng)|A|≥1時,在鯨群中隨機選擇一頭鯨魚xrand(t)作為局部最優(yōu)位置,并以此更新其他鯨魚的位置。更換公式為: xn(t+1)=xrand(t)-A·|C·xrand(t)-xn(t)| (11) 在WOA算法中,每頭鯨魚要朝著獵物的位置移動,鯨群之間更新獵物信息,獵物最終的位置也就是鯨群中位置最優(yōu)的個體,此時將獵物的位置作為CNN網(wǎng)絡(luò)結(jié)構(gòu)的全局最優(yōu)參數(shù),對應(yīng)最佳適應(yīng)度值。WOA-CNN算法流程如圖1所示。 鯨群捕食行為具體步驟為: 圖1 WOA-CNN算法流程圖 (1)信號預(yù)處理。由于上述6個物理量有不同的單位和量級,在訓(xùn)練神經(jīng)網(wǎng)絡(luò)前需要對采集到的數(shù)據(jù)進(jìn)行歸一化處理。此外,還需要將一維時域信號轉(zhuǎn)化成二維“矩陣”,“矩陣”中每一個像素點代表信號值。 (2)數(shù)據(jù)集劃分。將訓(xùn)練集、測試集組數(shù)按3∶1劃分,并且保證訓(xùn)練集中各故障類別下的數(shù)目相等,用以驗證WOA-CNN模型訓(xùn)練和測試結(jié)果的準(zhǔn)確度。 (3)鯨群初始化。鯨群種群初始化參數(shù)只有鯨魚種群個數(shù)n和迭代次數(shù)N,設(shè)置n=20,N=70。初始化種群后,種群中的每頭鯨的位置都是用一個6維向量表示適應(yīng)度評價指標(biāo)。常用公式包括:平均絕對誤差、均方誤差等,筆者采用交叉熵函數(shù)檢驗回歸損失。 (4)捕食行為。捕食行為具體步驟為: Step1每頭鯨位置更新。當(dāng)p≥0.5時,鯨群根據(jù)式(10)更新個體位置;當(dāng)p<0.5且|A|<1時,鯨群根據(jù)式(4)更新個體位置;當(dāng)p<0.5且|A|≥1時,鯨群根據(jù)式(11)更新個體位置。 Step2計算更新后鯨魚的適應(yīng)度值。將更新后每頭鯨魚的6維向量作為CNN的結(jié)構(gòu)參數(shù),用訓(xùn)練集訓(xùn)練后用測試集測試,計算均方誤差值,記錄每個個體的適應(yīng)度值和當(dāng)前迭代時間,并篩選出與當(dāng)前一代中的最佳適應(yīng)度值相對應(yīng)的鯨魚位置。如果更新的局部最優(yōu)值比上一代的局部最優(yōu)鯨魚更好,則用xgbest(t+1)取代全局最優(yōu)鯨魚xbest;反之用全局最優(yōu)鯨魚xbest取代局部最優(yōu)鯨魚,并重新更新所有鯨魚的位置,再計算適應(yīng)度值。 Step3結(jié)束條件。判斷迭代次數(shù)是否滿足t>N,如果不滿足,則返回Step1重新迭代計算,否則結(jié)束局部深度搜索。 (5)故障分類。由于每條鯨魚xi=(k1i,k2i,s1i,s2i,batchi,ηi)的空間位置不同,即每次訓(xùn)練CNN的結(jié)構(gòu)參數(shù)都會發(fā)生變化,針對不同的CNN網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),用相同的訓(xùn)練集和測試集來訓(xùn)練和測試,其中訓(xùn)練集是已知故障類別標(biāo)簽的,測試集是標(biāo)簽未知的。CNN的輸出層采用Softmax函數(shù)將輸出信號轉(zhuǎn)化為概率和為1的分布,計算第i次迭代的平均損失值。最終,鯨群經(jīng)過N次迭代尋優(yōu)操作后,找到平均損失值最小的那一代,對應(yīng)的即為全局最優(yōu)鯨魚,也就是獵物位置。 (6)模型重構(gòu)。得到全局最優(yōu)鯨魚xn=(k1n,k2n,s1n,s2n,batchn,ηn)的位置后,將最優(yōu)的卷積核數(shù)量、大小、訓(xùn)練批次、學(xué)習(xí)率等6個參數(shù)重構(gòu)CNN模型,并采用訓(xùn)練集訓(xùn)練,測試集測試,此時CNN模型故障分類準(zhǔn)確率最高。 為了驗證WOA-CNN模型在齒輪箱故障診斷中的可行性,采用PHM協(xié)會比賽使用的齒輪箱數(shù)據(jù)PHM 2009 Challenge Data[9]。被診斷的齒輪共有3種故障:齒輪破裂、斷齒、過度磨損,每種類型的故障均對應(yīng)3種齒數(shù)的齒輪:輸入齒輪/32齒、第一惰輪/96齒、輸出齒輪/80齒。因此,將故障類型設(shè)置為10種,并在公開數(shù)據(jù)集中每種類型故障分別取120 000個樣本,將120 000個樣本分成300組數(shù)據(jù),將訓(xùn)練集和測試集按3∶1比例分配,10種故障累計3 000組數(shù)據(jù)。將上述數(shù)據(jù)作為卷積神經(jīng)網(wǎng)絡(luò)的輸入時,由于每組數(shù)據(jù)都是1×400的一維矩陣,為了提高卷積速度,特將一維矩陣轉(zhuǎn)化成20×20的二維圖像。 為了驗證WOA-CNN模型的分類準(zhǔn)確率,構(gòu)建WOA-BP(whale optimization algorithm-back propagation)、CNN、PSO-CNN(particle swarm optimization-convolutional neural network)、WOA-CNN 4種模型用來對比分析各類模型用于故障診斷時的優(yōu)缺點。為了突出各模型的分類準(zhǔn)確率,這里直接給出每種模型經(jīng)過算法迭代后得到的最優(yōu)神經(jīng)網(wǎng)絡(luò)參數(shù),并利用這些優(yōu)化后的參數(shù)重構(gòu)網(wǎng)絡(luò)模型。 (1)WOA-BP故障診斷模型。采用鯨魚優(yōu)化算法對BP神經(jīng)網(wǎng)絡(luò)的隱含層神經(jīng)元個數(shù)、步長、訓(xùn)練精度、學(xué)習(xí)率進(jìn)行優(yōu)化(假定該神經(jīng)網(wǎng)絡(luò)只有1個隱含層),即每頭鯨魚個體由一個4維向量xi=(ni,batchi,gi,ηi)組成,采用交叉熵函數(shù)作為損失函數(shù)。得到優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)的隱含層神經(jīng)元個數(shù)為139,步長為41,訓(xùn)練精度1e-3,學(xué)習(xí)率為0.041 725。 (2)CNN故障診斷模型。如果卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)沒有進(jìn)行優(yōu)化,容易陷入局部最優(yōu)解,可能導(dǎo)致過擬合現(xiàn)象。因此該模型采用前述提到的CNN結(jié)構(gòu)參數(shù),即兩個卷積層卷積核的數(shù)量k1=16,k2=8;大小s1=9×9,s2=5×5;訓(xùn)練批次batch=100;學(xué)習(xí)率η=0.009,采用交叉熵函數(shù)作為損失函數(shù)。 (3)PSO-CNN故障診斷模型。粒子群算法(PSO)具有結(jié)構(gòu)簡單、收斂速度快等特點,種群初始化參數(shù)為:慣性權(quán)重w=0.9;加速度因子c1=c2=2;初始粒子個數(shù)為20;迭代次數(shù)為200。由前述分析可知,初始種群中,每個粒子個體也由一個6維向量xi=(k1i,k2i,s1i,s2i,batchi,ηi)組成,用式(12)、式(13)更新粒子的位置和速度,直至找到全局最優(yōu)粒子的位置。 (12) (13) 優(yōu)化后的PSO-CNN結(jié)構(gòu)參數(shù)為:兩個卷積核的數(shù)量k1=16,k2=30;大小s1=8×8,s2=4×4;訓(xùn)練批次batch=84;學(xué)習(xí)率η=1.063 7e-5。 (4)WOA-CNN故障診斷模型。由前所述,鯨群初始化種群個數(shù)n=20;迭代次數(shù)N=70。通過WOA算法優(yōu)化CNN后得到的結(jié)構(gòu)參數(shù)為(16,30,3×3,3×3,50,9.3697e-4)。將上述4種模型優(yōu)化后得到的參數(shù)重構(gòu)神經(jīng)網(wǎng)絡(luò),然后用訓(xùn)練集對上述4個模型進(jìn)行訓(xùn)練,并通過測試集進(jìn)行測試,統(tǒng)計5次分類精度和時間消耗取平均值,如表1所示。 表1 4種模型5次運算平均值對比 由表1可知,BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)較為簡單,優(yōu)化后的CNN較之于未優(yōu)化的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)具有更高的識別準(zhǔn)確率,但是由于模型更為復(fù)雜,運算時間也大大增加。為了說明WOA-CNN模型良好的表征性能,用T分布隨機近鄰嵌入算法[10](t-SNE)對高維數(shù)據(jù)進(jìn)行降維處理,將特征聚類輸出,獲得二維分布結(jié)果,如圖2所示。 圖2 降維處理后的特征聚類輸出的二維分布結(jié)果 圖2分別表示不同迭代次數(shù)中訓(xùn)練樣本分類情況,說明WOA-CNN模型在公開數(shù)據(jù)集中的分類效果較好。將10種故障類型下的加速度信號分別采集300組作為訓(xùn)練集,另取70組樣本作為測試集,并且根據(jù)振動信號時域頻域波形圖提取加速度有效值、峰值、能量因數(shù)、峰峰值、頻幅值、穩(wěn)定超調(diào)量、包絡(luò)解調(diào)值7種特征。將WOA-BP和WOA-CNN模型進(jìn)行對比,測試結(jié)果如圖3所示。 圖3 WOA-BP模型與WOA-CNN模型對比結(jié)果 根據(jù)10次測試結(jié)果的統(tǒng)計,WOA-CNN模型的平均分類精度約為98.46%,而WOA-BP模型的平均分類精度約為91.71%,表明WOA-CNN模型對齒輪箱故障具有良好的分類效果,也說明卷積神經(jīng)網(wǎng)絡(luò)在齒輪故障診斷方面有較好的準(zhǔn)確率。 筆者基于CNN強大的圖像識別能力,針對其網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)難以確定的問題,利用鯨魚算法優(yōu)化CNN網(wǎng)絡(luò)結(jié)構(gòu),得到最優(yōu)的卷積核大小、個數(shù)、學(xué)習(xí)率等參數(shù),構(gòu)造最優(yōu)的故障模式識別分類器。通過實驗結(jié)果可以看出,針對齒輪箱公開數(shù)據(jù)集,WOA-CNN模型相比于其他算法均能夠在較少的迭代次數(shù)下達(dá)到較好的分類識別效果。2 基于WOA優(yōu)化CNN的算法設(shè)計
3 實驗結(jié)果對比分析
3.1 數(shù)據(jù)說明
3.2 實驗結(jié)果
4 結(jié)論