余浩帥 湯寶平 張 楷 譚 騫 魏 靜
重慶大學機械傳動國家重點實驗室,重慶,400044
深度學習由于其強大的非線性特征自適應提取能力和表征能力而受到故障診斷等領域的廣泛重視[1-2],然而,基于深度學習的故障診斷方法達到較高準確率的前提是需要通過大量的有標簽數據構建深層神經網絡進行訓練。在實際工程中,風電齒輪箱的故障數據標記依賴風場故障分析報告和專家結論,收集大量精準的有標簽數據樣本十分困難且代價昂貴,導致許多風場有標簽故障樣本稀小,傳統深度學習網絡在小樣本情況下容易出現過擬合的問題,模型精度不高[3-4]。
近年來,部分學者已在小樣本故障診斷領域開展了相關研究,并取得一定成果。DING等[5]利用生成式對抗網絡(generative adversarial networks, GAN)通過隨機噪聲生成各類標簽樣本從而達到擴充數據的目的來解決標簽樣本過少的問題。ZHANG等[6]利用深度半監督網絡通過大量的無標簽樣本輔助有標簽樣本獲得分類性能更好的網絡模型。但上述方法自身均存在不足和限制,如生成對抗網絡模型訓練困難,容易發生模型崩潰、生成器模型梯度消失等問題,而深度半監督方法無法確認無標簽樣本數量是否存在不平衡,并且由于模型超參數過多而難以獲得最優模型。
原型網絡(prototypical networks, ProNet)[7]是一種基于度量的小樣本學習方法,該方法旨在學習各類樣本在一個度量空間的原型表示,通過比較查詢樣本與各類原型的距離,將查詢樣本歸入距離最近的類別,從而達到分類的目的。相比生成式對抗網絡和深度半監督網絡的小樣本故障診斷方法,原型網絡無需通過隨機噪聲或者無標簽樣本擴充數據集,也不存在模型崩潰、生成器模型梯度消失、無標簽樣本數量是否存在不平衡等問題。但是,由于風電齒輪箱工況波動較大,振動信號頻率成分復雜,時變性強,ProNet網絡結構容易忽略信號內部的相關性,無法捕捉信號長距離依賴的特征[8-9],極大地抑制了其在風電齒輪箱故障診斷的應用。
針對上述問題,本文提出了一種混合自注意力原型網絡(mixed self-attention prototypical networks, MAS-ProNet)的風電齒輪箱故障診斷方法。先通過原型網絡將原始振動信號映射到故障特征度量空間,以提高方法的泛化能力;再采用混合自注意力模塊建立振動信號的全局依賴關系,獲取更具判別性的特征信息,從而獲取風電齒輪箱各健康狀態下更加精確的度量原型;最后利用度量分類器實現小樣本條件下風電齒輪箱的故障診斷。
ProNet是一種基于度量的小樣本學習方法,與傳統深度學習方法不同,ProNet將訓練數據集劃分為支持集和查詢集兩部分,其中支持集為包含K種健康狀態下總共N個有標簽樣本的數據集s={(x1,y1),(x2,y2),…,(xN,yN)},其中xi∈RD是一個D維的特征向量,yi∈{1,2,…,K}為樣本標簽,Sk代表標簽為k的樣本數量;查詢集包含H個有標簽數據。ProNet結構如圖1所示,其中特征提取器為三層卷積網絡,卷積層1參數為[16,13](16通道的13大小的卷積核),卷積層2參數為[64,7],卷積層3參數為[64,3],p為每類健康狀態的樣本數目。ProNet結構主要包含特征嵌入、特征表示和距離度量三個部分,首先將支持集的各類數據輸入到ProNet網絡的特征提取器中,學習支持集到度量空間的非線性映射關系,得到各樣本數據在度量空間的M維的特征嵌入,然后通過每一類p個樣本特征嵌入的平均值得到各類健康狀態在度量空間的特征表示ck(即各類健康狀態的原型):

