目录

1. ​引言与背景总结​

2. ​方法框架总结​

3. ​训练策略总结​

4. ​实验验证总结​

核心代码实现(PyTorch框架)

​1. SNN特征提取器(多尺度卷积模块)

​结论与未来工作总结​


 

1. ​引言与背景总结

  • 问题陈述​:电机轴承是工业设备中的关键组件,其故障可能导致严重安全和经济损失。传统深度学习故障诊断方法依赖大量高质量数据,但在实际工业场景中,故障样本往往稀缺(小样本问题),且正常样本远多于故障样本(数据不平衡问题),导致模型性能下降。现有方法如迁移学习(transfer learning)、生成对抗网络(GAN)和过采样技术(如SMOTE)存在局限性,例如需要辅助数据或生成样本质量低。
  • 解决方案动机​:论文提出使用Siamese Neural Networks(SNNs)处理小样本问题。SNNs通过比较样本对(sample pairs)来学习特征相似性,减少了对大量数据的依赖。然而,SNNs易受训练停滞(training stagnation)问题影响,导致特征提取不足。为此,方法引入多阶段训练策略和多源特征融合,以提升鲁棒性。
  • 主要贡献​:论文的创新点包括:(1) 提出多阶段训练策略缓解SNNs的训练停滞;(2) 设计多源特征融合网络,整合振动、电流等多传感器数据;(3) 验证方法在两个真实数据集上的有效性,证明其在小样本场景的优越性。

2. ​方法框架总结

方法分为两个核心框架:SNN-based特征提取框架和multi-source特征融合框架。整体结构如图2所示:

NN-based特征提取框架​:

  • 结构描述​:SNN由两个对称子网络组成,共享权重(如图1)。输入样本对(如 Xa​ 和 Xb​) 被映射到特征空间,计算欧氏距离 Ew​=∥Gw​(Xa​)−Gw​(Xb​)∥ 作为相似性度量。距离小表示同类样本,距离大表示不同类样本。

 

图1 

特征提取器设计​:子网络采用基于Inception模块的多尺度卷积模块(Multi-scale Convolution Module, MCM),如图3和图4。MCM使用不同尺寸卷积核(如1x1、1x3、1x7)捕获多尺度特征,减少参数同时丰富信息。例如: 

图3 

图4 

 

    • 优势​:SNN通过样本对输入(n个样本生成n(n-1)个样本对),有效扩增样本量,缓解小样本问题。
  • Multi-source特征融合框架​:

    • 结构描述​:融合网络整合来自多个传感器(如振动和电流)的特征。如图5,特征提取器输出通过注意力机制(attention mechanism)融合,结合残差连接保留原始信息。

图5 

 融合策略​:采用通道注意力机制(如图6)。步骤包括:(1) 对传感器特征(如 FA​ 和 FB​) 进行全局平均池化和最大池化;(2) 生成全局表示 Fg​;(3) 通过SoftMax生成激励信号 PA​ 和 PB​;(4) 门控机制融合特征:F=(PA​⊗FA​+FA​)+(PB​⊗FB​+FB​),其中 ⊗ 表示点积。

图6 

 

3. ​训练策略总结

  • 多阶段训练过程​:缓解SNN训练停滞问题,分三个阶段:
    • 阶段1(特征提取器预训练)​​:单独训练特征提取器(使用振动或电流数据),采用交叉熵损失函数(Cross-Entropy Loss)和Adam优化器。输出SoftMax分类结果,初始化权重。
    • 阶段2(SNN训练)​​:初始化SNN与预训练权重。输入样本对,标签 YL​(Xa​,Xb​)=δXa​,Xb​​(同类为1,不同类为0)。损失函数为联合损失(Joint Loss):LJ​=λ1​Lctr​+λ2​(Lcls−a​+Lcls−b​),其中 Lctr​ 是对比损失(Contrastive Loss),最小化同类距离并最大化异类距离;Lcls​ 是分类损失。超参数设置:批大小128、学习率0.001。
    • 阶段3(特征融合网络训练)​​:使用阶段2的权重初始化融合网络,整合多源特征用于最终分类。
    • 训练效果​:如图9所示,多阶段训练显著提升准确率。例如,预训练阶段单个传感器准确率仅65-76%,SNN阶段提升至80-83%,融合阶段达94%。

 图9

4. ​实验验证总结

实验在两个数据集上进行:Case 1(公共数据集)和Case 2(实验室数据集),评估方法在小样本和数据不平衡场景的性能。

  • 数据预处理​:如图7,包括滑动窗口分割、域变换(如离散余弦S变换和包络谱变换),将时域、频域和时频域数据融合,丰富输入信息。

