超強!一區(qū)直接寫!基于SSA+Informer-SENet故障診斷模型
1 模型創(chuàng)新點介紹
1.1 時序特征捕捉與建模
使用Informer的編碼器層來捕捉長故障信號時序依賴特征
- 長時間序列處理:傳統(tǒng)的RNN和LSTM等方法在處理長時間序列時存在計算效率低、梯度消失等問題。Informer通過改進Transformer架構(gòu),使用ProbSparse Self-Attention機制,有效地提高了計算效率,特別是對于長時間序列數(shù)據(jù)。
- 全局特征提?。和ㄟ^多頭注意力機制,Informer能夠捕捉序列數(shù)據(jù)中的全局特征和長時間依賴關(guān)系,確保對故障信號的時序特征進行全面建模。
1.2 概率稀疏注意力機制(ProbSparse Self-attention)
概率稀疏自注意力是Informer模型中引入的一種稀疏自注意力機制。其核心思想是通過概率方法選擇最重要的一部分注意力權(quán)重進行計算,而忽略那些對結(jié)果影響較小的權(quán)重。這種方法能夠顯著降低計算復(fù)雜度,同時保持較高的模型性能。
- 稀疏自注意力:不同于標(biāo)準(zhǔn) Transformer 的密集自注意力機制,Informer 引入了 ProbSparse Self-attention,通過概率抽樣機制選擇重要的 Q-K 對進行計算,減少了計算復(fù)雜度。
- 效率提升:稀疏注意力機制顯著降低了計算復(fù)雜度,從 O(L2?d) 降低到 O(L?log(L)?d),其中 L 是序列長度,d 是每個時間步的特征維度。
1.3 多尺度特征提取-信息蒸餾
Informer的架構(gòu)圖并沒有像Transformer一樣在Encoder的左邊標(biāo)注來表示N個Encoder的堆疊,而是一大一小兩個梯形。橫向看完單個Encoder(也就是架構(gòu)圖中左邊的大梯形,是整個輸入序列的主堆棧)。
Encoder的作用是Self-attention Distilling,由于ProbSparse自相關(guān)機制有很多都是用V的mean填充的,所以天然就存在冗余的attention sorce ,因此在相鄰的Attention Block之間應(yīng)用卷積與池化來對特征進行下采樣,所以作者在設(shè)計Encoder時,采用蒸餾的操作不斷抽取重點特征,從而得到值得重點關(guān)注的特征圖。
- 多尺度時間序列特征提取:Informer 通過多尺度的方式對不同時間粒度的特征進行建模,可以更好地捕捉時間序列中的多尺度依賴關(guān)系。
- 信息蒸餾:引入了信息蒸餾機制,通過層次化的時間卷積池化層逐步縮減時間步長,提取不同尺度的特征,實現(xiàn)長時間依賴的高效建模。
- 卷積降維:在編碼器中使用1D卷積池化層進行降維,步長為2,使得序列長度減半,進一步減少計算復(fù)雜度。
- 信息壓縮:通過卷積池化層進行信息壓縮,將長序列信息濃縮到較短的時間步長中,從而更高效地進行時序建模。
1.4 特征增強與融合
在Informer的編碼器層結(jié)合SENet進行特征增強
- 自適應(yīng)特征校準(zhǔn):SENet通過Squeeze-and-Excitation模塊,對每個通道的特征進行自適應(yīng)權(quán)重調(diào)整,增強重要特征,抑制無關(guān)或冗余特征。這種機制可以提升模型對故障信號關(guān)鍵特征的敏感度,提高故障診斷的準(zhǔn)確性。
- 通道間依賴建模:SENet能夠捕捉不同通道特征之間的關(guān)系,通過重新校準(zhǔn)特征通道的權(quán)重,使得模型能夠更加有效地融合多通道信息,提升整體特征表達能力。
1.5 麻雀優(yōu)化算法搜索參數(shù)
通過SSA,能夠在較大的參數(shù)空間中高效地找到最優(yōu)參數(shù)組合,增強模型的診斷能力和泛化性能。
參數(shù)優(yōu)化的必要性
- 參數(shù)空間復(fù)雜性:Informer-SENet模型包含多個超參數(shù),如學(xué)習(xí)率、隱藏層維度、注意力頭數(shù)、編碼器層數(shù)等,這些參數(shù)對模型性能有顯著影響。
- 人工調(diào)參的局限性:人工調(diào)參耗時耗力,且難以保證找到全局最優(yōu)參數(shù)組合。
更多詳細內(nèi)容參考講解視頻!
2 軸承數(shù)據(jù)加載與預(yù)處理
2.1 導(dǎo)入數(shù)據(jù)
參考之前的文章,進行故障10分類的預(yù)處理,凱斯西儲大學(xué)軸承數(shù)據(jù)10分類數(shù)據(jù)集:
train_set、val_set、test_set 均為按照7:2:1劃分訓(xùn)練集、驗證集、測試集,最后保存數(shù)據(jù)。
上圖是數(shù)據(jù)的讀取形式以及預(yù)處理思路。
2.2 數(shù)據(jù)預(yù)處理,制作數(shù)據(jù)集
3 麻雀優(yōu)化算法
3.1 麻雀優(yōu)化算法介紹
麻雀優(yōu)化算法(Sparrow Search Algorithm,簡稱SSA)是一種基于自然界麻雀行為特點的優(yōu)化算法,它模擬了麻雀在覓食、遷徙和社交等行為中的優(yōu)化策略。該算法在解決多種優(yōu)化問題方面展現(xiàn)出了良好的性能。
麻雀優(yōu)化算法的基本思想是通過模擬麻雀的覓食行為,不斷優(yōu)化搜索空間中的解。算法的過程可以分為覓食行為、遷徙行為和社交行為三個階段。
(1). 覓食行為(Foraging Behavior):麻雀在覓食時會選擇距離較近且具有較高適應(yīng)度的食物源。在算法中,解空間中的每個個體被看作是一個食物源,具有適應(yīng)度評價值。麻雀通過選擇適應(yīng)度較高的個體來尋找更優(yōu)的解。
(2). 遷徙行為(Migration Behavior):當(dāng)麻雀在一個食物源周圍搜索一段時間后,如果沒有找到更優(yōu)的解,它們會選擇離開當(dāng)前食物源,前往其他食物源繼續(xù)尋找。在算法中,個體之間的位置信息會發(fā)生變化,以模擬麻雀的遷徙行為。
(3). 社交行為(Social Behavior):麻雀在覓食時會通過與其他麻雀的交流來獲取更多的信息,從而提高自己的覓食效率。在算法中,個體之間通過交換信息來改善自身的解,并且更新解空間中的最優(yōu)解。
3.2 基于Python的麻雀優(yōu)化算法實現(xiàn)
3.3 麻雀優(yōu)化算法-超參數(shù)尋優(yōu)過程
麻雀優(yōu)化算法具有簡單易實現(xiàn)、全局尋優(yōu)能力和自適應(yīng)性等特點,適用于解決組合優(yōu)化問題。我們通過麻雀優(yōu)化算法來進行Informer-SENet模型的超參數(shù)尋優(yōu)。
通過設(shè)置合適的種群規(guī)模和優(yōu)化迭代次數(shù),我們在給定的超參數(shù)范圍內(nèi),搜索出最優(yōu)的參數(shù)。
4 基于Pytorch的SSA-Informer-SENet創(chuàng)新診斷模型
4.1 定義SSA-Informer-SENet分類網(wǎng)絡(luò)模型
4.2 設(shè)置參數(shù),訓(xùn)練模型
50個epoch,準(zhǔn)確率100%,SSA-Informer-SENet網(wǎng)絡(luò)分類效果顯著,模型能夠充分提取軸承故障信號的多尺度特征,收斂速度快,性能特別優(yōu)越,效果明顯。
4.3 模型評估
準(zhǔn)確率、精確率、召回率、F1 Score
故障十分類混淆矩陣:
其他效果展示:
(1)模型訓(xùn)練可視化
(2)分類標(biāo)簽可視化
(3)原始數(shù)據(jù) t-SNE特征可視化
(4)模型訓(xùn)練后的 t-SNE特征可視化:
圖片
本文轉(zhuǎn)載自 ??建模先鋒??,作者: 小蝸愛建模
