往期精彩内容:

Python轴承故障诊断 (14)高创新故障识别模型-CSDN博客

独家原创 | SCI 1区 高创新轴承故障诊断模型!-CSDN博客

基于 GADF+Swin-CNN-GAM 的高创新轴承故障诊断模型-CSDN博客

视觉顶会论文 | 基于Swin Transformer的轴承故障诊断-CSDN博客

Python轴承故障诊断 | 多尺度特征交叉注意力融合模型-CSDN博客

SHAP 模型可视化 + 参数搜索策略在轴承故障诊断中的应用-CSDN博客

位置编码祛魅 | 详解Transformer中位置编码Positional Encoding-CSDN博客

多模态-故障诊断 | 大核卷积开启视觉新纪元!-CSDN博客

超强!一区直接写!基于SSA+Informer-SENet故障诊断模型-CSDN博客

故障诊断 | 信号降噪算法合集-CSDN博客

图卷积故障诊断,新增GAT、SGCN、GIN分类模型-CSDN博客

故障诊断一区直接写,图卷积+BiGRU-Attention 并行诊断模型-CSDN博客

故障诊断高创新!基于1D-GRU+2D-MTF-ResNet-CBAM的多模态融合分类模型_基于1dcnn-informer+matt融合的故障诊断模型-CSDN博客

轴承寿命预测全家桶更新!新增西交XJTU-SY数据集+预测模型合集_hxd3b 型电力机车轴承寿命预测实例中,一张该模型预测结果-CSDN博客

故障诊断 SCI 1 区直接写!基于GADF+SwinTransformer-CBAM+GRU的多模态融合分类模型-CSDN博客

PHM2012 - 基于 Python 的轴承寿命预测模型

故障诊断模型评估——你了解混淆矩阵吗?(下)

多源信息融合+经典卷积网络故障诊断模型合集-CSDN博客

创新首发!齿轮箱故障诊断:基于MTF+Swin-Informer的多模态创新模型

基于多尺度卷积神经网络(MSCNN-1D)的轴承信号故障诊断模型

创新首发!基于CNN-BiLSTM-KAN模型的滚动轴承剩余使用寿命预测

高效对抗噪声!基于深度残差收缩网络(DRSN)的轴承故障诊断模型

特征提取+概率神经网络 PNN 的轴承信号故障诊断模型

高创新!基于FFT+WDCNN-Transformer时频域融合的轴承故障诊断模型

创新首发!基于注意力机制优化的高创新故障诊断模型

创新首发!从“样本极少”到“可用增强”:基于 CWT + Conditional DCGAN 的故障诊断模型

多源信息融合更新:基于WDCNN的故障诊断模型!

前言

本期主要更新故障诊断全家桶,围绕 EMD 分解 + 深度学习分类模型这一技术路线,补充并整理了一组具有代表性的对比模型,包括:

  • EMD-LSTM

  • EMD-CNN

  • EMD-CNN-LSTM(串联)

  • EMD-CNN-GRU(并联)

  • EMD-CNN-Transformer

同时,我们对不同模型在测试集上的 Accuracy、Precision、Recall、F1 Score 进行了统一对比。我们新增了数据集和预处理的详细教程、jupyter 代码教程、pycharm 代码教程,进行了比较规范的基于 Pycharm 编辑器进行实现的代码,并且优化了训练过程的代码。这次更新不仅补充了模型对比结果,也进一步完善了配套教程、代码结构和训练说明,适合作为故障诊断方向的学习、复现与论文实验参考。方便同学们入门学习!请同学们更新后按照视频教程进行运行!

● 数据集:凯斯西储大学(CWRU)轴承数据集

● 环境框架:python 3.11  pytorch 2.1 及其以上版本均可运行

● 准确率:测试集99%

● 使用对象:初学者、论文需求、毕业设计需求者

● 代码保证:代码注释详细、即拿即可跑通。

结果表明:
在这组实验设置下,EMD-CNN 与 EMD-CNN-Transformer 表现最好,测试准确率均达到 0.9950;EMD-CNN-GRU(并联) 紧随其后,达到 0.9900;而单独使用序列建模的 EMD-LSTM 整体表现明显偏弱。

1 模型对比分析

1.1 为什么 EMD-LSTM 最弱?

(1)核心思想:EMD 分解后,直接使用 LSTM 对分量序列进行建模。

(2)问题所在:LSTM 的优势在于建模时间依赖,但在故障诊断中,很多关键特征并不是长时依赖本身,而是:

  • 局部脉冲模式

  • 局部波形突变

  • 局部频带特征

  • 多尺度局部结构

这些特征更适合由 CNN 去提取。单独用 LSTM,往往会出现:

  • 局部判别模式提取不足

  • 对高频冲击特征不够敏感

  • 模型表达能力与任务特征不匹配

因此 EMD-LSTM 的整体效果明显落后,也说明:对于这类机械故障信号,单纯依赖序列建模通常不如“分解 + 卷积特征提取”更有效。

1.2 为什么 EMD-CNN-LSTM(串联)没有想象中好?

很多初学者做模型设计时,会自然采用“CNN 提特征,再送给 LSTM”的串联方式,因为这种结构直观、常见、容易理解。但它的问题也很明显:

(1)串联不等于互补:如果 CNN 提取出来的特征已经足够强,那么 LSTM 再往后接,并不一定继续增益,反而可能引入冗余学习。

(2)特征重组过程可能带来信息损失:CNN 的输出要适配成 LSTM 能处理的时序输入格式,这种 reshape 或序列化过程未必天然合理。

(3)模型复杂度上升,但收益不一定同步增加:参数更多、训练更慢、调参更难,但最终效果未必更好。

因此,串联模型常见,但并不是默认优选方案。

1.3 为什么 EMD-CNN-Transformer 没有明显超过 EMD-CNN?

这是一个非常值得讨论的结果。很多同学会下意识认为:“Transformer 更先进,所以一定比 CNN 更强。”但实验结果并不支持这种简单判断。这里 EMD-CNN-Transformer 与 EMD-CNN 的结果几乎一致,说明在当前任务设置下,Transformer 并没有带来显著增益。

可能原因有三点:

(1)任务本身更依赖局部判别模式:故障诊断中的很多有效特征,本质上是局部冲击、周期性扰动、频带能量变化等模式。

这类模式,CNN 本身就很擅长提取。

(2)EMD 已经完成了一轮“结构化预处理”:EMD 不是普通归一化,它本身就在做一种信号层面的结构分解。

经过 EMD 后,输入特征复杂度下降,CNN 已经可以较充分地学习判别信息,Transformer 的全局建模优势未必能完全发挥出来。

(3)数据规模与任务难度限制了 Transformer 的收益:Transformer 往往更依赖:

  • 更大的数据量

  • 更复杂的依赖关系

  • 更充分的训练策略

而在标准故障诊断数据集上,特别是在样本规模有限、类别边界相对清晰时,Transformer 不一定天然占优。

结论:Transformer 不是无条件优于 CNN。

在 EMD + 故障诊断这类任务中,是否值得引入 Transformer,要看数据规模、任务复杂度和工程成本,而不是只看“模型热度”。

1.4 为什么 EMD-CNN-GRU(并联)表现也很强?

(1)核心思想:CNN 分支负责提取局部空间/局部模式特征,GRU 分支负责建模序列动态信息,两路特征并行提取后再进行融合分类。适用场景

  • 同时关注局部故障冲击与序列演化规律的任务

  • 想兼顾卷积特征提取与时序记忆能力的场景

  • 需要在效果和复杂度之间折中的工程实现

优点

  • 兼顾局部特征与时序依赖

  • 比串联方式更灵活

  • 融合后的表征往往更充分

(2)为什么优于 EMD-CNN-LSTM(串联)

并联结构的一个重要优势在于:CNN 和 GRU 各自独立学习,再进行融合,不会过早把一种特征表达压缩成另一种结构所要求的输入形式。而串联结构中,前一模块的输出形式会直接限制后一模块的建模空间,容易带来特征信息损失或表达受限。因此在很多任务中,并联结构比机械式串联更稳。

从结果也能看出:

  • EMD-CNN-GRU(并)F1 = 0.9901

  • EMD-CNN-LSTM(串)F1 = 0.9446

差距是比较明显的。

2 更新简介

2.1 新增视频教程:

增加了详细的视频教程,深入浅出的讲解,可以最为故障诊断系列模型的入门级学习教程!新增CNN-GRU并行模型参数介绍!

2.2 jupyter 代码更新:

(1)增加数据集可视化讲解

(2)优化训练代码

经过优化后的训练代码,大大缩短了训练的时间!我们严格按照完整的GitHub-Pytorch深度学习项目结构,重新编写了代码,方便大家学习养成规范的代码编写习惯!后续如有需要编写论文的开源代码,也可仿照重构代码!

3 轴承数据加载与预处理

3.1 导入数据

参考之前的文章,进行故障10分类的预处理,凯斯西储大学轴承数据10分类数据集:

train_set、val_set、test_set 均为按照7:2:1划分训练集、验证集、测试集,最后保存数据

3.2 故障EMD分解可视化

3.3 故障数据的EMD分解预处理

由结果可以看出,大部分信号样本 都分解出8个分量,将近1/3的信号分解的不是8个分量。EMD设置不了分解出模态分量的数量(函数自适应),为了使一维信号分解,达到相同维度的分量特征,有如下3种处理方式:

  • 删除分解分量不统一的样本(少量存在情况可以采用);

  • 对于分量个数少的样本采用0值或者其他方法进行特征填充,使其对齐其他样本分量的维度(向多兼容);

  • 合并分量数量多的信号(向少兼容);

本模型采用第二、三条结合的方式进行预处理,即删除分量小于7的样本,对于分量大于7的样本,把多余的分量进行合并,使所有信号的分量特征保持同样的维度。

4 基于EMD+CNN-Transformer的诊断模型

4.1 定义EMD+CNN-Transformer网络模型

4.2 设置参数,训练模型

50个epoch,准确率100%,EMD+CNN-Transformer网络分类效果显著,模型能够充分提取轴承故障信号的多尺度特征,收敛速度快,性能特别优越,效果明显。

4.3 模型评估

(1)准确率、精确率、召回率、F1 Score

(2)故障十分类混淆矩阵:

5 下载更新地址

点击下方卡片获取代码!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