王 軍,張維通,閆正兵,朱志亮
(溫州大學 電氣數字化設計技術國家地方聯合工程研究中心,浙江 溫州 325035)
在工業(yè)互聯網下游,工業(yè)機器人等旋轉機械因其高效的生產力和自動化等一系列因素被廣泛應用。但旋轉機械長期在高轉速、重負荷和強沖擊的條件下工作,難免出現故障。一旦出現故障將耗時耗力,并還會造成大量的經濟損失。據文獻[1]研究發(fā)現軸承故障占電機驅動系統(tǒng)故障的40%左右。因此,軸承故障診斷對提高旋轉機械的可靠性,避免經濟損失具有重要意義。檢測軸承故障的一種常用的方法是用測量儀器附著在電機軸承上采集軸承的振動信號,分析振動信號。軸承故障診斷方法可分為兩大類:基于信號處理的方法和數據驅動的方法[2]。基于信號處理的方法就是利用傅里葉變換[3]、短時傅里葉變換[4]、Hilbert-Huang變換[5-6]等將時域序列信號變換到頻域,然后捕捉頻域特征進行故障判別。但這種方法需要先驗知識和處理復雜的信號困難[7],且不智能也不可擴展。數據驅動的方法,基于收集和分析大量數據來解決問題的方法。機器學習和深度學習因能夠自動學習和發(fā)現故障模式,并捕捉復雜關系,從而提高故障診斷的準確性和效率,被廣泛應用在軸承故障診斷,特別是深度學習。例如:文獻[8]提出了一種將一維時域信號轉化為二維圖像,然后使用LeNet-5網絡對這些圖像進行分類的方法,并取得了較好分類的效果。文獻[9]提出了一種基于殘差注意力卷積神經網絡(CSRA-CNN)的遷移學習算法,用于提高滾動軸承的故障診斷精度。文獻[10]提出一種新的深度學習方法,即深度殘差收縮網絡,以提高對高噪聲振動信號的特征學習能力,達到較高的故障診斷精度。文獻[11]提出一種基于CNN-BiGRU孿生網絡的軸承故障診斷方法緩解傳統(tǒng)深度神經網絡在小樣本情況下容易出現過擬合現象的問題。文獻[12]提出了遷移堆棧自編碼器的軸承故障診斷,可以緩解在實際中不同工況下含標注的監(jiān)測數據嚴重缺乏,導致智能故障診斷的模型難以有效構建的問題。文獻[13]提出WDCNN模型,該模型在第一層采用寬卷積核作為1D信號的信號提取器,在多個軸承故障基準測試中取得了滿意的結果。由于WDCNN模型對軸承故障診斷的優(yōu)異性能,文獻[14]和文獻[15]基于WDCNN設計了更先進的模型。隨著深度學習中各種注意力模塊的出現文獻[16-18]在1D-CNN中加入不同注意力模塊,幫助模型關注故障特征,進一步增強特征提取能力,不僅提高了網絡的分類精度,而且使網絡具有可解釋性。文獻[19]將注意力模塊融合到MSCNN-BiLSTM模型,提升了模型的特征提取能力。文獻[20]提出將卷積注意力模塊與殘差網絡結合和多注意頭的Transformer的軸承故障診斷。
盡管深度學習模型在軸承故障檢測方面取得了很大的進步,但深度學習模型在軸承故障診斷的應用中,仍然存在如下兩方面問題:
1)抗噪性,信號被噪聲嚴重影響時,深度學習模型的性能會急劇下降[21]。
2)工況數據不平衡,軸承的工況變換頻繁,不同樣本數據采集困難,很難收集到足夠多的某類故障樣本。
針對上述問題,本文提出基于遷移QCNN的孿生網絡軸承故障診斷方法,預訓練QCNN(quadratic convolutional neural network)獲取判別性強的模型參數,然后將參數遷移到孿生網絡中,然后正常訓練孿生網絡獲取模型,最后將測試數據與故障數據組成數據對輸入模型,即可得到測試數據的故障類型。該方法將QCNN與孿生網絡相結合,其中QCNN模型的Quadratic神經元[22]具有很高的特征提取能力,孿生網絡具有一定的抗噪性,將QCNN模型的Quadratic神經元與孿生網絡結合可以使模型更具有抗噪性。此外,孿生網絡共享參數可以學習共同特征,在加上Quadratic神經元強大的特征提取能力可以緩解工況數據不平衡問題。
受生物神經系統(tǒng)中神經元多樣性的啟發(fā),文獻[22]提出了一種新的神經元類Quadratic神經元,以促進深度學習中的神經元多樣性。Quadratic神經元在非線性激活前對輸入向量進行兩個內積和一個冪項內積進行積分。Quadratic神經元數學如式(1)所示:
σ(h(x)) =
σ[(xTwr+br)(xTwg+bg) + (x⊙x)Twb+c)]
(1)
式中,σ(·)為非線性激活函數,⊙為哈達瑪積,wr,wg,wb為權重向量,br,bg,c為偏置,Quadratic神經元的參數為3n,較一般的二階神經元的參數更少。Quadratic神經元是一種具有增強表示能力的神經元,它的增強并不是通過增加參數來實現的,而是通過引入額外的非線性計算來實現的。與傳統(tǒng)神經元不同,傳統(tǒng)神經元的非線性映射僅由激活函數提供,而二次神經元通過使用二次聚合函數來添加額外的非線性映射。如果采用相同的Relu激活函數的情況,傳統(tǒng)神經元的組合只能得到分段線性函數,而二次神經元可以得到分段多項式函數。因此,Quadratic神經元較傳統(tǒng)的機器學習算法有更強的特征提取能力和泛化能力,可以更好提取共同特征和額外特征。
孿生網絡(Siamese Network)是一種特殊的神經網絡結構,其由具有相同結構的兩個神經網作為子網絡組成[23]。孿生網絡的兩個子網絡共享權重(結構和參數相同)[24],其通過兩個子網絡并生成兩列特征向量,計算特征向量之間相似度[25],其表達如式(2)所示:
f(x,z)=f(φ(x)-φ(z))+b
(2)
式中,φ(x),φ(z)分別表示輸入向量x,z經過φ(·)進行特征提取后的特征,b表示偏移量。孿生網絡共享權重提取故障的共同特征,可以緩解工況數據不平衡問題。共享權重和相對關系的訓練方式,使得孿生網絡在處理帶有噪聲的數據時能夠保持較好的性能。孿生網絡主要用于處理相似性比較和度量學習的任務,如人臉識別、圖像檢索、文本相似性判斷等。
針對深度學習模型在軸承故障診斷中存在抗噪性不足,工況數據不平衡等問題,本文提出了一種基于遷移QCNN的孿生網絡軸承故障診斷方法,先預訓練QCNN獲取具有較強判別性的模型參數,將預訓練的參數遷移到QCNN作為子網絡的孿生網絡中,然后正常訓練孿生網絡獲取模型,最后將測試數據與故障數據組成數據對輸入模型,即可得到測試數據的故障類型。如圖1所示,孿生網絡雙輸入的結構,使其訓練與測試的方式與正常模型有所不同,其訓練流程包括:預訓練QCNN網絡、參數遷移及模型訓練3大部分。
圖1 基于遷移QCNN孿生網絡訓練圖
1)預訓練QCNN,將數據劃分不同數據集,歸一化,以256批量,輸入到5層Q卷積和池化,然后經Flatten層展開,Dense層壓縮為100×1的向量,在經softmax層輸出one-hot編碼,最后使用categorical_crossentropy損失函數和Adam優(yōu)化器優(yōu)化參數。
2)參數遷移,將訓練好的QCNN中的5層Q卷積層和池化層、Flatten層及Dense層的參數遷移到孿生網絡的主干網絡上,并使兩支主干網絡的參數共享,其中將預訓練的權重遷移到孿生網絡中,使孿生網絡具有判別性強的初始參數,提高模型精度。
3)模型訓練,首先,將歸一化的數據,進行正負樣本匹配。
(3)
(4)
(5)
最后,使用式(6)的二元交叉熵損失函數和Adam優(yōu)化器優(yōu)化參數,其參數如式(7)、(8)所示:
(6)
(7)
(8)
其測試方法:將測試集的數據分別與不同故障的數據組成數據對輸入到訓練好的模型中,得到數據與不同故障數據的相似度,相似度最大的故障類型,為該數據的故障類型,如式(9):
Y=argmax(p1,p2…pn)
(9)
式中,Y為故障類別,pi為數據與故障i的相似度。
本文使用CWUR的滾動軸承數據集進行了抗噪性和工況數據不平衡驗證,引用江南大學的軸承數據集進一步驗證本文所提方法對軸承故障的識別性能。
3.1.1 CWUR數據集介紹
CWUR[26]軸承數據包含正常數據8組、外圈損傷數據53組、內圈損傷數據23組及滾動體損傷數據11組。本實驗使用CWUR軸承數據中的深溝球軸承型號為SKF6205、采樣頻率48 kHz、負載0 HP轉速1 797 r/min、負載1 HP轉速1 772 r/min、負載2 HP轉速1 750 r/min、負載3 HP轉速1 730 r/min的數據驗證本文方法。首先根據負載和轉速的不同的工況,本文將數據根據負載分為A、B、C、D共4個不同工況的數據集,并且根據軸承的故障的位置和損傷尺寸將每個工況分為9類故障和一類正常數據,共10類(故障類型如表1所示),其中每類數據約有2萬。本文以長度為2 048的窗口,28的步長,滑動采樣,每類采樣900樣本,700為訓練樣本,200為測試樣本,其中滑動窗口設置為2 048可以防止軸承數據特征丟失,提高故障診斷精度。
表1 故障類型
3.1.2 單工況場景實驗
本文使用A、B、C、D數據集驗證所提方法在不同工況情況下故障診斷的效果,并與傳統(tǒng)機器學習支持向量機(SVM)、神經網絡FFNN(前饋神經網絡)和最近提出的WDCNN、QCNN深度學習網絡模型以及未遷移的孿生網絡模型,進行試驗對比分析,其中QCNN的參數與WDCNN類似,區(qū)別是WDCNN的參數卷積層為一般卷積,QCNN的卷積是Q卷積,QCNN模型參數設置如表2所示。
表2 QCNN模型參數設置
試驗結果如圖2所示,本文模型較傳統(tǒng)機器學習等模型具有更好的故障識別效果。其中本文模型在不同工況下的故障診斷精度的平均值最高,達到了99.48%,較SVM提升了23.33%,較FFNN提升了20.4%,較WDCNN提升了0.68%,較QCNN提升了0.4%,較未遷移的孿生網絡模型提升了0.36%。
圖2 模型精度對比圖
3.1.3 噪聲實驗
在實際工作場景中,軸承振動數據采集中往往伴隨著雜音,而大多數深度學習模型在有噪聲信號影響下的故障識別率往往不是很理想。對此,本文將QCNN與孿生網絡結合,QCNN中的Quadratic神經元較一般卷積可以更好的提取軸承振動信號特征,孿生網絡的結構可以抑制噪聲,兩者結合就使得本文模型具有更好的抗噪性。為了模擬實際應用中不同噪聲水平下的數據情況,本文為數據分別添加信噪比為-6、-4、-2、0、2、4、6的高斯白噪聲,模擬不同噪聲環(huán)境,驗證本文模型在不同噪聲環(huán)境下的性能,模擬從-6~6共7個級別的信噪比的高斯白噪聲,包括了較低的到高的信噪比情況覆蓋一定范圍內的噪聲強度。這樣可以更全面地考察模型對不同噪聲水平下的處理能力,進而提高模型的魯棒性和應用性。其中信噪比(SNR)定義為信號功率與噪聲功率之比,其表達式如式(10)所示:
SNRdb=10lg(Psinal/Pnoise)
(10)
式中,Psinal,Pnoise分別為信號和噪聲的功率。
實驗結果如表3所示,電機負載為0 HP(數據集A)下,本文模型對不同噪聲的平均準確率最高,為97.84%,較WDCNN模型提高了2.37%,較QCNN提高了0.68%,較未遷移的孿生網絡模型提高了0.07%。電機負載為1 HP(數據集B)下,本文模型對不同噪聲的平均準確率最高,為95.37%,較WDCNN模型提高了2.58%,較QCNN提高了0.6%,較未遷移的孿生網絡模型提高了0.41%。電機負載為2 HP(數據集C)下,本文模型對不同噪聲的平均準確率最高,為95.20%,較WDCNN模型提高了1.36%,較QCNN提高了1.26%,較未遷移的孿生網絡模型提高了0.47%。電機負載為3 HP(數據集D)下,本文模型對不同噪聲的平均準確率最高為96.16%,較WDCNN模型提高了,1.87%,較QCNN提高了0.66%,較未遷移的孿生網絡模型提高了0.68%。
表3 噪聲實驗表
本文以0 HP工況和-6 SNR的白高斯噪聲的數據下模型為例,使用混淆矩陣查看本文所提模型對每類故障診斷情況,與WDCNN、QCNN、未遷移的孿生網絡模型對每類故障診斷情況進行對比分析,展示所提模型的有效性。如圖3所示,添加-6 SNR的白高斯噪聲的數據使所有模型對故障2的故障識別影響較大,其中本文模型受-6 SNR的白高斯噪聲影響較小,對故障2的識別率最高。同時,本文使用T-SNE算法對WDCNN模型、QCNN模型、未遷移的孿生網絡模型和本文所提模型提取的0 HP工況和-6 SNR噪聲下軸承數據的特征進行數據降維可視化,如圖4所示,在0 HP工況和添加-6 SNR的白高斯噪聲的數據下,本文模型提取的特征,在特征空間中的同類分布,較WDCNN模型、QCNN模型提取和未遷移的孿生網絡模型的同類特征分布更緊湊,類與類之間距離更分明。
圖3 WDCNN、QCNN與本文模型的混淆矩陣
圖4 WDCNN、QCNN與本文模型的特征降維可視化圖
3.1.4 工況數據不平衡實驗
在實際的工作場景下,軸承的工況往往隨著機器實現的任務的不同而不同的,軸承的工況變換頻繁,不同樣本數據采集困難,因此很難收集到某類故障足夠多的樣本。而深度學習模型要準確識別某類故障,需要大量的數據訓練模型。而數據遷移可以有效緩解工況數據不平衡問題,即變工況,使用有足夠的數據的工況數據預訓練,在使用數據不足的工況數據稍微訓練,本文使用所提模型進行變工況故障試驗,可以緩解實際工作場景下工況數據不平衡問題,即分別在A、B、C、D數據集下訓練模型,然后將模型遷移到不同工況下,用該工況的20%數據再進行重新訓練測試。如A→B表示在數據集A下訓練模型,然后用B數據集的20%數據再進行訓練測試。其試驗結果如圖5所示,本文所提方法平均準確率最高,達到了96.62%,較WDCNN提高了5.81%,較QCNN提高了5.06%,較未遷移的孿生網絡模型提高了0.91%。
圖5 工況遷移圖
為了驗證本文模型對其他軸承數據也有很好故障識別性能,引用了江南大學的軸承數據集進一步驗證[27]。江南大學軸承數據集包含600 r/min、800 r/min、1 000 r/min轉速的正常、內圈故障、外圈故障、滾動體故障滾動軸承振動數據。本文根據滾動軸承的故障位置和轉速,將數據劃分為3個數據集E、G、F,每個數據集有3類故障和1類正常數據,共4類(故障類型如表4所示)。本文以長度為2 048的滑動窗口,28的步長,對數據進行滑動采樣,每類采樣900樣本,700為訓練樣本,200為測試樣本。
表4 故障類型
本文模型對江南大學軸承數據集的故障診斷效果,如圖6所示:本文模型在不同工況下的平均準確率最高為99.03%,較WDCNN提升了2.47%,較QCNN提升了0.43%,較未遷移的孿生網絡模型提升了0.36%,其中在數據集E(600 r/min)下模型故障識別率達到98.4%,較WDCNN提升了1.6%,較QCNN提升了0.4%,較未遷移的孿生網絡模型提升了0.2%,在數據集F(800 r/min)下模型故障識別率達到99.82%,較WDCNN模型提升了1.42%,較QCNN提升了0.02%,較未遷移的孿生網絡模型提升了0.01%,數據集G(1 000 r/min)下模型故障識別率達到98.9%,較WDCNN提升了4.4%,較QCNN提升了0.9%,較未遷移的孿生網絡模型提升了0.9%。
圖6 江南大學數據集下模型精度
針對基于深度學習的軸承故障方法的精度易受噪聲影響和采集大量不同工況的數據困難等問題。本文提出了一種基于遷移QCNN的孿生網絡的軸承故障診斷方法,先預訓練QCNN獲取具有較強判別性的模型參數,將預訓練的參數遷移到QCNN作為子網絡的孿生網絡中,然后正常訓練孿生網絡獲取模型,最后將測試數據與故障數據組成數據對輸入模型,即可得到測試數據的故障類型。其中QCNN中的Quadratic神經元具有很高的特征提取能力,孿生網絡具有一定的抗噪性,將QCNN的Quadratic神經元與孿生網絡相結合使模型更具有抗噪性,另外孿生網絡因結構優(yōu)勢可以更好的緩解工況數據不平衡問題。對此,本文進行的單工況、噪聲、工況數據不平衡試驗驗證方法的有效性。實驗結果表明:本文所提模型相對其他模型在相同噪聲下具有更好的性能,在相同的工況遷移情況下的效果更好,最后,本文還引用江南大學軸承數據集進一步驗證所提方法對軸承故障的識別性能,結果顯示,本文方法在其他軸承數據集上的故障識別性能也很好。