欢迎光临
我们一直在努力

基于小波包畸变和卷积神经网络的机械系统高度不平衡故障诊断

此文是对2022年发表于期刊《Advanced Engineering Informatics》上的论文:Highly imbalanced fault diagnosis of mechanical systems based on wavelet packet distortion and convolutional neural networks的详细解读。

摘要

机械系统的稳定运行对保障人身安全和经济效益至关重要,因此对自动化故障诊断技术的需求较高。然而,机械系统可获取的故障样本数量往往远少于正常样本,导致传统数据驱动方法的误诊率较高。本文提出一种基于小波包畸变和卷积神经网络的新型故障诊断方法。首先,通过对小波包系数进行畸变处理实现故障样本增广,使正常类别与故障类别样本数量达到均衡;其次,利用均衡后的训练数据集训练基于卷积神经网络的分类模型;再次,将训练完成的模型用于测试样本的分类识别;最后,通过多组实验验证了该方法在机械系统不平衡故障诊断中具备较好的有效性。

一、引言

工业中存在许多重要的机械系统。例如,航空液压泵在提供高压液压油以控制民用飞机的起飞、巡航和降落方面具有重要作用。作为在恶劣环境下工作的、同时包含旋转和往复运动部件的机械设备,航空液压泵可能会遭遇一些意外故障。因此,准确检测早期故障对确保飞行安全具有重要意义。

现有机械故障诊断技术主要分为三类:基于物理建模的方法、基于信号分析的方法和基于数据驱动的方法。具体而言,基于物理建模的方法依据物理规律构建故障或退化模型,并通过模型预测设备运行状态。但现有基于物理建模的方法大多仅适用于轴承、齿轮等结构简单的零部件,大型机械设备的结构和动力学行为远复杂于这类零部件,在实际工况下为大型设备构建精准的物理模型存在较大难度。基于信号分析的故障诊断方法试图从监测信号中提取故障特征。但监测数据通常包含大量噪声,且噪声和故障特征都会随操作条件而变化。因此,典型的信号分析方法往往难以提取有效的故障特征。

相比之下,数据驱动方法使用历史监测数据训练自动分类模型,并应用分类模型进行故障诊断。在使用数据驱动方法时,研究人员不需要探究故障或退化的物理原理。近年来,各类数据驱动的故障诊断方法被相继提出。此外,工业过程也可以使用数据驱动方法进行监测。然而,传统数据驱动方法中存在的一个潜在问题是其性能高度依赖于人工设计特征的质量。一旦这些特征不能完全代表健康状态的特性,这些数据驱动方法通常就难以有效检测故障。因此,构建包含丰富信息的特征集对于保证数据驱动故障诊断方法的性能十分重要。

特征学习为构建有效特征集提供了新途径,其核心思想是让算法从原始监测信号中自动学习有用特征,而非由工程师人工设置。已有相关文献验证了特征学习在提升故障诊断精度方面的优势。特征学习通常通过深度学习方法实现,即包含多层非线性变换的机器学习方法。

但传统的深度学习方法要求不同类别具有相同或相似数量的训练样本。如果优势类的样本远多于其他类,深度学习方法往往倾向于将大多数测试样本归类为优势类,这被称为类别不平衡问题。

针对类别不平衡问题,本文提出一种基于小波包畸变和卷积神经网络的新型故障诊断方法,其中小波包畸变是实现故障样本增广的关键步骤。首先,通过小波包变换将振动信号分解为若干小波系数;其次,对随机选取的小波包节点对应的小波系数进行随机畸变;再次,将畸变后的小波系数与其他未畸变的小波系数整合,重构得到新的样本。重复上述过程可生成大量样本,作为训练数据集。最终,利用均衡后的数据集训练卷积神经网络,能够提升对少数类别的诊断精度。

二、所提出的不平衡故障诊断方法

