高创新 | 超强轴承故障诊断模型!
前言
本文基于凯斯西储大学(CWRU)轴承数据,进行快速傅里叶变换(FFT)和变分模态分解VMD的数据预处理,最后通过Python实现基于VGGSENet-BiGRUGlobalAttention的时空特征融合模型对故障数据的分类。
1 模型整体结构
预处理:一维故障信号分别经过FFT变换、VMD分解处理,然后把变换分解后的结果进行堆叠。
分支一:通过基于通道注意力机制(SENet)的改进VGG模型网络,来自适应地调整通道特征的权重,使模型能够自动学习到不同通道的重要性,提取了轴承故障信号中与故障相关的重要空间特征;
分支二:预处理后的数据同时通过基于GlobalAttention优化的BiGRU网络,GlobalAttention是一种用于加强模型对输入序列不同部分的关注程度的机制。在 BiGRU 模型中,全局注意力机制可以帮助模型更好地聚焦于输入序列中最相关的部分,从而提高模型的性能和泛化能力。在每个时间步,全局注意力机制计算一个权重向量,表示模型对输入序列各个部分的关注程度,然后将这些权重应用于 BiGRU 输出的特征表示,通过对所有位置的特征进行加权,使模型能够更有针对性地关注重要的时域特征, 提高了模型对轴承故障信号时域特征的感知能力;
特征融合:然后两个分支提取的空间特征和全局时域特征通过堆叠融合,使模型能够更好地融合不同层次的特征表示,提高模型性能和泛化能力。
2 轴承故障数据的预处理
2.1 导入数据
参考之前的文章,进行故障10分类的预处理,凯斯西储大学轴承数据10分类数据集:
train_set、val_set、test_set 均为按照7:2:1划分训练集、验证集、测试集,最后保存数据
2.2 故障FFT变换可视化
2.3 故障VMD分解可视化
2.4 故障数据的特征预处理数据集制作
3 基于FFT-VMD+VGGSENet-BiGRUGlobalAttention的轴承故障诊断分类
3.1 定义VGGSENet-BiGRUGlobalAttention分类网络模型
3.2 设置参数,训练模型
50个epoch,准确率100%,用FFT-VMD+VGGSENet-BiGRUGlobalAttention网络分类效果显著,快速傅里叶变换(FFT)和变分模态分解(VMD)可以有效地挖掘信号中的多尺度特征,VGGSENet-BiGRUGlobalAttention创新模型能够充分提取轴承故障信号的空间和时序特征,收敛速度快,性能优越,精度高,能够从故障信号频域、时域特征中属于提取出对模型识别重要的特征,效果明显,创新度高!
注意调整参数:
- 可以适当调整VGG层数和隐藏层的维度,微调学习率;
- 调整BiGRU层数和注意力维度数,增加更多的 epoch (注意防止过拟合)
- 可以改变一维信号堆叠的形状(设置合适的长度和维度)
3.3 模型评估
准确率、精确率、召回率、F1 Score
点击下载:原文完整数据、Python代码https://mbd.pub/o/bread/ZZ2blZ9p
本文转载自 建模先锋,作者:小蜗爱建模