基于自适应多尺度小波核编码与注意力增强的脉冲神经网络机械故障诊断(Pytorch)

首先从西储大学标准轴承数据集加载四种工况的振动信号,包括正常状态和滚珠、内圈、外圈三种典型故障类型,对原始信号进行标准化处理和滑动窗口分段,形成标准化样本序列。核心部分采用自适应多尺度小波核编码技术,通过24个可学习的小波核对输入信号进行多尺度时频特征提取,这些小波核的频率、尺度、相位和Q因子参数均在训练过程中自适应优化,能够自动捕捉最适合故障诊断的频带特征,同时计算信号的包络特征以增强特征表示能力。编码后的特征通过改进的积分-发放脉冲神经元转换为脉冲序列,模拟生物神经元的稀疏编码特性,脉冲神经元具有可学习的阈值、泄漏因子和替代梯度参数,确保训练稳定性和高效性。接下来构建三级卷积特征提取网络,每级包含卷积操作、批量归一化、残差连接、通道注意力机制和池化压缩,通过残差连接缓解梯度消失问题,通过注意力机制聚焦重要特征通道,通过脉冲激活实现信息的稀疏高效表示。随后将提取的特征展平并通过四层全连接分类器进行故障分类,分类器采用LeakyReLU激活函数和Dropout正则化防止过拟合。在训练过程中,针对数据不平衡问题对正常状态样本进行专门的数据增强,包括添加高斯噪声、时间扭曲、幅度缩放等技术,采用带标签平滑的交叉熵损失函数和AdamW优化器进行参数更新,配合余弦退火热重启学习率调度策略动态调整学习率,并通过早停机制防止过拟合。最终训练完成的模型能够对轴承振动信号进行实时分析,准确识别正常状态和各类故障类型,输出详细的诊断报告和置信度,为工业设备预测性维护提供智能化决策支持。

详细算法步骤

第一步:数据采集与标准化处理

从工业现场采集轴承振动信号数据,包含正常运转状态和滚珠故障、内圈故障、外圈故障三种典型故障模式,对原始振动信号进行去均值除方差的标准化处理,消除传感器量程和安装位置差异的影响,采用滑动窗口方法将长时程信号分割成固定长度的样本片段,确保每个样本包含完整的振动周期信息,为后续特征提取提供规范化输入。

第二步:自适应多尺度小波核参数学习

初始化一组可学习的小波核参数,包括中心频率分布、尺度因子、相位偏移和品质因子,这些参数在训练过程中根据故障诊断任务的需求自适应调整优化,使小波核能够自动聚焦到对故障识别最关键的频带范围,形成针对轴承故障特征的最优滤波器组。

第三步:多尺度时频特征提取与包络检测

利用自适应学习的小波核对输入信号进行多尺度卷积运算,提取信号在不同频带下的时频分布特征,同时计算每个频带信号的包络特征,捕捉信号的振幅调制信息,将原始信号转换为一组具有明确物理意义的时频特征图,为故障模式识别提供丰富的信息基础。

第四步:脉冲神经网络稀疏编码

将连续的特征值通过改进的积分-发放神经元转换为离散的脉冲序列,模拟生物神经元的脉冲发放机制,当膜电位累积超过可学习的阈值时产生脉冲输出,同时引入泄漏因子模拟神经元的自然衰减特性,实现信息的稀疏高效编码,降低计算复杂度。

第五步:多层次特征抽象与注意力聚焦

构建三级卷积特征提取网络,每级网络包含卷积操作、批量归一化、残差连接和通道注意力机制,通过卷积操作提取局部特征模式,通过残差连接确保梯度有效传播,通过注意力机制自动聚焦对故障诊断最重要的特征通道,通过池化操作逐步压缩特征维度形成层次化特征表示。

第六步:深度分类网络与正则化处理

将最终提取的特征图展平为一维向量,输入到四层全连接神经网络进行分类决策,每层全连接网络后应用批量归一化加速训练收敛,采用LeakyReLU激活函数增强非线性表达能力,引入Dropout正则化随机丢弃部分神经元连接防止过拟合,最终输出四种轴承状态的概率分布。

第七步:智能训练策略与优化算法

针对轴承故障数据中正常样本远多于故障样本的不平衡问题,对正常状态样本实施专门的数据增强策略,包括添加高斯噪声、时间尺度扭曲和幅度随机缩放,采用带标签平滑的交叉熵损失函数提高模型泛化能力,使用AdamW优化器进行参数更新并配合权重衰减正则化,实施余弦退火热重启学习率调度策略动态调整学习速率,引入早停机制在性能不再提升时提前终止训练防止过拟合。