本文在小波包变换的基础上提出小波包畸变方法,用于增加故障训练样本的数量。增广后的样本与原始样本相似但数值存在差异,不仅能实现类别间的样本均衡,还能提升训练数据集的样本多样性。

1.小波包畸变

如图 1 所示,所提出的小波包畸变方法主要由三个步骤组成,包括小波包变换、对一组随机选择的小波系数进行畸变处理、以及逆小波包变换。

图1. 小波包畸变过程

小波包变换是一种经典的时频分析方法,能够将信号分解为不同频带的一组小波系数,并已广泛应用于机械系统基于振动的故障诊断中。相反,逆小波包变换可以使用小波系数来恢复信号;如果没有对小波系数执行任何其他操作,重建后的信号将与原始样本完全相同。本研究对一组随机选择的小波系数进行失真处理,因此重建后的信号将与原始样本相似但在一定程度上有所不同。重建后的信号可用作扩充样本,特别是用于少数类别。

(h,g)(h,g)(h,g)为一组长度为L的有限长冲激响应滤波器,ωj,i\\omega_{j,i}ωj,i表示第j层分解中第i组小波系数,其中ω0,0\\omega_{0,0}ω0,0为原始信号。根据 Mallat 递归算法,小波包变换可通过以下公式递归实现:
ωj+1,2i[k]=∑l=0L−1ωj,i[2k−l]h[l]
\\omega_{j+1,2i}[k] = \\sum_{l=0}^{L-1} \\omega_{j,i}[2k-l]h[l]
ωj+1,2i[k]=l=0L1ωj,i[2kl]h[l]
ωj+1,2i+1[k]=∑l=0L−1ωj,i[2k−l]g[l]
\\omega_{j+1,2i+1}[k] = \\sum_{l=0}^{L-1} \\omega_{j,i}[2k-l]g[l]
ωj+1,2i+1[k]=l=0L1ωj,i[2kl]g[l]
式中,iii=0,⋯,(2jjj−1),kkklll为元素的序列索引。本文采用二层小波包分解树,分解后得到 4 组小波系数,见图1。随后,随机选取一组小波系数,通过以下公式进行非线性畸变:
ω~=sign⁡(ω)⋅abs⁡(ω)d
\\tilde{\\omega} = \\operatorname{sign}(\\omega) \\cdot \\operatorname{abs}(\\omega)^d
ω~=sign(ω)abs(ω)d
式中,ddd 为畸变系数,从预设范围内随机选取。畸变处理是使增广样本与原始样本产生差异的关键步骤。当 ddd 接近 1 时,ω~\\tilde{\\omega}ω~ω{\\omega}ω相近;当 ddd 偏离 1 较大时,ω~\\tilde{\\omega}ω~ω{\\omega}ω存在较大差异,因此建议在预设范围内包含 1。考虑到故障特征大多与频率成分相关,畸变处理的一个优势是能在增广样本中基本保留原始样本的频率特征,使样本的故障类型基本保持不变。畸变处理的效果见图2,图2展示了正弦信号及其两种畸变后的信号波形,ddd=0.8 和 ddd=1.2 时的畸变正弦信号与原始正弦信号波形相似。

图2. 一个正弦信号及其两个畸变版本

在对某些小波系数进行畸变后,进行逆小波包变换以获得输出信号vvv,其公式表示为:
vj,i[k]=∑l=0L−1ω~j+1,2i[(k−l)/2]h~[l]+∑l=0L−1ω~j+1,2i+1[(k−l)/2]g~[l]
v_{j,i}[k] = \\sum_{l=0}^{L-1} \\tilde{\\omega}_{j+1,2i}\\left[(k-l)/2\\right]\\tilde{h}[l] + \\sum_{l=0}^{L-1} \\tilde{\\omega}_{j+1,2i+1}\\left[(k-l)/2\\right]\\tilde{g}[l]
vj,i[k]=l=0L1ω~j+1,2i[(kl)/2]h~[l]+l=0L1ω~j+1,2i+1[(kl)/2]g~[l]
式中,ω~\\tilde{\\omega}ω~ω{\\omega}ω 的二倍上采样版本,vvv 是重建的小波系数或信号;(h~,g~)(\\tilde{h},\\tilde{g} )(h~,g~)是用于重建的滤波器对。此外,考虑到振动信号的标准差与故障密切相关,本文使扩充样本的标准差与其对应的原始样本保持一致。

