馮浩楠, 付 勝, 胥永剛
(1.北京工業(yè)大學 材料與制造學部,北京 100124;2.三亞學院 理工學院,海南 三亞 572022)
旋轉(zhuǎn)機械廣泛應用于電力、石化、采礦、汽車制造、航空航天等部門,一旦發(fā)生故障,輕者會影響使用造成經(jīng)濟損失,嚴重情況下會導致機器損壞甚至人員傷亡。旋轉(zhuǎn)機械的主要故障有不平衡、軸不對中、松動、碰磨以及軸承故障,其中軸承故障又包含內(nèi)圈、外圈、滾動體、保持架等故障類型。在旋轉(zhuǎn)機械的故障中,基于振動信號的分析是最容易獲取、研究更加成熟的一種方法。
對旋轉(zhuǎn)機械故障的研究主要經(jīng)歷了以下3個過程:①旋轉(zhuǎn)機械不同的故障類型通常伴隨著不同的特征頻率,通過傳統(tǒng)的信號分析方法對旋轉(zhuǎn)機械故障的特征頻率進行分析來確定其故障類型,其中包括傅里葉變換[1]、奇異值分解[2]、多尺度模糊熵分析[3]、經(jīng)驗模態(tài)分解[4]等,但這些方法所提取的特征一般僅能部分表征軸承故障信息;②隨著傳統(tǒng)機器學習的發(fā)展,出現(xiàn)了一批基于傳統(tǒng)機器學習的故障診斷方法,其中包括基于機器學習的支持向量機[5]、K 最近鄰分類[6]等基于一個或綜合多個故障特征進行故障識別,由于故障表征信息的不完備性,所以要根據(jù)特定的信號采取不同的特征提取方法,且故障診斷的正確率有待提高;③由Hinton等[7]提出的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)的方法,作為機器學習領(lǐng)域的新方法,其具有強大的特征自提取能力,在圖像識別、語音識別等領(lǐng)域取得了顯著的效果[8-10]。近年來隨著深度學習的發(fā)展,越來越多的方法被應用到旋轉(zhuǎn)機械故障診斷中來,其中包括旋轉(zhuǎn)機械一維深度卷積神經(jīng)網(wǎng)絡(luò)故障診斷研究[11],文獻中提出基于一維深度卷積神經(jīng)網(wǎng)絡(luò)的故障診斷模型;基于短時傅里葉變換和卷積神經(jīng)網(wǎng)絡(luò)的軸承故障診斷方法[12],文獻中提出了基于短時傅里葉變換和卷積神經(jīng)網(wǎng)絡(luò)的故障診斷方法,實現(xiàn)了端到端的故障模式識別;基于淺層多尺度卷積神經(jīng)網(wǎng)絡(luò)的軸承故障診斷研究[13],文獻中提出一種適用于軸承故障診斷的淺層多尺度網(wǎng)絡(luò)模型,并將一維振動信號轉(zhuǎn)換為二維時頻圖,利用圖像進行故障分類。這些深度學習的方法實現(xiàn)了智能故障診斷,診斷準確率有了不同程度的提高,但大部分方法準確率仍有提升空間,此外二維圖像的方法雖然得到了較高的準確率但是轉(zhuǎn)換為二維圖像的過程本身就是一個特征選取的過程,并且具有很高的工作量,因此這種方法并不是真正意義上的智能故障診斷的解決方案。
針對以上問題,本文提出了基于批量歸一化(batch normalization,BN)層的一維卷積神經(jīng)網(wǎng)絡(luò)模型(BN-1DCNN),對傳統(tǒng)的卷積核進行改進將其變成一維卷積核,并在結(jié)構(gòu)中加入BN層來防止一維情況下容易過擬合的問題,并基于HZXT-008小型轉(zhuǎn)子實驗臺采集的數(shù)據(jù)驗證了模型的有效性。
卷積神經(jīng)網(wǎng)絡(luò)作為深度學習的代表之一,與傳統(tǒng)機器學習最大的區(qū)別是實現(xiàn)了特征的自提取,用卷積的過程代替了傳統(tǒng)機器學習中復雜繁瑣的特征提取過程,實現(xiàn)了智能故障診斷。
卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)機器學習在故障診斷中的區(qū)別,如圖1所示。傳統(tǒng)的機器學習方法特征的提取與故障診斷是兩個分開的過程,而特征提取方法根據(jù)設(shè)備的不同以及測點的選擇需要采取不同的方法,并且選擇的特征對診斷結(jié)果有很大的影響。此外,選擇的特征的質(zhì)量往往取決于工程經(jīng)驗,這限制了該方法的廣泛應用。而卷積神經(jīng)網(wǎng)絡(luò)的方法集特征提取與故障診斷于一體,通過卷積的方法代替了故障特征方法選擇與故障特征提取的過程,實現(xiàn)了真正意義上的智能故障診斷。
(a) 傳統(tǒng)機器學習
卷積神經(jīng)網(wǎng)絡(luò)主要包括卷積層、池化層和全連接層。卷積神經(jīng)網(wǎng)絡(luò)經(jīng)典(Lenet-5),如圖2所示。其中卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心基石。卷積神經(jīng)網(wǎng)絡(luò)的卷積層是使用卷積核對輸入信號(或特征)的局部區(qū)域進行卷積運算,并產(chǎn)生相應的特征。卷積層最重要的特點是權(quán)值共享,即同一個卷積核將以固定的步長遍歷一次輸入。權(quán)值共享減少了卷積層的網(wǎng)絡(luò)參數(shù),避免了由于參數(shù)過多造成的過擬合,并且降低了系統(tǒng)所需內(nèi)存。本文用到的一維卷積情況,對于兩個離散信號f和g,卷積定義如式(1)。
圖2 卷積神經(jīng)網(wǎng)絡(luò)經(jīng)典模型
(1)
式中:n為待卷積離散信號的長度;m為卷積核的大小。
池化是卷積神經(jīng)網(wǎng)絡(luò)與普通神經(jīng)網(wǎng)絡(luò)最不同的地方,池化的概念本身并不屬于一個具體操作,而是代表一種對統(tǒng)計信息的提取過程。在卷積神經(jīng)網(wǎng)絡(luò)中,在特征圖上一個給定區(qū)域內(nèi)求出一個能代表這個區(qū)域特點的值,在深度學習中較為常見的池化有最大值池化和平均值池化。對于一維卷積神經(jīng)網(wǎng)絡(luò),池化過程如式(2)所示,最大池化即將池化窗口內(nèi)最大值作為特征值輸出,平均池化即將池化窗口內(nèi)值的平均值作為輸出。
(2)
式中:d為池化前的特征向量;d1為最大池化后的結(jié)果;d2為均值池化后的結(jié)果;池化大小2×2。
全連接層是將濾波級提取出的特征進行分類。具體做法是將整個網(wǎng)絡(luò)的最后一層卷積層或池化層得到的特征圖向量按行或按列排成一維特征向量作為全連接層。若整個網(wǎng)絡(luò)用來做分類時,輸出層為一個分類器,輸出節(jié)點數(shù)與類別數(shù)一致,且每個節(jié)點的輸出值代表輸入樣本屬于對應類別的概率。文中所選用的是Softmax分類器,是一種多分類的分類器。
BN的思想是由GoogLeNet網(wǎng)絡(luò)的作者Christian Szegedy提出[14],對于提高深層神經(jīng)網(wǎng)絡(luò)的訓練效率,增強網(wǎng)絡(luò)的魯棒性有著很好的作用。批量歸一化是一種數(shù)據(jù)歸一化方式,對于訓練中的來自任何輸出的一個Batch的數(shù)據(jù),{x1,x2,…,xn}批零歸一化操作如下所示。
計算每個維度的(每列)的均值。
(3)
計算每個維度的(每列)的方差。
(4)
對輸入數(shù)據(jù)的每一維進行歸一化。
(5)
(6)
式(3)~式(5)為數(shù)據(jù)的歸一化過程。通過這一過程數(shù)據(jù)被規(guī)約到了一個中心區(qū)域,這可以很好的對抗梯度消失并且防止過擬合。如果這樣的操作作用在網(wǎng)絡(luò)的每一層上,就可以將數(shù)據(jù)的分布控制在隨輸入變化敏感的區(qū)域內(nèi),使其呈正態(tài)分布,相當于不用考慮數(shù)據(jù)分布的改變,這樣訓練的效率和準確率就被提高了。但是由于減均值除方差得到的不一定是最好的分布,比如本文中在一組試驗中加入了噪聲,這時通過式(6)中γ與β來控制正態(tài)分布的寬和高,使得每一層輸出的數(shù)據(jù)始終呈現(xiàn)一種正態(tài)分布,來極大的改善模型的訓練效率。
Lenet-5作為卷積神經(jīng)網(wǎng)絡(luò)發(fā)展的基礎(chǔ),在數(shù)據(jù)簡單、特征明顯的樣本中表現(xiàn)優(yōu)秀,但是隨著樣本復雜度增加該模型的表現(xiàn)了會逐漸變差?;贐N-1DCNN的卷積網(wǎng)絡(luò)模型是指在經(jīng)典卷積網(wǎng)絡(luò)模型的基礎(chǔ)上進行優(yōu)化,目的在于提高Lenet-5在復雜樣本中的能力,而復雜樣本一般表現(xiàn)為數(shù)據(jù)量龐大和噪聲干擾較多,針對該問題主要的解決方案是在原始結(jié)構(gòu)的基礎(chǔ)上加入BN層以及Dropout層來提高模型處理數(shù)據(jù)的能力,主要操作步驟是在卷積層與池化層之間加入BN層,并對卷積核進行改進使之成為一維卷積核,這樣做的目的是由于采集的振動信號為一維數(shù)據(jù),并且該數(shù)據(jù)相比二維圖像而言更為簡單,冗余信息相對較少,但是這種情況下更容易導致模型訓練過擬合,加入BN層能很好的避免模型過擬合。除此之外在兩個全連接層中間加入一層Dropout層,進一步防止模型過擬合,使模型更優(yōu),改進后的模型,如圖3所示。
圖3 BN-1DCNN網(wǎng)絡(luò)結(jié)構(gòu)
本節(jié)基于HZXT-008小型轉(zhuǎn)子實驗臺采集數(shù)據(jù)進行試驗,并基于BN-1DCNN模型對故障類型進行分類,最后將分類結(jié)果與Lenet-5以及Huang等提出的淺層多尺度模型進行對比,來對模型進行客觀的評價與分析。
本次試驗采用HZXT-008小型轉(zhuǎn)子實驗臺,如圖4所示。它由電機、聯(lián)軸器、軸承、轉(zhuǎn)盤、減速器等幾部分構(gòu)成,可模擬旋轉(zhuǎn)機械的各種工作狀態(tài)及故障。
圖4 HZXT-008小型轉(zhuǎn)子試驗臺結(jié)構(gòu)
試驗中采用PCI-4472采集卡搭配YD121型加速度傳感器采集振動數(shù)據(jù),采樣頻率為12 kHz,實驗臺轉(zhuǎn)速為1 000 r/min,共采集正常狀態(tài)、內(nèi)圈故障、外圈故障、滾動體故障、保持架故障、基座松動、碰磨故障以及軸不對中故障、軸不平衡9種運行狀態(tài),圖5列出了部分試驗中設(shè)置故障類型的方法。其中每1 000個點為一組,共計采集8 640組故障數(shù)據(jù),其中訓練數(shù)據(jù)6 480組,測試數(shù)據(jù)2 160組,表1為本次試驗采集的數(shù)據(jù)介紹及訓練中所使用的標簽。
(a) 軸承故障
表1 試驗采集故障類型數(shù)據(jù)描述
本文構(gòu)建的BN-1DCNN網(wǎng)絡(luò)各層網(wǎng)絡(luò)參數(shù),如表2所示。它包含兩個卷積層(C1,C2)、兩個池化層(P1,P2)、兩個BN層(B1,B2)以及兩個全連接層(F1,F2)和一個Dropout層,訓練過程使用如式(7)~式(8)所示的L2正則化以及如式(9)所示的滑動平均。
表2 BN-1DCNN網(wǎng)絡(luò)各層參數(shù)描述
(7)
(8)
L2正則化實現(xiàn)對每一層的權(quán)重加以約束,保證權(quán)重系數(shù)在絕對值意義上足夠小,使得噪聲不容易被擬合。
vt=β·vt-1+(1-β)·θt
(9)
式中:變量υ在t時刻記為vt;θt為變量υ在t時刻的取值;β∈[0,1),相當于β=0相當于沒有使用滑動平均,文中取β=0.99。
滑動平均用來估計變量的局部均值,使得變量的更新與一段時間內(nèi)的歷史取值有關(guān),增強訓練的穩(wěn)定性。
訓練的迭代過程總計10 000輪,通過每次的迭代對網(wǎng)絡(luò)的權(quán)值進行更新,使得目標函數(shù)的值趨于最小,每50輪記錄訓練過程的損失值以及測試的準確率,采用Tensorboard實時觀測損失值以及準確率,圖6、圖7為訓練過程中損失值以及準確率的變化過程。
圖6為訓練過程中測試準確率的變化,圖7為訓練過程中預測值與真實值的差,即損失值的變化過程??梢钥闯龌贐N-1DCNN的模型在訓練過程中隨著訓練次數(shù)的增加,準確率和損失值都在朝著理想的方向增加,在3 000輪左右,訓練模型趨于穩(wěn)定,收斂于最終結(jié)果,并且準確率達到98.43%,損失值降到0.06,且達到穩(wěn)定之后二者變化都趨于穩(wěn)定。對最終的結(jié)果用混淆矩陣進行分析,如圖8所示??梢钥闯?除了滾動體和保持架兩類故障有部分混淆,其余故障類型判斷準確率基本達到100%,這樣的準確率應該能夠滿足實際需要。
圖6 訓練過程中準確率變化
圖7 訓練過程中損失值變化
圖8 結(jié)果分析
為了進一步驗證BN-1DCNN模型對于旋轉(zhuǎn)機械故障診斷的效果,本文將其與Lenet-5以及Huang等提出的一種適用于軸承故障診斷的淺層多尺度卷積神經(jīng)網(wǎng)絡(luò)(multi-scale convolutional neural network,MSCNN)模型就行了試驗對比。MSCNN網(wǎng)絡(luò)模型的創(chuàng)新之處在于在第二層卷積層使用了4個不同尺寸的卷積核進行了卷積,這樣做的目的是通過提取更多維度的信息來提高診斷的準確率,本文將此模型的卷積核進行了一維化處理,并加入了BN層來與BN-1DCNN模型進行對比,MSCNN網(wǎng)絡(luò)模型如圖9所示。3種模型訓練過程的準確率以及損失值對比如圖10、圖11所示。
圖9 MSCNN網(wǎng)絡(luò)模型
圖10 準確率對比
圖11 損失值對比
圖10和圖11分別為訓練過程中3種模型損失值以及準確率的變化過程,可以看出BN-1DCNN模型和MSCNN模型比Lenet-5具有更高的判斷準確率以及更穩(wěn)定的訓練過程。由于Lenet-5并未加入BN層,因此在整個訓練過程中損失函數(shù)存在較大的波動,準確率最終收斂于87.25%,而BN-1DCNN模型和MSCNN模型的準確率都達到了98%以上。而BN-1DCNN模型和MSCNN模型相比,可以看出在訓練的前期,MSCNN由于提取了更多維度的信息準確率發(fā)生了一定程度的波動,可以理解為MSCNN在提取了更多信息的同時也提取了更多的干擾信號,這導致了模型對外來噪聲比較敏感而導致模型發(fā)生另一種程度的過擬合,同時這種模型因為龐大的計算量也極大的增加了訓練時間,表3為當利用tensorboard在訓練過程達到3 550輪時的監(jiān)測信息,可以看出當BN-1DCNN訓練到3 550輪時只用了32 min 5 s,而MSCNN卻用了1 h 48 min 24 s,這也體現(xiàn)了BN-1DCNN模型的優(yōu)勢。
表3 BN-1DCNN與MSCNN模型訓練用時對比
上文提出噪聲對MSCNN模型具有較大影響而BN-1DCNN更為穩(wěn)定,為此進行了一組重復性試驗。具體方法是再次采集相同故障的數(shù)據(jù)類型,在采集過程中通過敲擊試驗基座的方式加入噪聲,用文中訓練好的3種模型對再次采集的數(shù)據(jù)進行分類,本文將采集的信號進行了30次重復試驗,得到的結(jié)果如圖12所示。
圖12 重復性試驗準確率對比
圖12為在這30輪重復性試驗中3種模型的表現(xiàn),BN-1DCNN模型在30組重復性試驗中標準差為0.000 81,極差為0.003 6;MSCNN模型在30組重復性試驗中標準差為0.013 081,極差為0.040 92。而Lenet-5在30組重復性試驗中標準差為0.010 93,極差為0.038 89??梢钥闯黾尤胍徊糠衷肼暣_實影響了MSCNN的判斷,因此在淺層網(wǎng)絡(luò)的基礎(chǔ)上加入多尺度的結(jié)構(gòu)會一定程度上造成模型的過擬合。而本文所用的BN-1DCNN模型在30次重復性試驗的過程中保持了較高準確率的同時也保持了較高的穩(wěn)定性。
本文建立了基于BN層的一維卷積神經(jīng)網(wǎng)絡(luò)的旋轉(zhuǎn)機械智能故障診斷算法模型,將卷積神經(jīng)網(wǎng)絡(luò)的應用領(lǐng)域拓展至一維振動信號分析與處理,并對該算法的有效性與穩(wěn)定性進行了驗證。本文所用到的卷積神經(jīng)網(wǎng)絡(luò)模型具有以下優(yōu)點:
(1) 將特征提取與智能分類相結(jié)合,避免了手動選取特征提取方法的過程。
(2) 通過一維卷積核的方法避免了需要將一維振動信號二維化來使用卷積神經(jīng)網(wǎng)絡(luò)進行分類的過程,實現(xiàn)了真正意義上的智能故障診斷。
(3) 通過加入BN層的方法極大的改善了模型的穩(wěn)定性,并取得了極高的準確率。
本文提出的BN-1DCNN模型僅在旋轉(zhuǎn)機械故障診斷領(lǐng)域做出了驗證,在其他領(lǐng)域的應用有待驗證。另外本文中所使用的訓練集與測試集的比例、卷積核的大小以及Dropout層的比例等數(shù)據(jù)均是多次訓練試驗的結(jié)果不是文章重點,所以并未做出具體說明。