【论文解读】DRSN:把软阈值去噪“内化”进残差网络的强噪声故障诊断方法

本文解读的论文是 Deep Residual Shrinkage Networks for Fault Diagnosis,发表在 IEEE Transactions on Industrial Informatics。

这篇论文关注的是一个在工业现场非常普遍、但又不容易绕开的问题:当振动信号被强噪声污染时,深度网络学到的特征会被噪声牵着走,诊断性能明显下降。作者提出的思路是把信号处理领域里成熟的软阈值去噪,改造为可以端到端训练的非线性层,嵌入到残差网络的每一个构建单元中,并且让阈值由网络自己学出来。这样既省去了人工设计滤波器的麻烦,也让去噪和特征学习真正变成一件事。

以下按"问题是什么、已有方法差在哪、本文怎么做、效果如何"的顺序梳理一遍。需要说明的是,本文主要梳理方法与设计思想,具体的准确率数值不再罗列,感兴趣可以查阅原文。

一、要解决的问题:强噪声下的特征学习失效

1.1 旋转机械故障诊断的现实困境

旋转机械包括风力发电机、制造设备、重型卡车、航空发动机等,是制造业、电力、交通和航空航天领域的核心装备。这类设备常常工作在恶劣环境中,工况多变、负载波动,振动信号里既有齿轮啮合、轴系旋转、轴承滚动等各种成分,也夹杂着环境干扰和传感器噪声。及时发现故障,对保障设备安全、优化维护策略都很重要。

论文把已有的故障诊断方法分为两大类。一类是基于信号分析的方法,核心是从振动信号中找与故障相关的特征频率,例如齿轮故障的啮合频率及其边频带、轴承故障的冲击响应。这类方法物理意义清晰,但面对大型旋转机械时,多种频率成分相互叠加,早期故障的特征又比较微弱,往往不易分辨。另一类是基于机器学习的方法,通过提取峭度、均方根、能量、熵等统计参数来表征健康状态,再用支持向量机或浅层网络分类。这类方法的瓶颈在于人工特征判别性不足,寻找一组"足够好"的特征本身就是件费力的事。

1.2 深度学习带来的新希望与新麻烦

深度学习可以自动从原始振动信号中学习特征,不需要人工设计特征提取器,给故障诊断带来了新的可能。但它在工业场景落地时也面临两个困难。

其一是深层网络的优化问题。传统卷积网络层数加深后,误差梯度在逐层反向传播中会逐渐失去准确性,靠近输入层的参数不容易被有效更新。

其二是强噪声下的特征学习问题,这也是本文要重点解决的。工业现场采集的振动信号噪声成分很重,当信噪比很低时,卷积核提取到的所谓局部特征中,噪声可能占据主导地位,真正与故障相关的信息被淹没。论文举了一个很直观的例子:在行星齿轮箱的振动信号中,健康状态与某些故障状态在时域波形上看起来差别并不大,只有在特定频率成分上才有区别,而这些细节恰恰容易被噪声覆盖。

1.3 核心矛盾

于是本文要处理的核心矛盾可以概括为:深度模型具备从原始信号中自动学习特征的能力,但当信号被强噪声污染时,它学到的往往是噪声主导的特征,判别能力不足。论文设定的实验场景是把白高斯噪声、拉普拉斯噪声和粉红噪声分别叠加到原始振动信号上,使信噪比在 5 dB 到 -5 dB 之间变化,以此检验方法在强噪声下的稳健性。

二、已有方法为什么不够用

2.1 残差网络解决了训练问题,但没解决噪声问题

DRSN 是在残差网络(ResNet)基础上发展出来的,所以先看 ResNet 的贡献与局限。ResNet 的核心创新是恒等快捷连接:梯度不仅可以通过逐层反向传播流动,还能通过这条捷径直接回流到前面的层,从而缓解深层网络的梯度退化,让更深的网络能够被稳定训练。

但 ResNet 在强噪声环境下有一个明显的软肋。卷积核本质上是在做局部特征提取,当信号被强噪声污染时,提取到的局部特征中噪声成分可能占主导,真正的故障相关特征反而被压制。换句话说,ResNet 解决了"网络能不能训练好"的问题,但没有解决"学到的特征有没有被噪声污染"的问题。