圖1 原型網絡結構圖Fig.1 Prototypical networks structure
(1)
其中fφ(xi)為向量xi在度量空間的特征嵌入,即向量xi通過三層卷積層提取到的特征。最后將查詢集的數據輸入到同一個ProNet網絡中,在度量空間得到M維的特征嵌入c*∈RM,分別得到c*與K個原型ck的歐氏距離dk,即為查詢集與各原型的距離度量,將dk取負,通過Softmax轉化為每一類的概率,概率最大的標簽類作為網絡輸出結果,如下式:
(2)
由于風電齒輪箱工況復雜,載荷波動較大,又因振動信號傳遞路徑復雜,同時受到大量無規律強背景噪聲的影響,導致信號的故障特征極其微弱[10]。并且,風電齒輪箱振動信號作為神經網絡模型輸入時,由于ProNet中卷積計算的“權值共享與局部連接”特性,未考慮不同卷積核提取特征的通道信息與位置信息對度量分類器的影響,導致故障特征提取困難[11-12]。針對上述問題,本文引入自注意力機制,在振動信號樣本中,不同位置的局部信號具有不同的特征,位置自注意力機制通過掃描振動信號,獲取需要重點關注的局部信號所在的位置,賦予更大的權重;網絡中每個通道由一個卷積核與輸入特征計算獲得,不同卷積核提取到的特征對結果的貢獻度不同,通過在原型網絡中附加包含位置和通道自注意力的混合自注意力模塊,使得模型更擅長捕捉信號特征的內部相關性,當故障特征不明顯時,混合自注意力模塊通過網絡自適應學習振動信號特征中的位置和通道的全局依賴關系,選擇性地賦予信號中具有相似特征的信息更大的權重,相比無規律的強噪聲背景信息,更突出故障特征信息,從而提取更具判別性的特征,提高度量分類器的準確度。
1.2.1位置自注意力模塊
位置自注意力模塊重點關注信號中具有類似特征的位置,為其賦予一個更高的權重,提高信號特征的有效性,其結構如圖2所示。

圖2 位置自注意力模塊Fig.2 Position self-attention module
圖2中,A∈RC×L為振動信號經過卷積層得到的特征圖,C為通道數,L為特征圖長度,為了增強其非線性表征能力,通過卷積核為1的卷積層分別生成特征圖B、H、W,{B,H,W}∈RC×L,然后將B的轉置矩陣與H作矩陣乘法,經過Softmax層得到權重矩陣S∈RL×L:
(3)
其中,Sji用來度量位置i與j上特征點的相關程度,特征向量越相似,則距離和夾角就越小,所以乘積就越大,即兩個位置的特征越相似,相關性越大,則Sji越大。
然后將特征圖W和權重矩陣S的轉置矩陣作乘法得到維度為RC×L的位置自注意力矩陣。最后,位置自注意力模塊的輸出結果E為位置自注意力矩陣與原始特征矩陣的加權和,具體計算如下式所示:
(4)
其中,α為賦予位置自注意力矩陣的權重,初始值為0,然后逐漸學習到更多的權重。由式(4)可知,位置自注意力特征矩陣E包含了注意力矩陣和原始特征矩陣的所有信息。在位置自注意力矩陣中,相似程度更高的位置會互相增益得到一個更高的權重,使得網絡聚焦于更具相似特征的位置信息,從而提取更具故障特性的信息。
1.2.2通道自注意力模塊
傳統的深度神經網絡并沒有考慮各通道之間的依賴性,通過加入通道自注意力模塊,可以自適應地調整各通道之間的特征響應值,建立通道的依賴關系,從而提高網絡的性能[13]。每一個通道都可看作一個類特有的特征響應,通過通道自注意力模塊,可以挖掘各個通道之間的權重關系,以獲取更有效的特征信息,通道自注意力模塊結構如圖3所示。

圖3 通道自注意力模塊Fig.3 Channel self-attention module
首先將特征圖A∈RC×L與A的轉置矩陣AT進行矩陣乘法得到維度為RC×C的通道權重矩陣,然后通過一個Softmax層得到通道自注意力矩陣X∈RC×C:
(5)
式中,Xji表示第i個通道對第j個通道的影響。
然后將X與A的轉置矩陣做乘法,將結果變形為維度為RC×H×W的矩陣,最后得到的通道注意力模塊的輸出結果如下:
(6)
其中,β為賦予通道自注意力矩陣的權重,初始值為0,然后逐漸學習到更多的權重。由式(6)可知,通道自注意力特征矩陣E包含了注意力矩陣和原始通道特征的所有信息。在通道自注意力矩陣中,相似度更高的通道會互相增益得到一個更高的權重,通過對各個通道的依賴性進行建模,有助于提高特征的識別能力。
通過構建圖4所示的混合自注意力模塊,將兩個注意力模塊的特征輸出進行矩陣相加融合,得到的包含位置依賴和通道依賴的混合自注意力特征更具判別性。最終構建的MAS-ProNet故障診斷模型如圖5所示,輸入的振動信號先通過原型網絡映射到故障特征度量空間,再通過混合自注意力模塊建立振動信號的全局依賴關系,利用支持集學習到風電齒輪箱各健康狀態下的度量原型,然后計算查詢集在度量空間與各個原型的歐氏距離,將其輸入到Softmax分類器,得到模型的預測結果;最后,計算模型預測結果與真實標簽的交叉熵損失,經過多次更新模型參數得到最優模型參數和各類健康狀態的原型。