开始训练...

Epoch: 1, Batch: 20, Loss: 1.8323

Epoch: 1, Batch: 40, Loss: 1.6202

Epoch: 1, Batch: 60, Loss: 1.4319

Epoch: 1, Batch: 80, Loss: 1.2962

发现新的最佳模型,测试准确率: 93.21%

Epoch 1/50:

Train Loss: 1.8407, Train Acc: 83.70%

Test Loss: 0.7524, Test Acc: 93.21%

最佳测试准确率: 93.21%, 当前LR: 0.000976

Epoch: 2, Batch: 20, Loss: 1.2992

Epoch: 2, Batch: 40, Loss: 1.2010

Epoch: 2, Batch: 60, Loss: 1.1435

Epoch: 2, Batch: 80, Loss: 1.0789

发现新的最佳模型,测试准确率: 99.25%

Epoch 2/50:

Train Loss: 1.2441, Train Acc: 94.19%

Test Loss: 0.4764, Test Acc: 99.25%

最佳测试准确率: 99.25%, 当前LR: 0.000905

Epoch: 3, Batch: 20, Loss: 1.0925

Epoch: 3, Batch: 40, Loss: 1.1151

Epoch: 3, Batch: 60, Loss: 1.0698

Epoch: 3, Batch: 80, Loss: 1.0704

Epoch 3/50:

Train Loss: 1.1312, Train Acc: 96.87%

Test Loss: 0.4158, Test Acc: 99.25%

最佳测试准确率: 99.25%, 当前LR: 0.000796

Epoch: 4, Batch: 20, Loss: 1.0208

Epoch: 4, Batch: 40, Loss: 1.3788

Epoch: 4, Batch: 60, Loss: 1.0622

Epoch: 4, Batch: 80, Loss: 1.0516

Epoch 4/50:

Train Loss: 1.1058, Train Acc: 97.32%

Test Loss: 0.4123, Test Acc: 98.64%

最佳测试准确率: 99.25%, 当前LR: 0.000658

Epoch: 5, Batch: 20, Loss: 1.1093

Epoch: 5, Batch: 40, Loss: 1.0398

Epoch: 5, Batch: 60, Loss: 1.0630

Epoch: 5, Batch: 80, Loss: 1.0336

发现新的最佳模型,测试准确率: 99.55%

Epoch 5/50:

Train Loss: 1.0681, Train Acc: 98.72%

Test Loss: 0.4182, Test Acc: 99.55%

最佳测试准确率: 99.55%, 当前LR: 0.000505

Epoch: 6, Batch: 20, Loss: 1.0303

Epoch: 6, Batch: 40, Loss: 1.0240

Epoch: 6, Batch: 60, Loss: 1.0078

Epoch: 6, Batch: 80, Loss: 1.0296

发现新的最佳模型,测试准确率: 99.70%

Epoch 6/50:

Train Loss: 1.0593, Train Acc: 98.83%

Test Loss: 0.4085, Test Acc: 99.70%

最佳测试准确率: 99.70%, 当前LR: 0.000352

Epoch: 7, Batch: 20, Loss: 1.0177

Epoch: 7, Batch: 40, Loss: 0.9936

Epoch: 7, Batch: 60, Loss: 1.0250

Epoch: 7, Batch: 80, Loss: 1.0394

Epoch 7/50:

Train Loss: 1.0393, Train Acc: 98.91%

Test Loss: 0.4265, Test Acc: 98.34%

最佳测试准确率: 99.70%, 当前LR: 0.000214

Epoch: 8, Batch: 20, Loss: 1.0968

Epoch: 8, Batch: 40, Loss: 1.1017

Epoch: 8, Batch: 60, Loss: 1.0221

Epoch: 8, Batch: 80, Loss: 1.0530

发现新的最佳模型,测试准确率: 99.85%

Epoch 8/50:

Train Loss: 1.0357, Train Acc: 98.83%

Test Loss: 0.3920, Test Acc: 99.85%

最佳测试准确率: 99.85%, 当前LR: 0.000105

Epoch: 9, Batch: 20, Loss: 1.0274

Epoch: 9, Batch: 40, Loss: 1.0155

Epoch: 9, Batch: 60, Loss: 1.0276

Epoch: 9, Batch: 80, Loss: 1.0254