图 1 残差网络的基本构建单元(RBU)及其整体架构:图 (a)(b)(c) 分别对应输出特征图尺寸不变、宽度减半、宽度减半且通道数加倍三种情形,(d)为整体架构(来自论文 Fig. 2)

2.2 软阈值去噪:有效,但与深度模型是"两张皮"

在信号处理领域,去噪是经典问题,其中最成熟的方法之一是小波阈值去噪。它的流程大致是:先对信号做小波分解得到不同尺度上的小波系数,再对小波系数做软阈值处理,把绝对值较小的系数当作噪声置零,最后用处理后的小波系数重构信号。软阈值操作并不像把负值直接置零那样处理,它保留较大的正值和负值,只把接近零的部分置零,因此有用的负向特征也能留下来。

问题出在阈值上。阈值太小,噪声去不干净;阈值太大,有用的信号成分会被误伤。而且合适的阈值因信号而异,没有统一标准,传统做法是由信号处理专家凭经验设定。更深的矛盾在于,传统去噪是作为预处理步骤存在的,与后续的深度学习模型彼此分离:去噪过程并不知道后面的分类任务需要什么特征,分类模型也无法把梯度传回去指导去噪。

图 2 软阈值函数及其导数示意:输入输出关系在阈值范围内被压到零,在外侧保持线性;导数只取 0 或 1(来自论文 Fig. 3)

2.3 直接把软阈值塞进网络会遇到什么

既然软阈值去噪效果好,把它当作激活函数放进网络是否可行?方向是对的,但有几个关键难题需要解决。

第一,阈值怎么设。如果阈值是固定超参数,就回到了传统方法的老路,需要人工调参,也无法针对不同样本自适应调整。

第二,阈值放在哪里。如果只在输入层做一次软阈值,只能处理原始信号的噪声,无法处理网络中间层产生的冗余信息。

第三,不同通道需要不同阈值。卷积层输出的是多通道特征图,不同通道包含的信息类型和噪声水平并不相同,用同一个阈值处理所有通道并不合理。

第四,阈值必须为正且不能过大。软阈值中的阈值项需要是正数,而如果它大于特征图的最大绝对值,输出就会全部变成零,信息完全丢失。这几个问题正是本文方法要逐一攻克的。

三、本文的核心创新:深度残差收缩网络

3.1 核心思路:把去噪内化到网络中

作者的核心思路可以概括为一句话:让深度网络自己学会"该去掉什么",而不是依赖人工设计的去噪预处理。具体做法是把软阈值作为非线性变换层,嵌入到残差网络的每一个构建单元里,并通过一个专门的子网络来自适应地学习每个特征图、甚至每个通道应该使用的阈值。这样一来,去噪过程与特征学习过程在同一套参数下被联合优化,去噪不再是"先用一个固定规则滤一遍,再送去分类"。

3.2 阈值是怎么被学出来的

这是本文最精妙的设计。在每个残差收缩构建单元中,作者嵌入了一个小型子网络专门负责估计阈值,过程大致分三步:先对特征图的绝对值做全局平均池化,得到一个一维向量;再把这个向量送入一个两层的全连接网络,得到一个缩放参数;最后用 Sigmoid 函数把缩放参数压缩到 0 到 1 之间,再把这个缩放参数乘以特征图绝对值的平均值,就得到了当前特征图使用的阈值。

这样设计的用意有两点。一是保证阈值一定为正,因为缩放参数大于零、绝对值均值也大于零,二者相乘自然为正。二是保证阈值不会太大,因为缩放参数被限制在 1 以内,所以阈值总是不超过绝对值均值,也就不会超过特征图的最大绝对值,从而避免了输出被全部置零、信息丢失的情况。阈值既需要是正数、又需要被压在合理范围内这两个约束,就这样被巧妙地写进了网络结构中。

3.3 两种阈值策略:通道共享与通道独立

围绕阈值的作用范围,论文提出了两个变体。其一是 DRSN-CS,每个特征图使用一个统一的阈值,所有通道共享同一个值;其二是 DRSN-CW,每个通道拥有自己独立的阈值,不同通道可以有不同的取值。

显然,通道独立的方式更灵活,因为不同通道包含的信息类型不同、噪声水平也不同,用不同阈值分开处理更合理;而通道共享的方式计算量更小,实现更简单。论文的实验中,通道独立的方式取得了更好的效果,这也从侧面说明"不同通道的噪声程度确实不一样"这个判断是站得住的。

