丁 煦,王 棟,2,翟 華
(1.合肥工業大學工業與裝備技術研究院,安徽 合肥 230009;2.合肥工業大學機械工程學院,安徽 合肥 230009)
滾動軸承是旋轉機械的重要組成部件,由于軸承工作環境惡劣,容易出現安裝不當、潤滑不良、轉速過高等情況,導致滾動軸承發生故障[1]。因此,實現對滾動軸承故障的快速和精準定位,對提高旋轉機械設備生產效率和安全可靠性的具有重要意義。
隨著深度學習的發展,神經網絡在滾動軸承以及機械裝備的故障診斷方面有了很多的應用[2]。文獻[3]利用動態學習率改進BP神經網絡參數,提高對變速箱未知故障的診斷效果。文獻[4]使用改進后的螢火蟲神經網絡加快神經網絡收斂速度,并提高對滾動軸承故障診斷的分類效果。文獻[5]提出一種基于卷積神經網絡和多傳感器融合的旋轉機械故障診斷方法,降低訓練過程中的過擬合,并在齒輪箱和滾動軸承的實驗中獲得良好的診斷效果。
但文獻[6]指出這些研究要求用于智能診斷模型訓練的機械監測數據:典型故障信息豐富、健康標記信息充足。但是,工程實際中監測數據很難滿足以上要求,具體原因為:(1)價值密度低,雖然通過信號采集能夠獲得海量監測數據,但正常狀態監測數據多,故障數據少,典型故障信息缺失;(2)可利用率低,裝備運行過程中積累的海量監測數據很少擁有相應的狀態標記。而工業數據的標記成本居高不下,導致無法使用監督學習模型訓練智能診斷模型。尋找有效方法攻破這兩個難題是旋轉機械智能診斷落地的關鍵。
2014年,文獻[7]受博弈論中二人零和博弈啟發提出生成對抗網絡(GAN)。這是一種容易理解且有效的模型,在圖片合成領域取得了重大的成功,因此可以利用GAN生成多種工況下的信號,解決滾動軸承監測數據中故障數據量過少,即價值密度低的問題。此外,在2015年NIPS會議上,文獻[8]提出半監督階梯網絡算法(Semi-Supervised Ladder Network)。半監督階梯網絡是降噪自編碼器(Denoising Autoencoder)的衍生算法,該算法在降噪自編碼器基礎上提出在編碼和解碼通道隱層增加側向連接,同時融合半監督學習,利用有標簽和無標簽數據共同訓練分類模型。從Rasmus論文中的實驗來看,在數據量充足的情況下可以解決工業實際中監測數據可利用率低,即缺少標簽的問題。
這里針對滾動軸承監測數據價值密度低和可利用率低兩大問題導致的深度學習模型因此無法很好地解決滾動軸承故障分類的情況,綜合使用半監督階梯網絡和GAN,提出GAN-SSLad?der模型實現對滾動軸承故障診斷的半監督學習。通過對公開的滾動軸承數據集進行實驗,驗證了本方法可以達到較好的分類效果,更好地推動數據驅動滾動軸承故障診斷的發展。
半監督階梯網絡是由降噪自編碼器發展起來,而降噪自編碼器是一種典型的無監督學習模型結構,如圖1所示。

圖1 降噪自動編碼器示意圖Fig.1 Denoising Autoencoder
原始信號x加高斯噪聲ε后成為x,經歷過編碼神經網絡f(?)和解碼神經網絡g(?)得到還原信號z,最終的要求是重構誤差最小,信號經過編碼后盡量保存所有信息。添加噪聲可以增強模型的魯棒性,減少過擬合的發生。其中重構誤差可以用均方誤差表達:

文獻[9]在降噪自編碼器的基礎上提出了堆疊多個中間隱層,再加入節點側向連接的階梯網絡。在此基礎上,Rasmus融合監督學習和階梯網絡,提出半監督階梯網絡結構,如圖2所示。其具有兩個編碼通道和一個解碼通道,加噪編碼通道每層添加高斯噪聲,解碼通道和加噪編碼通道相連,無噪編碼通道與加噪編碼通道共享權值[10]。訓練模型時,輸入有標簽數據和無標簽數據,加噪編碼通道中的有標簽數據的輸出與已有標簽比較得到監督損失項;無噪編碼通道中的隱層與解碼通道隱層重構誤差,形成無監督損失項。綜合兩種損失,使用反向傳播訓練模型。測試模型時,在無噪編碼通道輸入測試集數據,得到測試結果。

圖2 半監督階梯網絡示意圖Fig.2 Semi-Supervised Ladder Network
相對于降噪自編碼器,半監督階梯網絡高層網絡可以丟棄一些次要分類特征,注重于更抽象,對分類有決定性作用的主要分類特征,而底層網絡可以通過側向連接重構丟棄的次要特征。
2.2.1 編碼通道
編碼器通常使用多層感知機(MLP)構造,每次循環中,半監督階梯網絡兩個編碼通道同時輸入包括一個批尺寸(batch)的有標簽數據和一個批尺寸(batch)的無標簽數據。在循環輸入更新網絡模型權值的過程中,有標簽數據的數量M<<無標簽數據的數量N。半監督階梯網絡加噪編碼通道,每層都引入高斯噪聲,增強魯棒性。在最后一層使用分類函數,輸出分類結果。具體結構為:

式中:x—輸入信號;ε—高斯噪聲;x—加入高斯噪聲的輸入信號;w(l)—(l-1)層至l層的權值矩陣;h(l-1)—(l-1)層經過激活函數的輸出—l層經過線性變換的輸入,并且還將被用于無監督損失函數中,z(l)是l層加入高斯噪聲后的變量。NB(?)和式(6)組成了批標準化操作,NB(?)具體為:

式中:系數γ(l)和β(l)—可訓練的每層批標準化修正系數;?(?)—激活函數,其中,1層到(L-1)層采用的是ReLU函數,第L層選擇softmax 函數用來分類。文獻[11]表明批標準化可以通過減少協移來加速收斂,防止過擬合化。
半監督階梯網絡無噪編碼通道除了每層不添加高斯噪聲外,其余結構和加噪編碼通道一致,具體結構為:

2.2.2 解碼通道
相對于堆疊多層的降噪自編碼器,半監督階梯網絡解碼通道每個隱層除了能從上一層獲得信息,也可以從加噪編碼通道的同層得到信息,這種設計也就實現重構編碼通道的高層網絡舍棄的細節信息,具體結構為:

式中:Vl+1—(l+1)層至l層的權重矩陣,其與編碼器上權重矩陣Wl+1的轉矩陣置尺寸相同。
不同于傳統自編碼器中的降噪函數,gi(?)是針對每個神經元的操作。式中和都是(1×4)的權重向量是(1×1)的權重向量,也就意味著每個隱層神經元的計算都是一個有包含9個參數的MLP網絡。
2.2.3 損失函數
半監督階梯網絡的損失函數由訓練監督損失項C1和無監督損失項C2組成[12]。監督損失項C1為加噪編碼通道中有標簽數據的輸出和標簽t(n)的交叉熵,即:

無監督損失項C2是每個隱層的均方重構誤差,選擇zlpre為降噪目標,具體結構如下:

式中:λl—l層損失函數的權重;N—訓練樣本的總數;ml—l層的寬度,即l層的神經元個數。設計的目的是減少由批標準化操作給zl和zl帶來的高度相關的偏置噪聲。綜上,半監督階梯網絡的總損失函數為:

模型的所有參數都可以通過反向傳播訓練,訓練結束后,往無噪編碼通道輸入待測數據,即可得到預測結果。
生成對抗網絡(GAN)由生成網絡(Generator,G)和判別網絡(Discriminator,D)組成,是一種典型生成模型結構,如圖3所示。生成網絡能夠學習真實數據的潛在分布,生成數據樣本;判別網絡是一個二分類器,判別輸入是真實數據還是生成樣本。兩種網絡均可以用多種神經網絡構成。模型的優化是“二元極小極大博弈”過程,訓練時固定其中一方,更新另一個模型的參數,交替訓練,最終兩者達到納什均衡[13]。

