劉恒暢, 姚德臣, 楊建偉, 張 驕
(1. 北京建筑大學(xué) 機(jī)電與車輛工程學(xué)院,北京 100044;2. 北京建筑大學(xué) 城市軌道交通車輛服役性能保障北京市重點(diǎn)實(shí)驗(yàn)室,北京 100044;3. 北京市地鐵運(yùn)營有限公司,北京 100044)
目前旋轉(zhuǎn)機(jī)械被廣泛應(yīng)用在工廠、飛行器和地面載具,旋轉(zhuǎn)機(jī)械的運(yùn)行狀態(tài)決定了工程系統(tǒng)的可靠性和安全性,滾動軸承作為旋轉(zhuǎn)機(jī)械設(shè)備中的重要部件,一旦發(fā)生故障會造成嚴(yán)重的經(jīng)濟(jì)損失,甚至人員傷亡,滾動軸承故障也是導(dǎo)致機(jī)械設(shè)備故障的常見原因之一[1]。因此,對于滾動軸承健康狀態(tài)的監(jiān)測和診斷極為重要。
在滾動軸承故障診斷中,通常包括:①采集設(shè)備振動信號;②對信號進(jìn)行預(yù)處理;③提取信號中有用的特征信息;④建立模型對軸承運(yùn)行狀態(tài)進(jìn)行診斷。但是由于實(shí)際旋轉(zhuǎn)機(jī)械設(shè)備運(yùn)行時(shí),采集到的振動信號通常包含各種類型混合噪聲,如何從信號中提取代表軸承狀態(tài)的特征信息,辨別不同故障類型和故障程度成為傳統(tǒng)軸承故障診斷研究中不可避免的問題[2]。
近幾年,深度學(xué)習(xí)技術(shù)的快速發(fā)展改變了傳統(tǒng)故障診斷方法。深度學(xué)習(xí)解決了從混合振動信號中提取特征信息的難題,避免了復(fù)雜的人工特征提取。較為常用的深度學(xué)習(xí)方法包括[3]:遷移學(xué)習(xí)、長短時(shí)記憶網(wǎng)絡(luò)(long short-term memory, LSTM)、深度殘差網(wǎng)絡(luò)(ResNet)。這些方法都能達(dá)到較好的診斷精度,但是它們有著同樣的問題:模型占據(jù)存儲空間較大,預(yù)測時(shí)間長,計(jì)算速度慢。這些問題導(dǎo)致深度學(xué)習(xí)在故障診斷領(lǐng)域的實(shí)際應(yīng)用中較少。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)是目前深度學(xué)習(xí)應(yīng)用最廣泛的網(wǎng)絡(luò),自從2012年的AlexNet網(wǎng)絡(luò)提出后,各類CNN模型成為視覺識別競賽中的優(yōu)勝者,被證明在圖像分類、視覺識別任務(wù)中有著優(yōu)異的性能[4]。相對于傳統(tǒng)的淺層神經(jīng)網(wǎng)絡(luò),CNN模型由于卷積層的存在具有權(quán)值共享、局部連接等特點(diǎn),減少了模型的參數(shù)量,提高了模型的泛化性,解決了淺層模型在層數(shù)加深后經(jīng)常出現(xiàn)的過擬合問題[5]。Lu等[6]提出將振動信號進(jìn)行歸一化后轉(zhuǎn)換為振動圖像,再利用CNN模型對圖像進(jìn)行分類。李恒等提出先對振動信號進(jìn)行短時(shí)傅里葉變換得到包含時(shí)域和頻域的特征圖,在Le-Net5網(wǎng)絡(luò)的基礎(chǔ)上,建立診斷模型,將特征圖作為模型輸入對軸承運(yùn)行狀態(tài)進(jìn)行診斷[7]。上述方法都能有效診斷軸承運(yùn)行狀態(tài),但是多數(shù)研究主要專注于對模型精度的研究,并沒有考慮模型預(yù)測時(shí)間,模型尺寸等問題。
傳統(tǒng)CNN模型雖然在各類圖像數(shù)據(jù)集上都表現(xiàn)良好,但是在提高模型精度的同時(shí),模型深度也在加深。例如常見的深度殘差網(wǎng)絡(luò),層數(shù)達(dá)到了152層,對運(yùn)行設(shè)備要求較高。為了能夠降低模型對設(shè)備的內(nèi)存要求,提高模型在實(shí)際應(yīng)用的預(yù)測速度。近年提出了輕量化模型的概念,輕量化模型通過卷積核分解,奇異值分解等方法減少網(wǎng)絡(luò)參數(shù),提高網(wǎng)絡(luò)計(jì)算速度。常見的輕量化模型包括:SqueezeNet、Xception、MobileNet、ShuffleNet。以上四種模型通過不同方式壓縮模型參數(shù),實(shí)現(xiàn)網(wǎng)絡(luò)輕量化。輕量化網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集進(jìn)行試驗(yàn)時(shí),相對于傳統(tǒng)CNN模型計(jì)算量和參數(shù)量都減少了一個(gè)數(shù)量級,網(wǎng)絡(luò)精度損失則極少[8]。
試驗(yàn)中利用一維振動信號重構(gòu)為二維矩陣的思想,將矩陣保存為灰度圖作為診斷模型的輸入,使用多分支深度可分離卷積神經(jīng)網(wǎng)絡(luò),對滾動軸承故障類型和故障程度進(jìn)行分類,借助權(quán)重剪枝技術(shù)對模型進(jìn)行優(yōu)化,縮小模型尺寸(診斷模型占運(yùn)行設(shè)備的存儲空間大小),相對于傳統(tǒng)深度學(xué)習(xí)方法提高了診斷效率。
本文提出的基于多分支深度可分離卷積神經(jīng)網(wǎng)絡(luò)的滾動軸承故障診斷方法,利用CNN模型圖像分類的功能對軸承故障種類和程度進(jìn)行診斷。首先需要將采集到的一維振動信號進(jìn)行標(biāo)準(zhǔn)化,并轉(zhuǎn)換為二維矩陣,將矩陣以灰度圖形式保存得到特征樣本,分為訓(xùn)練集、驗(yàn)證集和測試集;然后在MBDS-CNN(multi branch depth separable convolutional neural network)模型的基礎(chǔ)上建立故障診斷模型;將訓(xùn)練集作為模型的輸入,對模型進(jìn)行訓(xùn)練,通過驗(yàn)證集觀察模型在訓(xùn)練過程中診斷精度和損失函數(shù)值(loss)的變化,最后將測試集輸入到訓(xùn)練好的模型中,對模型性能進(jìn)行評估獲取適合滾動軸承故障診斷的最佳網(wǎng)絡(luò)架構(gòu)和超參數(shù)。圖1為故障診斷方法流程圖,圖中epoch代表訓(xùn)練集數(shù)據(jù)的一次遍歷。
圖1 診斷方法流程圖Fig.1 Flow chart of diagnosis method
試驗(yàn)使用多分類交叉熵(categorical cross entropy)作為損失函數(shù),可以準(zhǔn)確描述實(shí)際輸出概率分布與期望分布的距離,損失函數(shù)值越小,實(shí)際分布與期望分布的差異越小。損失函數(shù)公式為
(1)
原始振動數(shù)據(jù)為一維時(shí)間序列信號,而CNN模型的輸入數(shù)據(jù)要求是二維矩陣。為了將一維時(shí)間序列轉(zhuǎn)換成二維數(shù)據(jù)矩陣,試驗(yàn)基于時(shí)間序列信號,隨機(jī)選取R個(gè)采集點(diǎn)作為轉(zhuǎn)換起始點(diǎn),連續(xù)取樣Q個(gè)采集點(diǎn),將Q個(gè)采集點(diǎn)轉(zhuǎn)換為N個(gè)行向量li,將li進(jìn)行歸一化,每個(gè)行向量具有M個(gè)采集點(diǎn)。對于N個(gè)行向量所構(gòu)成的M*N二維矩陣P為一個(gè)圖像樣本[9]。R決定了最終得到的圖像樣本數(shù)量,M和N的大小決定圖像樣本的尺寸,試驗(yàn)中M和N取32,Q取1 024。式(3)是li歸一化公式,其中max取1,min取0。圖2為數(shù)據(jù)轉(zhuǎn)化示意圖。為了提高圖像樣本在文中的視覺效果,圖3為振動圖像樣本。
P=[l1,l2,…,lN]T
(2)
(3)
圖2 振動信號生成圖像樣本Fig.2 Image sample generated by vibration signal
圖3 振動圖像樣本Fig.3 Vibration image sample
傳統(tǒng)CNN模型通過卷積層提取圖像中的特征,隨著卷積層數(shù)量的增加,能夠抽取到的高階特征也越多,網(wǎng)絡(luò)的能力也更加優(yōu)越[10]。但是層數(shù)的增加也使得模型效率降低,對運(yùn)行硬件的要求也大幅提高。
Xception提出使用深度可分離卷積(depthwise separable convolution)代替?zhèn)鹘y(tǒng)卷積操作,深度可分離卷積包括兩個(gè)層:①對每個(gè)輸入通道使用一個(gè)卷積核稱為深度卷積(depthwise convolution, DW);②使用一個(gè)1×1的卷積合并DW的輸出稱為逐點(diǎn)卷積(pointwise convolution, PW)[11-12]。
在標(biāo)準(zhǔn)卷積層,假設(shè)輸入特征圖尺寸為Ni*Ni,通道數(shù)為M,卷積核大小為Nf*Nf,卷積核數(shù)量為K。則卷積層的計(jì)算量為
Ni*Ni*M*K*Nf*Nf
(4)
標(biāo)準(zhǔn)卷積操作包括兩個(gè)步驟:通過卷積核過濾特征和合并特征產(chǎn)生新的高級特征。深度可分離卷積則將標(biāo)準(zhǔn)卷積的兩個(gè)步驟分隔開執(zhí)行,即DW和PW。如圖4所示。
圖4 標(biāo)準(zhǔn)卷積與深度可分離卷積Fig.4 Classic convolution and depthwise separable convolution
深度可分離卷積計(jì)算量為
Ni*Ni*M*Nf*Nf+K*M*Ni*Ni
(5)
對標(biāo)準(zhǔn)卷積和深度可分離卷積的計(jì)算量進(jìn)行比較
(6)
式中:K為通道數(shù)量通常大于1;Nf為卷積核尺寸,常用尺寸包括3×3,5×5,7×7,因此式(5)的值小于1,深度可分離卷積比標(biāo)準(zhǔn)卷積的計(jì)算量少。
由于CNN模型通常具有過參數(shù)的特性,使得模型在直接部署時(shí)會出現(xiàn)計(jì)算成本和內(nèi)存占用高的問題。因此需要對模型進(jìn)行權(quán)重剪枝,提高網(wǎng)絡(luò)的效率[13]。
在訓(xùn)練過程中,權(quán)重剪枝通過將權(quán)重矩陣中最接近0的權(quán)重置為0,刪除了相對應(yīng)的神經(jīng)元連接,減少了模型的浮點(diǎn)運(yùn)算,提高了模型的稀疏度。隨著模型稀疏度的上升,壓縮后的模型體積大幅縮小。圖5顯示了權(quán)重剪枝的過程。
圖5 權(quán)重剪枝Fig.5 Weight pruning
為了驗(yàn)證所提方法的泛化性和抗噪性,在兩個(gè)軸承數(shù)據(jù)集上進(jìn)行了試驗(yàn),通過在數(shù)據(jù)集中加入白噪聲信號獲取具有不同信噪比的帶噪信號。式(6)為信噪比(signal noise ratio, SNR)的計(jì)算公式。Psignal為信號的有效功率,Pnoise為噪聲的有效功率。
(7)
數(shù)據(jù)集1——由美國西儲大學(xué)公布的軸承數(shù)據(jù)構(gòu)成,試驗(yàn)采用轉(zhuǎn)速為1 730 r/min時(shí)驅(qū)動端加速度傳感器采集到的振動數(shù)據(jù),采樣頻率為12 kHz,使用SKF 6205-2RS深溝球軸承[14]。使用的軸承數(shù)據(jù)共計(jì)10類,正常狀態(tài)以及內(nèi)圈、外圈和滾動體故障,故障直徑分別為0.18 mm,0.36 mm,0.54 mm??偣步⒘?個(gè)帶噪數(shù)據(jù)集,信噪比在-6~10 dB,每個(gè)帶噪數(shù)據(jù)集包含15 000個(gè)樣本的訓(xùn)練集、1 000個(gè)樣本的驗(yàn)證集、10個(gè)包含1 000個(gè)樣本的測試集。
數(shù)據(jù)集2——為了驗(yàn)證本文所提算法的有效性,設(shè)計(jì)軸承故障試驗(yàn)臺進(jìn)行驗(yàn)證。試驗(yàn)臺如圖6所示,由驅(qū)動電機(jī)、聯(lián)軸器、齒輪箱和磁粉制動器等組成。在試驗(yàn)臺整個(gè)運(yùn)行過程中,采集振動加速度信號,采樣頻率為12 kHz,轉(zhuǎn)速為1 200 r/min,包含6種軸承狀態(tài):正常、內(nèi)圈故障、外圈故障、滾動體的輕度故障、中度故障、重度故障。試驗(yàn)用的軸承型號為ER16K。建立了6個(gè)帶噪數(shù)據(jù)集,信噪比在-2~8 dB,每個(gè)帶噪數(shù)據(jù)集包含12 000個(gè)樣本的訓(xùn)練集、600個(gè)樣本的驗(yàn)證集、10個(gè)包含600個(gè)樣本的測試集。
試驗(yàn)在Tensorflow的框架下開發(fā),使用AMD的R5-2600x CPU(主頻3.6 GHz),NVIDIA RTX2080ti顯卡,主機(jī)上安裝了CUDA 10.0,Cudnn7.6對顯卡運(yùn)算進(jìn)行加速。
為了提高數(shù)據(jù)分類的準(zhǔn)確性,數(shù)據(jù)集中的標(biāo)簽必須全部轉(zhuǎn)換成數(shù)字,所以試驗(yàn)中使用獨(dú)熱編碼(one-hot)制作標(biāo)簽,獨(dú)熱編碼即將不同類別的標(biāo)簽轉(zhuǎn)換為二進(jìn)制向量,向量維數(shù)即故障類別數(shù),在向量中只有一位是1,其余全是0[15]。表1是標(biāo)簽編碼表。
圖6 軸承故障模擬試驗(yàn)臺Fig.6 Bearing failure simulation test bench
表1 標(biāo)簽編碼表Tab.1 Label coding table
MBDS-CNN使用了1個(gè)卷積核3×3的普通卷積,9個(gè)深度可分離卷積,1個(gè)全局平均池化層和一個(gè)全連接層,為了提高模型的表達(dá)能力,避免隨著層數(shù)的加深出現(xiàn)“梯度消失”的情況,MBDS-CNN使用了多分支結(jié)構(gòu)。圖7為MBDS-CNN的結(jié)構(gòu),圖中s為卷積步長,c為過濾器數(shù)量。
圖7 模型結(jié)構(gòu)圖Fig.7 Model structure diagram
模型中參數(shù)更新的速度由學(xué)習(xí)率決定,學(xué)習(xí)率過大,會導(dǎo)致每次更新參數(shù)時(shí)步長過大,模型無法收斂至極優(yōu)值,學(xué)習(xí)率過小,雖然能保證收斂性,但是會降低模型收斂的效率。
為了避免以上所述問題導(dǎo)致模型無法達(dá)到最佳性能運(yùn)行的情況。試驗(yàn)中使用自適應(yīng)學(xué)習(xí)率,提高模型優(yōu)化速度,學(xué)習(xí)率初始值設(shè)置為0.001,在訓(xùn)練過程中,每個(gè)epoch結(jié)束后,在驗(yàn)證集上評估當(dāng)前模型loss和精度,每隔一個(gè)epoch檢測loss值的變化,小于0.000 1時(shí),學(xué)習(xí)率進(jìn)行衰減,衰減公式為
lr*=lr*0.1
(8)
為了進(jìn)一步加快模型的收斂速度,模型使用RMSprop算法對使用損失函數(shù)進(jìn)行優(yōu)化,避免了優(yōu)化過程中幅度過大的問題。
研究采用了MobileNet、Vgg16、LeNet5、ResNet和AlexNet模型作為對比組試驗(yàn),使用相同的數(shù)據(jù)集與所提方法進(jìn)行比較。在10個(gè)測試集上對模型效果進(jìn)行評估,計(jì)算出模型的平均精度和標(biāo)準(zhǔn)差。
表2為MBDS-CNN模型與對比試驗(yàn)在數(shù)據(jù)集1(無白噪聲)上的平均精度、標(biāo)準(zhǔn)差、預(yù)測時(shí)間和模型尺寸??梢钥闯鲈跓o白噪聲的情況下各模型都具有良好的診斷效果,MBDS-CNN在精度上并無優(yōu)勢,但是在預(yù)測時(shí)間和模型尺寸上,MBDS-CNN模型具有卓越的性能。與同為輕量化模型的MobileNet相比,MBDS-CNN的模型尺寸僅為MobileNet的5.2%,預(yù)測時(shí)間也比MobileNet快了0.22 s。
表2 數(shù)據(jù)集1(無白噪聲)上不同模型試驗(yàn)效果Tab.2 Experimental results of different models on dataset 1 (without white noise)
為了驗(yàn)證MBDS-CNN模型的魯棒性,在數(shù)據(jù)集1上加入了不同強(qiáng)度的噪聲,表3和表4分別顯示了各模型在多種噪聲環(huán)境下的平均診斷精度和標(biāo)準(zhǔn)差。
由表3和表4可以看出,在數(shù)據(jù)集1 的信噪比在5~10 dB時(shí),各模型診斷效果基本相同,但是當(dāng)信噪比低于0時(shí),對比試驗(yàn)?zāi)P统霈F(xiàn)診斷錯(cuò)誤的現(xiàn)象,尤其當(dāng)信噪比在-6 dB時(shí),只有MBDS-CNN的診斷精度依然保持在90%以上。這是因?yàn)樵谛旁氡容^低的情況下,故障特征信息容易被噪聲信號淹沒,MBDS-CNN的多分支結(jié)構(gòu)保證了其可以提取更豐富的特征,融合不同分支上提取的故障特征信息。
表3 數(shù)據(jù)集1上不同模型的平均診斷精度Tab.3 Average accuracy of different models on dataset 1
表4 模型診斷精度的標(biāo)準(zhǔn)差(數(shù)據(jù)集1)Tab.4 Standard deviation of model diagnosis accuracy(dataset 1)
圖8通過t-SNE算法[16]顯示了數(shù)據(jù)集1信噪比為-6 dB時(shí),各模型的預(yù)測結(jié)果。使用阿拉伯?dāng)?shù)字0~9表示軸承的健康狀態(tài)??梢钥闯鰣D8(a) MBDS-CNN的分類效果明顯強(qiáng)于其他模型。
表5為MBDS-CNN模型與對比試驗(yàn)在數(shù)據(jù)集2(無白噪聲)上的平均精度、標(biāo)準(zhǔn)差、預(yù)測時(shí)間和模型尺寸。與數(shù)據(jù)集1上各模型的表現(xiàn)相同,在無白噪聲的情況下,各模型都具有良好的診斷效果。
表6和表7顯示了在數(shù)據(jù)集2上不同模型的平均診斷精度??梢钥闯鯩BDS-CNN在數(shù)據(jù)集2上依然具有良好的抗噪性。與在數(shù)據(jù)集1上的表現(xiàn)相似,對比模型在信噪比為0時(shí),出現(xiàn)診斷精度損失的現(xiàn)象。MBDS-CNN在信噪比為-2 dB時(shí),診斷精度下降,但是其診斷效果依然為各模型中最佳的。
試驗(yàn)結(jié)果顯示MBDS-CNN在數(shù)據(jù)集1信噪比為-6 dB,數(shù)據(jù)集2信噪比為-2 dB時(shí),能夠更好的觀測出模型在抗噪性上的優(yōu)越性。圖9為不同模型在低信噪比數(shù)據(jù)集上訓(xùn)練時(shí)loss值優(yōu)化的過程(因AlexNet在低信噪比情況下,模型未收斂,所以圖中未顯示)。
圖8 數(shù)據(jù)集1(SNR=-6 dB)上不同模型預(yù)測分布Fig.8 Prediction distribution of different models on dataset 1 (SNR=-6 dB)
表5 數(shù)據(jù)集2(無白噪聲)上不同模型試驗(yàn)效果Tab.5 Experimental results of different models on dataset 2 (without white noise)
表6 數(shù)據(jù)集2上不同模型的平均精度Tab.6 Average accuracy of different models on dataset 2
表7 模型診斷精度的標(biāo)準(zhǔn)差(數(shù)據(jù)集2)Tab.7 Standard deviation of model diagnosis accuracy (dataset 2)
圖9 不同模型在低信噪比數(shù)據(jù)集上的訓(xùn)練過程Fig.9 Training process of different models on low SNR dataset
由圖9可以看出在兩個(gè)數(shù)據(jù)集上,MBDS-CNN的收斂速度和收斂效果都是最佳的。部分模型雖然在收斂效果上與MBDS-CNN相似,但是卻出現(xiàn)了過擬合現(xiàn)象,導(dǎo)致模型在測試集上的診斷效果較差,如圖9(a)中的MobileNet與圖9(b)中的Le-Net5。
為了進(jìn)一步觀測各模型對不同故障類型的診斷效果,利用混淆矩陣對各模型在數(shù)據(jù)集2(SNR=0)上的分類結(jié)果進(jìn)行可視化。如圖10所示,除圖最右列和最底行的方塊,對角線的方塊顯示了診斷正確的樣本數(shù)量,其他方塊顯示了診斷錯(cuò)誤的樣本數(shù)量,方塊中的百分比代表了當(dāng)前塊樣本數(shù)量占總體樣本數(shù)量的比例。矩陣右下角的方塊顯示了模型的精度。最右列的方塊代表了輸出類的精度,最后一行代表了召回率。
由圖10可以看出MBDS-CNN對不同故障類型都具有良好的診斷效果。其余模型會出現(xiàn)對某一故障類型診斷效果差的現(xiàn)象,例如Vgg16模型無法有效的對滾動體重度故障和外圈故障進(jìn)行診斷,診斷精度僅為84%和86%。ResNet模型對多數(shù)故障類型都能精準(zhǔn)分類,但是在診斷外圈故障時(shí)也出現(xiàn)了診斷錯(cuò)誤的現(xiàn)象,對外圈故障的診斷精度僅為83%。
圖10 數(shù)據(jù)集2(SNR=0)上分類結(jié)果可視化Fig.10 Visualization of classification results on dataset 2 (SNR=0)
從以上試驗(yàn)結(jié)果可以看出常見的CNN模型在信噪比高的情況下具有良好的診斷效果,但是在噪聲增強(qiáng)的情況下,診斷精度會出現(xiàn)較大的損失。另一方面,經(jīng)典CNN模型具有模型尺寸大,預(yù)測時(shí)間長的缺點(diǎn)。MBDS-CNN使用深度可分離卷積和多分枝結(jié)構(gòu)在縮減模型尺寸的同時(shí),保證了模型的診斷精度,可以在噪聲環(huán)境下對不同故障類型和故障程度進(jìn)行分類。
本文針對基于傳統(tǒng)CNN的故障診斷方法具有模型尺寸大,診斷速度低,難以區(qū)分不同故障程度的缺點(diǎn)。提出基于多分支深度可分離卷積神經(jīng)網(wǎng)絡(luò)的軸承故障診斷方法。通過本文試驗(yàn),驗(yàn)證了:
(1) 將振動信號轉(zhuǎn)換為灰度圖作為MBDS-CNN模型的輸入,能夠很好的發(fā)揮CNN在圖像分類上的優(yōu)勢。
(2) 使用深度可分離卷積和權(quán)重剪枝技術(shù)可以大幅壓縮模型尺寸,另一方面,多分支結(jié)構(gòu)保證了模型壓縮后的診斷精度。
(3) MBDS-CNN相對于傳統(tǒng)CNN模型,具有更好的抗噪性,更快的診斷速度和更小的模型尺寸。
試驗(yàn)結(jié)果表明本文提出的基于多分支深度可分離卷積神經(jīng)網(wǎng)絡(luò)的滾動軸承故障診斷方法能較好地辨識軸承不同故障類型以及故障程度,為深度學(xué)習(xí)在故障診斷領(lǐng)域的應(yīng)用提供了新的思路。