尚志武,錢仕淇
(1.天津市現(xiàn)代機電裝備技術(shù)重點實驗室,天津 300387;2.天津工業(yè)大學 機械工程學院,天津 300387)
滾動軸承是機械設(shè)備中不可缺少的部件,一旦發(fā)生故障可能造成整個機械設(shè)備損壞,導致嚴重的經(jīng)濟損失或人員傷亡。為保證設(shè)備安全可靠運行,必須按時對軸承健康狀態(tài)進行辨識和診斷。
隨著人工智能的迅猛發(fā)展,機器學習被廣泛應(yīng)用于故障診斷領(lǐng)域。然而,機器學習方法在提取特征時十分依賴信號處理和專家經(jīng)驗,浪費大量時間和人力[1],且很難高效挖掘海量數(shù)據(jù)中的特征信息。深度學習方法有很強的特征挖掘能力,可以自動提取豐富且有價值的特征,具有更高的診斷準確率[2-3]。其中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)[4-5]在應(yīng)用中取得了顯著的診斷效果,然而卷積是局部連接、參數(shù)共享的,沒有考慮特征間的關(guān)聯(lián),因此CNN中并沒有可用的空間信息,而且最大池化層只保留上一層最活躍的神經(jīng)元,會導致部分重要信息丟失,使得故障特征提取不全面,影響診斷準確率并造成模型過擬合。為克服以上不足,文獻[6]提出了一種具有動態(tài)路由機制的膠囊網(wǎng)絡(luò),將提取的特征封裝在膠囊中,通過計算模長進行預測;文獻[7]進一步在膠囊網(wǎng)絡(luò)中加入Inception模塊和回歸分支對滾動軸承進行故障分類,取得了良好的效果。
在實際工程應(yīng)用中,滾動軸承大部分時間處于健康狀態(tài),在故障狀態(tài)下運行的時間很少。因此,難以在不同的工況下為每個故障類別收集到足夠多的數(shù)據(jù),導致大部分深度學習方法的診斷性能受到限制。針對此類問題,一些學者進行了基于有限數(shù)據(jù)的故障診斷研究:文獻[8]使用由卷積層和池化層組成的孿生子網(wǎng)絡(luò)實現(xiàn)了小樣本柱塞泵的故障診斷;文獻[9]采用孿生神經(jīng)網(wǎng)絡(luò)并基于樣本相似性度量進行分類,在故障類別多且每類樣本數(shù)量少的情況下表現(xiàn)良好;文獻[10]利用相同或不同類的樣本訓練孿生神經(jīng)網(wǎng)絡(luò),從只有少量樣本的類中識別待分類測試樣本,從而實現(xiàn)有限數(shù)據(jù)下的軸承故障診斷。然而,孿生神經(jīng)網(wǎng)絡(luò)的子網(wǎng)絡(luò)常使用基礎(chǔ)的CNN模型,所提取的特征并不全面,也不具代表性,膠囊網(wǎng)絡(luò)則很好地解決了CNN的缺陷。
綜上分析,為準確提取軸承故障特征并解決故障數(shù)據(jù)不足的問題,本文提出一種基于改進孿生膠囊網(wǎng)絡(luò)的故障診斷模型(Siamese Capsule Network Model,SICN),以更好地實現(xiàn)基于小樣本數(shù)據(jù)的滾動軸承故障診斷。
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)需要大量的樣本進行訓練,在小樣本時很難達到理想效果,容易造成網(wǎng)絡(luò)的欠擬合。孿生網(wǎng)絡(luò)的本質(zhì)是計算樣本間的相似度,通過對比樣本間的相似度擴大訓練次數(shù),根據(jù)相似程度判定待分類的樣本屬于哪一類別。如圖1所示:孿生網(wǎng)絡(luò)的子網(wǎng)絡(luò)(常用CNN,LSTM等)是結(jié)構(gòu)相同且權(quán)值共享的,可以確保從輸入樣本對中提取的特征在同一分布域。孿生網(wǎng)絡(luò)需要成對的樣本x1,x2作為輸入,輸出是x1,x2是否相似的概率,其不僅能從已有類別中學習特征的相似性度量,對非常相似的樣本做出精準判斷,而且還能利用先驗知識分辨新樣本的類別。
圖1 孿生網(wǎng)絡(luò)結(jié)構(gòu)示意圖
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的神經(jīng)元都是標量,膠囊網(wǎng)絡(luò)則將每個神經(jīng)元由標量轉(zhuǎn)換為可以儲存空間位置信息的向量,封裝后以膠囊的形式傳遞特征信息,解決了CNN中沒有可用空間信息的問題。低級膠囊數(shù)量多但維度低,每個膠囊只表示輸入的一個小區(qū)域,共同組成相應(yīng)的空間關(guān)系。在低級膠囊轉(zhuǎn)換為高級膠囊的過程中,膠囊數(shù)量變少,每個膠囊由于存儲了更多信息而面積增加,低級膠囊到高級膠囊的維度增量可以建立不同膠囊間的對應(yīng)關(guān)系,這個過程可通過動態(tài)路由算法實現(xiàn)并更新權(quán)重。
整個膠囊網(wǎng)絡(luò)的運算過程可以分為4個階段:
1)通過輸入向量乘以仿射變換矩陣得到預測向量,即
uj|i=Wijui;i,j=1,2,…,n,
(1)
式中:ui為底層膠囊;n為膠囊個數(shù);Wij為編碼特征的空間位置關(guān)系仿射變換矩陣;uj|i為預測向量。
2)對所有得到的預測向量進行加權(quán)求和,得到總輸入向量sj,即
(2)
(3)
式中:cij為耦合系數(shù)。
3)使用非線性函數(shù)squash將向量長度壓縮在(0,1)區(qū)間,整個過程方向不變,可表示為
(4)
式中:vj為第j個膠囊的輸出向量;‖sj‖為總輸入向量sj的模長。
4)利用動態(tài)路由算法迭代更新bij和cij,得到最優(yōu)輸出向量。
bij=bij+vjuj|i,
(5)
式中:bij為對數(shù)先驗概率。
膠囊網(wǎng)絡(luò)的運算過程如圖2所示:在每個路由迭代前先將bij的值設(shè)置為0,通過(3)式得到cij并通過(2)式計算sj,最后利用squash函數(shù)得到vj;使用(3)式和(4)式更新bij和cij并通過前向傳播進一步修正sj,得到輸出向量vj;不斷循環(huán)上述過程,直至得到一組最優(yōu)耦合系數(shù)。
圖2 膠囊運算過程示意圖
為提取更全面、更豐富的特征,通常增加網(wǎng)絡(luò)的寬度和深度,這會導致參數(shù)太多,模型難以訓練,而且可能造成梯度消失,難以優(yōu)化模型。另外,傳統(tǒng)卷積層的每層只有單一尺寸的卷積核,當樣本為二維圖片時,不同通道間的特征關(guān)聯(lián)不大,對不同通道使用不同尺寸的卷積核十分必要。Inception模塊在多個尺寸上進行卷積,使相關(guān)性強的特征聚集在一起,獲得不同大小的感受野,從而提高分類效果,能在增加網(wǎng)絡(luò)寬度的同時減少參數(shù)并增加網(wǎng)絡(luò)的泛化性[11]。其初始結(jié)構(gòu)如圖3所示。
圖3 Inception模塊結(jié)構(gòu)示意圖
為消除量綱的影響,將原始數(shù)據(jù)進行零均值歸一化處理,即
(6)
式中:x為原始數(shù)據(jù);x*為處理后的數(shù)據(jù);μ,σ分別為x的均值和方差。
在同類故障中,截取信號的周期不同也可能導致故障產(chǎn)生空間位置差異。因此,引入短時傅里葉變換(STFT)[12]將樣本數(shù)據(jù)轉(zhuǎn)換為包含豐富空間位置等信息的時頻圖,從而保留多數(shù)的故障特征信息。
短時傅里葉變換通過滑動窗口重疊截取數(shù)據(jù)樣本,加漢明窗后分別計算每個窗口的傅里葉變換,即形成不同時間窗口對應(yīng)的頻域信號,將其拼接起來得到時頻圖。短時傅里葉變換的窗口尺寸為128×128,選擇時間步長為0.813 ms,則滑動窗口的步幅為0.813×10-3×12 000=9.756 s,經(jīng)過短時傅里葉變換后得到時頻圖(TFG)尺寸為128×128。
1)將處理后的數(shù)據(jù)劃分為訓練集和測試集。
2)從訓練集中隨機抽取2個樣本組合成樣本對輸入模型訓練,當模型收斂時停止訓練并保存模型。
3)從測試集中抽取一個待分類的樣本并從N類訓練樣本中隨機抽取一個樣本,構(gòu)成一個樣本對。重復N次,構(gòu)成N個樣本對并依次輸入訓練好的模型。計算測試樣本與N個訓練樣本屬于同一類的概率,選擇概率最大值的類別作為測試樣本的類別。
由于更新耦合系數(shù)以及疊加卷積層會導致膠囊網(wǎng)絡(luò)比其他深度學習模型慢,為提高網(wǎng)絡(luò)模型的處理效率,在主膠囊層前加入Inception模塊(即ICN),不僅能夠增加網(wǎng)絡(luò)寬度,提取到多尺度的特征,還減少了參數(shù),從而加速計算過程。孿生網(wǎng)絡(luò)的子網(wǎng)絡(luò)使用ICN可以解決CNN中最大池化不足,卷積核單一和所提取特征信息不足等問題。ICN結(jié)構(gòu)如圖4所示,各層詳細信息見表1。
表1 ICN模型的詳細信息
圖4 ICN結(jié)構(gòu)示意圖
經(jīng)過數(shù)據(jù)預處理后的時頻圖尺寸為128×128,為使網(wǎng)絡(luò)的特征圖尺寸與原始膠囊網(wǎng)絡(luò)的輸入保持一致,使用了一個30×30的卷積核,其步長為5,核數(shù)為256,則特征圖尺寸為20×20×256。ReLU卷積層用于提取初級特征,其尺寸為9×9,步長為2,核數(shù)為256,輸出尺寸為6×6×256。
將提取的初級特征輸入ICN中進行矢量化處理,提取更高級別的特征。在Inception模塊中,使用8個尺寸分別為1×1到8×8的卷積核并行連接在最后一個通道上,得到8維的輸出膠囊。此時輸出變成尺寸為6×6×32×8的膠囊,包含空間位置信息初級特征向量,結(jié)構(gòu)如圖5所示。
圖5 主膠囊層Inception模塊示意圖
輸入數(shù)字膠囊層,通過仿射變換矩陣Wij=[8×16]與主膠囊層全連接,獲得6×6×32×16的高級特征向量。應(yīng)用3次擠壓函數(shù)和動態(tài)路由算法(圖6)對膠囊進行非線性變換,膠囊間的耦合系數(shù)通過3次動態(tài)路由算法更新,最終輸出10×16的膠囊。
圖6 動態(tài)路由算法流程圖
SICN模型通過距離度量方法判斷樣本是否來自同一類別,常用的方法有歐氏距離、余弦相似度、曼哈頓距離等。余弦相似度通過計算2個向量夾角的余弦值判斷樣本間差異,更注重2個向量在方向上的差異,而非距離或長度,可以避免由于向量長度不同而導致的距離偏大[13]。由于輸出的膠囊是具有方向位置信息的向量,因此使用余弦距離判斷樣本間的差異能夠?qū)δz囊向量樣本進行更好的相似性度量,提高分類精度。
余弦相似度可表示為
(7)
則余弦距離為
DW(X1,X2)=1-cos(X1,X2)=
(8)
因此,2個向量的夾角越小(越趨近于0),余弦距離就越小,其方向越相近,即越相似;當2個向量的方向不同時,余弦距離越大,方向差異越大,也越不相似。
SICN模型的損失函數(shù)通常采用對比損失(Contrastive Loss),即
(1-Y)max(m-DW,0)2,
(9)
式中:Y為2個樣本是否匹配的標簽;DW為2個樣本特征向量X1和X2的余弦距離;N為樣本個數(shù);m為設(shè)定的閾值,距離超過閾值時損失看做0。
確定了損失函數(shù)后,使用梯度下降算法對孿生網(wǎng)絡(luò)的子網(wǎng)絡(luò)ICN進行訓練,實現(xiàn)誤差的反向傳播。訓練目標是同類樣本間的差異度盡可能接近0,不同類樣本間的差異度盡可能接近1。
經(jīng)過以上步驟,所構(gòu)建的SICN故障診斷模型如圖7所示。
圖7 SICN故障診斷模型
為證明SICN模型在故障診斷領(lǐng)域的有效性,選取了凱斯西儲大學(CWRU)軸承數(shù)據(jù)集以及實驗室自測軸承數(shù)據(jù)進行試驗。
3.1.1 數(shù)據(jù)描述
CWRU軸承數(shù)據(jù)集的試驗軸承為SKF6205,使用電火花加工技術(shù)在軸承的內(nèi)圈(IR)、鋼球(B)以及外圈(OR)上設(shè)置單點故障,包括正常(N)軸承共有10種狀態(tài),采樣頻率為12 kHz,數(shù)據(jù)集的詳細描述見表2。通過數(shù)據(jù)處理在每種轉(zhuǎn)速下分別得到1 000張時頻圖,劃分為訓練集(700張)和測試集(300張)。
表2 CWRU軸承數(shù)據(jù)的詳細描述
3.1.2 樣本數(shù)量的影響
為檢驗所提小樣本方法的性能,隨機選擇60,90,150,300,500,700個訓練樣本并與支持向量機(SVM),CNN和加入Inception模塊的卷積神經(jīng)網(wǎng)絡(luò)(ICNN)模型進行對比,不同樣本數(shù)量對模型性能的影響如圖8所示:4種模型均能達到較高的分類精度,但SICN均取得了最高的準確率;特別是當樣本數(shù)量為150時,孿生神經(jīng)網(wǎng)絡(luò)的準確率為92.67%,比SVM高60%。在僅有60個訓練樣本的小樣本條件下,SICN也能達到80.24%的準確率,遠遠高于同條件情況下的其他方法。
圖8 不同樣本數(shù)量時各模型的準確率
3.1.3 不同孿生子網(wǎng)絡(luò)模型的對比
在樣本數(shù)量為150的條件下,選擇孿生網(wǎng)絡(luò)常用的子網(wǎng)絡(luò)CNN,WDCNN(寬卷積神經(jīng)網(wǎng)絡(luò)), ICNN,LSTM與本文所提ICN方法進行對比。如圖9所示:雖然采用5種子網(wǎng)絡(luò)的模型均達到了90%以上的準確率, 但ICN子網(wǎng)絡(luò)在同一工況下的準確率明顯高于其他4種子網(wǎng)絡(luò),診斷效果更好,說明采用ICN作為孿生網(wǎng)絡(luò)的子網(wǎng)絡(luò)可以提高模型的準確率。
圖9 不同子網(wǎng)絡(luò)結(jié)構(gòu)時各模型的準確率
另外,為驗證Inception模塊的有效性,在CNN、殘差網(wǎng)絡(luò)(ResNet),WDCNN和膠囊網(wǎng)絡(luò)等基礎(chǔ)模型上進行Inception模塊的消融試驗,結(jié)果如圖10所示:4種基礎(chǔ)模型加入Inception模塊后,準確率均有所提升,證明Inception模塊可以在增加網(wǎng)絡(luò)模型寬度的同時提高模型的特征表達能力,解決傳統(tǒng)神經(jīng)網(wǎng)絡(luò)卷積核單一導致特征提取不足的問題,可有效應(yīng)用于故障類別辨識。
圖10 Inception模塊的消融試驗
如圖11所示,試驗平臺主要由制動器、聯(lián)軸器、軸承(6205)、傳感器、電動機構(gòu)成。除了正常狀態(tài),分別在內(nèi)、外圈滾道面上設(shè)置不同的故障尺寸,轉(zhuǎn)速包括500,1 000 r/min,詳細的數(shù)據(jù)描述見表3。通過數(shù)據(jù)處理在每種轉(zhuǎn)速下分別得到1 000張時頻圖,劃分為訓練集和測試集。訓練集包含700張,測試集包含300張。
表3 軸承數(shù)據(jù)的詳細介紹
圖11 實驗室軸承數(shù)據(jù)采集系統(tǒng)
與3.1節(jié)相同,進行不同樣本數(shù)量和不同子網(wǎng)絡(luò)結(jié)構(gòu)(樣本數(shù)為90)時各模型的性能對比,結(jié)果如圖12所示:不同樣本數(shù)量以及不同子網(wǎng)絡(luò)結(jié)構(gòu)時,SICN模型在實驗室軸承數(shù)據(jù)集上的準確率均優(yōu)于其他方法,進一步證明了SICN模型在小樣本下的有效性,可以提高診斷準確率,具有較強的泛化性。
圖12 不同樣本數(shù)量和子網(wǎng)絡(luò)結(jié)構(gòu)時各模型對實驗室軸承數(shù)據(jù)集的診斷準確率
SICN模型在小樣本故障診斷中的效果得到了初步驗證, 但其學習過程難以表達。為直觀理解所提方法對原始信號的特征提取過程,使用t-SNE[14-15]對SICN模型提取的特征進行降維與可視化(圖13),經(jīng)數(shù)字膠囊層提取特征后,各類別相對距離增大,分類效果明顯。
圖13 數(shù)字膠囊層提取特征后的t-SNE可視化結(jié)果
提出了一種基于改進孿生膠囊網(wǎng)絡(luò)的小樣本滾動軸承故障診斷方法,主要結(jié)論如下:
1)采用孿生網(wǎng)絡(luò)學習策略,創(chuàng)建時頻圖樣本對,通過對比樣本相似度擴大訓練次數(shù),解決了故障數(shù)據(jù)不足的問題。
2)針對CNN中沒有可用的空間信息以及最大池化忽略重要信息的問題,將膠囊網(wǎng)絡(luò)作為孿生網(wǎng)絡(luò)的子網(wǎng)絡(luò),最大程度地保留了特征的空間位置信息,從而提取更全面的特征,減少特征信息的丟失。
3)針對膠囊網(wǎng)絡(luò)運算速度慢的問題,在膠囊網(wǎng)絡(luò)中加入Inception模塊從時頻圖中提取多尺度特征,在增加網(wǎng)絡(luò)寬度的同時減少了參數(shù)量,加速了計算過程并防止過擬合。
4)針對度量誤差大的問題,選用余弦距離對具有空間位置信息的膠囊向量進行相似性度量,能更好地區(qū)分2個膠囊向量的差異性,提高了模型的準確率。