Python軸承故障診斷 | 多尺度特征交叉注意力融合模型
前言
本文基于凱斯西儲大學(CWRU)軸承數據,進行快速傅里葉變換(FFT)和變分模態分解VMD的數據預處理,最后通過Python實現基于交叉注意力BiTCN-BiGRU-CrossAttention的時空特征融合模型對故障數據的分類。凱斯西儲大學軸承數據的詳細介紹可以參考下文:
Python-凱斯西儲大學(CWRU)軸承數據解讀與分類處理
1 模型整體結構
1.1 模型整體結構如下所示:
一維故障信號分別經過FFT變換、VMD分解處理,然后把變換分解后的結果進行堆疊,通過BiTCN、BiGRU網絡提取空間、時域特征,最后通過使用交叉注意力機制融合時域和頻域的特征。可以通過計算注意力權重,使得模型更關注重要的特征,提高模型性能和泛化能力。
1.2 創新點詳細介紹:
當處理故障信號時,時頻域特征提取是非常重要的,而結合快速傅里葉變換(FFT)和變分模態分解(VMD)可以有效地挖掘信號中的多尺度特征。
(1)預處理——FFT:
FFT是一種廣泛應用的頻域分析方法,可以將信號從時域轉換到頻域,得到信號的頻譜信息。通過FFT,我們可以獲取信號在不同頻率上的能量分布,進而了解信號的頻率成分。然而,FFT只提供了信號在某個時刻的頻譜信息,無法反映信號隨時間的變化。
(2)預處理——VMD:
為了解決這個問題,可以引入變分模態分解(VMD)。VMD是一種基于信號自適應調整的模態分解方法,可以將信號分解為一系列模態函數,每個模態函數代表信號在不同尺度上的特征。通過VMD,我們可以獲得信號在不同尺度上的時域特征信息。
(3)預處理——特征融合:
結合FFT和VMD,可以先利用FFT將信號轉換到頻域,得到信號的頻譜信息。然后,同時對故障信號應用VMD,將其分解為一系列模態函數。這些模態函數代表了信號在不同尺度上的時域特征。通過分析這些信息,我們可以挖掘故障信號中的多尺度特征,從而更好地理解信號的時頻特性。這種方法能夠更全面地分析信號,有助于故障檢測與診斷等應用場景中的信號處理任務。我們把經過FFT和VMD提取的多尺度特征融合后,作為創新網絡模型的輸入,送入網絡中去訓練。
(4)創新網絡模型——BiTCN空間特征提取:
輸入:融合FFT、VMD的特征
操作:BiTCN包含兩個方向的卷積操作,分別用于正向和反向的時間序列數據。BiTCN使用了時空卷積操作,將卷積核在時間和空間維度上同時滑動,以獲取序列數據中不同時間點和空間位置的特征信息。
輸出:能夠有效地捕捉序列數據中的局部模式和全局趨勢。
(5)創新網絡模型——BiGRU 時序特征提取:
輸入:融合FFT、VMD的特征
操作:BiGRU網絡學習序列信息,關注重要的時序特征
輸出:經BiGRU處理后的時序特征表示,具有更好的故障信號時序建模能力。
(6)多尺度特征融合——交叉注意力機制特征融合:
輸入:BiTCN提取的空間特征,BiGRU提取的時序特征
交叉注意力機制:使用交叉注意力機制融合時域和頻域的特征。可以通過計算注意力權重,使得模型更關注重要的特征,提高模型性能和泛化能力
2 軸承故障數據的預處理
2.1 導入數據
參考之前的文章,進行故障10分類的預處理,凱斯西儲大學軸承數據10分類數據集:
train_set、val_set、test_set 均為按照7:2:1劃分訓練集、驗證集、測試集,最后保存數據
2.2 故障FFT變換可視化
2.3 故障VMD分解可視化
2.4 故障數據的特征預處理數據集制作
3 交叉注意力機制
3.1 Cross attention概念
- Transformer架構中混合兩種不同嵌入序列的注意機制
- 兩個序列必須具有相同的維度
- 兩個序列可以是不同的模式形態(如:文本、聲音、圖像)
- 一個序列作為輸入的Q,定義了輸出的序列長度,另一個序列提供輸入的K&V
3.2 Cross-attention算法
- 擁有兩個序列S1、S2
- 計算S1的K、V
- 計算S2的Q
- 根據K和Q計算注意力矩陣
- 將V應用于注意力矩陣
- 輸出的序列長度與S2一致
在融合過程中,我們將經過BiTCN時空卷積操作的空間特征作為查詢序列,BiGRU輸出的時序特征作為鍵值對序列。通過計算查詢序列與鍵值對序列之間的注意力權重,我們可以對不同特征之間的關聯程度進行建模。
4 基于FFT-VMD+BiTCN-BiGRU-CrossAttention的軸承故障診斷分類
4.1 定義FFT-VMD+BiTCN-BiGRU-CrossAttention分類網絡模型
4.2 設置參數,訓練模型
50個epoch,準確率99%,用FFT-VMD+BiTCN-BiGRU-CrossAttention網絡分類效果顯著,快速傅里葉變換(FFT)和變分模態分解(VMD)可以有效地挖掘信號中的多尺度特征,創新模型能夠充分提取軸承故障信號的空間和時序特征,收斂速度快,性能優越,精度高,交叉注意力機制能夠對不同特征之間的關聯程度進行建模,從故障信號頻域、時域特征中屬于提取出對模型識別重要的特征,效果明顯,創新度高!
注意調整參數:
- 可以適當增加BiTCN層數和每層的通道數維度,微調學習率;
- 調整BiGRU層數和每層神經元個數,增加更多的 epoch (注意防止過擬合)
- 可以改變一維信號堆疊的形狀(設置合適的長度和維度)
4.3 模型評估
準確率、精確率、召回率、F1 Score
故障十分類混淆矩陣:
有建模需求或論文指導的朋友請關注公眾號,聯系博主
點擊下載:原文完整數據、Python代碼??https://mbd.pub/o/bread/ZpWUlZxx??
