譚繼勇,羅 俊,謝江濤,秦玉璽,汪友明
(1.西南電子設(shè)備研究所,四川 成都 610036;2.西安郵電大學(xué)自動(dòng)化學(xué)院,陜西 西安 710121)
振動(dòng)信號(hào)處理及分析是旋轉(zhuǎn)機(jī)械健康管理的常用方法,主要從振動(dòng)信號(hào)中提取旋轉(zhuǎn)機(jī)械運(yùn)行狀態(tài)的特征信息。而旋轉(zhuǎn)機(jī)械在復(fù)雜的工作環(huán)境中易受到摩擦、沖擊等影響,導(dǎo)致采集的振動(dòng)信號(hào)含有大量的噪聲,對(duì)后續(xù)的健康管理產(chǎn)生了負(fù)面影響[1-2]。因此,對(duì)采集到的原始振動(dòng)信號(hào)進(jìn)行去噪具有重要意義。傳統(tǒng)的去噪方法包括小波閾值去噪[3]、經(jīng)驗(yàn)?zāi)B(tài)分解(empirical mode decomposition,EMD)[4]和奇異值分解[5]等。但這些方法仍存在一些待解決的問(wèn)題,如需要人工選擇和經(jīng)驗(yàn)調(diào)整參數(shù)來(lái)進(jìn)行去噪,且與工程師的經(jīng)驗(yàn)密切相關(guān)。
近年來(lái),深度學(xué)習(xí)已在圖像去噪[6]、自然語(yǔ)言處理[7]和故障診斷[8]等各個(gè)領(lǐng)域得到了快速發(fā)展。作為深度學(xué)習(xí)中的一種典型算法,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在信號(hào)去噪和圖像去噪領(lǐng)域得到了廣泛的應(yīng)用。Jain等[9]采用CNN學(xué)習(xí)從低質(zhì)量圖像到純凈圖像的端到端的非線性映射,以去除圖像中的噪聲。Han等[10]提出了一種基于非局部全卷積神經(jīng)網(wǎng)絡(luò)的振動(dòng)信號(hào)去噪方法。邢玉龍等[11]提出了一種基于全卷積神經(jīng)網(wǎng)絡(luò)的信號(hào)去噪方法,以消除機(jī)車信號(hào)中的噪聲。CNN可以提取圖像或信號(hào)中的局部特征,以完成良好的去噪效果,但其初始權(quán)值的選取隨機(jī)性較大,導(dǎo)致網(wǎng)絡(luò)學(xué)習(xí)速度緩慢、易陷入局部最優(yōu)等問(wèn)題。
元啟發(fā)式算法在優(yōu)化網(wǎng)絡(luò)架構(gòu)和訓(xùn)練參數(shù)方面有很大的潛力,包括粒子群、遺傳、差分進(jìn)化、蟻群、灰狼和模擬退火等[12]。然而,這些算法容易陷入局部最優(yōu)解,參數(shù)設(shè)置較多,難以高效搜索最優(yōu)解。鯨魚優(yōu)化算法[13]具有強(qiáng)大的全局搜索能力,算法參數(shù)較少,從而避免網(wǎng)絡(luò)陷入局部最優(yōu)解。因此,本文提出一種基于鯨魚優(yōu)化算法(whale optimization algorithm,WO)和批量規(guī)范化卷積神經(jīng)網(wǎng)絡(luò)(batch normalization convolutional neural network,BN-CNN)的振動(dòng)信號(hào)去噪方法。
BN-CNN引入了殘差學(xué)習(xí)的思想[14],用于學(xué)習(xí)含噪信號(hào)中的噪聲特征。將含噪振動(dòng)信號(hào)的幅度譜和噪聲信號(hào)的時(shí)域波形分別作為訓(xùn)練特征和訓(xùn)練目標(biāo)進(jìn)行訓(xùn)練和測(cè)試,通過(guò)作差得到去噪的振動(dòng)信號(hào)。BN-CNN網(wǎng)絡(luò)的結(jié)構(gòu)框架如圖1所示。該網(wǎng)絡(luò)模型首先采用卷積層和ReLU激活函數(shù)對(duì)輸入信號(hào)進(jìn)行特征提取。其次,輸入到由卷積層、BN層和ReLU激活函數(shù)組成的并行模塊中,通過(guò)不同大小的卷積核對(duì)特征進(jìn)行由大到小的特征提取。最后,采用一個(gè)全連接層進(jìn)行特征融合,并輸出噪聲信號(hào)。

