張西寧,劉書語,余迪,雷建庚,李霖
(西安交通大學機械制造系統工程國家重點實驗室,710049,西安)
隨著機械設備狀態(tài)監(jiān)測測量規(guī)模增大、測點數量的增多,機械設備狀態(tài)監(jiān)測和故障診斷進入了“大數據時代”[1]。傳統的基于信號處理的故障診斷方法采用手動提取特征后輸入分類模型進行故障識別[2],過程嚴重依賴人工經驗和先驗知識,這在數據規(guī)模大、獲取速度快的今天顯得捉襟見肘。如何從海量的機械大數據中自動提取有用特征,并精準地對軸承等零部件進行故障診斷成為當下研究熱點。
深度學習因為處理數據和識別復雜問題能力強[3-4]受到了學術界和企業(yè)越來越多的關注。深度卷積神經網絡(DCNN)是深度學習中最重要的模型之一,最早在20世紀80年代被提出,興起于計算機視覺和自然語言處理等領域[5],如今被廣泛應用在機械故障診斷領域。賈京龍等用卷積神經網絡對變壓器進行診斷并成功識別出故障[6];張偉等通過批量標準化和小批量訓練的方法提高了卷積神經網絡在多負載、強噪聲環(huán)境下對軸承故障的識別能力[7];向宙等以卷積和池化后的特征為權值對反卷積核進行疊加,把信號逐層重構回原信號空間,通過觀察重構信號,解釋了卷積神經網絡對信號提取的實質[8]。
深度卷積神經網絡通過局部連接、權值共享和池化,不僅具有一定程度的平移不變性,還大大減少了網絡的參數數量來避免過擬合[9]。常用的平均池化和最大池化都存在明顯的缺點:平均池化是區(qū)域內每個活性值的權值相等,使得重要特征模糊化;最大池化只保留區(qū)域內的活性最大值,拋棄區(qū)域內其他神經元活性值的同時必然丟失大量的信息。針對這個問題,本文提出了一種用小尺度卷積核通過跳動的方式對特征進行降采樣的方法。從神經元活性值與分布的角度[10],分析了提出的方法優(yōu)于兩種池化方式的原因,并在實驗室變轉速多軸承數據集上進行測試,對比了運用所提出池化方法的改進DCNN與其他兩種DCNN在收斂速度、識別正確率和穩(wěn)定性等方面的優(yōu)勢。
深度卷積神經網絡是參考生物學中感受野機制而提出的一種局部連接和權重共享的深度前饋神經網絡[11]。典型深度卷積神經網絡的結構如圖1所示。卷積層的輸入與輸出關系的數學表達如下
圖1 典型深度卷積神經網絡的結構Fig.1 Typical DCNN structure
Y=f(W*X+b)
(1)
式中:X∈RM×N×D和Y∈Rm×n×p分別為網絡的輸入和輸出;W∈RU×V×P×D為卷積核;b為標量偏置;f(·)為非線性激活函數。池化層的作用是降低特征數量從而減少參數的數量,防止深度卷積神經網絡過擬合。常用的池化層有最大池化層和平均池化層兩種。
深度卷積神經網絡通過誤差反向傳播對參數進行學習,計算卷積層和池化層的梯度后再通過鏈式求導法可以對整個網絡的梯度傳播進行計算。
損失函數L關于第l層的卷積核和偏置的偏導數為
(2)
(3)
式中:L為損失函數;W(l,p,d)為卷積核;Z(l,p)為第l層的第p個沒經過非線性激活函數的凈活性值;X(l-1,d)為第l-1層的輸入;δ(l,p)為損失函數關于Z(l,p)的偏導數;b(l,p)為第l層的第p個偏置。
池化層由于沒有權值,只需要計算損失函數關于池化層的輸入神經元的導數。在進行最大池化時,正向傳播只記錄最大活性值所在的位置;反向傳播只將梯度傳遞給記錄下的神經元,其余神經元不參與傳遞。數學表達式如下
(4)
式中:al(i,t)為神經元;tm為正向傳播時神經元最大活性值所在位置。
最大池化層是選擇每個區(qū)域內所有神經元的最大活性值代表這個區(qū)域;平均池化層是對每個區(qū)域內所有神經元活性值取平均代表這個區(qū)域。最大池化和平均池化的數學表達式如下
(5)
(6)
式中:xi是區(qū)域Rk中每個神經元的活性值。
池化層雖然可以大幅度減少神經元的數量和參數量,但兩種池化方式都存在比較明顯的缺陷:平均池化是區(qū)域內每個活性值的權值相等,雖然綜合考慮了區(qū)域內所有神經元活性值但會模糊重要的特征,效果通常不如最大池化好;最大池化操作假設越重要的特征活性值越大,因此只保留區(qū)域內神經元活性值的最大值,這種過于簡單的選擇方式,拋棄區(qū)域內其他神經元的活性值,必然會導致進行降采樣的同時丟失圖像大量的信息。
為了解決常用池化層的缺點,提出了用步長為2、激活函數為ReLU的小尺度卷積層代替最大池化層,對圖片進行池化的策略。圖像卷積層前后的輸入、輸出尺寸關系用數學公式可表示如下
N=[(Q-F+2P)/S]+1
(7)
式中:N為圖像輸出尺寸;Q為圖像輸入尺寸;F為卷積核尺寸;P為填充數量;S為卷積核滑動步長。
將卷積核的步長設置為2并不進行零補時,圖像經過這樣的卷積層后得到的輸出尺寸變?yōu)檩斎氤叽绲囊话?起到和池化層一樣的降采樣效果。此外,這種池化方式可以使卷積核通過學習調整自身的權重,挑選有用的信息,既綜合考慮區(qū)域內所有神經元的活性值,又能按每個神經元的重要程度分配不同的權重,使輸出結果中蘊含著更多有用的信息,同時彌補了最大池化和平均池化的缺點。
小尺度卷積池化示意如圖2所示。這種改進的池化方式因為含有激活函數增加了整個網絡的非線性,提高了深度卷積神經網絡的學習與表示能力。卷積操作會給網絡引入更多需要學習的參數,對此引入3種策略平衡添加卷積操作導致參數大量增加的問題:首先選取引入參數相對較少的3×3小尺度卷積核;其次在最后用來池化的卷積層中使用深度可分離卷積核,對輸入的每個通道分別執(zhí)行空間卷積,然后通過逐點卷積將輸出通道混合,需要的參數和計算量都少很多;最后用全局平均池化層代替平鋪層和第一個全連接層。
圖2 小尺度卷積核池化示意圖 Fig.2 Schematic diagram of small-scale convolutional pooling
為了分析提出的小尺度卷積池化性能優(yōu)于最大池化的原因,將實驗室中采集的變轉速滾動軸承故障信號時頻圖輸入到使用最大池化層的傳統DCNN中,將網絡中最大池化層可視化。經統計,傳統DCNN每個最大池化層的通道總數與被激活通道的數量如表1所示。分析表1可以看出,輸入傳統DCNN中的圖像在經過最大池化層時許多通道處于未激活的狀態(tài)。
表1 傳統DCNN最大池化層被激活通道數量Table 1 Number of activated channels in the maxpooling layers of traditional DCNN
對圖像進行歸一化,使像素縮放到[0,1]區(qū)間,然后輸入到傳統DCNN中統計最大池化層中神經元活性值的分布情況,如圖3所示,以此分析最大池化層丟失大量信息的原因。從圖中可以看出,最大池化層中神經元活性值大多集中在0附近,雖然活性值的分布隨著網絡深度的增加有擴展到[0,40]區(qū)間的趨勢,但分布區(qū)間還是較小。把相同的時頻圖輸入到使用小尺度卷積池化的改進DCNN中,對用來池化的卷積層進行可視化。統計改進DCNN各卷積池化層的總通道數與被激活通道的數量如表2所示。
(a)第1層
對比表1和表2的數值可以看出,與傳統DCNN相比,圖像經過使用小尺度卷積池化的改進DCNN時,每個池化層中更多的通道處于激活狀態(tài),說明提出的池化方法更有效率。
表2 改進DCNN卷積池化層被激活通道數量Table 2 Number of activated channels in the convolutional pooling layers of improved DCNN
按照圖3相同的方式,統計改進DCNN中卷積池化層神經元活性值的分布情況如圖4所示。雖然多數神經元活性值仍集中在0附近,但活性值的分布區(qū)間更大,在第4層小尺度卷積池化層中,神經元活性值的范圍擴展到了[0,120]。結合所用激活函數ReLU的圖像可知,神經元活性值大于0時才處于激活狀態(tài)。為證明提出的池化方法比最大池化在保留信息的數量與多樣性上都存在優(yōu)勢,計算了兩者激活的神經元占神經元總數的比例和神經元活性值的信息熵,計算結果如表3、表4所示。計算信息熵的公式如下所示
表3 兩種池化方式神經元激活比例Table 3 Activation ratio of neurons in two pooling methods
表4 兩種池化方式神經元活性值的信息熵Table 4 Shannon entropy of the activity values of neurons in two pooling methods
(8)
式中:P(xi)為激活值xi的出現概率;n為不同激活值的數量。
(a)第1層
分析表3、表4可以得知,每個小尺度卷積池化層被激活的神經元比例都比相應的最大池化層要高,而且神經元活性值的信息熵都有所增大。這種神經元活性值分布的多樣性必然會蘊含著更豐富的信息,一定程度上解決了最大池化時丟失大量信息的缺點,有助于網絡更全面的學習與表示。
為了驗證提出的改進深度卷積神經網絡的性能,在實驗室采集了比較復雜的變轉速滾動軸承故障信號。變轉速下滾動軸承振動信號經常會發(fā)生調頻、調幅和調相等現象[12],時域信號很難全面地反映信號中蘊含的復雜信息。時頻分析可以把一維時域信號映射到二維時頻平面上,全面反映出了變轉速下采集到的非平穩(wěn)信號時頻聯合特征。把采集的時域信號通過時頻變換得到的時頻圖作為輸入,通過深度卷積神經網絡逐層進行特征提取與學習,可實現網絡對變轉速下軸承故障信號的識別與分類[13]。
如圖6所示,實驗室中的軸承實驗臺由直流電機、軸承安裝座、加速度傳感器、電渦流傳感器、預緊裝置、徑向加載裝置和數據采集卡UA300構成。加速度傳感器靈敏度為8.8 pC/(m·s-2),頻率測量范圍是0.27~10 kHz;電渦流傳感器靈敏度為8×10-3V/μm。
圖5 軸承故障實驗臺實物圖Fig.5 Picture of bearing experiment platform
實驗中待測軸承為6308深溝球軸承,分為滾動體故障(B)、保持架故障(C)、內圈故障(I)、外圈故障(O)和正常(ZC)5種類別,每種類別包含4個軸承。實驗過程中,手動調節(jié)直流電機的轉速在200~2 400 r/min之間不均勻變化,徑向加載7.7 kg的重物。每個類別的4個軸承各采2組信號,采樣頻率為10 240 Hz,采樣時間為20 s,一共得到40組長度為204 800個點的信號。采集的40組信號中既包含升速過程也包含降速過程,通過相應的鍵向信號可以計算出軸承轉速變化信息。由于深度學習需要大量的樣本對網絡進行訓練,將40組信號分別從第1個點開始取連續(xù)的4 096個點作為一個樣本,并且每隔2 048個點開始取下一個樣本,樣本的截取過程如圖6所示。
圖6 截取時域信號示意圖Fig.6 Schematic diagram of samples collection
每種類別獲取了784個數據樣本,總計3 920個數據樣本。將數據樣本分為訓練集、驗證集和測試集3個部分,其中數據樣本數量分別為3 420、250、250。將數據樣本進行連續(xù)小波變換,得到數據樣本的時頻圖,不同小波基連續(xù)小波變換得到的時頻圖對于故障診斷結果存在一定的影響。根據文獻[13-14]和實驗結果對不同小波基連續(xù)小波變換進行對比,最終選擇效果更佳的morlet小波基連續(xù)小波變換。保存時頻圖作為訓練和測試深度卷積神經網絡性能的數據集,數據集的組成情況如表5所示。
表5 實驗室變轉速數據集組成Table 5 Composition of variable speed datasets from laboratory
將訓練集的時頻圖像素歸一化到區(qū)間[0,1]內,以輸入150×150的初始尺寸搭建的改進DCNN進行訓練,每經過一輪訓練后用驗證集來驗證網絡是否發(fā)生過擬合,待網絡訓練完成后將測試集輸入網絡中進行診斷和分類。實驗使用的編程語言為Python 3.7.4,程序運行的環(huán)境為TensorFlow,使用計算機配置為Core i5-9500 CPU @ 3.00 GHz。改進DCNN的結構和詳細參數如圖7所示。
圖7 改進DCNN結構和詳細參數Fig.7 Improved DCNN structure and detailed parameters
網絡第1層使用較大尺寸的卷積核可以提取時頻圖中較大視野的整體特征信息[7],后面的幾層采用小卷積核可以提取時頻圖中較小的局部特征信息,也可以減少網絡中需要訓練的參數。為了減少網絡中的過擬合現象,在訓練網絡時使用了小批量訓練[7]和dropout技巧[15]。此外網絡采用了分類交叉熵損失函數,并選擇Adam[16]優(yōu)化算法更新權值直到損失函數最小。將實驗室變轉速滾動軸承故障數據集分別輸入沒有改進的典型DCNN(DCNN-1)、使用最大池化的改進DCNN(DCNN-2)和使用小尺度卷積池化的改進DCNN(DCNN-3)。其中,DCNN-3的結構和詳細參數和圖7一致;DCNN-2是將DCNN-3所有小尺度卷積池化層改回傳統的最大池化層,其余結構和參數完全一致;DCNN-1沒有使用任何改進策略,是一個網絡深度和參數與前面兩個模型完全一致的典型DCNN模型。設置迭代次數為40進行20次實驗,計算出3種網絡測試集分類精度平均值和標準差如表6所示,各次實驗測試集分類正確率變化曲線如圖8所示。
表6 測試集分類正確率的平均值與標準差Table 6 Mean and standard deviation of the recognition accuracy rates of the test set
結合表6與圖8,對比DCNN-1和DCNN-2的結果可知,用全局平均池化層代替平鋪層和第1個全連接層對DCNN進行改進后,網絡的分類正確率從85.7%提升至93.4%,說明用全局平均池化代替平鋪層和第1個全連接層改進的DCNN-2比典型DCNN-1具有更強的泛化能力,但網絡的分類正確率和穩(wěn)定性仍不夠高。對比DCNN-2和DCNN-3的結果可知,在DCNN-2基礎上使用小尺度卷積池化進行改進的DCNN-3將網絡的分類正確率提升到了98.4%,標準差減小了63.4%,說明提出的池化方法使網絡的性能和穩(wěn)定性都進一步的提高。此外DCNN-2在第30次迭代時才開始收斂,而DCNN-3在第18次迭代時達到最大值并保持平穩(wěn)。由于收斂速度快,DCNN-3的訓練時間比DCNN-2減少了40%以上。為了定量驗證使用小尺度卷積池化的DCNN-3比使用傳統最大池化的DCNN-2提取特征的效果更好,計算網絡最后一層的輸出特征的類間距和類內距,結果如表7所示。類間距和類內距計算式如下
表7 DCNN-2和DCNN-3輸出特征類間距和類內距Table 7 Intra-class distance and inter-class distance of output features of DCNN-2 and DCNN-3
圖8 3種網絡測試集分類正確率對比 Fig.8 Comparison of recognition accuracy rates of 3 networks on the test set
(9)
(10)
式中:Ci為第i類樣本的協方差矩陣;n為樣本類別的數量;
tr為矩陣的跡;P(wi)為i類樣本的數量占總體樣本數量的比例;Mi和M0為第i類樣本矩陣的均值和總體樣本矩陣的均值。
從計算結果看出,使用小尺度卷積池化的DCNN-3提取的特征類間距比傳統最大池化的DCNN-2大,類內距比DCNN-2小,再一次說明了使用小尺度卷積池化的DCNN-3性能更佳。
將使用小尺度卷積池化的DCNN-3對測試集故障分類結果表示成標準混淆矩陣,如圖9所示??梢钥闯?5種類別的滾動軸承幾乎無誤地被分到正確的類別中,分類精度最低的內圈故障滾動軸承也能達到98%,說明本文提出的小尺度卷積池化DCNN-3在變轉速滾動軸承故障被診斷中基本滿足工程需求。
圖9 故障分類結果標準混淆矩陣 Fig.9 Standard confusion matrix of fault classification results
為了解決兩種常用池化方式的缺點,本文提出了一種用步長為2的小尺度卷積層代替常用池化層進行降采樣的改進DCNN。運用改進DCNN和其他深度卷積神經網絡在實驗室變轉速多軸承數據集上進行測試,得到結論如下。
(1)本文提出的方法相比最大池化有更多神經元處于激活狀態(tài),并且擴展了神經元活性值的區(qū)間。最后一個池化層神經元活性值的熵從2.46 bit提高到4.07 bit,增加了神經元活性值的多樣性,完善了最大池化和平均池化的缺點。
(2)在變轉速多軸承數據集上分別對使用了小尺度卷積池化的改進DCNN和其他深度卷積神經網絡進行測試,結果表明,提出的改進DCNN不僅擁有更高的故障識別精度和穩(wěn)定性,還將訓練網絡所用時間減少了40%以上。
(3)由提出的改進DCNN在測試集進行故障診斷的標準混淆矩陣觀察到,5類滾動軸承均分到了正確的類別,說明提出的改進DCNN在變轉速滾動軸承的故障診斷中基本滿足工程需求。