宮文峰 陳輝 張澤輝 張美玲 管聰 王鑫
摘要:卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)作為一種高效的深度學(xué)習(xí)算法已逐漸成為智能故障診斷領(lǐng)域研究的熱點(diǎn)。傳統(tǒng)CNN模型的全連接層結(jié)構(gòu)存在訓(xùn)練參數(shù)量過多的不足,使得模型訓(xùn)練和測(cè)試的時(shí)間較長(zhǎng)。為此,提出了一種改進(jìn)CNN的新方法用于滾動(dòng)軸承故障的快速智能診斷。該方法引入全局均值池化技術(shù)代替?zhèn)鹘y(tǒng)CNN的全連接層部分,有效解決了傳統(tǒng)CNN模型參數(shù)量過多的問題,并運(yùn)用數(shù)據(jù)增強(qiáng)、Dropout等深度學(xué)習(xí)訓(xùn)練技巧防止模型過擬合。最后將提出的方法應(yīng)用于滾動(dòng)軸承故障實(shí)驗(yàn)數(shù)據(jù)的智能診斷,并與傳統(tǒng)智能診斷算法進(jìn)行對(duì)比驗(yàn)證。結(jié)果顯示,改進(jìn)的CNN算法的故障識(shí)別準(zhǔn)確率高達(dá)99.04%,在診斷準(zhǔn)確率及測(cè)試時(shí)間方面明顯優(yōu)于傳統(tǒng)CNN和其他智能算法。整個(gè)診斷過程無(wú)需任何手工特征提取,“端到端”的算法結(jié)構(gòu)具有較好的可操作性和通用性。
關(guān)鍵詞:故障診斷;滾動(dòng)軸承;卷積神經(jīng)網(wǎng)絡(luò);全局均值池化;深度學(xué)習(xí)
中圖分類號(hào):THl65+.3;TH133.33文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1004-4523(2020)02-0400-14
DOI:10.16385/j.cnki.issn.1004-4523.2020.02.021
引言
近年來(lái),中國(guó)在先進(jìn)航空發(fā)動(dòng)機(jī)、高性能艦船推進(jìn)電機(jī)和大型風(fēng)力發(fā)電機(jī)組等為代表的精密旋轉(zhuǎn)機(jī)械方面取得了突破性進(jìn)展,滾動(dòng)軸承作為旋轉(zhuǎn)機(jī)械中的核心支撐回轉(zhuǎn)部件,其運(yùn)行精度和安全可靠性直接影響旋轉(zhuǎn)機(jī)械的總體性能。滾動(dòng)軸承在復(fù)雜多變的載荷環(huán)境下長(zhǎng)時(shí)問高速連續(xù)運(yùn)轉(zhuǎn),常因沖擊交變載荷、熱疲勞和機(jī)械磨損等影響而發(fā)生各種故障。從故障的演化機(jī)理可知,任何顯著性故障都是由早期微小故障累積演變而來(lái)的,微小故障對(duì)設(shè)備總體安全性影響較小且易于處理,但是其初期特征不明顯,診斷難度遠(yuǎn)高于顯著故障,若處理不及時(shí)可能會(huì)快速發(fā)展為“物理目測(cè)級(jí)”顯著性故障,對(duì)系統(tǒng)造成重大安全影響。因此,研究滾動(dòng)軸承早期微小故障的診斷方法極為必要,目前已得到國(guó)內(nèi)外學(xué)者的廣泛關(guān)注。
近年來(lái),隨著機(jī)器學(xué)習(xí)研究的不斷興起,基于數(shù)據(jù)驅(qū)動(dòng)的智能故障診斷方法逐漸成為故障診斷領(lǐng)域的主流應(yīng)用。傳統(tǒng)的智能故障診斷方法通常包含特征提取、特征選擇和故障分類三個(gè)步驟。特征提取是故障診斷的關(guān)鍵環(huán)節(jié),目前常用的方法有小波變換法(WT)、譜分析法(sA)_9]、經(jīng)驗(yàn)?zāi)B(tài)分解法(EMD)。和傅里葉變換法(FFT)等。特征選擇是在提取后的特征中剔除靈敏度低、效用低的特征,從而精減特征個(gè)數(shù),常用的方法主要包括主元分析法(PCA)和獨(dú)立元分析法(ICA)等。故障分類是將精選的特征輸入故障分類器進(jìn)行模式識(shí)別,通過反復(fù)迭代訓(xùn)練最終輸出故障分類結(jié)果,BP神經(jīng)網(wǎng)絡(luò)(BPNN)、支持向量機(jī)(sVM)和K近鄰法(KNN)已被廣泛用作后端的故障分類器,并取得了較好的效果。經(jīng)過多年的應(yīng)用驗(yàn)證,以上三種算法因其淺層的網(wǎng)絡(luò)結(jié)構(gòu)導(dǎo)致特征提取能力較差,從而難以挖掘和提取故障數(shù)據(jù)更深層次的微小特征。業(yè)內(nèi)學(xué)者通常采用手工特征提取與淺層機(jī)器學(xué)習(xí)算法相結(jié)合的方法進(jìn)行智能故障診斷,這種方法雖然有一定效果,但是仍然突顯出許多不足:一方面,特征選擇必須依賴于工程師的經(jīng)驗(yàn)和專業(yè)知識(shí)完成,存在較大的主觀和盲目性;人工提取的故障特征不全面,反映微小故障的特征易被誤刪或被噪音掩蓋;另一方面,提取的特征主要用于解決特定故障問題,通用性差,且在大數(shù)據(jù)樣本環(huán)境下難以完成。產(chǎn)生上述缺陷的主要原因是現(xiàn)有的智能故障診斷算法中使用的網(wǎng)絡(luò)模型大多是淺層結(jié)構(gòu),其特征提取能力較弱。
2006年,Hinton等提出深度學(xué)習(xí)理論(DeepLearning,DL),DL利用深層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)輸入樣本數(shù)據(jù)逐層特征提取,逐層貪婪學(xué)習(xí)數(shù)據(jù)與標(biāo)簽之問的內(nèi)在聯(lián)系,擺脫了對(duì)手工特征提取和專家經(jīng)驗(yàn)的依賴,克服了傳統(tǒng)智能診斷方法的固有缺陷,目前已成功應(yīng)用于語(yǔ)音識(shí)別、圖像識(shí)別和自然語(yǔ)言處理等領(lǐng)域,近5年開始受到故障診斷領(lǐng)域?qū)W者的關(guān)注。Jia等提出了一種基于深度自編碼(DAE)的故障診斷方法對(duì)滾動(dòng)軸承和行星齒輪箱進(jìn)行了故障診斷,但是需要將原始數(shù)據(jù)轉(zhuǎn)變?yōu)轭l譜信號(hào)。Tamilselvan等提出了一種基于深度信念網(wǎng)絡(luò)(DBN)的故障診斷方法,分別對(duì)飛機(jī)發(fā)動(dòng)機(jī)和電力變壓器進(jìn)行了故障診斷。李巍華等將一個(gè)3層的DBN網(wǎng)絡(luò)應(yīng)用于軸承的故障診斷實(shí)驗(yàn)中,但是軸承的故障采用切槽的方式模擬,故障特征屬于顯著性故障的范疇,難以體現(xiàn)對(duì)微小故障診斷的效果。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Net-work,CNN)是深度學(xué)習(xí)的重要分支之一,它具有強(qiáng)大的特征提取能力,具備提取微小故障特征的潛力,目前主要應(yīng)用于圖像識(shí)別。近年來(lái)有部分學(xué)者將CNN應(yīng)用于故障診斷領(lǐng)域,文獻(xiàn)[11,21]分別將卷積神經(jīng)網(wǎng)絡(luò)用于滾動(dòng)軸承和異步電機(jī)的故障診斷中,兩者雖然都用到了CNN算法,但是仍然需要用傳統(tǒng)的特征提取方法對(duì)原始振動(dòng)數(shù)據(jù)進(jìn)行特征提取,未能充分利用CNN強(qiáng)大的特征提取能力,限制了故障診斷效果的進(jìn)一步提升。曲建嶺等提出了一種基于一維CNN的算法用于滾動(dòng)軸承故障診斷,但是該CNN模型的全連接層的訓(xùn)練參數(shù)量過大,導(dǎo)致訓(xùn)練和測(cè)試時(shí)問較長(zhǎng),不利于故障的快速診斷。
針對(duì)以上不足,本文提出了一種改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)算法,并將該算法用于軸承的微小故障智能診斷。該方法通過改進(jìn)傳統(tǒng)的CNN模型結(jié)構(gòu),設(shè)計(jì)了全局均值池化層代替全連接層結(jié)構(gòu),極大地減少了模型訓(xùn)練參數(shù)量和計(jì)算時(shí)問,并運(yùn)用數(shù)據(jù)增強(qiáng)、Dropout和批量歸一化等多種深度學(xué)習(xí)訓(xùn)練技巧防止模型過擬合,使得提出的方法更適用于故障的在線監(jiān)測(cè)和快速診斷?!岸说蕉恕钡乃惴ńY(jié)構(gòu)使整個(gè)診斷過程無(wú)需任何手工特征提取,擺脫了傳統(tǒng)方法過度依賴專家先驗(yàn)知識(shí)的不足。最后將改進(jìn)的CNN算法應(yīng)用于滾動(dòng)軸承實(shí)驗(yàn)數(shù)據(jù)集進(jìn)行故障診斷,并與傳統(tǒng)的SVM,KNN,BP網(wǎng)絡(luò)和DNN算法對(duì)比分析,驗(yàn)證了改進(jìn)CNN算法的優(yōu)越性和有效性。
1卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是一種深度前饋式神經(jīng)網(wǎng)絡(luò),最早于1989年受靈長(zhǎng)類動(dòng)物視覺系統(tǒng)神經(jīng)元啟發(fā)而提出。CNN具有強(qiáng)大的特征提取能力,專門用于處理網(wǎng)狀結(jié)構(gòu)數(shù)據(jù),它通過構(gòu)建多個(gè)能夠提取輸入數(shù)據(jù)特征的濾波器,并運(yùn)用這些濾波器逐層提取隱藏在輸人數(shù)據(jù)中的代表特征,同時(shí)結(jié)合稀疏式連接和參數(shù)權(quán)共享機(jī)制在時(shí)問和空問上降維采樣精減數(shù)據(jù)維度,減少了訓(xùn)練參數(shù)量,有效避免算法過擬合。同時(shí)它對(duì)縮放、傾斜和平移等其他形式的變換具有不變性,因此得到廣泛的應(yīng)用。圖1為傳統(tǒng)的CNN模型的基本架構(gòu)。
如圖1所示,CNN模型一般主要由卷積層、激活層、池化層、全連接層和Softmax分類器組成。通過交替堆疊多個(gè)卷積、激活和池化組合即可構(gòu)建深層的CNN網(wǎng)絡(luò)。
1.1卷積層
卷積運(yùn)算是CNN的核心模塊,它采用矩形的卷積核遍歷圖片上的每一個(gè)像素點(diǎn),采用參數(shù)共享機(jī)制,同一輸入特征圖使用了相同的卷積核權(quán)重。輸入特征圖與卷積核相重合區(qū)域內(nèi)對(duì)應(yīng)點(diǎn)相乘后求和,再加上偏置,最后得到輸出特征圖中的一個(gè)值。卷積操作的數(shù)學(xué)形式為
1.3池化層
池化的主要目的是降維,由于卷積操作增加了輸出特征圖的個(gè)數(shù),使得特征提取能力提升的同時(shí)輸出維度也急劇增加,容易造成維數(shù)災(zāi)難。池化的主要功能是在保持原有主要特征不丟失的基礎(chǔ)上最大限度地降低輸出特征圖的尺寸維度,既減少參數(shù)計(jì)算量又篩選了主要代表特征。CNN中應(yīng)用最多的是最大池化,方法是從池化核所對(duì)應(yīng)區(qū)域內(nèi)取出最大值作為代表值,它對(duì)紋理特征很敏感,其數(shù)學(xué)表達(dá)式為
經(jīng)過長(zhǎng)期實(shí)踐發(fā)現(xiàn):如圖1所示的傳統(tǒng)CNN模型中,由全連接層所帶入的參數(shù)量幾乎占據(jù)了CNN模型總參數(shù)量的80%-90%,這一問題將CNN通過池化降維減少訓(xùn)練參數(shù)量的優(yōu)勢(shì)抵消,尤其是包含多個(gè)隱層的全連接層,參數(shù)量將隨層數(shù)增加呈指數(shù)級(jí)增長(zhǎng),全連接層的結(jié)構(gòu)設(shè)計(jì)既占用了過多的計(jì)算資源,同時(shí)又容易引起模型計(jì)算過擬合;更重要的是,訓(xùn)練好的帶有全連接層的CNN模型因參數(shù)量過多使得用在故障在線診斷時(shí)測(cè)試耗時(shí)過長(zhǎng),不利于實(shí)時(shí)快速診斷。
2改進(jìn)的CNN智能診斷算法
針對(duì)傳統(tǒng)CNN模型和現(xiàn)有淺層智能診斷算法的不足,本文提出了一種改進(jìn)的CNN算法用于滾動(dòng)軸承的微小故障智能診斷,如圖2所示。該方法采用多層CNN作為特征提取器,通過改進(jìn)傳統(tǒng)CNN結(jié)構(gòu),引入全局均值池化技術(shù)代替全連接層部分,減少模型的訓(xùn)練參數(shù)量和測(cè)試時(shí)問。提出的方法在整個(gè)故障診斷過程中無(wú)需對(duì)原始數(shù)據(jù)做任何的手工特征提取和特征變換操作,只需將滾動(dòng)軸承的原始故障數(shù)據(jù)輸入改進(jìn)的CNN模型,故障診斷結(jié)果自動(dòng)輸出,“端到端”的算法結(jié)構(gòu)具有更好的可操作性和通用性。
如圖2所示,改進(jìn)的CNN算法結(jié)構(gòu)中主要由輸入層、特征提取層和分類輸出層組成,其中特征提取層與傳統(tǒng)的CNN相類似,可包含多個(gè)依次堆疊的卷積層、激活層和池化層,在最后一組特征提取層的卷積層之后設(shè)計(jì)了全局均值池化層代替全連接層,然后連接Softmax分類器。改進(jìn)的CNN智能故障診斷方法的基本流程如圖3所示。
在圖3中包含了訓(xùn)練過程和測(cè)試過程2個(gè)階段。在模型的訓(xùn)練過程中,首先將Softmax函數(shù)與CNN組合,通過Softmax函數(shù)進(jìn)行誤差反向傳播,使損失函數(shù)J(ω)最小化,完成CNN模型參數(shù)的訓(xùn)練;在模型的測(cè)試階段,同樣采用已訓(xùn)練好的CNN模型對(duì)新故障數(shù)據(jù)進(jìn)行特征提取,得到新故障數(shù)據(jù)的稀疏低維代表特征向量,最后再把該低維特征數(shù)據(jù)輸入給Softmax分類器完成最終的故障分類,直接輸出故障診斷的結(jié)果。該算法的具體的實(shí)現(xiàn)步驟如下:
1)獲取滾動(dòng)軸承的原始數(shù)據(jù)信號(hào)(如振動(dòng)、噪聲信號(hào)),用于訓(xùn)練CNN模型;
2)將采集的故障數(shù)據(jù)進(jìn)行規(guī)范化、歸一化和數(shù)據(jù)格式標(biāo)準(zhǔn)化;
3)將數(shù)據(jù)劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集;
4)設(shè)計(jì)CNN模型結(jié)構(gòu),初始化參數(shù);
5)用訓(xùn)練集數(shù)據(jù)對(duì)CNN模型進(jìn)行預(yù)訓(xùn)練,反復(fù)執(zhí)行前向傳播和反向傳播迭代計(jì)算過程,進(jìn)行調(diào)參,并用驗(yàn)證集數(shù)據(jù)驗(yàn)證訓(xùn)練后的模型診斷準(zhǔn)確率是否滿足實(shí)際要求,滿足執(zhí)行步驟6,否則跳轉(zhuǎn)到步驟4,修改模型參數(shù),直到獲取合適的模型超參數(shù)和訓(xùn)練參數(shù)為止,并保存相對(duì)最佳的模型;
6)最后把測(cè)試集數(shù)據(jù)輸入到已訓(xùn)練的CNN模型中,最終得到軸承故障診斷的分類結(jié)果。
改進(jìn)的CNN算法的基本組成單元如下。
2.1輸入數(shù)據(jù)層
輸入層用于對(duì)獲取的原始數(shù)據(jù)進(jìn)行必要的標(biāo)準(zhǔn)化及格式歸整等操作,將原始數(shù)據(jù)轉(zhuǎn)化為CNN模型可訓(xùn)練的類型。通常輸人CNN模型的原始數(shù)據(jù)格式是二維像素網(wǎng)格數(shù)據(jù)(如圖像數(shù)據(jù))或三維立體數(shù)據(jù)(如CT掃描或彩色視頻數(shù)據(jù))。對(duì)于滾動(dòng)軸承采集的一維時(shí)問序列故障振動(dòng)信號(hào)可通過數(shù)據(jù)重構(gòu)法轉(zhuǎn)化為二維的輸人特征圖形式。
2.2特征提取層
特征提取層由傳統(tǒng)CNN的卷積層、激活層和池化層組成,并且根據(jù)診斷對(duì)象的需要通過交替堆疊多個(gè)卷積層、激活層和池化層即可構(gòu)建深層的特征提取層。具體的卷積層、激活層和池化層見1.1,1.2,1.3節(jié)所示,此處不再贅述。
2.3全局均值池化層
全局均值池化層是用來(lái)解決全連接網(wǎng)絡(luò)參數(shù)過多而提出的新技術(shù),與池化層操作相類似,全局均值池化是對(duì)最后一層卷積操作輸出的特征圖取全局平均值。在CNN的故障診斷應(yīng)用中,最終輸入到Softmax分類器的維度數(shù)即是故障類別的個(gè)數(shù),由于本文改進(jìn)的CNN中將全局均值池化層直接與Softmax分類器連接,而全局均值池化層的前一層是CNN的卷積層,因此對(duì)于n分類問題,可將CNN中的最后一個(gè)卷積層的卷積核的輸出維度設(shè)置為n,從而得到n個(gè)輸出特征圖,再采用n個(gè)全局均值池化核,每個(gè)池化核的大小和步長(zhǎng)與輸出特征圖的尺寸相同,然后求取每個(gè)池化核對(duì)應(yīng)的平均值,使每一張?zhí)卣鲌D生成一個(gè)值,即可得到n個(gè)與全連接層輸出效果同等的值,最后輸入到Softmax分類器中。全局均值池化的數(shù)學(xué)表達(dá)式為