圖1 BN-CNN網(wǎng)絡(luò)框架
鯨魚優(yōu)化算法是一種基于復(fù)雜優(yōu)化問(wèn)題進(jìn)行尋優(yōu)的算法,模擬了座頭鯨群體的捕獵行為。該算法可分為以下3步:
a.包圍收縮。該階段模擬鯨群識(shí)別獵物并且收縮包圍圈的動(dòng)作。將最靠近目標(biāo)獵物的個(gè)體位置設(shè)為最優(yōu)位置Xb(t),隨著迭代次數(shù)增加,鯨魚個(gè)體不斷更新位置朝獵物靠近,實(shí)現(xiàn)收縮包圍獵物。鯨魚的位置更新公式為:
X(t+1)=Xb(t)-AD
(1)
D=|CXb(t)-X(t)|
(2)

b.螺旋捕食。在圍捕獵物時(shí),鯨魚通過(guò)螺旋向上游動(dòng)的方式向獵物移動(dòng)并吐出氣泡對(duì)獵物進(jìn)行捕食,即在螺旋更新位置的同時(shí)對(duì)包圍圈進(jìn)行收縮。螺旋捕食公式為
(3)
式中:D*=|Xb(t)-X(t)|;p為[0,1]內(nèi)的隨機(jī)數(shù);l為[-1,1]內(nèi)的隨機(jī)數(shù);β為螺旋線狀常數(shù)。
c.搜索獵物。當(dāng)|A|>1時(shí),鯨魚隨機(jī)選擇1個(gè)領(lǐng)導(dǎo)個(gè)體,以此進(jìn)行全局搜索。搜索公式為:
X(t+1)=Xrand(t)-AD
(4)
D=|CXrand(t)-Xi(t)|
(5)
式中:Xrand為隨機(jī)選擇的鯨魚位置向量。
為了解決BN-CNN網(wǎng)絡(luò)在隨機(jī)調(diào)節(jié)網(wǎng)絡(luò)參數(shù)的隨機(jī)性,易陷入局部最優(yōu)的問(wèn)題,采用WO進(jìn)行優(yōu)化BN-CNN網(wǎng)絡(luò),如圖2所示。將BN-CNN中的權(quán)值參數(shù)作為算法中的鯨魚個(gè)體位置,網(wǎng)絡(luò)在訓(xùn)練模型時(shí)的損失函數(shù)作為WO算法的目標(biāo)函數(shù),通過(guò)尋找損失函數(shù)最小的鯨魚位置得到最優(yōu)的BN-CNN神經(jīng)網(wǎng)絡(luò)權(quán)重參數(shù)。具體步驟如下:

圖2 鯨魚算法優(yōu)化神經(jīng)網(wǎng)絡(luò)
a.編碼。向量編碼是指將神經(jīng)網(wǎng)絡(luò)中的每個(gè)向量都作為優(yōu)化算法中的個(gè)體位置進(jìn)行編碼,將BN-CNN神經(jīng)網(wǎng)絡(luò)中卷積層的權(quán)值參數(shù)作為WO算法中的鯨魚個(gè)體位置,具體表示方式為
Uij=[ω14,ω15,ω16,ωij,…,ω24,ω25,ω26,…]
(6)
b.目標(biāo)函數(shù)。鯨魚優(yōu)化算法在求解最優(yōu)解時(shí)主要通過(guò)目標(biāo)函數(shù)來(lái)保留或者淘汰個(gè)體。在WO優(yōu)化BN-CNN神經(jīng)網(wǎng)絡(luò)時(shí),選擇合適的目標(biāo)函數(shù)可以提高算法的收斂速度, 擴(kuò)大搜索范圍以獲得全局最優(yōu)解。鯨魚在捕食行為過(guò)程中會(huì)使得損失函數(shù)達(dá)到最小值,目標(biāo)函數(shù)由均方誤差損失和平均絕對(duì)誤差組成,計(jì)算公式為
(7)

