唐貴基, 田寅初, 田 甜
(華北電力大學(xué)(保定) 機械工程系,河北 保定 071003)
近年來,隨著深度學(xué)習(xí)在圖像和語音識別等領(lǐng)域的成功應(yīng)用[1],相較于傳統(tǒng)診斷方法,在提取特征、識別準(zhǔn)確率等方面具有明顯優(yōu)勢。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)目前在醫(yī)學(xué)、認(rèn)知科學(xué)和人工智能領(lǐng)域得到了廣泛應(yīng)用:文獻[2]使用一維CNN自適應(yīng)提取滾動軸承故障信號的故障特征;文獻[3]直接將滾動軸承故障信號作為輸入,使用CNN進行軸承多故障診斷;文獻[4]通過CNN和振動數(shù)據(jù)的頻域特征對齒輪箱進行故障診斷;文獻[5]提出了權(quán)值求和和最大尺度最大池化策略,對故障軸承進行診斷,驗證了平移不變CNN的有效性;文獻[6]將滾動軸承振動信號的頻譜圖作為輸入通過CNN自適應(yīng)提取故障特征;文獻[7]通過短時傅里葉變換得到振動信號的時頻圖并將其作為CNN的輸入,一定程度上實現(xiàn)了端到端的軸承故障診斷;文獻[8]使用深度卷積自編碼器對振動信號時頻圖進行去噪,然后利用CNN對去噪后的圖像進行故障分類;文獻[9]對CNN全連接層進行改進,使用改進CNN算法進行滾動軸承故障識別;文獻[10]通過基于粒子群優(yōu)化的細(xì)菌覓食方法改進AlexNet,實現(xiàn)了滾動軸承16種故障狀態(tài)的診斷。以上方法為滾動軸承故障診斷提供了良好借鑒。
但在實際工程應(yīng)用中,用于訓(xùn)練的樣本數(shù)據(jù)往往受其樣本大小、維度和總體表示形式的影響。因此,神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練效果經(jīng)常被有限的數(shù)據(jù)集和預(yù)測問題所限制。而故障狀態(tài)種類越多,所需要的訓(xùn)練樣本數(shù)量相應(yīng)就需要增加。Adaboost(自適應(yīng)提升)算法可以更加充分地利用數(shù)據(jù)集,通過提高被上一個基分類器錯分樣本的權(quán)重來提高下一個基分類器對于錯分樣本的準(zhǔn)確率,并且最終將所有的基分類器按不同的權(quán)重組合為強分類器。為了使用有限的數(shù)據(jù)集得到更好的分類效果,進一步實現(xiàn)多工況狀態(tài)下更多故障的分類,本文綜合Adaboost算法在集成學(xué)習(xí)領(lǐng)域和AlexNet在圖像分類領(lǐng)域各自的優(yōu)勢,以軸承故障信號時頻圖為對象,提出了一種基于AlexNet-Adaboost的多工況滾動軸承故障識別方法。
傳統(tǒng)的傅里葉變換是一種全局變換,無法將信號的時域特征和頻域特征聯(lián)系起來。小波變換具有良好的時頻局部化特性,可以表現(xiàn)出振動信號的頻域特征而不丟失其時域特征[11]。小波變換通過小波母函數(shù)的平移和伸縮得到一系列小波序列,以此將信號分解為不同的頻率分量,具體過程可表示為
(1)
式中:ψ(t)為小波母函數(shù);a為尺度因子并假定a>0;b為平移因子。
對于任意二次方可積函數(shù)f(t)∈L2(R),其連續(xù)小波變換定義為
(2)
AlexNet由2012年ImageNet競賽冠軍獲得者Hinton和他的學(xué)生Krizhevsky等[12]設(shè)計。AlexNet是第二代CNN,在第一代CNN的基礎(chǔ)上加深了網(wǎng)絡(luò)架構(gòu),能夠提取更豐富更高維的圖片特征。AlexNet主要包含8層:前5層是卷積層;后3層是全連接層,最后1層的輸出經(jīng)過Softmax函數(shù),產(chǎn)生1 000類標(biāo)簽的概率分布。詳細(xì)結(jié)構(gòu)如圖1所示,不同于第一代CNN,AlexNet使用兩個GPU進行訓(xùn)練,其網(wǎng)絡(luò)結(jié)構(gòu)的上下部分完全相同,只在特定層進行信息交互以完成對圖片的并行處理。AlexNet已廣泛應(yīng)用于圖像識別、圖像檢索、語音識別等領(lǐng)域。
圖1 AlexNet結(jié)構(gòu)圖Fig.1 AlexNet structure diagram
Adaboost算法由Freund等[13]開發(fā),Adaboost會在訓(xùn)練數(shù)據(jù)集中產(chǎn)生一系列權(quán)重,從而對訓(xùn)練數(shù)據(jù)進行調(diào)整以生成多個假設(shè)。在每次迭代中,調(diào)用學(xué)習(xí)算法以最小化訓(xùn)練數(shù)據(jù)集上的加權(quán)誤差,并將其應(yīng)用于更新訓(xùn)練數(shù)據(jù)集的權(quán)重。權(quán)重變化的影響是將更多的權(quán)重放在被誤分類的訓(xùn)練數(shù)據(jù)上,將更少的權(quán)重放在正確分類的訓(xùn)練數(shù)據(jù)上。因此,隨著迭代的進行,Adaboost會逐步構(gòu)造更難的學(xué)習(xí)問題。Adaboost算法的過程如下:
步驟2迭代過程m=1~M
(a) 使用帶權(quán)重wi的訓(xùn)練數(shù)據(jù)來訓(xùn)練分類器Tm(x)
(b) 計算分類結(jié)果誤差
(3)
(c) 計算權(quán)重系數(shù)
(4)
(d) 更新權(quán)重
wi+1=wi·exp{αm·Ⅱ[ci≠Tm(x)]},i=1,2,…,m
(5)
(e) 歸一化wi;
步驟3輸出預(yù)測值
(6)
原始的Adaboost算法僅限于二分類問題,Zhu等[14]對Adaboost算法進行了改進,使用多分類指數(shù)損失函數(shù)的階段性加法建模,改進后的Adaboost算法與原算法非常相似,主要區(qū)別為權(quán)重系數(shù)計算公式
(7)
式中,K為總分類數(shù)。
本文取1 024個采樣點為一個樣本,通過重疊采樣來增加樣本數(shù)量[15]。假設(shè)原數(shù)據(jù)數(shù)列數(shù)據(jù)點個數(shù)為M,樣本長度為N,采樣偏移量為ΔX,則該數(shù)列可以產(chǎn)生樣本個數(shù)為Y,其公式為
(8)
使用‘cmor3-3’小波,尺寸序列長度為256,采樣頻率為12 kHz,分別對正常軸承、內(nèi)圈故障軸承、外圈故障軸承和滾動體故障軸承的振動信號做小波變換繪制時頻圖,去除時頻圖周邊的坐標(biāo)、文字、能量條部分,將所得到的時頻圖尺寸調(diào)整為227×227。
AlexNet雖然擁有更強的學(xué)習(xí)能力,但是它的網(wǎng)絡(luò)結(jié)構(gòu)也更為復(fù)雜,且需要兩個GPU并行運算以及上百萬個訓(xùn)練樣本,相應(yīng)的時間成本和經(jīng)濟成本會大大增加。相對于上千種類的圖片分類問題,數(shù)十種類的滾動軸承故障識別屬于少類別的任務(wù),因此可以在避開百萬級數(shù)據(jù)樣本和多個GPU并行運算的要求下,通過精簡AlexNet的結(jié)構(gòu)的同時運用它包含的部分新技術(shù)來解決滾動軸承故障識別問題[16]。本文使用的AlexNet結(jié)構(gòu)如圖2所示。
隨機梯度下降(stochastic gradient descent,SGD)算法是目前使用最多的梯度下降優(yōu)化算法之一,SGD算法通??梢哉业阶顑?yōu)解,但是會花費遠(yuǎn)多于自適應(yīng)優(yōu)化算法的時間,且SGD算法非常依賴于魯棒的初始化值以及退火策略。而自適應(yīng)優(yōu)化算法可以在不調(diào)參的情況下使用更短的時間得到較好的效果,常用的自適應(yīng)優(yōu)化算法有Adadelta、RMSprop和Adam等,上述3種算法非常相似,在相同的情況下都能得到較好的結(jié)果[17]。本文使用收斂速度最快的RMSprop算法來訓(xùn)練模型。
vi=β·vi+(1-β)(?wi)2
(9)
(10)
式中:i為迭代次數(shù);α為全局學(xué)習(xí)率;vi為累計平方梯度;β為衰減率; ?wi為梯度累計量;wi為被更新的權(quán)值。
本研究方法的流程圖如圖3所示。
圖3 AlexNet-Adaboost算法流程圖Fig.3 AlexNet-Adaboost algorithm flow chart
本研究方法的具體步驟如下:
步驟1采集滾動軸承在不同工況、不同狀態(tài)下的振動信號;
步驟2通過小波變換將一維的振動信號轉(zhuǎn)化為227×227尺寸的二維時頻圖;
步驟4使用帶權(quán)重的訓(xùn)練數(shù)據(jù)來訓(xùn)練第一個基分類器;
步驟5使用測試數(shù)據(jù)集計算基分類器的分類結(jié)果誤差,并計算權(quán)重系數(shù);
步驟6根據(jù)權(quán)重系數(shù)更新訓(xùn)練數(shù)據(jù)集的權(quán)重,提高誤分類樣本的權(quán)重,并將權(quán)重歸一化;
步驟7使用更新權(quán)重后的訓(xùn)練數(shù)據(jù)集訓(xùn)練下一個基分類器;
步驟8重復(fù)步驟5~步驟7直到所需基分類器全部訓(xùn)練完成;
步驟9將所有的基分類器按權(quán)重系數(shù)組合成最終的強分類器;
步驟10使用最終的強分類器進行多工況下的滾動軸承故障識別。
分析過程的具體流程如圖4所示。
圖4 分析過程流程圖Fig.4 Analysis process flow chart
本文所用振動數(shù)據(jù)為美國凱斯西儲大學(xué)軸承數(shù)據(jù)庫的滾動軸承振動加速度數(shù)據(jù)[18]。試驗數(shù)據(jù)包括正常、內(nèi)圈故障、外圈故障和滾動體故障信號,在4種工況(電動機負(fù)載分別為735.498 75 W,1 470.997 50 W,2 206.496 25 W)下各收集3種損傷直徑(0.177 8 mm,0.355 6 mm,0.533 4 mm)數(shù)據(jù),總共為40種狀態(tài)如表1和表2所示。每種狀態(tài)收集450個樣本,共收集18 000個訓(xùn)練樣本,分為15 000個訓(xùn)練樣本和3 000個測試樣本。
表1 軸承故障狀態(tài)標(biāo)簽Tab.1 Bearing fault status label
表2 軸承正常狀態(tài)標(biāo)簽Tab.2 Bearing normal status label
由于每種狀態(tài)樣本數(shù)量較少,為了增加模型的泛化能力,防止過擬合,在訓(xùn)練前進行數(shù)據(jù)增強,每張圖片的高度和寬度按10%比例隨機豎直水平偏移,并隨機對整張圖片進行水平翻轉(zhuǎn)。除數(shù)據(jù)增強外,訓(xùn)練時會進行樣本重采樣處理,每個訓(xùn)練階段實際使用的樣本數(shù)量為真實樣本的三倍。
滾動軸承的主要作用之一是承載負(fù)荷,因此當(dāng)電動機負(fù)載發(fā)生變化時,不得不考慮滾動軸承故障識別方法是否仍然具有較高的識別準(zhǔn)確率,所以要求識別方法有較好的泛化能力。對此,本文使用AlexNet-Adaboost、CNN-Adaboost、AlexNet、CNN和傳統(tǒng)機器學(xué)習(xí)方法SVM(support vector machine)分別在單工況和多工況下進行故障識別進行對比試驗。對比試驗使用同樣的數(shù)據(jù)集分別測試使用不同方法的識別準(zhǔn)確率。同時,為排除試驗的偶然性,對每種方法分別運行5次的準(zhǔn)確率取平均值得到最終結(jié)果。
SVM的最優(yōu)參數(shù)通過在單獨劃分出的驗證數(shù)據(jù)集上進行網(wǎng)格搜索得到。本文方法使用的基分類器與AlexNet方法相同,結(jié)構(gòu)見圖2;CNN-Adaboost方法使用的基分類器和CNN方法相同,結(jié)構(gòu)如圖5所示。AlexNet模型和CNN模型都通過RMSprop算法來訓(xùn)練,全局學(xué)習(xí)率設(shè)置為0.000 1,衰減率設(shè)置為0.000 001,批量尺寸設(shè)置為32,迭代次數(shù)設(shè)置為15。
圖5 CNN結(jié)構(gòu)圖Fig.5 CNN structure diagram
首先,分析單工況下的滾動軸承故障識別,單工況數(shù)據(jù)集包括在電動機負(fù)載為0的情況下滾動軸承不同故障部位不同損傷直徑共10種狀態(tài)。故障識別結(jié)果如圖6所示,使用AlexNet或者CNN作為基分類器通過Adaboost集成得到的強分類器準(zhǔn)確率都為100%;AlexNet方法和CNN方法準(zhǔn)確率分別為99.73%和98.13%;SVM準(zhǔn)確率為99.33%??梢钥闯?,在單工況下進行故障識別較為簡單,幾種方法都可以得到較好的識別效果。
圖6 單工況下不同方法的故障識別準(zhǔn)確率Fig.6 Fault recognition accuracy of different methods under single working condition
其次,分析多工況下的滾動軸承故障識別,多工況數(shù)據(jù)集包括滾動軸承在4種工況下滾動軸承不同故障部位不同損傷直徑共40種狀態(tài)。結(jié)果如圖7所示,使用AlexNet作為基分類器時,5個基分類器集成得到的強分類器準(zhǔn)確率為98.43%,3個基分類器進行集成得到的準(zhǔn)確率為98.2%;使用CNN作為基分類器時,5個基分類器集成得到的強分類器準(zhǔn)確率為95.1%,3個基分類器進行集成得到的準(zhǔn)確率為93.87%;AlexNet和CNN準(zhǔn)確率分別為90.87%和81.33%;SVM方法準(zhǔn)確率為93.57%??梢钥闯觯诙喙r下進行故障識別,本文方法仍有高的準(zhǔn)確率,而其他幾種方法的準(zhǔn)確率都顯著降低。綜述,本文方法準(zhǔn)確率最高,且具有較好的泛化性能。
圖7 多工況下不同方法的故障識別準(zhǔn)確率Fig.7 Fault recognition accuracy of different methods under multiple working conditions
本文提出了一種基于AlexNet-Adaboost相結(jié)合的滾動軸承故障識別方法。構(gòu)造不同數(shù)量的AlexNet模型作為基分類器,形成最終的AlexNet-Adaboost強分類器,實現(xiàn)了多工況條件下滾動軸承的40種類別的狀態(tài)識別。該方法可以通過提高被前一個基分類器錯誤分類樣本的權(quán)重并用來訓(xùn)練下一個基分類器,最終提高整體樣本的識別準(zhǔn)確率,充分利用有限的數(shù)據(jù)集得到更高的準(zhǔn)確率。與CNN-Adaboost、AlexNet、CNN和SVM方法相比,所提方法應(yīng)用于凱斯西儲大學(xué)軸承數(shù)據(jù)集進行滾動軸承故障識別,在多工況條件下對滾動軸承不同位置、不同損傷程度的40種類故障識別準(zhǔn)確率最高,且相對于其他方法有更好的泛化能力,證明了該方法的有效性。