圖4 混合自注意力模塊Fig.4 Mixed self-attention module

圖5 混合自注意力原型網絡故障診斷模型Fig.5 Mixed self-attention prototypical networks fault diagnosis model
MAS-ProNet的風電齒輪箱故障診斷方法流程如圖6所示,分為3個步驟:信號的采集與截斷、網絡模型的訓練、故障診斷。

圖6 混合自注意力原型網絡的風電齒輪箱故障診斷方法流程Fig.6 Process of fault diagnosis method for wind turbines gearbox based on Mixed self-attention prototypical networks
(1)信號的采集與截斷。利用振動傳感器采集風電齒輪箱的振動信號,將信號進行等長截斷得到樣本。
(2)網絡模型的訓練。使用支持集和查詢集數據進行模型參數和各類原型的訓練,并在訓練過程中不斷地調整超參數,直到達到較好的性能。
(3)故障診斷。網絡模型訓練完成并且得到各類原型之后,使用驗證集進行故障診斷測試。
按照上述方法構建MAS-ProNet,模型訓練時將支持集和查詢集輸入到卷積層,然后通過位置自注意力模塊和通道自注意力模塊建立振動信號的全局依賴關系,獲取更具判別性的特征,再利用支持集的輸出學習到每類樣本標簽的原型,最后,通過選取距離查詢集輸出最近的原型作為預測結果,直至訓練到滿足要求的網絡模型以及標簽原型。通過已保存的最優MAS-ProNet實現故障診斷。
為了驗證所提出算法模型的有效性,采用國內某風場通過振動狀態監測系統(CMS系統)采集到的某型號多臺2MW風電機組的風電齒輪箱振動數據對模型進行驗證。該風場CMS系統采樣頻率為25 600 Hz,產生大量的振動數據,考慮到風電齒輪箱振動故障大多是漸變故障,受風場數據存儲能力限制,故每天每個傳感器只存儲其中的一小段連續數據,根據該風場數據報告,每臺風機每個傳感器每天存儲振動數據為131 072個數據點。該型號風電機組齒輪箱主要包括輸入軸、一級行星輪系、二級平行齒輪等,其結構簡圖如圖7 所示。

圖7 風電齒輪箱結構簡圖Fig.7 Wind turbines gearbox structure
在該風場服役期間,通過布置在Z2齒輪軸承座的加速度傳感器共搜集到滿足要求的5種不同健康狀態的風電齒輪箱實測振動信號數據,分別為正常、齒損傷、保持架開裂、軸承滾珠掉落和軸承磨損。由于采樣頻率為25 600 Hz,根據風場提供信息可知,Z2齒輪轉頻約為6.26 Hz,即轉動一圈用時0.1597 s,而4096個點采樣時間為0.16 s,恰好代表齒輪轉動一圈的信息,故選取4096個點為一個樣本,每臺風機每個傳感器每天可產生32個樣本。根據風場提供的風機風電齒輪箱故障報告,本文將發現各個故障時間點的前10天的數據樣本作為故障樣本數據集驗證本文方法的診斷準確率。圖8為部分狀態下的故障檢視圖,圖9為各類健康狀態的其中一個樣本數據的信號展示,它對應的是齒輪旋轉一圈的信息。

(a)齒損傷 (b)保持架開裂

(c)軸承滾珠掉落 (d)軸承磨損圖8 風電齒輪箱故障檢視圖Fig.8 Wind turbines gearbox fault inspection view

圖9 風電齒輪箱各健康狀態及振動信號Fig.9 Wind turbines gearbox status and vibration signal
本次驗證過程中,混合自注意力原型網絡(MAS-ProNet)分別選取10、20、50、100、200、300個數據作為訓練樣本。由于不同特征對各故障的效果不同,為了減少故障診斷過程中的人工參與,更有效地提取特征,實現端對端的學習,直接使用原始數據進行診斷。驗證集樣本數均為200,訓練迭代次數設置為200次,為了降低偶然因素的影響,取最后10次準確率的平均值作為評估標準。本次驗證過程硬件配置為i7-10750HCPU、RTX2070GPU;系統環境為Windows10,Pytorch版本為1.5.0,CUDA版本10.2,cudnn版本為7.6.5。
模型設置參數如表1 所示,同時本文在每個卷積層輸出時都進行了批歸一化和一個采樣核大小為2的最大池化層,能在緩解過擬合的同時加快收斂速度,激活函數均為ReLu。