图7 

Case 1(Paderborn大学数据集)​​:

  • 数据集​:包括健康轴承和5种故障类型(如表1),在不同工况(转速、负载)下收集振动和电流数据。样本按比例 λ(健康样本与故障样本比)分组,模拟不平衡(如表2)。

 

 

 

图8 

结果​:

  • 准确率​:当 λ=10(高度不平衡),方法准确率达94%(图10e),远高于传统方法(如CNN、SVM仅50%)。混淆矩阵显示(图10),方法在各类故障上均表现稳健。

 

图10 

消融实验​:图11比较各训练阶段。单传感器预训练(Vib-FET)在 λ<3 时准确率90%,但 λ=10 时降至75%;直接融合(FFT)在平衡时达96%,但不稳定;多阶段训练(Proposed)保持一致性(λ=10 时94%)。 

 

图11 

与传统方法比较​:图12显示,方法优于CNN、LSTM、SMOTE和DCGAN,尤其在 λ=10 时F1-score达0.93。 

图12 

 ​特征可视化​:图13显示t-SNE降维后,各类故障特征聚类明显,证明方法特征提取能力。

图13 

 

Case 2(实验室数据集)​​:

  • 数据集​:收集振动和电压数据(如图15),包括4种故障类型(如表7)。实验组按传感器通道分组(如表6)。

 

图15 

结果​:类似Case 1,方法在 λ=10 时准确率93%(图18e)。消融实验(图19)和比较实验(图20)证实多阶段训练和融合的优越性,传统方法(如SVM)准确率降至40%。 

图18 

 

图19 

图20 

 

核心代码实现(PyTorch框架)

1. SNN特征提取器(多尺度卷积模块)
import torch
import torch.nn as nnclass MultiScaleConvModule(nn.Module):def __init__(self, in_channels):super().__init__()# MCM1结构(图4a)self.branch1 = nn.Conv1d(in_channels, 16, kernel_size=1)self.branch3 = nn.Conv1d(in_channels, 32, kernel_size=3, padding=1)self.branch7 = nn.Conv1d(in_channels, 32, kernel_size=7, padding=3)# MCM2结构(图4b)self.branch1x1 = nn.Conv1d(80, 64, kernel_size=1)  # 输入通道=16+32+32self.branch1x3 = nn.Conv1d(80, 64, kernel_size=3, padding=1)def forward(self, x):# 多尺度特征并联x1 = nn.ReLU()(self.branch1(x))x3 = nn.ReLU()(self.branch3(x))x7 = nn.ReLU()(self.branch7(x))x_concat = torch.cat([x1, x3, x7], dim=1)  # 沿通道维度拼接# 多尺度特征融合x1x1 = nn.ReLU()(self.branch1x1(x_concat))x1x3 = nn.ReLU()(self.branch1x3(x_concat))return x1x1 + x1x3  # 残差连接class FeatureExtractor(nn.Module):def __init__(self):super().__init__()self.conv1 = nn.Conv1d(1, 16, kernel_size=16, stride=1)self.conv2 = nn.Conv1d(16, 32, kernel_size=32, stride=2)self.mcm1 = MultiScaleConvModule(32)self.mcm2 = MultiScaleConvModule(64)  # 输入通道与MCM1输出一致self.pool = nn.AdaptiveAvgPool1d(1)  # 全局池化def forward(self, x):x = nn.ReLU()(self.conv1(x))x = nn.ReLU()(self.conv2(x))x = self.mcm1(x)x = self.mcm2(x)return self.pool(x).squeeze(-1)  # 移除时间维度

 2. 多源特征融合网络(带注意力机制)​