2.基于卷积神经网络的故障特征学习

近年来,卷积神经网络已成为基于振动信号的故障诊断任务中应用较广泛的深度学习方法。卷积神经网络的主要优势是能从原始监测信号中自动学习有效特征,无需人工设计特征,因此无需研究人员掌握大量的信号处理专业知识和故障物理机理。
典型卷积神经网络的结构见图 3,主要由若干卷积层、批量归一化层、整流线性单元、全局平均池化层、全连接层、Softmax 层和交叉熵损失函数构成,各组件的说明如下。

图3. 典型卷积神经网络结构
卷积层结合了局部感受野和权值共享的理念。局部感受野指某一层的神经元仅与前一层的少量神经元相连;权值共享指同一层的神经元共享权重参数。通过这两种理念,可大幅减少可训练参数的数量,使深度卷积神经网络的训练难度远低于普通多层感知器网络。卷积层的计算公式为:

xjm=f(∑i∈Mjxim−1∗cijm+bjm)
x_j^m = f\\left(\\sum_{i \\in M_j} x_i^{m-1} * c_{ij}^m + b_j^m\\right)
xjm=fiMjxim1cijm+bjm
式中,xxx 为特征图,ccc 为卷积核,bbb 为偏置项,∗表示卷积运算,Mj{M_j}Mj 为卷积层中使用的特征通道集合,fff 为激活函数;mmmiiijjj 分别为卷积层、输入特征通道和输出特征通道的序号。

本文采用ReLU作为激活函数,该函数将负特征值直接置 0。使用ReLU的主要优势是其导数为 1 或 0,有助于缓解梯度消失和梯度爆炸问题,其表达式为:
x←max⁡(x,0)
x \\leftarrow \\max(x, 0)
xmax(x,0)
BN是一种嵌入深度神经网络的自适应归一化模块,可减少内部协变量偏移,从而加快网络训练速度,即通过批量归一化,不同批次特征的分布会更稳定且可调节。BN模块的计算公式为:
μ=1Nbatch∑n=1Nbatchxn
\\mu = \\frac{1}{N_{\\text{batch}}} \\sum_{n=1}^{N_{\\text{batch}}} x_n
μ=Nbatch1n=1Nbatchxn

σ2=1Nbatch∑n=1Nbatch(xn−μ)2
\\sigma^2 = \\frac{1}{N_{\\text{batch}}} \\sum_{n=1}^{N_{\\text{batch}}} (x_n – \\mu)^2
σ2=Nbatch1n=1Nbatch(xnμ)2

x^n=xn−μϵ+σ2
\\hat{x}_n = \\frac{x_n – \\mu}{\\sqrt{\\epsilon + \\sigma^2}}
x^n=ϵ+σ2xnμ

yn=β+γx^n
y_n = \\beta + \\gamma \\hat{x}_n
yn=β+γx^n
式中,NbatchN_{\\text{batch}}Nbatch​为一个批次中的样本数量,εεε 为接近 0 的正数,βββγγγ 为两个可训练参数,分别用于平移和缩放特征分布。

全局平均池化层对每个特征通道的特征值取平均,可大幅减少最后一个全连接层的神经元数量和权重参数,进一步降低过拟合的影响,降低网络优化难度。