圖3 生成對抗網絡示意圖Fig.3 Generative Adversarial Network
訓練步驟如下:
(1)高斯噪聲經過生成網絡得到生成樣本,真實數據和生成樣本再一同輸入判別網絡,判別網絡的最后一層激活函數為sigmod函數,此時真實數據的標簽為1,噪聲產生的樣本對應的標簽為0,此時即為一個有監督的二分類問題。保持生成網絡的權值不變,通過反向傳播可以更新判別網絡中的權值,從而達到判別網絡有區分真假的能力。損失函數J(D)為交叉熵函數:

式中:G(z)—生成樣本;D(x)和D(G(z))—真實數據和生成樣本經過判別網絡的輸出;y—標簽。
(2)單獨輸入噪聲信號,經過生成網絡和保持權值不變的判別網絡,對應的標簽設置為1,反向傳播訓練生成網絡的權值使得已經有一定分辨能力的判別網絡“信以為真”,從而達到生成網絡能夠學習到真實數據分布的能力。損失函數J(G)為交叉熵函數:

式中:G(z)—生成樣本;D(G(z))—生成樣本經過判別網絡的輸出;y—標簽。
(3)交替迭代訓練,生成網絡的目標是在判別網絡的監督下,生成“以假亂真”的樣本,而判別網絡的目標就是盡量辨別生成網絡生成的樣本和真實信號。文獻[14]指出生成網絡和判別網絡的損失函數等價于:

總體的損失函數為:

式中:z—輸入生成網絡的高斯噪聲;G(z)—生成網絡的輸出;Pdata—真實信息的概率分布;Pz—噪聲的概率分布;D(x)和D(G(z))—判別網絡對真實信息和生成信息的判斷結果。因此問題變成了尋找一個V(D,G)使J(D)和J(G)都盡可能小,定義為:

理想狀態下,生成網絡和判別網絡會得到一個納什均衡點,對于“以假亂真”的生成樣本,判別網絡無法判定是否真實,即D(G(z))=0.5。
鑒于生成對抗網絡(GAN)優異的生成效果和半監督階梯網絡(Semi-Supervised Ladder Network)在少標簽情況下較好的分類效果,這里提出結合二者特點的GAN-SSLadder 模型,嘗試使用GAN拓展訓練數據集,提高半監督階梯網絡在訓練集數量少情況下的分類效果。對應GAN-SSLadder模型,如圖4所示。

圖4 GAN-SSLadder模型的示意圖Fig.4 Flow Chart of GAN-SSLadder Model
可以將上述模型表述成以下幾個必要的步驟:
(1)將實驗數據預處理,為不同情況下的數據打上相應標簽。
(2)針對不同標簽的數據,分別使用GAN拓展相應標簽下的數據集。
(3)將數據集分成訓練樣本集和測試樣本集,并使用訓練集數據訓練半監督階梯網絡。
(4)使用測試集評估GAN-SSLadder模型故障診斷效果。
滾動軸承實驗數據來自于美國西儲大學電氣工程實驗室的軸承數據中心[15]。型號為SKF6205-2RSJEM的滾動軸承在不同位置使用電火花加工故障,再進行定轉速試驗,獲得正常運行、內圈故障、外圈故障、滾子故障等四種狀態數據。詳細信息,如表1所示。