class AttentionFusion(nn.Module):def __init__(self, feature_dim, reduction_ratio=16):super().__init__()self.compression = nn.Sequential(nn.Linear(feature_dim * 4, feature_dim // reduction_ratio),  # 公式(4)nn.ReLU(),nn.Linear(feature_dim // reduction_ratio, feature_dim))self.softmax = nn.Softmax(dim=1)def forward(self, feat_a, feat_b):# 全局平均池化与最大池化(公式2-3)avg_a = torch.mean(feat_a, dim=1)max_a, _ = torch.max(feat_a, dim=1)avg_b = torch.mean(feat_b, dim=1)max_b, _ = torch.max(feat_b, dim=1)# 全局特征拼接(公式4)global_feat = torch.cat([avg_a, max_a, avg_b, max_b], dim=1)compact_feat = self.compression(global_feat)# 通道注意力权重(公式5)pa = self.softmax(compact_feat[:, :feat_a.shape[1]])  # 分割激励信号pb = self.softmax(compact_feat[:, feat_a.shape[1]:])# 特征融合(公式6)fused = (pa.unsqueeze(-1) * feat_a + feat_a) + \(pb.unsqueeze(-1) * feat_b + feat_b)return fused

结论与未来工作总结

  • 主要结论​:方法有效解决了电机轴承故障诊断中的小样本和数据不平衡问题。SNN的多阶段训练缓解了训练停滞,特征融合提升了多源数据利用率。实验证明,在两个数据集上,方法在高度不平衡(λ=10)时准确率均超93%,优于传统方法。
  • 贡献强调​:(1) 多阶段训练策略为SNNs提供新优化路径;(2) 多源融合网络增强特征表示;(3) 方法通用性强,适用于不同传感器和工况。
  • 未来工作​:包括(1) 扩展至其他故障诊断任务;(2) 结合优化算法(如遗传算法)调参;(3) 开发深度融合方法处理极端场景;(4) 整合模型驱动方法提升鲁棒性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89600.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89600.shtml
英文地址,请注明出处:http://en.pswp.cn/web/89600.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中缓存的使用浅讲

Java中缓存的使用浅讲在Java中&#xff0c;缓存系统的使用对于提升应用性能至关重要。缓存的作用主要是减少访问慢速存储&#xff08;如数据库或文件系统&#xff09;的频率&#xff0c;从而提高应用的响应速度。以下是对Java中缓存系统的全面讲解&#xff0c;包括缓存的类型、…

洛谷 P10264 [GESP202403 八级] 接竹竿 普及+/提高

题目描述 小杨同学想用卡牌玩一种叫做“接竹竿”的游戏。 游戏规则是&#xff1a;每张牌上有一个点数 vvv&#xff0c;将给定的牌依次放入一列牌的末端。若放入之前这列牌中已有与这张牌点数相 同的牌&#xff0c;则小杨同学会将这张牌和点数相同的牌之间的所有牌全部取出队列&…

windows docker-02-docker 最常用的命令汇总

一、镜像管理命令说明常用参数示例docker pull <镜像名>:<标签>拉取镜像docker pull nginx:latestdocker images查看本地镜像docker images -a&#xff08;含中间层镜像&#xff09;docker rmi <镜像ID>删除镜像docker rmi -f $(docker images -q)&#xff0…

前端react项目目录详解

1. 项目根目录文件​​文件/目录作用​​package.json​​定义项目依赖、脚本命令&#xff08;如 start/build&#xff09;、版本信息等​​.env​​基础环境变量配置&#xff08;所有环境共享&#xff09;​​.env.development​​开发环境专用变量&#xff08;如本地API地址&…

前端-CSS (样式引入、选择器)

文章目录大纲前端三大件常用样式颜色px:像素1.CSS三种引入方式1.1 行内样式1.2 页内样式1.3 引入外部样式表文件&#xff08;常见&#xff09;基础选择器1. 标记选择器2. id选择器3. 类选择器 最常用4 * 选择器 使用频率较低复合选择器伪类选择器1.超链接伪类&#xff1a;2.子元…

7月19日 台风“韦帕“强势逼近:一场与时间赛跑的防御战

中央气象台7月19日10时继续发布台风黄色预警,今年第6号台风"韦帕"正以每小时20-25公里的速度向西偏北方向移动,强度逐渐加强。这个来自海洋的"不速之客"中心附近最大风力已达10级(25米/秒),预计将于20日下午至夜间在广东深圳到海南文昌一带沿海登陆,…

学习 Python 爬虫需要哪些基础知识?

学习 Python 爬虫需要掌握一些基础技术和概念。 1. Python 基础语法 这是最根本的前提&#xff0c;需要熟悉&#xff1a; - 变量、数据类型&#xff08;字符串、列表、字典等&#xff09; - 条件判断、循环语句 - 函数、类与对象 - 模块和包的使用&#xff08;如 import 语…

IELTS 阅读C15-Test 2-Passage 2

继续雅思上分实验。这次正确率是10/13&#xff0c;还是挺让我吃惊的&#xff0c;因为我又没有完全读懂&#xff01; 题型1-填空题这道题目很简单&#xff0c;同样地去原文段落里找就好&#xff0c;最后一个空填错了是因为我不知道mitigate就是decrease同义词。 题型2-人物匹配题…

7.18 Java基础 |

以下内容&#xff0c;参考Java 教程 | 菜鸟教程&#xff0c;下边是我边看边记的内容&#xff0c;以便后续复习使用。 多态&#xff1a; 继承&#xff0c;接口就是多态的具体体现方式。生物学上&#xff0c;生物体或物质可以具有许多不同的形式或者阶段。 多态分为运行时多态&…

网络安全知识学习总结 Section 11

一、实验知识总结&#xff08;模拟&#xff09;等价路由配置实验并抓包分析按流分析实验拓扑图&#xff1a;AR1配置&#xff1a;<Huawei>sys [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip address 192.168.1.1 30 [Huawei-GigabitEthernet0/0/0]int g0/0/1 [Huaw…

VBA 运用LISTBOX插件,选择多个选项,并将选中的选项回车录入当前选中的单元格

维护好数据&#xff0c;并新增一个activeX列表框插件Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Count > 1 Then Exit SubIf Target.Row > 2 And Target.Row < 10 And Target.Column 2 Then 选择操作范围With ListBox1.MultiSelect 1 …

ASP .NET Core 8实现实时Web功能

ASP.NET Core SignalR 是一个开放源代码库&#xff0c;可用于简化向应用添加实时 Web 功能。 实时 Web 功能使服务器端代码能够将内容推送到客户端。以下是 ASP.NET Core SignalR 的一些主要功能&#xff1a;自动处理连接管理同时向所有连接的客户端发送消息。 例如聊天室向特定…

最新版谷歌浏览器 内网安装 pdf无法预览

最新版谷歌浏览器 内网安装 pdf无法预览 谷歌下载地址 谷歌下载地址 不同的浏览器版本&#xff0c;兼容的js标准不一样 js标准也在不断升级&#xff0c;增加新的方法。

NX二次开发常用函数坐标转化UF_MTX4_csys_to_csys和UF_MTX4_vec3_multipl

一、UF_MTX4_csys_to_csys 1.1 函数名称 UF_MTX4_csys_to_csys1.2 函数中各参数解释&#xff1a;函数参数解释&#xff1a; 第1个参数为输入&#xff1a; 输入const double 双精度类型的参数&#xff0c;参数的变量格式为from_origin [ 3 ]&#xff0c;坐标系&#xff…

JAVA中的Collections 类

文章目录前言一、 排序方法 sort() 和 reverseOrder()1. sort(List<T> list)2.sort(List<T> list, Comparator<? super T> c)二、查找方法 max(), min()1.max(Collection<? extends T> coll)2.min(Collection<? extends T> coll)3.max(Collec…

统计学习方法

一、统计学习方法步骤 得到一个有限的训练数据集合确定学习模型的集合-假设空间确定模型选择的准则-策略实现求解最优模型的算法-算法通过学习方法选择最优模型利用学习的最优模型对新数据进行预测或分析 二、统计学习方法分类 三、统计学习的基本分类&#xff08;监督学习&a…

windows docker-01-desktop install windows10 + wls2 启用

windows10 安装 docker 版本信息确认 需要区分 windows 是 amd64 还是 arm64 powershell 中执行&#xff1a; > echo $env:PROCESSOR_ARCHITECTURE AMD64下载 官方 https://www.docker.com/products/docker-desktop/ 下载 windows amd64 下载好了直接安装。 如何验证…

Elasticsearch集群出现脑裂(Split-Brain)如何排查原因和处理?

Elasticsearch集群出现脑裂(Split-Brain)如何排查原因和处理? 1. 脑裂(Split-Brain)背景 定义:脑裂是指 Elasticsearch 集群由于网络分区(network partition)或其他原因分裂成多个独立的子集群,每个子集群认为自己是主集群,导致不同的子集群可能独立处理请求,造成数…

Apache Ignite 的 Pages Writes Throttling(页面写入节流)

&#x1f31f; 一、什么是 Checkpointing&#xff08;检查点机制&#xff09;&#xff1f; 在 Apache Ignite 中&#xff1a; 数据是先保存在内存中&#xff08;RAM&#xff09;&#xff0c;然后异步写入磁盘。当数据被修改时&#xff0c;它首先被更新在内存中的“页”上&#…

uni-app 学习笔记:使用深度选择器修改第三方库组件的样式

在uni-app中&#xff0c;深度选择器&#xff08;Deep Selector&#xff09;是一个非常重要的概念&#xff0c;它允许父组件穿透样式隔离&#xff0c;从而修改子组件的内部样式。1.什么是uni-app深度选择器深度选择器是一种CSS选择器&#xff0c;用于穿透组件的样式隔离机制&…