读这篇TIE论文时,被一个反直觉的问题击中:振动信号千变万化,深度学习模型凭什么用同一套“激活规则”处理所有样本?这就像给所有病人开同一种药,不管体质和病情。作者没有堆砌网络层数,而是在最基础的激活函数上找到了突破口——让非线性变换根据输入信号“量身定制”。这个思路很朴素,但力量极大。写这篇解读,是想把这个“点醒”我的想法,用最直白的方式分享给同样做故障诊断或信号处理的朋友。
以下是对原论文的解读,希望对大家有所帮助,也希望给大家带来更好的阅读体验。
IEEE TIE 2020论文解读:让深度残差网络学会”自适应”——带自适应参数修正线性单元的深度残差网络(ResNet-APReLU)
论文信息
标题:Deep Residual Networks With Adaptively Parametric Rectifier Linear Units for Fault Diagnosis
作者:Minghang Zhao, Shisheng Zhong, Xuyun Fu, Baoping Tang, Shaojiang Dong, Michael Pecht (Fellow, IEEE)
期刊:IEEE Transactions on Industrial Electronics (TIE)
年份:2020
DOI:10.1109/TIE.2020.2972458
论文阅读笔记:振动信号千变万化,深度学习模型凭什么用同一套”激活规则”处理所有样本?——这篇TIE论文给出了一个漂亮的解法
一、聊聊我为什么关注这篇论文
最近在读故障诊断相关的文献,翻到这篇TIE上的文章时,有种被点醒的感觉。
说实话,刚开始看到标题里”自适应参数修正线性单元”(Adaptively Parametric Rectifier Linear Units, APReLU)这个名词,我是有点懵的,激活函数不就是个非线性变换吗?ReLU用了这么多年,不也挺好的?但读完之后不得不承认,作者在一个非常基础但极其关键的问题上找到了突破口:深度学习模型对每一个输入样本都应用同一套非线性变换,这在振动信号故障诊断这个场景下,真的合理吗?
这篇博客是我自己的学习笔记,尽量用比较直白的方式把论文的核心思想梳理一遍,希望对同样关注这个方向的朋友有所帮助。
二、这个研究要解决什么问题?
2.1 机械设备故障诊断为什么重要?
机械和电气设备是现代工业的基石,冶金、交通、采矿,哪个行业都离不开它们。但这些设备长期在高温、高湿、高负荷的恶劣环境下运转,故障几乎是不可避免的。一旦关键设备在运行中突然失效,轻则停产停工,重则造成人员伤亡。所以,在故障早期就发现问题、及时预警,是工业界和学术界共同关注的焦点。
振动信号是故障诊断中最常用的信息源之一。当轴承出现内圈裂纹、齿轮出现齿面点蚀、转子出现不平衡时,这些机械缺陷都会在振动信号中留下”指纹”,特定的冲击脉冲、频率成分或调制特征。理论上,只要我们能准确提取这些特征,就能判断设备的健康状态。
2.2 从传统方法到深度学习
早期的故障诊断方法主要有两类:
第一类是信号分析方法。工程师们通过频谱分析、包络解调、小波变换等手段,从振动信号中定位故障特征频率。比如轴承内圈故障会在振动频谱中产生特定的BPFI(Ball Pass Frequency Inner)成分。这种方法直观、可解释性强,但有个致命弱点:对于大型复杂设备,故障特征往往被噪声淹没,或者多个故障源的特征相互混叠,人工分析极其困难。
第二类是传统数据驱动方法。先由专家设计一组统计特征(如峭度、能量、峰峰值、熵等),然后用SVM、随机森林等浅层分类器进行识别。这种方法避免了人工读谱的麻烦,但引入了一个新的问题:这些人工设计的特征是否真的能完整表征故障信息?更糟糕的是,在一台设备上表现良好的特征集,换到另一台设备上可能就完全失效了。配置一个”万能”的特征集,一直是这个领域的长期痛点。
第三类是深度学习方法。近年来,深度学习的崛起给故障诊断带来了新的希望。深度神经网络(尤其是卷积神经网络CNN)可以直接从原始振动信号中自动学习判别性特征,省去了人工设计特征的麻烦,而且准确率往往更高。Deep Belief Network、Auto-Encoder、ConvNet等方法在轴承、齿轮箱、电机等设备的故障诊断中都取得了不错的成绩。
2.3 核心矛盾:同一套非线性变换,能应对千变万化的振动信号吗?
这就引出了本文要解决的核心矛盾。
深度学习模型(包括ResNet)的核心组件之一是激活函数。激活函数负责对神经网络的输出进行非线性变换,让网络能够学习复杂的模式。最常用的激活函数是ReLU(Rectified Linear Unit),它的规则很简单:正数保留,负数归零。ReLU的改进版如LReLU(Leaky ReLU)给负数一个小的斜率,PReLU(Parametric ReLU)则让这个斜率变成可训练的参数。
但不管是ReLU、LReLU还是PReLU,它们都有一个共同的特点:同一层网络中,所有输入样本都共享同一套非线性变换规则。也就是说,不管进来的是什么样的振动信号,激活函数都以完全相同的方式处理它们。
这在图像分类里可能问题不大,一张”猫”的图片,旋转、裁剪之后还是猫,用同一套激活规则处理是合理的。但振动信号完全不同:
问题一:同类故障的振动信号可能长得完全不一样。
同一台齿轮箱,在转速20Hz和40Hz下运行时,振动信号的时间尺度完全不同。转速越快,故障冲击脉冲的间隔越短。负载变化时,振动幅值可能放大也可能缩小。甚至同一健康状态、同一工况下采集的两段信号,由于噪声、负载波动等因素,波形也可能差异很大。
如果对所有这些信号应用同一套非线性变换,模型很难把它们都映射到特征空间的同一个区域。换句话说,同类样本在特征空间里聚不拢。
问题二:不同故障的振动信号在某些工况下可能长得非常相似。
论文里举了一个很典型的例子:不同故障的特征频率在相同转速下可能差异明显,但如果这些信号是在不同转速下采集的,经过频率混叠或缩放后,它们的频谱特征可能变得非常接近。此时,如果应用同一套非线性变换,模型很容易把它们映射到特征空间的邻近区域,导致异类样本分不开。
这两个问题本质上是一个问题:传统的激活函数缺乏”适应性”,无法根据输入信号的具体特点动态调整非线性变换策略。就像给所有病人开同一种药,不管他们的体质、病情有何差异。
三、已有方法为什么不够用?
3.1 ResNet已经是很好的基线了
在讲本文方法之前,有必要先理解ResNet(深度残差网络)的地位。
传统的深层神经网络有个老大难问题:随着层数增加,梯度在反向传播时会逐渐衰减(梯度消失),导致前面的层几乎学不到东西。ResNet通过引入”恒等 shortcut”(identity shortcut)解决了这个问题,每一层的输出不仅经过卷积和激活,还直接加上输入本身。这样梯度可以通过shortcut直接回传,深层网络(几十层甚至上百层)也能有效训练。
ResNet在图像分类上取得了突破性成果,近年来也被引入故障诊断领域。Zhang等人用ResNet从振动信号中学习判别性特征进行轴承故障诊断;Wen等人开发了51层ResNet诊断自吸离心泵;Ma等人将ResNet与解调时频特征结合用于变转速下行星齿轮箱诊断。这些研究都验证了ResNet在故障诊断中的优越性。
但即便如此,ResNet仍然使用传统的激活函数(ReLU、LReLU或PReLU),也就是说,它仍然没有解决”同一套非线性变换应对所有样本”这个根本问题。
3.2 PReLU已经往前走了一步,但还不够
PReLU(Parametric ReLU)是对ReLU的重要改进。传统ReLU对负值一律置零,PReLU则给负值一个可学习的斜率α:
这里的α不是固定的(如LReLU的0.1),而是通过梯度反向传播自动学习的。而且每个通道都有自己的α,这让非线性变换有了一定的灵活性。
但PReLU的α是在训练阶段学习、在测试阶段固定的。也就是说,一旦训练完成,α就成了一组常数,不管测试时进来的是什么信号,都用同一组α处理。它仍然没有做到根据每个具体输入信号动态调整非线性变换。
3.3 Squeeze-and-Excitation Network的启发
SE-Net(Squeeze-and-Excitation Networks)是2018年ImageNet冠军方案,它给每个通道学习一个权重系数,用来”强调”重要通道、“抑制”不重要通道。这个思路很巧妙:让网络根据输入自适应地调整特征通道的重要性。
本文的APReLU正是受到了SE-Net的启发,但走得更远,SE-Net调整的是通道权重,APReLU调整的是激活函数的斜率,也就是非线性变换本身的形状。而且APReLU同时考虑了正特征和负特征的全局信息,比SE-Net只考虑正特征更全面。
四、本文的核心创新:自适应参数修正线性单元(APReLU)
4.1 一个基于信号特性的关键洞察
作者抓住了一个很关键的点:振动信号的故障信息同时蕴含在正特征和负特征中,而且不同信号应该有不同的非线性变换策略。
这个判断有明确的物理依据:
振动信号中的冲击脉冲有正有负,正半周和负半周都可能携带故障信息;
不同工况下(转速、负载变化),信号的整体幅值、频率结构都会变化;
如果激活函数能根据每个信号的具体特点”量身定制”非线性变换,同类信号更容易聚类,异类信号更容易分离。
APReLU就是基于这个洞察设计的。
4.2 APReLU的结构设计:一个内嵌的子网络
APReLU的核心创新在于:它不是一个简单的数学公式,而是一个内嵌在激活函数中的小网络。这个小网络接收输入特征图,输出一组斜率系数,用于动态调整主网络的非线性变换。
整个APReLU的工作流程可以概括为以下步骤:
第一步:分离正负特征并提取全局信息
输入特征图同时走两条路径:
路径A:经过ReLU(保留正值,负值归零)、全局平均池化(GAP)、得到一个1维向量,代表正特征的全局信息。
路径B:经过min(x, 0)(保留负值,正值归零)、全局平均池化(GAP)、得到另一个1维向量,代表负特征的全局信息。
这里的设计很有讲究:
为什么要分离正负?因为负特征可能包含正特征所没有的故障相关信息。比如在某些故障模式下,负半周的冲击特征反而更明显。
为什么要用GAP?振动信号中故障冲击的位置可能因采样起始点不同而变化,GAP通过取平均消除了位置敏感性,解决了”移位变化”问题。同时,GAP把二维特征图压缩成一维向量,大大减少了后续计算量。
第二步:融合信息并计算自适应斜率
将正负特征的两个1维向量拼接(concatenate)在一起,然后送入一个计算路径:
FC、BN、ReLU、FC、BN、Sigmoid
这个计算路径的设计动机也很充分:
两层FC+ReLU+Sigmoid:提供两级非线性,增强表达能力 ;
ReLU的梯度非1即0:保持梯度在合理范围内,避免梯度爆炸或消失;
Sigmoid将输出限制在(0,1):防止斜率系数过大,保证数值稳定性;
BN加速收敛:解决内部协方差偏移问题。
最终,Sigmoid输出一组(0,1)之间的斜率系数α,这些系数依赖于当前输入特征图,因此是”自适应”的。
第三步:应用自适应非线性变换
用学习到的α替代PReLU中的固定斜率,对输入特征图进行非线性变换:
这里的α不是训练好的常数,而是针对当前输入信号实时计算出来的。同一个APReLU模块,面对不同的输入信号,会产生不同的α,从而执行不同的非线性变换。
4.3 ResNet-APReLU的整体架构
把APReLU嵌入ResNet非常简单:
新的ResBlock:每个残差块包含两个卷积层、两个BN层、两个APReLU层,以及一个恒等shortcut。与经典ResBlock的唯一区别就是用APReLU替换了ReLU。
整体网络架构:输入层、卷积层、多个新ResBlock、BN、APReLU、GAP、全连接输出层。
由于APReLU的输入输出特征图形状完全相同,它可以被无缝插入到网络的任何位置,不需要修改其他组件。这种”即插即用”的特性让APReLU具有很强的通用性。
4.4 这个设计精妙在哪里?
我自己梳理了三个觉得特别妙的地方:
第一,“激活函数”变成了”小型网络”
传统激活函数是固定的数学公式,APReLU则是一个可学习的子网络。这打破了”激活函数就是简单非线性操作”的固有认知,让激活函数本身也具备了学习能力。这种”网络中的网络”思路,把模型的灵活性提升到了新的层次。
第二,正负特征同时考虑,信息更全面
SE-Net只考虑正特征(通过GAP),APReLU同时提取正负特征的全局信息。对于振动信号这种有正有负的双极性信号,这种设计能更完整地捕获信号特征,避免信息丢失。
第三,自适应但不失控
虽然α是根据输入动态计算的,但通过Sigmoid约束在(0,1)范围内,保证了数值稳定性。同时,整个APReLU模块可以通过标准的梯度下降算法端到端训练,不需要特殊的优化技巧。
五、实验做了哪些验证?
5.1 实验数据集:行星齿轮箱振动信号
实验使用了一个传动动力学模拟器采集的振动信号,设备包括电机、两级行星齿轮箱(第一级4个行星轮,第二级3个行星轮)、两级定轴齿轮箱,以及可编程磁粉制动器(用于调节负载)。
健康状态:共8类,包括1个健康状态、3种轴承故障(内圈故障B1、外圈故障B2、滚动体故障B3)、4种太阳轮故障(齿面点蚀G1、齿根裂纹G2、缺齿G3、齿面磨损G4)。
工况设置:3种转速(20Hz、30Hz、40Hz)× 3种负载(1、6、18 N·m),每种工况组合采集200个样本,每类健康状态共1800个样本。每个样本4096个数据点(采样率12.8kHz,时长0.32秒)。
噪声设置:为测试鲁棒性,人为添加高斯白噪声,设置信噪比SNR为5dB、3dB、1dB三个等级。
5.2 对比方法
实验对比了非常全面的基线方法:
ConvNet系列(无shortcut的经典卷积网络):ConvNet-sigmoid, ConvNet-tanh,ConvNet-ReLU,ConvNet-LReLU,ConvNet-PReLU,ConvNet-APReLU
ResNet系列(带shortcut的残差网络): ResNet-sigmoid,ResNet-tanh, ResNet-ReLU,ResNet-LReLU,ResNet-PReLU,ResNet-APReLU
每种网络分别测试了3种深度(M=6、9、12个残差块),在3种SNR条件下进行十折交叉验证。
超参数设置:学习率前40轮0.1,中间40轮0.01,最后20轮0.001;动量0.9;L2正则化系数0.0001;batch size 128;数据增强采用padding+随机裁剪。
5.3 定量结果:APReLU全面领先
几个关键发现:
1. APReLU显著优于所有传统激活函数
在ConvNet上,APReLU比PReLU提升2.58%,比ReLU提升7.29%,比sigmoid提升17.23%。在ResNet上,APReLU比PReLU提升3.98%,比ReLU提升5.27%,比sigmoid提升18.31%。这个提升幅度非常可观,说明自适应非线性变换确实有效。
2. ResNet-APReLU > ConvNet-APReLU
ResNet-APReLU的测试准确率比ConvNet-APReLU高出4.83%。这说明APReLU虽然增加了模型复杂度,但ResNet的shortcut很好地缓解了优化困难。相比之下,ConvNet-APReLU在M=12且SNR=1dB时出现了训练困难(准确率下降),而ResNet-APReLU在所有配置下都保持稳定领先。
3. 训练准确率与测试准确率差距小,说明泛化好
ResNet-APReLU的训练准确率与测试准确率仅差0.47%,说明几乎没有过拟合。这得益于APReLU的自适应特性——它让每个样本都有”定制化”的非线性变换,相当于一种隐式的正则化。
5.4 t-SNE可视化:特征空间里的”聚类”效果
作者用t-SNE将GAP层的高维特征投影到2D空间,直观展示了各类方法的特征学习能力。
ConvNet系列(图5):
ConvNet-ReLU/LReLU/PReLU:不同健康状态的特征点严重重叠,尤其是B2(外圈故障)与其他状态混在一起,难以区分;
ConvNet-APReLU:各类别分离明显改善,B2基本可辨,但G3(缺齿)仍与健康状态H有重叠。
ResNet系列(图6):
ResNet-ReLU/LReLU/PReLU:分离度比对应ConvNet好,但仍有明显混叠;
ResNet-APReLU:8个健康状态几乎完全分离,只有极少数点错分。G3和H的边界清晰可辨;
可视化结果与定量指标高度一致:APReLU让同类样本在特征空间里”抱团”,异类样本”分开”。
5.5 训练过程分析:误差曲线
在M=9、SNR=5dB配置下,作者绘制了各方法的训练误差和测试误差随epoch变化的曲线(图7)。
训练误差:所有方法最终都收敛到接近0,说明模型都有足够的拟合能力。
测试误差:
ConvNet-ReLU/LReLU/PReLU:测试误差约0.12~0.15;
ConvNet-APReLU:测试误差约0.08;
ResNet-ReLU/LReLU/PReLU:测试误差约0.06~0.08;
ResNet-APReLU:测试误差仅约0.025。
ResNet-APReLU的测试误差最低且最稳定,再次验证了它在泛化能力上的优势。
5.6 APReLU结构消融实验:正负特征缺一不可
为了验证APReLU同时提取正负特征的必要性,作者设计了三种变体:“average”:直接对输入特征图做GAP(不分离正负)
“positive”:只经过ReLU+GAP(只保留正特征);
“negative”:只经过min(x,0)+GAP(只保留负特征);
“APReLU”:本文方法(正负都保留)。
在M=6配置下的结果显示,APReLU比最好的单特征变体(negative)高出1.61%。这说明正负特征确实包含互补信息,同时利用两者能得到更全面的信号表征。
5.7 斜率值分析:APReLU真的”自适应”了吗?
作者选取了8个不同的振动信号,观察它们在APReLU中学习到的负特征斜率值(表VII)。
结果非常直观:
LReLU:斜率固定为0.1,所有信号都一样;
PReLU:斜率训练后固定为0.495,所有信号都一样;
APReLU:8个信号的斜率各不相同(如0.312、0.528、0.441、0.389、0.267、0.603、0.415、0.356)。
这个对比无可辩驳地证明了:APReLU确实为每个输入信号分配了不同的非线性变换。PReLU虽然让斜率可学习,但学完后就是”一刀切”;APReLU则做到了”因信号而异”。
5.8 公开数据集验证:PHM 2009齿轮箱数据
为进一步验证泛化性,作者在PHM 2009挑战数据集上做了补充实验。该数据集包含8种健康状态,每类1000个样本,样本长度4096点,添加SNR=1dB的高斯噪声。网络深度M=12。
ResNet-APReLU在公开数据集上同样取得了最高准确率,说明模型拟合能力极强。唯一的代价是优化时间略长(因为APReLU增加了计算量),作者也坦诚地指出了这一点,并建议未来优化APReLU的架构以降低时间开销。
六、方法的局限和未来可以改进的地方
作者在论文末尾很坦诚地讨论了几个方向,我觉得这些反而指明了后续研究的路径:
时间开销:APReLU内嵌的子网络增加了参数量和计算量,导致训练时间比传统激活函数长。未来可以探索更轻量的子网络结构,或者采用知识蒸馏等技术压缩APReLU。
多尺度信息融合:当前APReLU只利用了GAP提取的全局信息,没有显式利用多尺度特征。未来可以结合多分辨率分析(如小波变换)或注意力机制,让自适应斜率的估计更精准。
跨域适应性:论文中的实验是在同一数据集的不同工况下进行的,但实际工业场景中,训练数据和测试数据可能来自不同设备、不同环境。将APReLU与域适应(Domain Adaptation)技术结合,可能是解决跨设备迁移诊断的一个方向。
可解释性:虽然APReLU提升了准确率,但学习到的斜率系数与物理故障模式之间的对应关系尚不明确。如果能建立”斜率模式-故障类型”的映射规律,将大大提升方法的可解释性和工程可信度。
七、我的一些思考和收获
7.1 “基础组件”的创新往往影响深远
APReLU不是一个全新的网络架构,而是对激活函数这个”基础组件”的改进。但正是这种基础层面的创新,可以被无缝集成到ResNet、ConvNet、Auto-Encoder、GAN等各种网络中,产生广泛的辐射效应。论文最后也提到,APReLU可以很容易地插入到深度迁移学习、胶囊网络、生成对抗网络等方法中。
这让我意识到:在深度学习领域,不要只盯着设计新架构,有时候对一个基础组件(激活函数、归一化层、损失函数)的深入思考,可能带来更普适的价值。
7.2 领域知识指导网络设计
APReLU的设计处处体现了对振动信号特性的深刻理解:分离正负特征,因为振动信号是双极性的;使用GAP,因为振动信号有移位变化问题;自适应斜率,因为不同工况下信号特性差异大;Sigmoid约束,因为振动信号对数值稳定性敏感。
如果作者不懂信号处理,不太可能做出这些设计选择。这再次印证了一个道理:好的深度学习模型不是纯数学游戏,而是领域知识与网络设计的深度融合。
7.3 “自适应”是深度学习的一个重要趋势
从SE-Net的通道注意力,到APReLU的自适应激活,再到后来的自适应卷积核、自适应归一化,“让网络根据输入动态调整自身行为”正在成为深度学习的一个重要范式。在故障诊断这种输入信号高度多变的领域,自适应机制尤其重要。
APReLU可以看作是”自适应激活函数”的早期探索,后续研究可以沿着这个方向继续深挖。
7.4 论文写作值得学习
这篇论文在写作上也有不少值得借鉴的地方:
问题驱动:开篇用图1直观展示了”同一套非线性变换”vs”自适应非线性变换”的区别,让读者一眼就能get到核心问题。
理论扎实:不仅给出了APReLU的前向传播公式,还详细推导了反向传播的梯度计算(表I),并给出了完整的链式法则公式,让方法可复现。
对比充分:对比了6种激活函数×2种网络架构×3种深度×3种噪声水平,实验非常系统。
分析深入:有定量指标、t-SNE可视化、误差曲线、消融实验、斜率值分析、公开数据集验证,多维度论证方法有效性。
坦诚局限:不回避APReLU计算开销大的问题,体现了学术诚信。
八、总结
这篇论文的核心贡献可以概括为一句话:让激活函数”活”起来,根据每个输入信号动态调整非线性变换策略。
具体来说:
问题:传统深度学习方法(包括ResNet)对所有输入信号应用同一套非线性变换,无法应对振动信号在同类故障下的高变异性和异类故障下的高相似性。
方法:设计了APReLU(自适应参数修正线性单元),通过在激活函数中内嵌一个小型子网络,根据输入特征图实时计算自适应斜率系数,为每个信号分配定制化的非线性变换。
效果:ResNet-APReLU在行星齿轮箱故障诊断任务上达到较高的测试准确率,比ResNet-ReLU提升5.27%,比ResNet-PReLU提升3.98%。t-SNE可视化和斜率值分析充分证明了APReLU的自适应特性和判别性特征学习能力。
个人觉得,这篇论文的价值不仅在于提出了一个有效的故障诊断方法,更在于它揭示了一个被长期忽视的问题:激活函数的”一刀切”特性在信号处理任务中可能是性能瓶颈。APReLU为这个瓶颈提供了一种优雅的解决方案,也为后续研究打开了”自适应激活函数”这一新方向。
参考文献
M. Zhao, S. Zhong, X. Fu, B. Tang, S. Dong, and M. Pecht, “Deep residual networks with adaptively parametric rectifier linear units for fault diagnosis,” IEEE Trans. Ind. Electron., vol. 68, no. 5, pp. 4290-4300, May 2020, doi: 10.1109/TIE.2020.2972458.