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