图 3 残差收缩构建单元与 DRSN 整体架构:左侧为通道共享阈值的单元与网络架构,右侧为通道独立阈值的单元与网络架构(来自论文 Fig. 4)

3.4 从 ResNet 到 DRSN 的演进

为了看清 DRSN 的结构,先回顾经典 ResNet 的基本构建单元,它包含两次批归一化、两次 ReLU 激活、两层卷积,以及一条恒等快捷连接。DRSN 的构建单元在此基础上增加了两个部分:一个是前面说的阈值估计子网络,另一个是软阈值操作层。软阈值层被放在第二个卷积层之后、恒等快捷连接之前,于是每一层学到的特征都会先经过一次"收缩"处理,不重要的特征被置零,重要的特征被保留,然后才参与后续的计算。

整个 DRSN 的宏观结构与 ResNet 类似,都是输入层、卷积层、若干构建单元堆叠、批归一化、ReLU、全局平均池化、全连接输出层的组合,区别只在于所有的基本单元都被换成了残差收缩构建单元。随着网络加深,噪声相关特征被逐层削弱,高层特征的判别性逐步增强。

3.5 这个设计精妙在哪里

第一,去噪与特征学习实现了真正的联合优化。传统方法把去噪和分类分成两个阶段,而 DRSN 把软阈值嵌进每一层的特征变换里,反向传播时分类误差会同时影响卷积核参数和阈值估计子网络的参数,两者朝同一个目标调整。

第二,阈值自适应且自带约束。阈值不是人为设定的固定值,而是网络根据当前特征自动生成的,同时借助 Sigmoid 和绝对值均值的组合,天然满足"为正、且不过大"这两个要求,不需要额外的惩罚项或截断操作。

第三,梯度特性好。软阈值的导数与 ReLU 类似,要么是 1 要么是 0,这样的特性有助于缓解梯度消失和梯度爆炸。也就是说,软阈值在这里不只是充当去噪器,同时也是一条通畅的梯度通道。

第四,保留了残差连接的优势。DRSN 继承了恒等快捷连接,梯度可以通过捷径直接回流;同时,由于每一层的特征都经过了收缩处理,残差分支要学习的映射更加"干净",这在一定程度上也降低了学习难度。

3.6 与注意力机制的异同

看到阈值估计子网络用到了全局平均池化和全连接层,很容易想到通道注意力机制。确实,两者在结构上有相似之处,但目的并不相同。通道注意力学习的是通道权重,用来对不同通道的特征做加权放大或缩小,本质是对特征做重新分配;而 DRSN 的子网络学的是阈值,用来把接近零的特征直接置零,本质是对特征做筛选和剔除。前者的输出是一个乘积因子,后者的输出是一个收缩边界,二者在功能上互补而非替代。

四、实验是怎么做的

4.1 数据与设置

实验数据来自一台传动系统诊断模拟平台,该平台主要由电机、两级行星齿轮箱、两级定轴齿轮箱和可编程磁粉制动器组成,加速度传感器安装在行星齿轮箱的输入侧,采样频率为 12.8 kHz。实验考虑了行星齿轮箱的八种健康状态,包括一种健康状态、三种轴承故障和四种齿轮故障。为了模拟实际工况的变化,每种健康状态都在三种转速和三种扭转载荷下采集数据,每个具体工况下采集若干条观测,每条观测是一段较短的信号。作者特意选用较短的时间窗,是为了让诊断任务更具挑战性,从而更好地检验方法的有效性。

在噪声设置上,作者把白高斯噪声、拉普拉斯噪声和粉红噪声分别叠加到原始振动信号上,使信噪比在 5 dB 到 -5 dB 之间变化,并且每个信号叠加的噪声都是独立生成的。这种做法比较接近工业现场噪声复杂多样的实际情况。

4.2 特征可分性:从混在一起到基本分开

论文把网络最终全局平均池化层的高维特征用降维方法映射到二维平面,直观展示不同方法学到的特征是否可分。从结果可以看到,在传统卷积网络和残差网络上,不同健康状态的测试样本高度混杂在一起,部分健康状态(例如某类齿轮故障)的样本甚至散落在几个相距较远的区域,原因在于这些信号是在不同工况下采集的,本身特性就有差异,而这两种网络没能把它们投影到同一片区域。