在卷积神经网络的输出端,采用 Softmax 交叉熵损失函数作为待最小化的目标函数。Softmax 函数将特征值映射至 (0,1) 区间,其表达式为:
pi=eyi∑j=1Nclasseyj
p_i = \\frac{e^{y_i}}{\\sum_{j=1}^{N_{\\text{class}}} e^{y_j}}
pi=j=1Nclasseyjeyi
式中,yi{y_i}yi 为第i个输入特征,NclassN_{\\text{class}}Nclass 为已知类别(健康状态)的数量,pi{p_i}pi为样本属于第 iii 类的估计概率。交叉熵损失函数 LLL 用于衡量真实概率 tj{t_j}tj 与估计概率 pj{p_j}pj 之间的差异,计算公式为:
L=−∑j=1Nclasstjlog⁡(pj)
L = -\\sum_{j=1}^{N_{\\text{class}}} t_j \\log(p_j)
L=j=1Nclasstjlog(pj)
最后,应用梯度反向传播算法在多轮训练中优化卷积神经网络中随机初始化的权重和零初始化的偏置。优化后的卷积神经网络可应用于不平衡故障诊断任务。

3.不平衡故障诊断的实施步骤

所提出的不平衡故障诊断方法的整体流程如图 4 所示。首先,准备训练数据集,该数据集由充足数量的健康样本和极少数量的故障样本组成。其次,利用所开发的小波包畸变方法扩大故障样本的数量,使每个故障类别的样本数量与健康类别相同,以实现这些类别的平衡。第三,使用平衡后的训练数据集对卷积神经网络模型进行1轮训练。第四,如果训练准确率达到 100% 或者已经完成 200 轮训练,则终止训练;否则,再次对故障样本进行扩充,并继续将卷积神经网络模型训练 1 轮。这种安排的目的是为了防止过拟合问题。最后,将训练好的卷积神经网络模型应用于机械系统的故障诊断。

图4. 不平衡故障诊断方法的整体流程

三、实验验证

本文提出的机械系统不平衡故障诊断方法基于 TensorFlow 1.0 实现,实验在搭载英特尔 i7-10700K 处理器和英伟达 RTX3060 显卡的普通个人计算机上完成,以下将介绍实验数据、实验设置和实验结果。

1.实验数据

实验数据为民用航空液压泵地面模拟试验台采集的 6 种健康状态下的振动信号(包含 1 种正常状态和 5 种故障状态),具体信息见表 1。每个样本为一段包含 128 个数据点的振动信号,为模拟类别不平衡问题,正常类别设置 400 个训练样本,每个故障类别仅设置 5 个训练样本,不平衡比为 80:1;可获取数据集中的其余样本作为测试样本,其中正常类别有 80 个测试样本,每个故障类别有 475 个测试样本。

表1. 训练集与测试集的描述

2.超参数设置

实验超参数分为两类:小波相关超参数和卷积神经网络相关超参数。首先,小波相关超参数方面,分解层数设为 3,选用 DB4 小波函数,该函数在故障诊断任务中应用较为广泛;其次,卷积神经网络相关超参数方面,卷积层数量设为 2,两层卷积层的卷积核数量分别为 8 和 16,卷积核长度设为 3;学习率在第 1 轮训练时设为 0.1,后续每轮训练学习率乘以 0.96;动量系数设为 0.9;L2 正则化的权重衰减系数设为 0.0001。最后,当训练达到 200 轮或训练精度达到 100% 时,终止训练过程。

3.与传统方法的实验对比

将本文提出的方法与未对训练数据集做任何处理的卷积神经网络、下采样 + 卷积神经网络、过采样 + 卷积神经网络进行对比实验。其中,本文方法的畸变系数范围设为 [0.8,1.2);下采样指从正常类别中随机选取 5 个样本作为训练数据集的一部分;过采样指将所有故障样本简单复制若干次,实现类别间的样本均衡。为保证实验的可靠性,每组实验重复 10 次,每次实验随机选取样本作为训练集,其余样本作为测试集。