表1 滾動軸承振動信號參數表Tab.1 Rolling Bearing Vibration Signal Parameter
使用Tensorflow 搭建和訓練GAN-SSLadder 模型。Tensor?flow是一個由谷歌開發的開源機器學習框架。工作站選擇配置為NVIDIA Jetson TX2,工作環境為Ubuntu18.0和Tensorflow 1.5。
將四種狀態下的軸承數據處理進行預處理,規模大小如表1中規模所示,最終得到5120條1024維的振動數據,并為這些數據打上“one-hot”標簽。做一組對比實驗:
實驗1:隨機選取128條數據作為訓練集和剩余數據中1436條數據作為測試集。監督學習網絡和半監督階梯網絡中無噪編碼通道網絡參數一致,使用訓練集訓練監督學習網絡。
實驗2:隨機選取3684條數據作為訓練集,剩余1436條數據作為測試集。訓練集中僅有128 條數據有標簽,其余數據無標簽。使用訓練集訓練半監督階梯網絡。
神經網絡模型模型的訓練效果主要由測試集數據診斷準確率[16]表示,實驗1和實驗2測試集準確率變化曲線,如圖5所示。由圖5可知,訓練剛開始,兩個實驗測試集故障識別準確率均約為25%左右,實驗1訓練穩定后的準確率為45%,實驗2訓練穩后的準確率為60%。由此可見,隨著不斷訓練,兩個實驗的模型分類效果都會有所提高,半監督階梯網絡可以在較少標簽的條件下有效提高軸承故障診斷的準確率,但是仍然不能滿足機械故障診斷的要求。Rasmus的論文中針對mnist數據集[17],僅用100條有標簽數據訓練半監督階梯網絡實現測試集90%以上的準確率。其中mnist數據量達到6萬個,因此嘗試使用生成對抗網絡擴充數據集,使用GAN-SSLadder 模型完成在標簽少,數據量小情況下的滾動軸承故障診斷。

圖5 實驗1和2準確率曲線圖Fig.5 Accuracy Curve of Experiment 1 and 2
根據GAN-SSLadder模型,首先使用GAN擴充數據集,過程如圖6 所示。生成網絡輸入一個batch*100 規模的噪聲信號矩陣,輸出一個batch*1024規模的生成信號矩陣,再與一種軸承信號的batch*1024規模的真實信號矩陣合并輸入判別網絡。生成信號的輸出結果和batch規模的值全為0的矩陣比較,真實信號的輸出結果和batch規模的值全為1的矩陣比較,計算損失值,根據損失值優化判別網絡參數。判別網路參數不變,生成網絡輸入一個batch*100規模的噪聲信號矩陣,輸出一個batch*1024規模的生成信號矩陣進入判別網絡,輸出結果和batch規模的值全為1的矩陣比較,計算損失值,反向傳播優化生成網絡參數。交替訓練,判別網絡的損失曲線,如圖7所示。最終在0.5左右,說明生成信號“以假亂真”。利用生成對抗網絡將每種狀態信號擴充為5120條,總共有20480條1024維軸承信號,利用擴充后的數據集完成實驗3。

圖6 GAN擴充滾動軸承信號流程圖Fig.6 Flow Chart of Extend Rolling Bearing Signal Based on GAN

圖7 判別網絡損失曲線Fig.7 Curve of Discriminative Loss
實驗3:隨機選取14336條數據作為訓練集,剩余6144條數據作為測試集。訓練集中僅有128條數據有標簽,其余的是無標簽數據。使用訓練集數據訓練半監督階梯網絡模型。測試集準確率變化曲線,如圖8所示。由圖8可知,實驗3迭代(4×103)次后的準確率穩定為95.5%。由此可見,GAN-SSLadder模型在標簽少,數據量小的情況下的滾動軸承故障診斷可以達到監督學習下軸承故障診斷的效果[18]。

圖8 實驗3準確率曲線圖Fig.8 Accuracy Curve of Experiment 3
這里針對使用深度學習解決滾動軸承故障診斷的問題中數據存在價值密度低和可利用率低兩個問題,提出基于半監督階梯網絡和生成對抗網絡建立GAN-SSLadder模型,可以實現在標簽少和數據量小情況下對滾動軸承故障的精準識別。實驗結果表明:(1)針對工程實際中標簽數據少的情況,使用半監督階梯網絡可以有效提高滾動軸承分類的準確率。(2)針對工程實際中故障數據少且數據量小的情況,使用GAN-SSLadder模型可以達到監督學習對滾動軸承故障診斷的水平。