相比之下,两种 DRSN 下同一健康状态的样本大多聚在一起,并且与其他健康状态的样本基本可以分开。这说明软阈值收缩确实起到了剔除噪声相关特征的作用,使得高层特征更具判别性。

图 4 信噪比为 5 dB 时,四种方法在全局平均池化层高维特征上的二维可视化对比:图 (a) 传统卷积网络,(b) 残差网络,(c) DRSN-CS,(d) DRSN-CW(来自论文 Fig. 9)

4.3 训练与测试误差

论文还对比了四种方法的训练误差与测试误差曲线。可以看到,残差网络的训练和测试误差都明显低于传统卷积网络,说明恒等快捷连接确实有助于参数优化,能训练出更准确的模型。更重要的是,两种 DRSN 的训练和测试误差又低于经典残差网络,这与前面的分析是一致的:把软阈值作为收缩函数嵌入网络,能够削弱噪声相关特征,让最后一层的高层特征更具判别性。

4.4 通道共享与通道独立的对比

在两种变体的对比中,通道独立的方式整体表现更好。原因在于,特征图的不同通道往往包含不同程度的噪声相关信息,通道独立的方式可以为不同通道分别设置阈值,从而更精细地压缩特征;而通道共享的方式只能对所有通道使用同一个阈值,灵活性不足。论文中也提到,在特征二维可视化结果里,通道共享方式下存在若干对健康状态样本严重重叠,而通道独立的方式下重叠明显减轻,这为上述判断提供了直观佐证。

不过通道独立也并非没有代价。论文比较了两种变体的计算耗时,发现通道共享的方式反而更慢,原因是它在每个构建单元里多了一步取平均的操作。作者也指出,未来需要对两种架构做进一步优化以缩短计算时间,这一点值得关注。

五、结论与一点思考

这篇论文把信号处理中经典的软阈值去噪改造为可训练的非线性层,嵌入残差网络的构建单元,并通过专门的子网络自动估计阈值,使去噪与特征学习在同一个框架内完成。论文的实验表明,在多种噪声类型、多个信噪比水平下,这两种方法在特征判别性和诊断效果上都优于传统卷积网络与经典残差网络,取得了较好的效果。其中通道独立的方式由于能对不同通道自适应设置阈值,整体表现更好。

从方法设计的角度看,这篇论文有两点值得学习。一是问题抓得准:强噪声下的故障诊断是工业现场每天都在发生的真实困境,不是人为构造的问题。二是设计有明确的物理直觉:软阈值本来就有清晰的去噪含义,作者把它嵌入网络时,又通过结构设计让阈值自动满足"为正、且不过大"的约束,没有引入难以解释的额外机制。

需要指出的是,论文也在结论中提到,架构的进一步优化、计算时间的压缩,都是后续可以继续做的工作。对于希望把深度学习真正用在工业现场的读者来说,这类围绕"如何让网络对噪声更稳健"展开的设计,是很值得参考的方向。

论文链接:

https://doi.org/10.1109/TII.2019.2943898

相关推荐
Ivanqhz3 小时前
数据搬运是性能关键
java·服务器·网络·人工智能·深度学习
阳明山水4 小时前
校准分位数驱动智能库存决策
人工智能·深度学习·算法·机器学习·架构
xx_xxxxx_4 小时前
论文阅读-Search-R1
人工智能·深度学习·机器学习·强化学习
Ivanqhz4 小时前
Slope One 算法详解:与矩阵分解、共现矩阵的异同
java·服务器·网络·人工智能·深度学习
Ivanqhz5 小时前
Ping-Pong 双缓冲
开发语言·人工智能·python·深度学习·mlir
三十岁老牛再出发5 小时前
9月18日总结
python·深度学习·机器学习
richard_yuu7 小时前
LMS 算法:从最小二乘到随机梯度下降,工业自适应滤波的核心
深度学习·神经网络·机器学习
TAN-90°-7 小时前
Deep Learning for Computer Vision——Generative Models 2
人工智能·深度学习·神经网络·算法·目标检测·机器学习·计算机视觉
成为深度学习高手8 小时前
XLinear:用一个轻量 MLP,带外生变量做长期时间序列预测
python·深度学习·时序数据库