实验结果的 F1 值、精确率和召回率分别见图 5、图 6、图 7。可以看出,在 10 次实验中,本文提出的方法有 7 次取得了较好的性能;在第 2、5、8 次实验中,本文方法的性能略逊于过采样 + 卷积神经网络方法,主要原因是实验存在较强的随机性,每个故障类别仅有 5 个训练样本,若这 5 个样本无法充分表征整个类别的特征,各类方法均难以保证较好的性能。

图5. 十次试验中四种方法的F1分数对比
图6. 十次试验中四种方法的精确率对比
图7. 十次试验中四种方法的召回率对比

表 2 为图 5-7 中各评价指标的平均值统计结果,显然,本文提出方法的平均性能在四种方法中表现较好,与过采样 + 卷积神经网络方法相比,其 F1 值、精确率和召回率的平均值分别提升了 1.47%、1.12% 和 1.44%,这验证了小波包畸变方法不仅能提升训练数据集的多样性,还能提高航空液压泵不平衡故障诊断的精度。

表2. 图 5-7 中各评价指标的平均值统计结果
通过箱线图进一步对比各方法的性能稳定性,结果见图 8。可以看出,与其他方法相比,本文提出方法的实验结果大多分布在更小的范围内。方法性能不稳定主要有两个原因:过拟合和训练故障样本的特征代表性。一方面,提出的小波包畸变方法生成了多样化的训练样本,减少了过拟合问题,因此本文方法的性能比其他方法更稳定;另一方面,若随机选取的训练故障样本与测试故障样本差异较大,所有方法的性能均会出现波动,这也是本文方法在箱线图中出现异常值的主要原因。
图8. 图5、图6和图7所示结果的箱线图
图 9 为训练过程中训练损失和测试损失的变化趋势,可以看出,卷积神经网络和下采样 + 卷积神经网络两种方法在训练超过 30 轮后终止,而过采样 + 卷积神经网络和本文提出方法在训练 5 轮后终止。原因在于,卷积神经网络和下采样 + 卷积神经网络的训练样本数量分别为 400+5×5=425 个和 5×6=30 个,而过采样 + 卷积神经网络和本文方法的训练样本数量均为 400×6=2400 个。此外,一个值得注意的现象是,过采样 + 卷积神经网络和本文方法在第 1 轮训练后,训练损失便降至较低水平(约 0.1),原因是该训练数据集的拟合难度较低,卷积神经网络仅需 1 轮训练即可将损失降至该水平。最重要的是,本文方法的测试损失约为 0.05,明显低于其他三种方法,验证了该方法在测试数据集上具备较好的泛化能力。

同时,本文提出的方法耗时较短。一方面,小波包分解和重构的计算效率较高;另一方面,本实验所用的训练数据集规模较小。具体而言,本文方法每轮训练的耗时约为 8 秒(包含小波包畸变和深度模型优化的时间),因此图 9 (d) 中总训练耗时约为 8 秒 ×5 轮 = 40 秒。即使在部分情况下该方法需要增加训练轮数,总耗时也不会大幅增加。
图9. 训练过程中损失值的变化趋势
图 10 为训练过程中 F1 值的变化趋势,可以看出,本文提出方法的最终测试 F1 值高于其他三种方法,与该方法的最优性能相契合。此外,该方法在第 2 轮训练时的训练 F1 值和测试 F1 值均相对较低,这可能是由于部分增广后的故障样本与真实故障样本差异过大,对网络参数的优化产生了误导。
图10. 训练过程中 F1 值的变化趋势

通过 t 分布随机邻域嵌入将学习到的高维特征映射至二维空间,测试样本在学习特征空间中的分布见图 11。可以看出,在单纯的卷积神经网络中,F1 和 F2 类别存在高度的特征重叠,表明这两个类别难以区分;而下采样 + 卷积神经网络和过采样 + 卷积神经网络的误分类情况明显多于本文方法,验证了本文方法具备较强的判别特征学习能力。

