融合小波包畸变与卷积神经网络的机械系统极不平衡故障识别研究
声明:此文是对2022年发表于期刊《Advanced Engineering Informatics》上的论文:Highly imbalanced fault diagnosis of mechanical systems based on wavelet packet distortion and convolutional neural networks的详细解读。
摘要
机械系统的健康稳健运行对保障人员安全与提升经济效益具有重要意义,因而对自动化故障诊断技术的需求日益迫切。然而,实际工况中获取的故障样本规模往往远小于健康样本,导致传统数据驱动方法可能出现误诊。本文提出一种基于小波包畸变(Wavelet Packet Distortion)与卷积神经网络(CNN)的新型故障识别框架。该方案首先利用小波包畸变技术对分解系数进行扰动处理,借此扩充故障类样本容量,重塑类间平衡;随后,利用均衡化的数据集驱动卷积神经网络模型进行特征学习与训练;最后,将训练完成的模型应用于待测样本的类别判定。通过多项对比实验验证,该方法在处理机械系统极端不平衡故障诊断问题上展现了较好的有效性。
1 引言
工业领域中存在大量核心机械系统,民航液压泵便是典型代表,其主要作用是为民航飞机的起飞、巡航、降落等操控环节提供高压液压油。这类设备同时包含旋转和往复运动部件,且长期在恶劣工况下运行,可能突发各类故障,因此精准检测其早期故障,对保障飞机飞行安全意义重大。
现有机械故障诊断技术主要可分为三类:基于物理建模的方法、基于信号分析的方法和基于数据驱动的方法。其中,基于物理建模的方法是依据物理规律构建设备的故障或性能退化模型,并通过模型推演设备的运行行为。但目前这类方法大多仅适用于轴承、齿轮等结构简单的零部件,大型机械设备的结构和动力学行为远比这些零部件复杂,在实际工况下为大型设备构建高精度物理模型,存在极大的技术挑战。
基于信号分析的故障诊断方法,核心是从设备监测信号中提取故障特征以实现故障识别。但设备监测数据通常掺杂大量噪声,且噪声特性与故障特征均会随设备运行工况变化,这导致传统信号分析方法往往难以有效提取故障特征。
与之不同,数据驱动方法是利用历史监测数据训练自动化分类模型,并将模型应用于故障诊断。采用该方法时,研究人员无需深入探究故障发生或性能退化的物理机理。近年来,各类数据驱动的故障诊断方法被相继提出。例这些研究成果有力推动了故障诊断技术的发展,为后续相关研究提供了重要的参考思路。但传统数据驱动方法存在一个固有问题:其诊断性能高度依赖人工构造特征的质量,若所构建的特征无法全面、准确地表征设备的健康状态,这类方法便无法实现有效的故障检测。因此,构建包含充足故障信息的特征集,是保障数据驱动故障诊断方法性能的核心环节。
特征学习作为特征提取的替代方案,为构建有效特征集开辟了新路径。其核心思想是让算法从原始监测信号中自主学习有效特征,而非由工程师人工设计和配置特征。已有相关文献验证了特征学习在提升故障诊断精度方面的优势。总体而言,特征学习主要通过深度学习方法实现,即利用包含多层非线性变换的机器学习方法完成特征的自主提取。
然而,传统深度学习方法对训练样本的分布存在严格要求,需要不同类别的训练样本数量相近。若主导类别(正常样本)的样本量远多于其他类别(故障样本),深度学习模型会倾向于将大部分测试样本判定为主导类别,这一问题被称为类别不平衡问题。针对该问题,已有学者开展相关研究。但对于训练样本极度稀缺的少数类(如仅 4~5 个训练样本),现有方法难以保证稳定的诊断性能。一方面,部分重平衡方法的训练流程复杂,模型难以训练收敛;另一方面,简单的随机采样方法无法为训练集引入足够的样本多样性,易导致模型过拟合。
针对机械系统故障诊断中的类别不平衡问题,本文提出一种基于小波包畸变与卷积神经网络的新型诊断方法,其中核心环节是通过小波包畸变实现故障样本的高效扩充。具体流程为:首先利用小波包变换将振动信号分解为若干组小波系数;其次随机选取一个小波包节点对应的小波系数,对其进行随机畸变处理;最后将畸变后的小波系数与其余未畸变的系数整合,重构得到新的样本。该扩充过程可重复进行,生成大量样本以构建训练集,最终利用样本均衡的训练集训练卷积神经网络,提升模型对少数类故障的诊断精度。
2 所提出的机械系统不平衡故障诊断方法
本文在小波包变换的基础上,提出小波包畸变方法,用于增加故障训练样本的数量。通过该方法得到的扩充样本与原始样本特征相似但数值存在差异,既能实现各类别样本数量的均衡,又能提升训练集的样本多样性,为后续模型训练奠定良好的数据基础。
2.1 小波包畸变
本文提出的小波包畸变方法主要由三个核心步骤构成:小波包变换、随机选取小波系数进行畸变、小波包逆变换,其整体流程如 <图 1> 所示。
图 1. 小波包畸变过程
小波包变换是一种经典的时频分析方法,可将原始信号分解为不同频段的小波系数,目前已被广泛应用于基于振动信号的机械系统故障诊断;而小波包逆变换则可利用分解得到的小波系数恢复原始信号,若不对小波系数进行任何处理,重构后的信号与原始样本完全一致。本研究通过对随机选取的小波系数进行畸变处理,使重构信号与原始样本保持特征相似但存在一定数值差异,重构后的信号可作为扩充样本,尤其适用于少数类故障样本的数量扩充。设\((h,g)\)为一组长度为 \(L\) 的有限长冲激响应滤波器,\(w_{j,i}\) 表示第j层分解中第 \(i\) 组小波系数,其中\(w_{0,0}\) 为原始振动信号。根据 Mallat 递归算法,小波包变换可通过以下公式递归实现:
其中,\(i\)=0,⋯,(2\(j\)−1),\(k\) 和 \(l\) 为系数的序列索引。本文采用二层小波包分解,分解后可得到 4 组小波系数,如 <图 1> 所示。完成小波包变换后,随机选取一组小波系数,通过以下公式对其进行非线性畸变处理:
其中,\(d\) 为畸变系数,从预设的数值范围内随机选取。畸变处理是实现样本有效扩充的关键,直接决定扩充样本与原始样本的差异程度:当 \(d\) 趋近于 1 时,畸变后的小波系数 \(\widetilde{w}\) 与原始系数 \({w}\) 高度接近;当 \(d\) 偏离 1 时,二者的数值差异显著。因此,建议将 1 纳入畸变系数的预设范围。考虑到机械系统的故障特征主要与信号的频率成分相关,该畸变处理的优势在于,能在扩充样本中基本保留原始样本的频率特征,确保扩充样本的故障类型与原始样本一致。畸变处理对信号的影响效果如 <图 2> 所示。
图 2. 一个正弦信号及其两个畸变信号
对目标小波系数完成畸变后,通过小波包逆变换重构得到新的信号 $v$,变换公式为: $$v_{j,i}[k] = \sum_{l=0}^{L-1} \widetilde{w}_{j+1,2i}[(k-l)/2]\widetilde{h}[l] + \sum_{l=0}^{L-1} \widetilde{w}_{j+1,2i+1}[(k-l)/2]\widetilde{g}[l]$$ 其中,$\widetilde{w}$ 为 ${w}$ 的二倍上采样版本,$v$ 为重构后的小波系数或最终的振动信号,$(\widetilde{h},\widetilde{g})$ 为小波包逆变换中使用的重构滤波器组。此外,考虑到振动信号的标准差与设备故障状态关系密切,本文在样本扩充过程中,使扩充样本的标准差与对应的原始样本保持一致。2.2 基于卷积神经网络的故障特征学习
卷积神经网络是近年来在基于振动信号的机械故障诊断任务中应用最广泛的深度学习模型。该模型的核心优势在于,能够直接从原始的设备监测信号中自主学习具有强判别性的故障特征,无需人工进行特征设计与筛选,因此无需研究人员掌握精深的信号处理专业知识和设备故障的物理机理。
典型的卷积神经网络结构见 <图 3>,该网络主要由卷积层、批量归一化层、整流线性激活单元、全局平均池化层、全连接层、Softmax 分类层和交叉熵损失函数构成,各组成部分的工作原理及数学计算公式如下。
图 3. 卷积神经网络架构
卷积层的设计融合了局部感受野和权值共享两大核心理念:局部感受野是指网络中的每个神经元仅与前一层的局部神经元建立连接;权值共享是指同一卷积层内的所有神经元共用一组卷积核权重。通过这两种设计,能够大幅减少网络的可训练参数总量,让深层卷积神经网络相比同等深度的多层感知器,更易实现训练收敛。卷积层的输出计算式为: $$x_{j}^{m}=f\left(\sum_{i \in M_{j}} x_{i}^{m-1} * c_{i j}^{m}+b_{j}^{m}\right)$$ 式中,$x$ 为卷积层输出的特征图,$c$ 为卷积核参数,$b$ 为偏置项,∗ 代表卷积运算,$M_{j}$ 为当前卷积层所采用的输入特征通道集合,$f$ 为激活函数;$m$ 、$i$ 、$j$ 分别为卷积层的层数、输入特征通道的序号、输出特征通道的序号。本文选用整流线性单元(ReLU)作为网络的激活函数,该函数会将所有负的特征值直接置 0,其数学表达式为:
整流线性单元的主要优点是其导数结果仅为 1 或 0,能够有效缓解深度学习模型训练过程中易出现的梯度消失和梯度爆炸问题,提升模型的训练收敛速度。
BN 是一种插入在深度神经网络内部的特殊自适应归一化模块,旨在减少“内部协变量偏移”,从而加速训练过程。换句话说,通过使用 BN,不同批次中特征的分布将变得更加稳定且可调。BN 模块的公式表示为:
式中,\({N_{\text{batch}}}\) 为一个训练批次中包含的样本数量,\(ε\) 为一个趋近于 0 的正数,用于避免计算过程中出现分母为 0 的情况;\(β\) 和 \(γ\) 为两个可训练的参数,分别用于对归一化后的特征进行平移和缩放,使网络能够自主学习到最优的特征分布规律。
全局平均池化层的功能是对每个特征通道的所有元素求取平均值,通过该操作能够大幅减少后续全连接层的神经元数量和权重参数,进而有效降低模型过拟合的风险,同时减小模型参数优化的难度。
在卷积神经网络的输出端,采用 Softmax 交叉熵损失作为模型训练的目标函数,通过最小化该损失函数实现网络所有参数的优化。其中,Softmax 函数会将网络的输出特征映射到 (0,1) 的区间内,输出结果为样本属于各个类别的概率值,其计算公式为:
式中,\(y_{i}\) 为 Softmax 层的第i个输入特征,\({N_{\text{class}}}\) 为故障诊断任务中包含的类别总数,即设备的健康状态种类数,\(p_{i}\) 为模型预测该样本属于第 \(i\) 类的概率。
交叉熵损失函数 \(L\) 用于量化模型的预测概率与样本真实标签概率之间的差异,其计算公式为:
式中,\(t_{j}\) 为样本属于第 \(j\) 类的真实概率,\(p_{j}\) 为模型预测该样本属于第 \(j\) 类的概率。
最后,采用梯度反向传播算法,通过多轮的训练迭代,对卷积神经网络中随机初始化的权重参数和零初始化的偏置项进行优化调整。经过充分训练优化后的卷积神经网络,可直接应用于机械系统的不平衡故障诊断实际任务中。
2.3 不平衡故障诊断的完整实施流程
本文提出的机械系统不平衡故障诊断方法,其完整的实施流程见 <图 4>,具体实施步骤可分为以下五步:
1、搭建初始训练数据集:收集设备运行过程中的监测信号,构建包含足量正常样本、但故障样本数量极少的初始训练数据集;
2、故障样本扩充与数据集均衡:采用本文设计的小波包畸变方法对故障样本进行扩充,使每个故障类别的样本数量与正常类别的样本数量完全一致,实现训练数据集的类别均衡;
3、模型单轮训练:利用均衡后的训练数据集,对卷积神经网络进行 1 轮的训练;
4、训练终止条件判定:检查模型训练是否满足终止条件,若训练精度达到 100% 或训练轮次达到 200 轮,则终止模型训练;若未满足终止条件,则再次对故障样本进行小波包畸变扩充,并继续对卷积神经网络进行 1 轮训练;该步骤的设计初衷是有效避免模型出现过拟合问题;
5、模型实际应用:将训练完成且性能达标的卷积神经网络模型,应用于机械系统的实际故障诊断工作,实现对设备健康状态的精准识别。
图 4. 不平衡故障诊断的实施流程
3 实验验证
本文所提出的机械系统不平衡故障诊断方法,基于 TensorFlow 1.0 深度学习框架实现,所有实验均在搭载 Intel i7-10700K 中央处理器和 NVIDIA RTX3060 图形处理器的普通个人计算机上完成。本节将详细介绍实验所用的数据集、实验的参数设置,以及对实验结果的全面分析与验证。
3.1 实验数据
本实验所用的实验数据,均来自民航液压泵地面模拟试验台采集的振动信号,共包含 6 种设备健康状态,其中 1 种为正常运行状态,5 种为不同类型的故障状态,各状态的详细信息见 <表 1>。每个样本为一段振动信号,为模拟工程实际中常见的类别不平衡场景,本实验设置正常类别的训练样本为 400 个,每个故障类别的训练样本仅为 5 个,样本的不平衡比例达到 80:1;将可获取数据集中除训练样本外的其余样本作为测试数据集,其中正常类别测试样本 80 个,每个故障类别测试样本 475 个。
表 1. 训练集与测试集
3.2 实验超参数设置
本实验涉及的超参数主要分为小波相关超参数和卷积神经网络相关超参数两大类,各类超参数的具体设置如下:
1、小波相关超参数:将小波包的分解层数设置为 3 层,选用 DB4 小波函数作为基小波,该小波函数在机械故障诊断领域应用成熟,具备良好的时频分析能力;
2、卷积神经网络相关超参数:网络共设置 2 层卷积层,其中第一层卷积层的卷积核数量为 8,第二层卷积层的卷积核数量为 16,两层卷积层的卷积核长度均设置为 3;
3、学习率采用动态衰减的策略,初始学习率设置为 0.1,后续每完成 1 轮训练,学习率便乘以 0.96;动量系数设置为 0.9;L2 正则化的权重衰减系数设置为 0.0001。
4、本实验设定的模型训练终止条件为:当训练轮次达到 200 轮,或模型的训练精度达到 100% 时,立即终止训练,二者满足其一即可。
3.3 与传统方法的对比实验
为充分验证本文所提方法的有效性和优越性,将其与三种传统的故障诊断方法进行对比实验,分别为:未对训练数据集做任何处理的卷积神经网络、下采样结合卷积神经网络、过采样结合卷积神经网络。其中,本文所提方法的畸变系数区间设置为 [0.8,1.2);下采样方法是从正常类别样本中随机选取 5 个样本,与原有故障样本共同构建训练数据集;过采样方法是将所有故障样本进行简单的多次复制,使各类别样本的数量达到均衡。为保证实验结果的可靠性和客观性,每种方法均重复进行 10 次实验,每次实验均随机划分训练数据集和测试数据集。
各方法实验结果的 F1 值、精确率、召回率分别见 <图 5>、< 图 6>、< 图 7>。从实验结果可以看出,本文所提方法在 10 次重复实验中,有 7 次取得了最优的故障诊断性能;在第 2、5、8 次实验中,所提方法的性能略低于过采样结合卷积神经网络的方法,究其原因,主要是实验存在较强的随机性 —— 每个故障类别仅有 5 个原始训练样本,若这 5 个样本无法全面、准确地表征该类故障的整体特征,任何诊断方法都难以保证稳定的诊断性能。
图 5. F1 值对比
图 6. 精确率对比
图 7. 召回率对比
将 <图 5> 至 < 图 7 > 中的各项评价指标分别求取平均值,结果汇总见 < 表 2>。从平均结果可以清晰看出,本文所提方法的平均诊断性能在四种对比方法中表现最优,其平均 F1 值、平均精确率、平均召回率相比过采样结合卷积神经网络的方法,分别提升了 1.47%、1.12% 和 1.44%。这一实验结果充分验证了小波包畸变方法的有效性,其不仅能够有效提升训练数据集的样本多样性,还能提高民航液压泵不平衡故障诊断的精度。
表 2. 图5-7各指标结果汇总
<图 8> 通过箱线图进一步对比了这些方法的稳定性。可以看出,与其它方法相比,本文所提方法的大部分结果都分布在较小的区间内。方法性能不稳定主要有两个原因,即:(1) 过拟合;(2) 训练故障样本的特征代表能力。一方面,本文提出的小波包畸变技术生成了多样化的训练样本并减轻了过拟合,因此该方法比其它方法更具稳定性。另一方面,有时随机选择的训练故障样本恰好与测试故障样本差异巨大,导致所有方法在这种情况下都无法保持稳定;这也是本文方法在 <图 8> 中出现离群点的主要原因。
图 8. 图5-7汇总箱线图
各方法在训练过程中,训练损失和测试损失的变化趋势见 <图 9>。可以观察到,未做任何处理的卷积神经网络和下采样结合卷积神经网络的训练过程,在 30 余轮后才达到终止条件;而过采样结合卷积神经网络和本文所提方法的训练过程,在第 5 轮便满足终止条件并停止训练。究其原因,未做任何处理的卷积神经网络和下采样结合卷积神经网络的训练样本数量分别为 400+5×5=425 个和 5×6=30 个,而过采样结合卷积神经网络和本文所提方法的训练样本数量均为 400×6=2400 个,充足的训练样本让模型能够快速收敛。此外,一个值得关注的现象是,过采样结合卷积神经网络和本文所提方法在完成第 1 轮训练后,训练损失便降至 0.1 左右的较低水平,这是因为本实验的训练数据集特征特征明显,卷积神经网络能够快速实现拟合。最重要的是,本文所提方法的测试损失约为 0.05,低于其他三种对比方法,这充分验证了所提方法在测试数据集上具有良好的泛化能力,更适合应用于实际工程中的故障诊断任务。
图 9. 训练过程中的损失值变化
同时,本文所提方法的训练耗时较短,具备良好的工程实用性:一方面,小波包变换与逆变换的计算效率较高,样本扩充过程的耗时极少;另一方面,本文所用的训练数据集规模适中,不会造成大量的计算消耗。具体而言,所提方法每轮训练的耗时约为 8 秒,该时间包含小波包畸变的样本扩充时间和深度学习模型的参数优化时间,因此 <图 9 (d)> 中所提方法的训练总耗时约为 8 秒 × 5 轮 = 40 秒。即使在部分实际应用场景中,所提方法需要适当增加训练轮次,其整体训练耗时也不会出现显著增加。
各方法在训练过程中,F1 值的变化趋势见 <图 10>。本文所提方法的最终测试 F1 值高于其他三种对比方法,这与前文的性能对比结论保持一致。此外,所提方法在第 2 轮训练时,训练 F1 值和测试 F1 值均出现小幅下降,这一现象的原因可能是,部分经小波包畸变生成的扩充故障样本,与原始故障样本的特征差异过大,对模型的参数优化产生了短暂的误导作用。
图 10. 训练过程中的 F1 值变化
为直观展示各模型的故障特征学习能力,利用 t 分布随机邻域嵌入算法,将各模型学习到的高维故障特征映射至二维特征空间,测试样本在二维特征空间中的分布情况见 < 图 11>。可以观察到,在未做任何处理的卷积神经网络中,F1 和 F2 故障类别的样本在特征空间中出现高度重叠,表明该模型无法有效区分这两类故障;而下采样结合卷积神经网络和过采样结合卷积神经网络的样本错分现象,多于本文所提方法。这一实验结果充分验证了所提方法具备判别性故障特征学习能力,能够有效区分不同类型的机械故障。
图 11. 测试样本在二维特征空间中的分布情况
本文给出了四种方法的混淆矩阵,以便更直观、细致地分析各方法的故障诊断性能,结果见 <图 12>。可以看出,四种方法对 F1 故障类别的诊断精度分别为 71%、86%、80% 和 94%;此外,本文所提方法对绝大多数设备健康状态的类别诊断精度,高于其他三种对比方法。这表明在本实验中,所提方法对多数设备健康状态的诊断性能更可靠,更适用于民航液压泵的实际故障诊断工作。
图 12. 测试集上的混淆矩阵
3.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. 不同畸变系数范围下的召回率(%)
4 结论
本文针对机械系统故障诊断中普遍存在的类别不平衡问题,提出了一种基于小波包畸变与卷积神经网络的新型故障诊断方法。该方法利用小波包畸变技术对故障样本进行数据增强,旨在实现健康类与故障类样本之间的平衡,并应用典型的卷积神经网络实现故障诊断。
本文所提方法的平均 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
浙公网安备 33010602011771号