Epoch 9/50:

Train Loss: 1.0244, Train Acc: 99.36%

Test Loss: 0.3963, Test Acc: 99.85%

最佳测试准确率: 99.85%, 当前LR: 0.000034

Epoch: 10, Batch: 20, Loss: 1.0400

Epoch: 10, Batch: 40, Loss: 1.0389

Epoch: 10, Batch: 60, Loss: 1.0753

Epoch: 10, Batch: 80, Loss: 1.0112

Epoch 10/50:

Train Loss: 1.0249, Train Acc: 99.32%

Test Loss: 0.3923, Test Acc: 99.40%

最佳测试准确率: 99.85%, 当前LR: 0.001000

Epoch: 11, Batch: 20, Loss: 1.0326

Epoch: 11, Batch: 40, Loss: 1.0851

Epoch: 11, Batch: 60, Loss: 1.0321

Epoch: 11, Batch: 80, Loss: 1.0297

Epoch 11/50:

Train Loss: 1.0389, Train Acc: 98.76%

Test Loss: 0.4201, Test Acc: 98.64%

最佳测试准确率: 99.85%, 当前LR: 0.000994

Epoch: 12, Batch: 20, Loss: 1.0705

Epoch: 12, Batch: 40, Loss: 1.0200

Epoch: 12, Batch: 60, Loss: 1.0630

Epoch: 12, Batch: 80, Loss: 1.0355

Epoch 12/50:

Train Loss: 1.0409, Train Acc: 98.57%

Test Loss: 0.4063, Test Acc: 98.94%

最佳测试准确率: 99.85%, 当前LR: 0.000976

Epoch: 13, Batch: 20, Loss: 1.0073

Epoch: 13, Batch: 40, Loss: 1.0201

Epoch: 13, Batch: 60, Loss: 1.0185

Epoch: 13, Batch: 80, Loss: 1.0032

Epoch 13/50:

Train Loss: 1.0341, Train Acc: 98.91%

Test Loss: 0.4437, Test Acc: 98.94%

最佳测试准确率: 99.85%, 当前LR: 0.000946

Epoch: 14, Batch: 20, Loss: 1.0463

Epoch: 14, Batch: 40, Loss: 1.0494

Epoch: 14, Batch: 60, Loss: 1.0183

Epoch: 14, Batch: 80, Loss: 1.0196

发现新的最佳模型,测试准确率: 100.00%

Epoch 14/50:

Train Loss: 1.0344, Train Acc: 98.87%

Test Loss: 0.3821, Test Acc: 100.00%

最佳测试准确率: 100.00%, 当前LR: 0.000905

Epoch: 15, Batch: 20, Loss: 0.9771

Epoch: 15, Batch: 40, Loss: 1.0582

Epoch: 15, Batch: 60, Loss: 1.0280

Epoch: 15, Batch: 80, Loss: 1.0096

Epoch 15/50:

Train Loss: 1.0190, Train Acc: 99.09%

Test Loss: 0.3777, Test Acc: 100.00%

最佳测试准确率: 100.00%, 当前LR: 0.000855

Epoch: 16, Batch: 20, Loss: 0.9860

Epoch: 16, Batch: 40, Loss: 0.9999

Epoch: 16, Batch: 60, Loss: 0.9978

Epoch: 16, Batch: 80, Loss: 1.0111

Epoch 16/50:

Train Loss: 1.0081, Train Acc: 99.51%

Test Loss: 0.4001, Test Acc: 100.00%

最佳测试准确率: 100.00%, 当前LR: 0.000796

Epoch: 17, Batch: 20, Loss: 0.9890

Epoch: 17, Batch: 40, Loss: 0.9882

Epoch: 17, Batch: 60, Loss: 1.0084

Epoch: 17, Batch: 80, Loss: 0.9869

Epoch 17/50:

Train Loss: 1.0020, Train Acc: 99.55%

Test Loss: 0.3702, Test Acc: 100.00%

最佳测试准确率: 100.00%, 当前LR: 0.000730

Epoch: 18, Batch: 20, Loss: 0.9982

Epoch: 18, Batch: 40, Loss: 0.9783

Epoch: 18, Batch: 60, Loss: 0.9899

Epoch: 18, Batch: 80, Loss: 1.0048

Epoch 18/50:

Train Loss: 0.9981, Train Acc: 99.40%

Test Loss: 0.3885, Test Acc: 99.70%