c.鯨魚算法優(yōu)化BN-CNN神經(jīng)網(wǎng)絡(luò)。具體流程如下:
①選定訓(xùn)練集,從樣本集中分別隨機(jī)尋找樣本作為訓(xùn)練集。
②將BN-CNN神經(jīng)網(wǎng)絡(luò)中卷積層的權(quán)值參數(shù)作為WO算法中的鯨魚個(gè)體位置進(jìn)行編碼。
③初始化BN-CNN神經(jīng)網(wǎng)絡(luò)權(quán)值參數(shù)。將網(wǎng)絡(luò)中各閾值、權(quán)值初始化為接近0的隨機(jī)數(shù)。
④初始化WO算法參數(shù),即鯨魚種群的規(guī)模大小、最大迭代次數(shù)以及鯨魚種群位置。
⑤計(jì)算每一頭鯨魚的適應(yīng)度值。
⑥對(duì)鯨魚適應(yīng)度值的大小進(jìn)行排序,選取W個(gè)作為初始種群。
⑦根據(jù)W個(gè)個(gè)體的適應(yīng)度值的大小,將適應(yīng)度值最小的個(gè)體位置作為最優(yōu)位置。
⑧判斷是否達(dá)到終止條件,若滿足則獲得最優(yōu)個(gè)體位置,即BN-CNN的最優(yōu)權(quán)值參數(shù),進(jìn)入下一步;否則,更新個(gè)體位置,返回⑤。當(dāng)概率p≥0.5時(shí),更新其他個(gè)體位置。當(dāng)p<0.5且|A|≥1時(shí),隨機(jī)選擇1個(gè)領(lǐng)導(dǎo)個(gè)體,更新其他個(gè)體位置;當(dāng)p<0.5且|A|<1時(shí),選擇適應(yīng)度最小的個(gè)體作為最優(yōu),更新其他個(gè)體位置;
⑨將最優(yōu)的權(quán)值參數(shù)重構(gòu)BN-CNN,并用訓(xùn)練集訓(xùn)練獲得收斂的BN-CNN網(wǎng)絡(luò)。
實(shí)驗(yàn)采用美國(guó)凱斯西儲(chǔ)大學(xué)的滾動(dòng)軸承振動(dòng)信號(hào)數(shù)據(jù)集。實(shí)驗(yàn)臺(tái)由1臺(tái)1.5 kW(2HP)電機(jī)、1個(gè)扭矩傳感器和1個(gè)安裝在驅(qū)動(dòng)端軸承座上的功率計(jì)組成,如圖3所示,加速度傳感器用于采集滾動(dòng)軸承的振動(dòng)信號(hào)數(shù)據(jù)。被采集的軸承存在內(nèi)圈故障、外圈故障和滾珠故障等3種缺陷位置,損傷直徑分別為0.18 mm、0.36 mm和0.54 mm,共9種故障狀態(tài)。本實(shí)驗(yàn)所用的10種狀態(tài)的振動(dòng)信號(hào)時(shí)域波形如圖4所示。采用快速傅里葉變換獲取振動(dòng)信號(hào)的頻譜圖,如圖5所示。

圖3 西儲(chǔ)大學(xué)滾動(dòng)軸承數(shù)據(jù)采集實(shí)驗(yàn)臺(tái)

圖4 滾動(dòng)軸承振動(dòng)信號(hào)的時(shí)域波形

圖5 滾動(dòng)軸承振動(dòng)信號(hào)的頻譜圖
由于數(shù)據(jù)集的樣本少,并存在不均衡問(wèn)題,采用單個(gè)數(shù)據(jù)重復(fù)加噪的方式增加樣本數(shù)量。在生成訓(xùn)練數(shù)據(jù)集時(shí),分別將9個(gè)不同噪聲水平的高斯白噪聲(噪聲水平為50%~150%)與原始振動(dòng)加速度信號(hào)相疊加構(gòu)成含噪信號(hào),并與原始振動(dòng)信號(hào)組合成對(duì)。采用長(zhǎng)度為2 000的窗口以50%重疊率掃描所有訓(xùn)練數(shù)據(jù),形成訓(xùn)練數(shù)據(jù)集。實(shí)驗(yàn)采用含噪振動(dòng)信號(hào)的幅度譜作為訓(xùn)練特征,含噪振動(dòng)信號(hào)(噪聲水平為50%~150%)頻譜如圖6所示。