表1 模型結構參數
MAS-ProNet每次迭代過程中隨機從樣本中選取支持集,在10個樣本情況下,由于樣本個數限制,支持集各類樣本數量設置為5,在20、50、100、200和300個樣本數據情況下,支持集各類樣本數量均為10,剩下的數據作為查詢集,按照圖6所示的流程訓練生成滿足要求的各類原型和模型,模型訓練完成后,通過驗證集驗證模型在風電齒輪箱實測數據上的故障診斷性能。
為了驗證本文所提出的模型性能,在相同數據集的情況下,與CNN、WDCNN(deep convolutional neural networks with wide first-layer kernels)[14]、ProNet 3種深度學習方法進行了對比。模型在不同的單個標簽樣本量下的故障診斷效果如圖10所示,平均準確率和標準差如表2所示。

表2 實驗結果

圖10 不同方法的測試準確度對比Fig.10 The test accuracy comparison of thedifferent methods
由圖10可知,在不同樣本數量下,本文所提出的方法MAS-ProNet在4種故障診斷方法中均取得了最高的準確率。MAS-ProNet利用原型網絡的度量學習提高了網絡的泛化能力,同時,針對風電齒輪箱振動信號受強背景噪聲影響、成分復雜的情況,通過混合自注意力模塊建立了信號的全局依賴關系,使得輸出的特征信息更具判別性。
隨著樣本數量的增多,網絡的過擬合得到緩解,4種方法的準確率均得到了提高。特別地,在10個樣本情況下,CNN模型的準確率較差,僅達到25.89%,WDCNN通過降低網絡訓練過程中參數的權值來緩解過擬合,準確率相較CNN提高了14.11%,ProNet則利用度量學習來創建各類健康狀態特征的原型,其泛化能力相比于WDCNN得到進一步提高,準確率相較于WDCNN提高了23.47%。在200個樣本情況下,網絡過擬合的問題已經得到了很大的緩解,各方法的準確率已經逐漸接近,MAS-ProNet通過混合自注意力模塊能夠聚焦于故障特征信息,相比其他3種方法準確度依然有一定的提高。在樣本數達到300時,MAS-ProNet的準確率相較200個樣本時提高幅度不大,由于此時樣本數量已經基本滿足傳統深度學習方法的需求,CNN的準確率已經超過了MAS-ProNet。以上結果表明本文提出的MAS-ProNet風電齒輪箱故障診斷方法相比其他幾種深度學習故障診斷方法在小樣本條件下具有明顯優勢。
為了觀察MAS-ProNet在各類的表現,在樣本數量為50個情況下,繪制驗證集上一次隨機測試結果的混淆矩陣,如圖11所示。其中,橫軸表示驗證集真實標簽,縱軸表示驗證集的預測標簽,主對角線為網絡模型預測的正確樣本數,標簽0表示正常,標簽1表示保持架開裂,標簽2表示軸承滾珠掉落,標簽3表示軸承滾珠掉落,標簽4表示軸承磨損。可以看出:混合注意力原型網絡模型對風電齒輪箱各類標簽識別具有很高的準確度,標簽3與標簽4由于均為軸承部位的故障類型,二者的相似度更高,所以誤判率相較其他幾類偏高。

圖11 驗證結果混淆矩陣Fig.11 Sample test result distribution
(1)ProNet通過建立各類健康狀態在度量空間的特征原型,通過距離度量來分類查詢樣本的健康狀態,能夠很好地緩解網絡的過擬合問題,提高小樣本情況下故障診斷的準確率。
(2)引入的混合自注意力模塊使得網絡能夠聚焦于更具相似特征的信息,相比無規律強背景噪聲更突出故障特征信息,從而提取更具判別性的特征,獲得更加精確的類原型。
(3)通過對比CNN、WDCNN和原始ProNet方法,混合自注意力模塊的引入使得模型能夠建立振動信號的全局依賴關系,也使MAS-ProNet在小樣本條件下取得更好的風電齒輪箱故障診斷效果。