本期可謂是寶藏篇!學會本期的思想,幫助你分分鐘找到創新點,且不與別人重復!
本期采用MATLAB代碼,實現一種“基于格拉姆角場與并行CNN的故障診斷方法”。該方法的具體實現可以參考文獻:
[1]李宗源,陳謙,錢倍奇等.基于格拉姆角場與并行CNN的并網逆變器開關管健康診斷[J/OL].電力自動化設備,1-11[2024-02-20].https://doi.org/10.16081/j.epae.202312032.
本期文章除了復現上述原文方法,還在此文獻的基礎上,改進文中的并行CNN方法,實現了:
并行CNN-BiLSTM故障診斷,并行CNN-Attention故障診斷,和1D-2D-CNN-BiLSTM故障診斷。
當你學會這幾種方法之后,就可以通過替換BiLSTM為其他網絡,如GRU,BiGRU,LSTM,RNN,PNN,KNN,DBN,SVM,LSSVM,ELM等等機器學習方法,還可以替換CNN為TCN,RF,KNN,RCNN等等!
各種方法組合一下,創新點不就來了!想做的再復雜點的,還可以再融合一下智能優化算法,對網絡參數進行優化一下。可謂是真的可以玩出花兒呀!
說到這里,請問何為并行呢?
其實很簡單,就是同時將數據送入兩個或多個網絡支路,在不同的網絡進行特征提取學習后,再將生成的向量進行拼接。最后一起送到分類器或預測器中。
舉例1:并行CNN
這是采用MATLAB搭建的并行CNN網絡,也就是上述文獻提到的方法。
可以看到,該網絡一共有兩個支路,支路1輸入格拉姆矩陣變換的GASF矩陣,支路2輸入格拉姆矩陣變換的GADF矩陣。除了輸入不同之外,這兩個支路結構是完全相同的,但是該網絡可以做到同時輸入兩種不同的特征,最后再將特征進行融合,一起送入softmax分類器中學習。
舉例2:并行CNN-BiLSTM
與例1不同的是,這個網絡在支路匯合后,送入了BiLSTM再次進行學習。那么請問兩條支路可以不一致嗎,比如,在第一條支路加一個LSTM或者Attention可以嗎,回答當然也是可以的!這里就不再對此舉例了。
舉例3:并行CNN-Attention
該網絡在支路匯合后,加入了Attention機制,再次提升精準率。
那么請問何為1D-2D呢?
其實也很簡單,就是把原始的一維序列數據轉換為二維矩陣(這里可以采用格拉姆矩陣法),再與一維數據進行合并。一起送入不同的網絡支路進行學習,再將生成的向量進行拼接,最后一起送到分類器或預測器中。
舉例4:1D_2D_CNN_BiLSTM
這里將采用格拉姆矩陣法生成的二維矩陣送入input1中,采用CNN進行空間特征提取,然后再將原始的一維數據送入vinput中,采用Bilstm進行時間特征的學習,最后再將生成的向量進行拼接,最后一起送到分類器或預測器中。
代碼目錄如下:
每個子文件目錄下還有關于程序使用的詳細介紹及對應的參考文獻:
代碼運行結果展示如下,采用經典的鳶尾花數據:
格拉姆矩陣圖像:
并行CNN分類結果:
并行CNN-BiLSTM分類結果:
并行CNN-Attention分類結果:
1D-2D-CNN-BiLSTM分類結果:
代碼獲取
下方卡片獲取