圖6 含噪振動(dòng)信號(hào)(噪聲水平為50%~150%)頻譜圖
本實(shí)驗(yàn)所用計(jì)算機(jī)處理器為Intel(R)Core(TM) i5-9400F CPU@2.90 GHz,顯卡為NVIDIA GeForce GTX 1080,內(nèi)存為16 GB。神經(jīng)網(wǎng)絡(luò)采用開(kāi)源的Tensorflow1.4.0模塊搭建,軟件編程環(huán)境為Python3.6。網(wǎng)絡(luò)模型中初始學(xué)習(xí)率設(shè)置為0.001,epoch大小設(shè)置為100次,batch大小為16,WO算法最大迭代次數(shù)為300。BN-CNN網(wǎng)絡(luò)模型的參數(shù)配置如表1所示。為了評(píng)估信號(hào)去噪效果的優(yōu)劣,采用信噪比(signal to noise ratio,SNR)、均方誤差(mean squared error,MSE)和平均絕對(duì)誤差(mean absolute error,MAE)對(duì)網(wǎng)絡(luò)模型去噪后的效果進(jìn)行評(píng)價(jià),公式如下:
(8)

表1 網(wǎng)絡(luò)模型的參數(shù)配置
(9)
(10)

TSNR值越大,TMSE和TMAE越小,代表去噪性能越好。
對(duì)正常軸承、內(nèi)圈故障(損傷直徑為0.18 mm)、滾動(dòng)體故障(損傷直徑為0.18 mm)、外圈故障(損傷直徑為0.18 mm)4種狀態(tài)下的軸承振動(dòng)信號(hào)進(jìn)行去噪,含噪信號(hào)以及采用所提方法去噪后信號(hào)的信噪比變化如圖7所示??梢钥闯?去噪信號(hào)的信噪比都大于含噪信號(hào)的信噪比,表明所提方法可以有效地提高信號(hào)的信噪比,減少噪聲成分。

圖7 含噪聲信號(hào)和去噪信號(hào)的信噪比
為了驗(yàn)證所提模型的去噪能力,將其與小波閾值去噪、EMD去噪、CNN、PSO-BN-CNN進(jìn)行對(duì)比,如表2所示。結(jié)果表明,與小波閾值去噪和EMD去噪方法相比,采用CNN進(jìn)行去噪可以有效地提高信號(hào)質(zhì)量和信噪比。與基于時(shí)域特征的BN-CNN模型相比,基于幅度譜的BN-CNN模型的性能指標(biāo)得到較大提升。與CNN與PSO-BN-CNN方法相比,本文所提WO-BN-CNN方法在不同強(qiáng)度的高斯白噪聲下不僅提高了SNR值,并且MAE與MSE更低,表明引入殘差學(xué)習(xí)和BN層可以更容易學(xué)習(xí)到噪聲特征,使網(wǎng)絡(luò)收斂更快,采用時(shí)頻域特征可以更好地?cái)M合含噪信號(hào)幅度譜與噪聲之間的關(guān)系,有效驗(yàn)證了本文模型的去噪能力。

表2 不同方法的去噪性能比較
針對(duì)傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)易陷入局部最優(yōu),難以從含噪振動(dòng)信號(hào)中提取純凈信號(hào)的問(wèn)題,本文提出了一種基于WO-BN-CNN的振動(dòng)信號(hào)去噪方法。分別采用含噪振動(dòng)信號(hào)的幅度譜和噪聲信號(hào)的時(shí)域波形作為訓(xùn)練特征和訓(xùn)練目標(biāo),充分利用了振動(dòng)信號(hào)在時(shí)頻域上的分布情況。將BN層加入到CNN之后進(jìn)行歸一化,并結(jié)合WO算法用于優(yōu)化BN-CNN的權(quán)值參數(shù)。通過(guò)引入殘差學(xué)習(xí)的思想,學(xué)習(xí)含噪信號(hào)中的噪聲特征,實(shí)現(xiàn)振動(dòng)信號(hào)去噪。實(shí)驗(yàn)結(jié)果表明,相較于對(duì)比的去噪方法,WO-BN-CNN方法具有更高的信噪比、更低的MSE和MAE,提升了去噪效果。