謝遠東,雷文平,韓 捷
(鄭州大學,河南鄭州 450001)
在旋轉機械領域甚至是機械領域,軸承一直被稱為機械領域最亮的明珠,廣泛應用與機械的各個領域。故軸承故障診斷的研究的成果也直接影響著整個機械領域甚至整個工業(yè)化進程的走向。近些年,深度學習和軸承領域的研究也層出不窮,Olivier等人使用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)對于軸承故障的特征進行了提取[1],李艷峰等人使用Deep Belief Networks 對滾動軸承故障進行研究[2]。使用全矢譜理論對于數(shù)據(jù)進行特征融合,而后使用1D-CNN 對于軸承故障的特征進行自適應的提取,最后使用Softmax 方法對于故障類別進行判別。該方法在訓練的速度、對于故障類別識別的準確率以及模型的泛化性上都表現(xiàn)出很強的競爭性,具有一定的市場前景。
典型的卷積神經(jīng)網(wǎng)絡的結構分別是輸入層、卷積層、池化層或下采樣層,以及全連接層,再到最后的輸出層。如果只是將卷積神經(jīng)網(wǎng)絡當做特征提取器使用的話,不需要最后的分類層。但如果是做分類任務使用,最后還需要加入分類層。
卷積層的主要操作是對于輸入層輸入的信號數(shù)據(jù)進行卷積操作,此卷積非信號處理中的卷積,這里的卷積主要是卷積核也就是多維向量和輸入的矩陣的點乘操作然后對于每個點乘的值進行平均得到卷積出的值。具體操作如圖1 所示。
圖1 卷積操作
上圖是卷積操作,但是對于多通道,例如圖像的三通道的數(shù)據(jù),需要在3 個通道上同時進行卷積操作。對于故障信號這種單通道數(shù)據(jù),只需要進行單層卷積操作即可。假定輸入層是第f-1 層,其輸入特征圖是Xf(heightin×widthin),特征對應的卷積核是K(f)(heightkernel×widthkernel),這樣輸出維度為:
給每一個輸出都加上一個偏置單元(bias term)b(f),卷積層的輸出為Z(f):
其中,χ(i,j)為有效值卷積(Valid Convolution)而非全卷積(Full Convolution)為f 層的激活函數(shù),將在下面具體介紹。
反向傳播(Back Propagation)作為參數(shù)迭代更新的重要步驟,需要計算殘差:
其中,upr×r(X)表示X 在水平和垂直方向復制r 次,目的是將的大小擴大和的相同。并對殘差進行求導:
其中,使用χ(u,v)對于上式中的u,v 做了限定,這里的結果為valid 型卷積:
從上一步的卷積后,得到的從輸入的數(shù)據(jù)集中提取到的特征向量,這些特征向量可以指導分類器對于目標進行分類,但在真實的應用場景下,卷積層提取的特征向量維度太大,提取的特征也比較模糊,這是導致模型過擬合一個因素。對于這種情況,可以采用聚合統(tǒng)計,對一定區(qū)域中的值進行平均的操作達到降維的目的,把這一個操作叫做池化操作(pool),可以將其分為平均池化(average pooling)和最大值池化(max pooling)(圖2)。平均池化的原理就是對一定區(qū)域中的值求平均,而最大池化就是對一定區(qū)域中的值取最大值操作。根據(jù)特征提取時造成損失函數(shù)的值很大主要是由于:①池化的范圍有限鄰域導致最終求得的方差比較大,這種誤差對于平均池化可以減少這一類誤差;②卷積層參數(shù)誤差造成估計均值的偏移,最大池化對于這一類誤差可以減少,因為對于紋理的削弱能力變差。
以平均池化為例,使用的卷積核每個單元的權重都是β(f),每一項卷積操作后仍然加上一個偏置單元,子采樣層的輸出為:
圖2 池化操作對比
下采樣層同樣需要計算殘差,如式(3)所示,但是卷積操作為為全卷積操作。
5 全連接層目前在卷積神經(jīng)網(wǎng)絡同時也是不可或缺的一步,因為全連接層將分布式特征表征映射到樣本標記空間,可以大大削弱特征位置對分類的影響因子。因為對于序列信息將會在循環(huán)神經(jīng)網(wǎng)絡中提取,所以這時候的信號的位置信息我們將會盡可能的減少提取到上下文關系特征。全連接層對于模型的影響參數(shù)為該層的層數(shù)、神經(jīng)元單元個數(shù)、激活函數(shù)的類型即Sigmoid 或Relu 或tanh 等激活函數(shù)。
其中激活函數(shù)的作用是增加模型的非線性表達能力。全連接的長度和寬度,理論上神經(jīng)元個數(shù)的增加,模型的復雜度提升;全連接層數(shù)加深,模型非線性表達能力提高。理論都能提高模型的學習能力,但是學習能力太好的話,會造成過擬合,并且計算時間會大大增加,造成效率的降低。
對于雙通道采集軸承數(shù)據(jù),普遍的做法是將2個傳感器放置在互相垂直的位置。但是在實際使用證明,“V”更適合雙通道數(shù)據(jù)(圖3)。V 形狀的位置設定可以消除傳感器重力因素的影響避免提取到噪聲特征[4]。
圖3 垂直和V 形布置
雙通道數(shù)據(jù){xn}和{yn}(n=0,1,2,···N-1),傅里葉變換{Xk}和{Yk}(k=0,1,2,···N-1),令復序列{zk}={xk}+i {yk},其中。通過傅里葉變換得到{zk},并結合正反進動得到以下公式:
其中,Rai為0 主振矢,Rbi為副振矢,αi為主振矢和x 軸的夾角,φi為初相位角。
全矢1D-CNN 模型如圖4 所示,為一個計算圖走向,可以很明顯地看出在,左邊使用的是循環(huán)神經(jīng)網(wǎng)絡中的LSTM(長短記憶網(wǎng)絡)模型,在模型的右邊使用的是經(jīng)典的6 層卷積神經(jīng)網(wǎng)絡。其中,前4 層layer1-conv1、layer2-conv2、layer3-conv3、layer-conv4 為網(wǎng)絡結構中的卷積操作,后2 層layer5-fc1、layer6-fc2 為全連接層。同時模型伴隨著一些超參數(shù)以及數(shù)據(jù)的走向。使用BatchNormalization 對于數(shù)據(jù)分布不平衡的現(xiàn)象進行中和。這里使用exponential decay 對于學習率逐漸的縮減,和整合擬合過程匹配,避免在接近全局最優(yōu)解的時候由于學習率過大 而始終無法擬合到極值點。在卷積操作的最后,使用DropOut 技術對于特征向量進行降維,去除掉不重要的特征,不但可以減少計算量,而且可以增加最終模型的泛化性,避免出現(xiàn)過擬合的現(xiàn)象。其中激活函數(shù)使用的是Relu(修正線性單元),ReLu 可以使得模型更加的稀疏,稀疏性的同時可以提高模型的訓練速度,減少訓練時間。
為了進一步驗證全矢CRNN(卷積循環(huán)神經(jīng)網(wǎng)絡)對于軸承故障判別的優(yōu)勢,使用Center for Intelligent Maintenance at Sinatra University 的滾動軸承全生命周期故障數(shù)據(jù)[5]。選擇2#軸承的全部2156 組數(shù)據(jù)為正常數(shù)據(jù)。3#軸承最終出現(xiàn)了內圈故障,對于3#軸承的前1800 組數(shù)據(jù)標定為正常數(shù)據(jù),在1800 到2156 組數(shù)據(jù)標定為內圈故障。4#軸承最終出現(xiàn)了滾動體故障,對于4#軸承的前1600 組數(shù)據(jù)標定為正常的軸承數(shù)據(jù),在1600 到2156 組數(shù)據(jù)中標定為滾動體故障。由于每一組數(shù)據(jù)的維度都是20 480,在經(jīng)過全矢譜融合后得到的主振矢的維度為10 240,考慮到LSTM 節(jié)點數(shù)太多會導致計算量急劇增加,并且可能會導致梯度在傳遞過程中出現(xiàn)消失的現(xiàn)象,確定輸入節(jié)點數(shù)為1024,得到試驗樣本集。最終數(shù)據(jù)集的長度為64 680×1024,雖然其中的每個故障類型的數(shù)量不一致,但是符合現(xiàn)實情況。
圖4 全矢1D-CNN 模型
為了使實驗結果更加嚴謹,每次從64 680 組樣本中隨機抽取劃分訓練集和測試集,一共完成了20 次重復試驗。這里取的是在400 epoch 中各模型的最高的測試集上的準確率,消除偶然性的影響。驗證集上驗證的結果如表1 所示。
表1 試驗結果比較(平均準確率±標準差)
圖5 全矢1D-CNN 模型準確率
由表1 和圖5 可知,對于全矢CRNN 來說,在20 次試驗中,對于軸承故障的識別率一直穩(wěn)定在99%左右。而對于單通道的CRNN,例如X 通道CRNN 和Y 通道CRNN 的識別率不但較低,而且會出現(xiàn)抖動的情況,證明其提取的特征的隨機性比較大,同時說明該模型的泛化性比較差,即數(shù)據(jù)集不完備,會確實數(shù)據(jù)的原始特征,同時也證明了全矢譜對于同源數(shù)據(jù)的數(shù)據(jù)完備性的提取可以起很大作用。