交叉注意力融合時(shí)域、頻域特征的FFT + CNN -BiLSTM-CrossAttention電能質(zhì)量擾動(dòng)識(shí)別模型
前言
本文基于Python仿真的電能質(zhì)量擾動(dòng)信號(hào),進(jìn)行快速傅里葉變換(FFT)的介紹與數(shù)據(jù)預(yù)處理,最后通過(guò)Python實(shí)現(xiàn)基于FFT的CNN-BiLSTM-CrossAttention模型對(duì)電能質(zhì)量擾動(dòng)信號(hào)的分類(lèi)。
部分?jǐn)_動(dòng)信號(hào)類(lèi)型波形圖如下所示:
模型整體結(jié)構(gòu)
模型整體結(jié)構(gòu)如下所示,一維擾動(dòng)信號(hào)經(jīng)過(guò)FFT變換的頻域特征以及信號(hào)本身的時(shí)域特征分別經(jīng)過(guò)CNN卷積池化操作,提取全局特征,然后再經(jīng)過(guò)BiLSTM提取時(shí)序特征,使用交叉注意力機(jī)制融合時(shí)域和頻域的特征,通過(guò)計(jì)算注意力權(quán)重,使得模型更關(guān)注重要的特征再進(jìn)行特征增強(qiáng)融合,最后經(jīng)過(guò)全連接層和softmax輸出分類(lèi)結(jié)果。
時(shí)域和頻域特征提取:
- 對(duì)時(shí)域信號(hào)應(yīng)用FFT,將信號(hào)轉(zhuǎn)換到頻域。
- 利用CNN對(duì)頻域特征進(jìn)行學(xué)習(xí)和提取。CNN的卷積層可以捕捉頻域特征的局部模式。
BiLSTM網(wǎng)絡(luò):
- 將時(shí)域信號(hào)輸入BiLSTM網(wǎng)絡(luò)。BiLSTM(雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò))可以有效地捕捉時(shí)域信號(hào)的長(zhǎng)期依賴(lài)關(guān)系。
交叉注意力機(jī)制:
- 使用交叉注意力機(jī)制融合時(shí)域和頻域的特征。這可以通過(guò)計(jì)算注意力權(quán)重,使得模型更關(guān)注重要的特征
1 快速傅里葉變換FFT原理介紹
傅里葉變換是一種信號(hào)處理和頻譜分析的工具,用于將一個(gè)信號(hào)從時(shí)間域轉(zhuǎn)換到頻率域。而快速傅里葉變換(FFT)是一種高效實(shí)現(xiàn)傅里葉變換的算法,特別適用于離散信號(hào)的處理。
第一步,導(dǎo)入部分?jǐn)?shù)據(jù),擾動(dòng)信號(hào)可視化
第二步,擾動(dòng)信號(hào)經(jīng)過(guò)FFT可視化
2 電能質(zhì)量擾動(dòng)數(shù)據(jù)的預(yù)處理
2.1 導(dǎo)入數(shù)據(jù)
在參考IEEE Std1159-2019電能質(zhì)量檢測(cè)標(biāo)準(zhǔn)與相關(guān)文獻(xiàn)的基礎(chǔ)上構(gòu)建了擾動(dòng)信號(hào)的模型,生成包括正常信號(hào)在內(nèi)的10中單一信號(hào)和多種復(fù)合擾動(dòng)信號(hào)。參考之前的文章,進(jìn)行擾動(dòng)信號(hào)10分類(lèi)的預(yù)處理:
第一步,按照公式模型生成單一信號(hào)
單一擾動(dòng)信號(hào)可視化:
2.2 制作數(shù)據(jù)集
制作數(shù)據(jù)集與分類(lèi)標(biāo)簽
3 交叉注意力機(jī)制
3.1 Cross attention概念
- Transformer架構(gòu)中混合兩種不同嵌入序列的注意機(jī)制
- 兩個(gè)序列必須具有相同的維度
- 兩個(gè)序列可以是不同的模式形態(tài)(如:文本、聲音、圖像)
- 一個(gè)序列作為輸入的Q,定義了輸出的序列長(zhǎng)度,另一個(gè)序列提供輸入的K&V
3.2 Cross-attention算法
- 擁有兩個(gè)序列S1、S2
- 計(jì)算S1的K、V
- 計(jì)算S2的Q
- 根據(jù)K和Q計(jì)算注意力矩陣
- 將V應(yīng)用于注意力矩陣
- 輸出的序列長(zhǎng)度與S2一致
在融合過(guò)程中,我們將經(jīng)過(guò)FFT變換的頻域特征作為查詢(xún)序列,時(shí)序特征作為鍵值對(duì)序列。通過(guò)計(jì)算查詢(xún)序列與鍵值對(duì)序列之間的注意力權(quán)重,我們可以對(duì)不同特征之間的關(guān)聯(lián)程度進(jìn)行建模。
4 基于FFT+CNN-BiLSTM-CrossAttention擾動(dòng)信號(hào)識(shí)別模型
4.1 網(wǎng)絡(luò)定義模型
注意:輸入故障信號(hào)數(shù)據(jù)形狀為 [64, 1024], batch_size=64, ,1024代表擾動(dòng)信號(hào)序列長(zhǎng)度。
4.2 設(shè)置參數(shù),訓(xùn)練模型
50個(gè)epoch,準(zhǔn)確率近100%,用FFT+CNN-BiLSTM-CrossAttention融合網(wǎng)絡(luò)模型分類(lèi)效果顯著,模型能夠充分提取電能質(zhì)量擾動(dòng)信號(hào)的空間和時(shí)序特征和頻域特征,收斂速度快,性能優(yōu)越,精度高,交叉注意力機(jī)制能夠?qū)Σ煌卣髦g的關(guān)聯(lián)程度進(jìn)行建模,從擾動(dòng)信號(hào)頻域、時(shí)域特征中屬于提取出對(duì)模型識(shí)別重要的特征,效果明顯。
4.3 模型評(píng)估
準(zhǔn)確率、精確率、召回率、F1 Score
擾動(dòng)信號(hào)十分類(lèi)混淆矩陣:
點(diǎn)擊下載:原文完整數(shù)據(jù)、Python代碼???https://mbd.pub/o/bread/ZpWXmpts??
本文轉(zhuǎn)載自 ??建模先鋒??,作者: 小蝸愛(ài)建模
