4种顶会注意力机制模块及1D-CNN的滚动轴承故障诊断,故障诊断全家桶再更新!

部署运行你感兴趣的模型镜像

概要

本期实现基于pytorch框架实现4种顶会注意力机制模块及1D-CNN的滚动轴承故障诊断。对西储大学数据进行加噪处理,实验结果证明,添加注意力机制的CNN比原始的CNN诊断的准确率更高。其中原始的1DCNN准确率为97.5%,ECA-1DCNN准确率:99.21875%,CBAM-1DCNN准确率:99.53125%,GAM-1DCNN准确率:100%。

4种注意力机制模块分别为:

  • SE 注意力模块:

论文地址:https://arxiv.org/pdf/1709.01507.pdf

a7da512b746a727301d9db7df9436bcc.png

  • CBAM 注意力模块

论文地址:https://arxiv.org/pdf/1807.06521.pdf

e1123d8041b726cad9a96822562b5cae.png

  • ECA 注意力模块

论文地址:https://arxiv.org/abs/2103.02907

f5dbc33b0d68426f1d70069c1192c4b8.png

  • GAM注意力模块

论文地址:https://arxiv.org/pdf/2112.05561v1.pdf

fe5740bff05d9845cd5a0ee65240a28c.png

下图为CNN-AM 模型结构。其中的AM表示注意力机制模块,本期代码实现4种注意力机制与1DCNN的结合

ef9e89f532442e7df21089d0f98dc038.png

实验过程介绍

实验采用凯斯西储大学滚动轴承振动数据,为SKF-6205驱动端轴承,采样频率为12 kHz,转速为1797 r/min,负载设定有0、1、2、3 hp 这4 种,实验选择0 负载工况下的数据训练模型。故障类型有10种:滚动体故障(B)、外圈故障(OR)、内圈故障(IR),每种故障类型包含3 种故障尺寸:0.007、0.014 和0.021 in(1 in 等于0.0254 m)。因此可将轴承状态划分为9 种故障状态和1 种正常状态,取连续的2048 个数据点为一个样本。每种状态设置320个样本,选取测试集比例为20%。

同时为了提高模型的泛化能力,证明添加注意力机制的CNN比原始CNN效果更好,在原始信号的基础上加入高斯白噪声,信噪比SNR =1.2

实验在Pytorch深度学习框架中实现。训练前将数据集划分为训练集、测试集,其比例分别为80%、20%。训练时采用Adam 优化器,学习率为0.001,训练次数为30 次,小批量mini-batch 大小为64,损失函数选用交叉熵损失函数。

实验结果展示

原始的1DCNN结果:

对原始轴承数据添加信噪比为1.2的情况下,原始的1DCNN结果如下,测试集准确率为:97.5%

b130e69b99e3697cdb967ab6ab14de83.png

ECA-1DCNN结果:

对原始轴承数据添加信噪比为1.2的情况下,融合ECA注意力机制的1DCNN结果如下,测试集准确率可达99.21875%。

f720355f0eef6ed0a2907fb7d82d473d.png

CBAM-1DCNN结果:

对原始轴承数据添加信噪比为1.2的情况下,融合CBAM注意力机制的1DCNN结果如下,测试集准确率可达99.53125%。

15df453c5a981e7f741f45aa2eabb209.png

SENET-1DCNN结果:

对原始轴承数据添加信噪比为1.2的情况下,融合SENET注意力机制的1DCNN结果如下,测试集准确率可达98.75%。

637b413efd080715365874a6e637ae6e.png

GAM-1DCNN结果:

对原始轴承数据添加信噪比为1.2的情况下,融合GAM注意力机制的1DCNN结果如下,测试集准确率可达100%。

3656604b0056af3ac02715fe57ec166e.png

五种实验结果的损失曲线对比图:

可以看到表现最佳的是GAM-CNN,准确率可达100%。

d23797848d47385f52bf1967197892b8.png

c2b0362ac593035e429bfe95cc642c5c.png

每种方法在跑完程序后都可以绘制Tsne降维图、损失函数图等,这里仅以GAM-1DCNN为例进行展示:

67ce687c025860a36f140655be6d1ac7.png

546d8b5b46779b7739f36cc6df873206.png

点击下方卡片关注,获取更多代码

您可能感兴趣的与本文相关的镜像

PyTorch 2.9

PyTorch 2.9

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淘个代码_

不想刀我的可以选择爱我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值