图11. 测试样本在二维特征空间中的分布
为更直观地观察诊断性能,图 12 给出了四种方法的混淆矩阵。可以看出,四种方法对 F1 类别的诊断精度分别为 71%、86%、80% 和 94%;此外,本文方法对大多数健康状态的类别诊断精度均高于其他三种方法,因此在本实验中,该方法对多数健康状态的故障诊断性能更可靠。
图12. 四种方法在测试数据集上的混淆矩阵

4.不同畸变系数范围对性能的影响

畸变系数对增广样本的特征有直接影响,当畸变系数偏离 1.0 较远时,增广样本与原始样本的差异较大;当畸变系数接近 1.0 时,增广样本与原始样本的特征相近。若采用更大的畸变系数范围,增广数据集的多样性会更高,此时需要更复杂的卷积神经网络模型来拟合。

本节测试了 5 种不同的畸变系数范围,分别为 [0.5,1.5)、[0.6,1.4)、[0.7,1.3)、[0.8,1.2) 和 [0.9,1.1),实验结果分别见表 3、表 4、表 5。其中,“无畸变” 表示畸变系数恒为 1.0,即仅对故障样本进行简单复制,不做任何畸变处理。虽然 [0.5,1.5) 和 [0.7,1.3) 对应的平均性能较好,但这两种范围仅分别在 3 次和 1 次实验中取得最优性能;[0.6,1.4)、[0.8,1.2) 和 [0.9,1.1) 三种范围则分别在 1 次、4 次和 1 次实验中取得最优性能。因此,无法确定某一个畸变系数范围为最优范围,且畸变系数范围的选择需与卷积神经网络的模型规模相匹配。针对该问题,在实际应用中,可准备验证数据集,为测试数据集选择合适的畸变系数范围。

表3. 所开发方法在不同畸变系数范围下的F1分数(%)
表4. 所开发方法在使用不同范围的畸变系数时的精确率(%)
表5. 所开发方法在使用不同范围的畸变系数时的召回率(%)

四、结论

本文提出一种适用于机械系统的新型不平衡故障诊断方法,该方法通过小波包畸变实现故障样本增广,使正常类别与故障类别的样本数量达到均衡,并将卷积神经网络这一经典深度学习方法用于故障分类诊断。

实验结果表明,与单纯的卷积神经网络、下采样 + 卷积神经网络、过采样 + 卷积神经网络相比,本文方法的平均 F1 值分别提升了 8.10%、5.02% 和 1.47%。性能提升的主要原因是采用小波包畸变作为数据增广方法,实现了类别间的样本均衡。利用增广后的训练数据集训练卷积神经网络,可有效解决类别不平衡和过拟合问题,提升故障识别精度。

此外,本文探究了畸变系数随机选取范围对方法性能的影响,实验结果表明,结合小波包畸变的卷积神经网络性能大多优于未结合小波包畸变的卷积神经网络,验证了本文提出方法具备较好的稳定性。建议在实际应用中,准备验证数据集以确定合适的畸变系数范围。

最后,小波包畸变的思想可应用于风力发电机、燃气轮机、民航发动机等其他机械系统的不平衡(或少样本)故障诊断,也可与其他深度学习方法结合,实现其他类型时间序列信号的数据增广,在其他研究领域的模式识别任务中,也具备提升识别精度的潜在能力。需要说明的是,本文直接选用 DB4 小波函数,目前尚无充分的理论依据证明其最优性,即可能存在更适用于本研究任务的小波函数。后续研究将围绕如何通过充分的理论依据选择或设计合适的小波函数展开。

论文标题: Highly imbalanced fault diagnosis of mechanical systems based on wavelet packet distortion and convolutional neural networks
出版期刊: Advanced Engineering Informatics. 2022, 51: 101535.
DOI: 10.1016/j.aei.2022.101535
https://doi.org/10.1016/j.aei.2022.101535

赞(0)
未经允许不得转载:171主机测评 » 基于小波包畸变和卷积神经网络的机械系统高度不平衡故障诊断
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址