最佳测试准确率: 100.00%, 当前LR: 0.000658

Epoch: 19, Batch: 20, Loss: 1.0444

Epoch: 19, Batch: 40, Loss: 1.0179

Epoch: 19, Batch: 60, Loss: 0.9771

Epoch: 19, Batch: 80, Loss: 0.9999

Epoch 19/50:

Train Loss: 0.9933, Train Acc: 99.55%

Test Loss: 0.3727, Test Acc: 99.85%

最佳测试准确率: 100.00%, 当前LR: 0.000582

Epoch: 20, Batch: 20, Loss: 1.0024

Epoch: 20, Batch: 40, Loss: 0.9813

Epoch: 20, Batch: 60, Loss: 0.9790

Epoch: 20, Batch: 80, Loss: 0.9881

Epoch 20/50:

Train Loss: 0.9951, Train Acc: 99.40%

Test Loss: 0.3781, Test Acc: 99.70%

最佳测试准确率: 100.00%, 当前LR: 0.000505

Epoch: 21, Batch: 20, Loss: 0.9738

Epoch: 21, Batch: 40, Loss: 0.9796

Epoch: 21, Batch: 60, Loss: 0.9761

Epoch: 21, Batch: 80, Loss: 0.9909

Epoch 21/50:

Train Loss: 0.9864, Train Acc: 99.81%

Test Loss: 0.3842, Test Acc: 99.85%

最佳测试准确率: 100.00%, 当前LR: 0.000428

Epoch: 22, Batch: 20, Loss: 0.9893

Epoch: 22, Batch: 40, Loss: 0.9799

Epoch: 22, Batch: 60, Loss: 0.9915

Epoch: 22, Batch: 80, Loss: 0.9829

Epoch 22/50:

Train Loss: 0.9866, Train Acc: 99.74%

Test Loss: 0.3763, Test Acc: 100.00%

最佳测试准确率: 100.00%, 当前LR: 0.000352

Epoch: 23, Batch: 20, Loss: 0.9772

Epoch: 23, Batch: 40, Loss: 0.9781

Epoch: 23, Batch: 60, Loss: 0.9775

Epoch: 23, Batch: 80, Loss: 0.9780

Epoch 23/50:

Train Loss: 0.9800, Train Acc: 99.85%

Test Loss: 0.3720, Test Acc: 100.00%

最佳测试准确率: 100.00%, 当前LR: 0.000280

Epoch: 24, Batch: 20, Loss: 0.9668

Epoch: 24, Batch: 40, Loss: 0.9705

Epoch: 24, Batch: 60, Loss: 0.9695

Epoch: 24, Batch: 80, Loss: 0.9818

Epoch 24/50:

Train Loss: 0.9816, Train Acc: 99.59%

Test Loss: 0.3665, Test Acc: 100.00%

担任《Mechanical System and Signal Processing》《中国电机工程学报》《宇航学报》《控制与决策》等期刊审稿专家,擅长领域:信号滤波/降噪,机器学习/深度学习,时间序列预分析/预测,设备故障诊断/缺陷检测/异常检测

参考文章:

基于自适应多尺度小波核编码与注意力增强的脉冲神经网络机械故障诊断(Pytorch) - 哥廷根数学学派的文章
https://zhuanlan.zhihu.com/p/1983475187904165719

相关推荐
好奇龙猫2 小时前
【AI学习-comfyUI学习-三十二节-FLXU原生态反推+controlnet depth(UNion)工作流-各个部分学习】
人工智能·学习
童话名剑2 小时前
锚框 与 完整YOLO示例(吴恩达深度学习笔记)
笔记·深度学习·yolo··anchor box
peixiuhui3 小时前
EdgeGateway 快速开始手册-表达式 Modbus 报文格式
人工智能·mqtt·边缘计算·iot·modbus tcp·iotgateway·modbus rtu
cnxy1883 小时前
Python爬虫进阶:反爬虫策略与Selenium自动化完整指南
爬虫·python·selenium
bing.shao3 小时前
golang 做AI任务执行
开发语言·人工智能·golang
鼎道开发者联盟4 小时前
2025中国AI开源生态报告发布,鼎道智联助力产业高质量发展
人工智能·开源·gui
贾维思基4 小时前
告别RPA和脚本!视觉推理Agent,下一代自动化的暴力解法
人工智能·agent
P-ShineBeam4 小时前
引导式问答-对话式商品搜索-TRACER
人工智能·语言模型·自然语言处理·知识图谱