晏生蓮 鞏永旺 潘琳鑫
(鹽城工學(xué)院信息工程學(xué)院 鹽城 224051)
滾動(dòng)軸承是機(jī)械設(shè)備中最常用的機(jī)械零件,也是最易磨損的零件之一,關(guān)乎到機(jī)械生產(chǎn)過(guò)程中的安全。因此如何實(shí)現(xiàn)軸承故障的快速準(zhǔn)確診斷長(zhǎng)期受到人們的關(guān)注。常規(guī)軸承的故障診斷方法一般有振動(dòng)信號(hào)法、溫度分析法、聲輻射法、光纖檢測(cè)法等[1]。在這些方法中,振動(dòng)信號(hào)法是最常用的。但由于滾動(dòng)軸承的失效影響因素比較復(fù)雜,這些常規(guī)的故障診斷方法容易出現(xiàn)誤診,嚴(yán)重地影響了故障診斷的精度。
隨著人工智能技術(shù)的發(fā)展,人們利用多種智能算法對(duì)軸承故障的診斷問(wèn)題進(jìn)行了分析研究[2~3]。作為最成功的神經(jīng)網(wǎng)絡(luò)之一,BP神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的非線性映射和適應(yīng)性,常用于解決各領(lǐng)域復(fù)雜的非線性問(wèn)題[4~6]。BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)規(guī)則是通過(guò)最速下降法來(lái)確定誤差函數(shù)的最優(yōu)值,這種方法使得BP網(wǎng)絡(luò)存在學(xué)習(xí)算法收斂緩慢,難以判斷隱層結(jié)點(diǎn)數(shù)目,網(wǎng)絡(luò)泛化能力差[7]等問(wèn)題。近年來(lái),隨著智能算法的發(fā)展,將BP神經(jīng)網(wǎng)絡(luò)與智能算法結(jié)合起來(lái),以優(yōu)化權(quán)值和閾值得到了越來(lái)越多的研究者的認(rèn)可,并提出了眾多的改進(jìn)算法[8~9]。例如,蝙蝠算法[10](Bat Algorithm,BA)作為一種基于仿生優(yōu)化算法的全局最優(yōu)搜索方法,模擬蝙蝠種群,在解空間中進(jìn)行最佳搜索,獲得全局最優(yōu)值,算法簡(jiǎn)單、收斂速度快,極大地改善了BP神經(jīng)網(wǎng)絡(luò)的缺點(diǎn),然而,在迭代的后期,蝙蝠算法往往會(huì)陷入局部最優(yōu),這對(duì)種群的多樣性產(chǎn)生一定的影響。天牛須算法(Beetle Antennae Search,BAS)[11]是一種新型智能優(yōu)化算法,參數(shù)少、計(jì)算量小,憑借其在個(gè)體查找局部最優(yōu)方面具有優(yōu)勢(shì),常被運(yùn)用于其他智能算法的優(yōu)化問(wèn)題中[12~13]。文獻(xiàn)[14]將BAS和BA進(jìn)行混合(Beetle Antennae Search Bat Algorithm,BAS-BA算法),彌補(bǔ)了BAS算法在全局尋優(yōu)上以及BA算法在局部尋優(yōu)上存在的不足,提高了算法收斂速度和穩(wěn)定性。
基于文獻(xiàn)[14]的研究,本文將BAS-BA算法用于優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,提出一種基于BAS-BA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)并應(yīng)用于軸承故障診斷?;趧P斯西儲(chǔ)大學(xué)軸承數(shù)據(jù)集進(jìn)行仿真實(shí)驗(yàn),結(jié)果表明,BAS-BA算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)在收斂能力和軸承故障診斷準(zhǔn)確率方面均優(yōu)于單個(gè)算法(BAS或BA)優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)。
BP神經(jīng)網(wǎng)絡(luò)模型[15]是一種較為成熟且應(yīng)用廣泛的神經(jīng)網(wǎng)絡(luò)模型,相對(duì)其他傳統(tǒng)模型而言,BP神經(jīng)網(wǎng)絡(luò)的輸入層、隱藏層和輸出層的三層模型結(jié)構(gòu)(見(jiàn)圖1)具有較好的持久性、適時(shí)預(yù)報(bào)性和分類能力。核心算法過(guò)程分成兩個(gè)部分:正向和逆向傳遞。在正向傳遞過(guò)程中,信號(hào)由輸入層向隱含層傳遞,經(jīng)過(guò)隱含層的處理后,再向輸出層傳遞,各層中的神經(jīng)元狀態(tài)只對(duì)下一層的神經(jīng)元狀態(tài)產(chǎn)生影響。如果輸出層接收到的信號(hào)誤差超出了誤差門限,則轉(zhuǎn)入反向傳播,并沿著原來(lái)的神經(jīng)元連接路徑返回誤差信號(hào)。在返回的過(guò)程中,網(wǎng)絡(luò)對(duì)各連接層神經(jīng)元的權(quán)重和閾值進(jìn)行修正。重復(fù)迭代以上過(guò)程,使得信號(hào)誤差能夠達(dá)到允許的誤差范圍,網(wǎng)絡(luò)模型趨于最優(yōu)化。
圖1 典型的三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
其中A1,A2,…,Ai,…,Am為輸入層神經(jīng)元的輸入,W1j,W2j,…,Wij,…,Wmj為輸入層第i個(gè)節(jié)點(diǎn)與隱藏層第j個(gè)節(jié)點(diǎn)之間的網(wǎng)絡(luò)權(quán)重,K1,K2,…,Kj,…,Kn為隱藏層輸入,P1,P2,…,Pt為輸出層輸出。
蝙蝠算法[16]是根據(jù)蝙蝠的覓食過(guò)程進(jìn)行位置優(yōu)化的,蝙蝠在早期階段發(fā)出大響度的脈沖,以便在捕獵時(shí)尋找獵物,當(dāng)它快要接近獵物的時(shí)候,它會(huì)降低脈沖的聲音來(lái)捕捉獵物,其步驟如下。
第一步:初始化蝙蝠的種群規(guī)模size,響度Ai,脈沖發(fā)射率ri,以及最大迭代次數(shù)T,最大和最小的脈沖頻率fmax和fmin,計(jì)算初始種群中蝙蝠適應(yīng)度值,選擇最優(yōu)個(gè)體x*。
第二步:全局搜索,根據(jù)位置、速度更新公式對(duì)參數(shù)進(jìn)行更新。
其中,α為隨機(jī)數(shù),在[0,1]上均勻分布,和分別表示第i只蝙蝠在第t+1代時(shí)的速度和位置。
第三步:局部搜索,生成隨機(jī)數(shù)R1、R2,若R1<ri,接受新解,否則隨機(jī)飛行產(chǎn)生新解),若R2<Ai且新解更優(yōu),則選擇接受新解,調(diào)整ri、Ai大小,否則轉(zhuǎn)向局部搜索,更新種群最優(yōu)速度和位置,Ai、ri調(diào)整算法如式(3)和式(4)所示:
其中xnew表示新解服從均勻分布,ε,γ為常數(shù),At是t時(shí)刻所有蝙蝠的平均響度。
第四步:比較當(dāng)前所有蝙蝠的適應(yīng)度值,得到當(dāng)前最優(yōu)解x*。
第五步:判斷是否滿足終止條件,若滿足則輸出最優(yōu)解,否則繼續(xù)迭代,直至滿足終止條件。
作為解決優(yōu)化問(wèn)題的算法,BAS算法[17]受自然啟發(fā),模仿天牛的自然覓食行為。天牛在覓食過(guò)程中,天牛的移動(dòng)方向是由兩只觸角嗅到目標(biāo)氣味的濃度決定,哪邊目標(biāo)氣味更濃,就向哪一邊移動(dòng),否則就會(huì)轉(zhuǎn)向另一邊搜索獵物,逐步接近搜索目標(biāo),多次迭代,最終確定目標(biāo)的位置。
在N維空間中,天牛第t時(shí)刻的位置為矢量Xt,其中t={1,2,3,…M},M為迭代次數(shù),則天牛左右兩只觸角的位置為
其中,和分別表示第t時(shí)刻天牛須的左右須位置,l表示天牛質(zhì)心與觸須之間的距離,表示隨機(jī)單位向量。根據(jù)兩須嗅到的目標(biāo)氣味的濃度的不同,來(lái)判斷天牛下一步前進(jìn)位置:
其中,f(x)為適應(yīng)度函數(shù),δt表示第t次迭代時(shí)的搜索步長(zhǎng),sign(x)為符號(hào)函數(shù),η代表步長(zhǎng)因子,一般取0.95。
基于天牛須算法思想的改進(jìn)蝙蝠算法能夠幫助群體中的每一個(gè)蝙蝠增加搜尋過(guò)程中的搜索次數(shù)或搜索方向,顯著提高全局搜索功能,從而使整體優(yōu)化算法的精確度得到了極大的提高,有更多機(jī)會(huì)求解全局最優(yōu)解,且不易陷入局部最優(yōu)。算法步驟如下[14]。
第一步:初始化種群大小、搜索范圍,響度、脈沖頻率和初始步長(zhǎng),種群的位置與速度。
第二步:記錄初始最優(yōu)位置,對(duì)最優(yōu)位置的蝙蝠進(jìn)行局部搜索,根據(jù)天牛須更新公式更新蝙蝠種群的全局最優(yōu)位置,改進(jìn)后的種群位置更新公式如下:
第三步:根據(jù)BA算法中的局部搜索步驟,對(duì)全局最優(yōu)位置處的個(gè)體進(jìn)行局部最優(yōu)搜索,比較個(gè)體位置優(yōu)劣和響度大小以更新位置和新解,將該結(jié)果和算法第二步中的新位置與最優(yōu)值進(jìn)行比較,并使用BAS算法進(jìn)行全局最優(yōu)搜索,使天牛個(gè)體向最佳位置移動(dòng)。
第四步:判斷是否滿足終止條件,若滿足則輸出最優(yōu)個(gè)體和最優(yōu)解,否則繼續(xù)迭代直至滿足終止條件。
將BAS-BA算法用于優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,然后使用優(yōu)化好的參數(shù)對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,提出一個(gè)新的故障診斷的BP神經(jīng)網(wǎng)絡(luò)模型(記為BAS-BA-BP模型),其原理與步驟如下:
第一步:構(gòu)建BP網(wǎng)絡(luò)結(jié)構(gòu),確定輸入層、隱含層和輸出層的節(jié)點(diǎn)數(shù)目,劃分訓(xùn)練集樣本和測(cè)試集樣本;
第二步:初始化BAS-BA參數(shù),蝙蝠數(shù)目、初始響度,迭代次數(shù)和誤差精度等;
第三步:計(jì)算每個(gè)個(gè)體的適應(yīng)度值,尋找當(dāng)前最優(yōu)位置;
第四步:根據(jù)BAS-BA算法中的第四步和第五步,判斷是否更新當(dāng)前最優(yōu)解;
第五步:重復(fù)迭代,直到達(dá)到最大迭代次數(shù)或者BP神經(jīng)網(wǎng)絡(luò)設(shè)定的誤差,輸出最終的權(quán)值和閾值,對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;
In conclusion, the compliance of the Attikon University General Hospital personnel with a FIT-based CRC screening program was suboptimal, especially among physicians, despite the well-organized, guided and supervised provision of the service.
第六步:將測(cè)試集樣本輸入訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò),得出輸出數(shù)據(jù),計(jì)算均方誤差MSE作為三種算法的評(píng)價(jià)指標(biāo),分析結(jié)果。
其中S表示輸出樣本的維度,ysim(i)代表給定樣本的第i維的仿真輸出結(jié)果,y(i)代表給定樣本的第i維的期望輸出結(jié)果。
BAS-BA-BP神經(jīng)網(wǎng)絡(luò)流程如圖2所示。其中右邊虛線框內(nèi)是BAS-BA混合算法流程,輸出的最優(yōu)解作為BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,左邊是BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程,對(duì)模型進(jìn)行訓(xùn)練,不斷迭代,直到找到最優(yōu)權(quán)值和閾值。
圖2 BAS-BA-BP模型流程
為驗(yàn)證BAS-BA算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)性能,基于凱斯西儲(chǔ)大學(xué)的軸承振動(dòng)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)與分析。該數(shù)據(jù)集包含正常狀態(tài)、內(nèi)圈故障、滾動(dòng)體故障和外圈故障等四種狀態(tài)數(shù)據(jù)。
針對(duì)軸承的振動(dòng)特點(diǎn),采用了基于功率譜特征、小波特征和時(shí)頻域特征提取的方法,對(duì)信號(hào)進(jìn)行處理,提取出正常狀態(tài)、內(nèi)圈、滾動(dòng)體、外圈等故障信號(hào),并對(duì)所提取的特征向量進(jìn)行歸一化,將其作為BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集和測(cè)試集。BAS-BA的參數(shù)設(shè)計(jì)如下:算法的最大迭代次數(shù)為1000,64個(gè)訓(xùn)練集樣本,16個(gè)測(cè)試集樣本,蝙蝠種群規(guī)模為10,脈沖音強(qiáng)0.25,脈沖頻度0.5,最大頻率為2,最小頻率為0;設(shè)置天牛須長(zhǎng)為5,初始步長(zhǎng)30,每種優(yōu)化算法獨(dú)立運(yùn)行10次作平均。該實(shí)驗(yàn)通過(guò)Matlab 2020b軟件構(gòu)建3層結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò),具體每層節(jié)點(diǎn)數(shù)見(jiàn)表1。神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置為訓(xùn)練次數(shù)100次,學(xué)習(xí)率0.1,目標(biāo)誤差0.00001,其余參數(shù)為默認(rèn)值。
表1 不同特征下BP神經(jīng)網(wǎng)絡(luò)各層節(jié)點(diǎn)數(shù)目
三種特征下,針對(duì)BAS-BA-BP模型與單個(gè)BAS算法和BA算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)(分別記為BAS-BP模型和BA-BP模型)的實(shí)驗(yàn)結(jié)果如表2所示,MSE值越小表示軸承故障診斷準(zhǔn)確率越高。
表2 三種算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)
由表2可知,在功率譜特征下,BAS-BA-BP模型故障診斷準(zhǔn)確率均高于BAS-BP模型和BA-BP模型。在小波特征和時(shí)域特征下,可得出相似的結(jié)論。另一方面,對(duì)比同一種算法在三種不同特征下訓(xùn)練的BP神經(jīng)網(wǎng)絡(luò),其故障診斷準(zhǔn)確率不盡相同,但BAS-BA算法的優(yōu)化能力均是最強(qiáng)的。因此,BAS-BA混合算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)提高了軸承故障診斷準(zhǔn)確率。
圖5 BA-BP真實(shí)值和預(yù)測(cè)值結(jié)果對(duì)比
由圖3可知,BAS-BA算法在迭代到17次的時(shí)候已經(jīng)趨于收斂,而B(niǎo)AS算法和BA算法分別在迭代到44次和57次時(shí)才找到全局最優(yōu)值,說(shuō)明BAS-BA混合算法的收斂速度更快。為進(jìn)一步展示三種算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)下的預(yù)測(cè)值和真實(shí)值之間的逼近程度,在時(shí)域頻域特征上,分別實(shí)驗(yàn)對(duì)比了三種模型故障診斷的預(yù)測(cè)值和真實(shí)值如圖4~圖6所示。其中*表示測(cè)試集的真實(shí)值,〇表示預(yù)測(cè)值。重合點(diǎn)表示在此處預(yù)測(cè)值和真實(shí)值一致,重合點(diǎn)數(shù)越多,說(shuō)明該算法下BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果準(zhǔn)確率越高。顯然BAS-BA-BP模型的預(yù)測(cè)值與真實(shí)值逼近效果最好,表示使用BAS-BA優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)軸承故障診斷準(zhǔn)確率最高。
圖3 迭代次數(shù)和適應(yīng)度值關(guān)系圖
圖4 BAS-BP真實(shí)值和預(yù)測(cè)值結(jié)果對(duì)比
圖6 BAS-BA-BP真實(shí)值和預(yù)測(cè)值結(jié)果對(duì)比
表3為軸承故障的四種輸出狀態(tài)與對(duì)應(yīng)坐標(biāo)。三種算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的故障診斷結(jié)果如圖7所示,其橫坐標(biāo)為測(cè)試集樣本,縱坐標(biāo)表示軸承的故障類型?!鰹檎鎸?shí)值,●、▲和▲分別表示BA-BP、BAS-BP和BAS-BA-BP三種模型下的軸承故障的預(yù)測(cè)值,可更加直觀地看出BAS-BA-BP模型的預(yù)測(cè)值總體上更接近真實(shí)值,說(shuō)明BAS-BA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型對(duì)軸承故障診斷的效果最佳。
圖7 三種模型故障診斷結(jié)果
表3 軸承故障輸出狀態(tài)表
本文提出一種基于天牛須-蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的軸承故障診斷方法,用天牛須-蝙蝠混合算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,避免由于系統(tǒng)隨機(jī)初始化的權(quán)值和閾值造成的神經(jīng)網(wǎng)絡(luò)效率低下問(wèn)題,優(yōu)化初始權(quán)值及閾值可以減小訓(xùn)練誤差,提高網(wǎng)絡(luò)的訓(xùn)練速度和精度,最終達(dá)到提升軸承故障診斷準(zhǔn)確率的目的。將軸承四種狀態(tài)下的信號(hào)分別進(jìn)行了功率譜分析、小波分析和時(shí)頻域分析,并將其分別作為BP神經(jīng)網(wǎng)絡(luò)的輸入,先對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了參數(shù)優(yōu)化,后將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用到滾動(dòng)軸承故障診斷中。實(shí)驗(yàn)證明,BAS-BA算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)方法與其他算法相比,其預(yù)測(cè)結(jié)果與真實(shí)結(jié)果的誤差更小,準(zhǔn)確率更高,本方法在實(shí)際故障診斷,對(duì)軸承等機(jī)械設(shè)備的可靠性保障、企業(yè)的安全生產(chǎn)研究具有一定現(xiàn)實(shí)意義。