故障诊断:结合自适应参数化ReLU激活函数的深度残差网络的应用
此文章是对2021年3月发表于《IEEE Transactions on Industrial Electronics》的论文:Deep Residual Networks With Adaptively Parametric Rectifier Linear Units for Fault Diagnosis 的详细解读。
摘要
机器在不同工作条件下,即便处于同一健康状态,产生的振动信号往往差异很大;而在某些工作条件下,机器处于不同健康状态,振动信号的差异却可能很小。传统的深度学习方法,会对所有输入的振动信号采用固定的非线性处理方式,这会影响模型识别故障特征的能力,没办法把同一类状态的信号归到同一区域,也难以把不同类状态的信号区分到不同区域。针对这个问题,该研究设计了一种新的激活函数,即自适应参数化ReLU,把它融入深度残差网络中,提升模型的特征学习能力,让模型在训练时,能为每个输入的振动信号匹配专属的非线性处理方式。具体来说,该研究在网络中嵌入了一个子网络,用它学习非线性处理过程中需要的斜率参数,这个斜率参数会根据输入信号的特征变化,所以本文提出的方法,比传统深度学习方法的非线性处理方式更灵活。最后通过故障诊断的实际应用验证,这套方法在学习故障判别特征方面,取得了较好的性能提升。
一、引言
机电设备在冶金、交通、采矿等众多行业中,都扮演着不可或缺的角色。这些设备长期在恶劣的环境中运行,难免会出现故障,一旦发生故障,很可能引发严重的安全事故,还会造成经济损失。为了避免这类问题,故障诊断在过去几十年里,一直是相关领域的研究重点。
振动信号中包含大量由机械故障引发的脉冲和波动信息,因此常被用来开展故障诊断工作。工程师通常会通过定位故障对应的特征频率来判断设备故障,但对于由大量零部件组成的大型设备,这种方法的实施难度很高,这也推动了研究人员探索其他机械故障诊断方法。
过去几十年,数据驱动的故障诊断方法发展迅速,这种方法不用再费力定位故障相关的特征频率。这类方法的常规流程是,先从振动信号中提取一组统计特征,比如峭度、能量、峰峰值等,用这些特征来表征故障相关信息,再把这些统计特征输入浅层的分类模型,完成故障识别。但目前无法确定,这些人工选取的统计特征能否完整体现设备的故障信息;而且针对某一台设备设计的最优统计特征集,不一定适用于其他设备,也未必适合同一台设备在不同工作条件下的故障诊断。因此,如何设计出能完整表征故障信息的优质特征集,一直是数据驱动故障诊断领域的难题。
深度学习方法能很好地解决这一问题,它可以直接从原始的振动信号中自动学习具有判别性的故障特征,诊断准确率也比传统机器学习方法更高,同时还避免了人工设计特征集的繁琐工作。目前已有多种深度学习方法被应用于故障诊断研究,包括深度置信网络、自编码器、卷积神经网络等。但传统的深度学习方法,训练难度远高于浅层神经网络,一旦训练效果不佳,就无法实现有效的故障检测。
近年来,深度残差网络成为模式识别任务中表现较好的深度学习算法,它本质上是一种特殊的卷积神经网络。和传统卷积神经网络相比,深度残差网络中加入了恒等捷径连接,大幅降低了数十层甚至数百层深层网络的训练难度。同时,深度残差网络在机械故障诊断领域的应用也越来越广泛,相关研究都验证了深度残差网络相比传统卷积神经网络的优势,因此该研究以深度残差网络为基础模型,对其进行进一步改进优化。
但包括深度残差网络在内的传统神经网络,即便使用了 sigmoid、tanh、整流线性单元、带泄漏整流线性单元、参数化整流线性单元等不同的典型激活函数,都存在一个共同问题:对每个输入的信号,都会采用完全相同的非线性处理方式,这会降低网络的特征学习能力。一方面,受转速、负载等工作条件变化的影响,同一健康状态下的两个振动信号,特征可能截然不同,比如故障相关的脉冲和波动波形存在明显差异,故障特征频率和转速成正比,不同结构的设备,振动信号的幅值还会随负载变化而放大或衰减,对这类信号采用相同的处理方式,很难把它们归到同一类别的区域;另一方面,在某些情况下,不同健康状态的振动信号特征可能十分相似,比如故障相关的特征频率相近,传统深度网络对这类信号采用相同的处理方式后,很容易把它们映射到相邻的区域,进而导致分类错误。因此,开发能为不同输入信号自动学习并匹配不同非线性处理方式的深度学习方法,具有重要的实际意义。
卷积层由若干个可训练的滤波器构成,滤波器的参数初始化为随机浮点数,并在网络训练过程中不断优化。卷积运算的过程,是先对输入特征进行卷积,再叠加偏置项,表达式为:
其中,\(x\) 为输入特征图,\(y\) 为输出特征图。由于本文以一维振动信号为输入,特征图为长度 × 通道数的二维矩阵;\(k\) 为卷积核,\(b\) 为偏置项,\(i\) 和 \(j\) 为特征图的通道索引。
ReLU 是深度学习中应用最广泛的激活函数之一,和 sigmoid、tanh 函数相比,它能更有效地缓解梯度消失问题,表达式为:
其中,\(x\) 和 \(y\) 分别为激活函数的输入和输出特征。
批量归一化是一种应用于深层网络特征的归一化技术,目的是解决内部协变量偏移问题 —— 网络训练过程中,特征的分布会持续变化,这会减慢训练速度。批量归一化的表达式为:
其中,\({x}_s\) 和 \({y}_s\) 分别为预设小批量样本中,第s个样本的输入和输出特征;\(ϵ\) 为接近 0 的常数;\(γ\) 和 \(β\) 为可训练参数,分别用于对特征分布进行缩放和平移。
残差块由两个批量归一化层、两个整流线性单元激活函数、两个卷积层和一个恒等捷径连接组成,这也是深度残差网络相比传统卷积神经网络的核心优势所在。梯度可以通过恒等捷径连接,直接传播到浅层的网络层,也就是靠近输入层的网络层,为梯度的反向传播提供便利,因此深度残差网络的训练难度低于传统卷积神经网络。
深度残差网络中,以交叉熵损失作为待最小化的代价函数。计算过程中,先通过 softmax 函数将特征值映射到 (0,1) 的区间,表达式为:
其中,\(x\) 和 \(y\) 分别为 softmax 函数的输入和输出特征,\({N_{\text{class}}}\)为故障的类别数量。交叉熵损失的数学表达式为:
其中,\(t\) 为独热编码形式的标签。损失计算完成后,通过梯度反向传播优化网络的所有参数,这个过程会重复迭代一定次数,直到实现深度残差网络模型的充分优化。
2.2 ReLU 的改进
ReLU 是深度学习中应用最广泛的激活函数之一,研究人员在此基础上,开发出了带泄漏整流线性单元(LReLU)、参数化整流线性单元(PReLU)等改进版本,用以提升网络的性能。
LReLU 和传统 ReLU 的区别不大,它不会将负特征值直接置 0,而是给负特征值乘一个较小的非零乘法系数,比如 0.1,以此保留部分负特征的信息,表达式为:
其中,\(x\) 和 \(y\) 分别为激活函数的输入和输出特征。
PReLU 是带泄漏整流线性单元的变体,带泄漏整流线性单元中的乘法系数是预设的固定值,而参数化整流线性单元允许这个系数通过梯度反向传播进行训练,表达式为:
其中,\(α\) 为可训练的乘法系数,也就是斜率。具体来说,特征图的每个通道都有专属的 \(α\),能提升非线性处理方式的灵活性。此外需要注意,参数化整流线性单元中的 \(α\),在网络训练过程中可通过学习调整,但在测试过程中会成为固定常数,无法根据每个测试信号的特征自适应调整。
2.3 结合自适应参数化ReLU的深度残差网络的设计
本文提出的结合自适应参数化 ReLU 的深度残差网络,本质是将自适应参数化 ReLU 这种特殊的激活函数(APReLU),嵌入传统的深度残差网络,实现对输入信号的自适应非线性处理。因此,本部分首先介绍为振动信号施加自适应非线性处理的设计动机,随后详细阐述自适应参数整流线性单元和结合自适应参数整流线性单元的深度残差网络的结构。
2.3.1 为振动信号施加自适应非线性处理的动机
基于深度神经网络开展机器故障诊断,核心任务是把同一类状态的振动信号映射到相邻的区域,把不同类状态的振动信号映射到相距较远的区域。但长期以来存在一个问题:受工作条件变化的影响,同一故障状态下的振动信号,特征往往存在差异,比如幅值会随负载变化而增大或减小,故障相关脉冲的时间间隔会随转速变化而改变;同时,在某些情况下,不同故障状态下的振动信号,特征可能十分相似,比如同一转速下不同故障的特征频率差异显著,但在不同转速下,这些特征频率可能变得相近。
采用传统激活函数的深度学习方法,对所有的振动信号都会施加相同的非线性处理方式,这会让网络难以把同一健康状态下的振动信号映射到相邻区域;如果不同健康状态下的部分振动信号特征相似,网络也很难把它们映射到相距较远的区域。因此,为了提升网络学习特征的判别性,需要开发新的激活函数,让网络能为不同的振动信号匹配不同的非线性处理方式。
2.3.2 自适应参数整流线性单元的基础结构设计
自适应参数整流线性单元的核心创新点,是嵌入了一个特殊设计的子网络,用这个子网络自适应估计非线性处理过程中需要的乘法系数。
具体的处理流程是,首先将输入的特征图分别输入整流线性单元和全局平均池化层,计算得到能表征正特征全局信息的一维向量;同时,将输入的特征图输入 \(min(x,0)\) 函数和全局平均池化层,计算得到能表征负特征全局信息的另一维一维向量。这样设计的原因有三点:第一,尽管深度神经网络中学习到的特征没有明确的物理意义,但负特征中可能包含正特征所没有的故障相关信息,因此将 \(min(x,0)\) 函数与整流线性单元配合使用,能更全面地提取信号特征;第二,不同振动信号中,故障相关的脉冲和波动位置可能不同,这会改变网络最终学习到的特征,降低模型的稳定性,而全局平均池化能解决这种位移变异问题;第三,全局平均池化能将特征图的信息压缩为两个一维向量,数据量远小于原始特征图,能有效减少后续网络的计算量。因此,后续非线性处理的乘法系数,能同时参考正特征和负特征的全局信息确定,相比仅参考特征的全局平均值,能让乘法系数的估计基于更全面的信息源。
2.3.3 用于基于振动信号的齿轮箱故障诊断的结合自适应参数化ReLU的深度残差网络(ResNet-APReLU)结构
本部分介绍结合自适应参数整流线性单元的深度残差网络的整体结构和优化方法,并阐明它在基于振动信号的齿轮箱故障诊断中的优势。
本文构建了一种新型的残差块,由两个卷积层、两个批量归一化层、两个 APReLU 和一个恒等捷径连接组成。这个新型残差块,和传统的残差块结构基本一致,唯一的区别是用APReLU,替代了传统的 ReLU,实现自适应的非线性处理,因此每个新型残差块能完成两级自适应非线性处理。同时,APReLU的输出特征图,和输入特征图的形状、格式完全相同,因此它能轻松嵌入残差块,以及深度神经网络的任意位置,无需对网络做其他修改。
结合自适应参数整流线性单元的深度残差网络的整体结构,由卷积层、若干个新型残差块、批量归一化层、自适应参数整流线性单元、全局平均池化层和全连接输出层依次组成。由于网络中堆叠了若干个新型残差块,这套网络能对输入信号多次执行自适应非线性处理,从而实现为每个输入信号匹配专属且独特的非线性处理方式的目标。
本文采用梯度下降算法,对ResNet-APReLU进行优化,表达式为:
其中,\(w\) 代表网络中任意可训练的参数,\(E\) 为交叉熵损失,\(η\) 为学习率。APReLU 实际由多种基础操作组合而成,包括 \(min(x,0)\) 函数、两个ReLU、两个全局平均池化层、两个全连接层、两个批量归一化层、一个 sigmoid 函数,以及 \(max(x,0)+αmin(x,0)\) 函数。部分基础操作的输出特征对输入特征的梯度如表 1 所示,其中 \(N_{feature}\) 为特征图单个通道的特征数量;全连接层和批量归一化层的梯度,可分别参考相关的研究文献。
综上,本文提出的 ResNet-APReLU 是一种新型的深度学习方法,能为每个特定的输入信号,自动学习专属的非线性处理方式,适合应用在不同工作条件下,基于振动信号的齿轮箱故障诊断。定义自适应非线性处理的乘法系数,由每个特定振动信号的特征决定,相比传统对所有振动信号采用相同非线性处理方式的方法,这套方法在提取故障判别特征方面的效果更好,能实现较高的诊断精度。
三、实验结果
本文将 ResNet-APReLU 应用于不同工作条件下行星齿轮箱的故障诊断,以振动信号为输入,并与采用 sigmoid、tanh、ReLU、PReLU、LReLU的传统卷积神经网络、深度残差网络进行实验对比,本部分对实验结果进行汇总和分析讨论。
3.1 采集振动信号
本文采用传动系统动力学模拟器模拟设备故障,并采集振动信号,这个模拟器由电机、二级行星齿轮箱、二级定轴齿轮箱和重型可编程电磁制动器组成,其中行星齿轮箱的第一级包含 4 个行星轮,第二级包含 3 个行星轮。通过电磁制动器可以调节设备的扭转载荷,以此模拟不同的工作条件。在行星齿轮箱输入端的竖直方向安装了加速度传感器,以 12.8 kHz 的采样频率采集振动信号。
3.2 超参数设置
实验中,所有对比的深度学习方法,均设置相同的超参数。尽管超参数的精细调优仍是尚未解决的难题,还需要大量研究,但本文的研究重点不是优化超参数,而是提出一种具有特殊结构的新型深度学习方法。本实验的超参数设置如下:
学习率采用分阶段调整的方式,前 40 个训练轮次设置为 0.1,后续 40 个训练轮次调整为 0.01,最后 20 个训练轮次降至 0.001,让网络参数在训练初期可以大步更新优化,在训练后期则进行精细微调;动量法是借助上一次迭代的参数更新量来加快网络优化进程的训练技术,本研究中将动量系数设置为 0.9;网络权重采用相关研究中的方法进行初始化,偏置项则全部初始化为 0;为降低网络过拟合的风险,引入 L2 正则化,通过在损失函数中增加惩罚项的方式,让网络权重值向 0 趋近,L2 正则化的系数设置为 0.0001;小批量训练是指随机选取一组信号同时输入网络进行训练,本实验中将小批量的样本数量设置为 128;同时,对每个训练信号的两端进行四位零填充操作,并采用长度为 4096 的随机裁剪方式进行数据增强,进一步降低网络发生过拟合的可能性。
卷积核数量的设置遵循相关研究的设计思路,第一个卷积层与前 1/3 的残差块中,卷积核数量为 4,中间 1/3 的残差块卷积核数量为 8,最后 1/3 的残差块卷积核数量提升至 16;所有网络层中的卷积核长度均设置为 3,需要说明的是,在处理规模更大的数据集时,可适当增大卷积核的长度,本次研究的设置仅用于验证所提方法的性能优势。残差块的数量M分别设置为 6、9、12,以此测试不同网络深度下模型的故障诊断性能。
3.3 性能对比
本研究采用十折交叉验证的方案开展所有实验,标识 “ConvNet-ReLU” 代表采用ReLU作为激活函数的卷积神经网络,其余标识均遵循这一命名规则。详细的实验结果如表 4 所示,各模型诊断精度的整体平均值如表 5 所示,接下来将从多个角度对实验结果进行具体分析。
3.3.1 APReLU 与传统激活函数的对比
从表 5 的结果可以看出,APReLU 的性能表现优于 sigmoid、tanh、ReLU、LReLU、PReLU 等传统激活函数。具体来看,采用 APReLU 的卷积神经网络,测试精度的整体平均值达到 92.68%,相较于采用 sigmoid、tanh、ReLU、LReLU、PReLU 的卷积神经网络,分别提升了 17.23%、8.23%、7.29%、6.41% 和 2.58%;采用 ResNet-APReLU,测试精度的整体平均值达到 97.51%,对比采用上述五种传统激活函数的深度残差网络,精度分别提升了 18.31%、9.64%、5.27%、5.24% 和 3.98%。
该研究采用 \(t\) 分布随机邻域嵌入这一非线性降维方法,将网络最后一个全局平均池化层学习到的特征映射至二维空间,以此直观展现特征的分布情况。需要注意的是,\(t\) 分布随机邻域嵌入生成的二维特征,与样本之间的邻域关系高度相关,在不同数据集上的结果可能存在差异;尽管降维后的低维特征会丢失大量原始信息,但本研究中进行二维可视化的目的,仅为直观呈现网络学习特征的特性,并非将这些二维特征用于故障分类。
可视化的结果显示,采用自适应参数化 ReLU 的卷积神经网络,对设备不同健康状态的区分能力更强,例如某类行星轮轴承故障的样本,在该网络中能与其他健康状态的样本实现清晰区分,而在其他卷积神经网络中则无法做到有效分辨。采用 ResNet-APReLU,对设备不同健康状态几乎能实现完全区分,仅存在极少数分类错误的情况;而其他采用传统激活函数的深度残差网络,不同健康状态的样本特征呈现高度重叠的状态,且同一健康状态的样本,大多分散在多个相距较远的区域。这一现象的原因在于,实验中的振动信号采集于不同运行工况,信号特征存在明显差异,传统深度学习方法难以将这些特征有差异的同类别信号映射至同一区域。由此可见,本文提出的 APReLU,能够帮助网络学习到更具判别性的故障特征,有效提升网络的分类性能。
此外,本文还分析了网络训练过程中的损失变化趋势,发现采用自适应参数化ReLU的卷积神经网络,在所有参与对比的卷积神经网络中,取得了最低的训练损失和测试损失;同理,采用 ResNet-APReLU,其训练损失和测试损失也低于其他采用传统激活函数的深度残差网络。这一结果验证了自适应参数化 ReLU 能够帮助网络更快地向低损失值收敛,提升网络的整体训练效果。
3.3.2 融入 APReLU 的深度残差网络与卷积神经网络的有效性对比
表 5 的结果显示,ResNet-APReLU 性能表现优于采用自适应参数化ReLU的卷积神经网络,测试精度的整体平均值提升了 4.83%;同时,ResNet-APReLU 测试精度的平均标准差为 0.47%,相比采用自适应参数化 ReLU 的卷积神经网络降低了 3.04%,这一结果验证了前者能够取得更高且更稳定的测试精度。
除此之外,尽管采用自适应参数化 ReLU 的卷积神经网络,在大多数实验场景下的精度高于采用其他传统激活函数的卷积神经网络,但在残差块数量为 12、信噪比为 1 dB 的实验条件下,其诊断精度出现明显下降。这是因为自适应参数化 ReLU 的引入,增加了网络结构的复杂程度,层数较多的卷积神经网络,其参数优化的难度会大幅增加,难以实现充分的训练。与之相反,本文提出的 ResNet-APReLU ,在所有实验场景下,均取得了深度残差网络类别中最高的训练精度和测试精度,原因在于深度残差网络中的恒等捷径连接,能够促进梯度在网络中的流动,降低网络的优化难度,让模型的故障诊断性能更稳定。
从特征可视化的结果也能发现,ResNet-APReLU 对设备不同健康状态的区分能力优于采用自适应参数化 ReLU 的卷积神经网络,部分在卷积神经网络中存在特征重叠的故障类型,在深度残差网络中能够实现清晰的区分。同时, ResNet-APReLU 其训练损失和测试损失均低于采用自自适应参数化 ReLU 的卷积神经网络。综上,ResNet-APReLU 在学习具有判别性的故障特征方面效果更佳,且网络参数的优化难度更低。
3.3.3 APReLU 与其他结构的优势对比
本文设计的自适应参数化 ReLU 会将输入特征图同时输入 \(min(x,0)\) 函数和 ReLU,再分别结合全局平均池化层提取特征,随后将得到的两个一维向量进行拼接,再输入后续的网络层。为验证该结构的性能优势,我们将其与另外三种简化结构开展对比实验,第一种是将输入特征图直接输入全局平均池化层,第二种是仅将输入特征图输入 ReLU 和全局平均池化层,第三种是仅将输入特征图输入 \(min(x,0)\) 函数和全局平均池化层。上述三种简化结构的全局平均池化层输出特征图,均输入与我们设计的自适应参数整流线性单元完全相同的计算路径。
3.3.4 APReLU 斜率参数的取值分析
我们选取了 8 组不同的振动信号,分析 APReLU 中负特征对应的斜率参数取值情况,具体结果如表 7 所示。可以发现,采用 LReLU 时,8 组振动信号对应的负特征斜率均为固定值 0.1;采用 PReLU 时,斜率为可训练参数,初始值设置为 0,经过训练后收敛至 0.495,且该值对所有振动信号保持一致;与之相反,本文提出的 APReLU ,其学习到的斜率参数针对不同振动信号的取值存在明显差异,取值范围在 0.497 至 0.714 之间。这一结果直接证明, APReLU 能够根据不同的输入信号,自动调整斜率参数,为每个信号匹配专属的非线性处理方式。
3.4 基于公共数据集的后续验证
为进一步验证 ResNet-APReLU 的有效性,本文采用公共的齿轮箱数据集 ——PHM 2009 挑战赛数据集开展补充实验。该数据集包含 8 种设备健康状态,每种健康状态下有 1000 组样本,每组样本为包含 4096 个数据点的振动信号;向每个振动信号中添加高斯白噪声,使信号的信噪比达到 1 dB;实验采用与上述研究相同的超参数,残差块数量设置为 12,该数据集的详细信息可参考相关研究文献。
实验结果如表 8 所示,本文提出的 ResNet-APReLU 在所有参与对比的方法中,不仅取得了最高的训练精度,达到 99.99%,同时也取得了最高的测试精度,达到 99.55%。但需要注意的是,该方法的训练优化时间长于其他采用传统激活函数的方法,因此在未来的研究中,需要对 ResNet-APReLU 结构进行进一步优化,以此降低网络的计算量和时间消耗。
四、结论
本文设计了一种新型的激活函数 —— APReLU ,该激活函数可直接嵌入深度残差网络的残差块,也可融入深度神经网络的任意位置,无需对原有网络结构做出其他修改。通过为不同的输入信号分配不同的非线性处理方式,该激活函数有效提升了深度神经网络的特征学习能力,最终实现了较高的故障诊断精度。具体而言,本文在 APReLU 中嵌入了一个专门设计的子网络,用于自动学习非线性处理过程中所需的斜率参数,让每个输入信号都能拥有专属的非线性处理方式。因此,本文提出的 ResNet-APReLU 具备灵活性更强的非线性处理能力,能够更好地将同一类状态的振动信号映射至同一区域,将不同类状态的振动信号映射至不同区域。
通过行星齿轮箱的故障诊断实验,验证了 APReLU 相较于传统激活函数的性能优势。如表 5 所示, ResNet-APReLU 其测试精度的整体平均值相较于采用 ReLU、LReLU、PReLU 的深度残差网络,分别提升了 5.27%、5.24% 和 3.98%。这一性能提升得益于 APReLU 实现的自适应非线性处理,让非线性处理的系数能够根据输入信号的特征进行自适应调整。因此, ResNet-APReLU 具备更强的判别特征学习能力,有效提升了故障诊断的精度。
同时,实验结果显示,ResNet-APReLU 测试精度的整体平均值相较于采用自适应参数整流线性单元的卷积神经网络提升了 4.83%,性能表现更优。事实上,APReLU 的复杂程度高于 ReLU、LReLU、PReLU 等传统激活函数,参数优化的难度也更大,若采用 APReLU 的卷积神经网络参数未能得到充分优化,其故障诊断精度会出现明显下降;与之相反, ResNet-APReLU 通过恒等捷径连接降低了网络的训练难度,让网络的所有参数都能得到有效优化。
最后,本文提出的 APReLU 不仅能嵌入深度残差网络,还可以融入深度迁移学习方法,提升非平稳工况下的故障诊断精度,同时也能应用于深度自编码器、胶囊网络、生成对抗网络等其他深度学习方法,具有广泛的应用前景。
论文标题:Deep residual networks with adaptively parametric rectifier linear units for fault diagnosis
出版期刊:IEEE Transactions on Industrial Electronics. 2021, 68(3): 2587-2597.
DOI:10.1109/TIE.2020.2972458
https://ieeexplore.ieee.org/document/8998530
浙公网安备 33010602011771号