数据增强在机械故障诊断中的应用

引言

旋转机械广泛应用于航空、汽车、能源等领域。在高温、高速、高负载等复杂工况下长期运行,机械部件易出现磨损和老化,进而导致故障。故障发生时,通常会导致生产停机、成本增加甚至安全事故。因此,旋转机械故障诊断具有重要意义,能够提高设备可靠性、减少维修成本,并优化维护策略,从而提升经济效益和社会效益。

随着人工智能和大数据技术的发展,基于数据驱动的故障诊断方法已成为旋转机械故障诊断的主流。然而,实际应用中,故障数据十分稀缺,尤其是在设备故障时立即停机,导致采集到的数据量不足。而实验室数据往往不具备复杂工业环境中的真实特征,这使得小样本故障诊断面临挑战。在面对数据稀缺和样本不平衡的挑战时,数据增强技术成为解决小样本故障诊断问题的重要手段。数据增强是一种通过对现有数据集进行变换来生成新的训练样本的方法。具体而言,数据增强通过引入数据变换(如噪声添加、时间偏移、幅值平移等),模拟多样化的故障情境,从而增强模型对各种潜在故障模式的学习能力。

本文将介绍几种常用的音频数据增强方法,这些方法在机械故障声纹识别中得到了广泛应用,并对模型性能的提升起到了关键作用。

一、时域与位置关系变换的数据增强方法

1、时域数据增强

时域数据增强方法直接对原始信号的时间特征进行变换,旨在通过改变信号的时间特性来增加训练样本的多样性。常见的时域数据增强方法包括噪声添加、信号平移和幅度平移。

(1)噪音添加

噪声添加是通过在原始信号中加入随机噪声来模拟传感器噪声或环境噪声的干扰。常见的噪声类型有高斯噪声和椒盐噪声。假设,输入信号为为 x=[x1,x2,…,xn] ,加入高斯噪音可表示为:

使用MathJax渲染数学公式 \[ \tilde{\mathbf{x}} = \mathbf{x} + \alpha_{gaus} \mathbf{G}, \quad \mathbf{G} \sim N(0, 1) \]

其中,α_gaus>0 为高斯噪声系数。

(2)幅度平移

在振动数据处理任务中,适当的幅度放大或衰减并不会改变设备的健康状态或故障类型标签,因此可以通过这种方法生成更多的训练样本,增强模型的泛化能力。假设我们有一个时间序列数据 x(t),经过幅度平移后,信号变为:

使用MathJax渲染数学公式 \[ x'(t) = \alpha_{\text{scal}} \cdot x(t) \]

其中,α_scal 是一个缩放因子

(3)信号平移

信号平移是指沿时间轴平移原始信号,以创建新的训练样本。假设原始信号为x(t),经过平移后的信号为 x_tran(t) ,其变换公式为:

使用MathJax渲染数学公式 \[ x_{\text{tran}}(t) = \begin{cases} x(t + \alpha_{\text{tran}}), & \text{if } t + \alpha_{\text{tran}} \in [0, T] \\ 0, & \text{otherwise} \end{cases} \]

其中,T 为信号总长度,α_tran 表示平移因子;

2、基于相对位置矩阵的数据增强

相对位置矩阵(RPM)是一种将时间序列数据转换为二维图像的方法,通过计算时间序列中每两个时间戳之间的相对位置关系来构建矩阵。该方法能够捕捉时间序列数据中的冗余特征,使得类间和类内的相似度信息更容易被识别。对于一个时间序列X=(xt, t=1,2,⋯,N),可以通过以下步骤得到 RPM 图:

1)归一化:对原始时间序列数据进行归一化,得到标准正态分布:

使用MathJax渲染数学公式 \[ z_i = \frac{t_i – \mu}{\sigma}, i = 1, 2, \ldots, n \]

其中,μ 表示 X 的平均值,σ 表示 X 的标准差。

2)降维:采用分段聚合近似 (PAA) 方法将归一化后的序列从 n 维降至 m 维,计算公式如下:

使用MathJax渲染数学公式 \[ x_i = \begin{cases} \frac{1}{k} \sum_{j = k*(i – 1)+1}^{k*i} z_j, & i = 1, 2, \ldots, m, \left\lceil \frac{n}{k} \right\rceil – \left\lfloor \frac{n}{k} \right\rfloor = 0 \\ \frac{1}{k} \sum_{j = k*(i – 1)+1}^{k*i} z_j, & i = 1, 2, \ldots, m – 1, \left\lceil \frac{n}{k} \right\rceil – \left\lfloor \frac{n}{k} \right\rfloor > 0 \\ \frac{1}{n – k*(m – 1)} \sum_{j = k*(m – 1)+1}^{n} z_j, & i = m, \left\lceil \frac{n}{k} \right\rceil – \left\lfloor \frac{n}{k} \right\rfloor > 0 \end{cases} \]

其中,k 为缩减因子。

3)构建RPM矩阵:通过计算两个时间戳之间的相对位置,将预处理后的时间序列 X 转换为 m×m 的相对位置矩阵 M。矩阵中每一行和每一列都代表了一个时间戳的相对位置,计算公式如下:

使用MathJax渲染数学公式 \[ M = \begin{bmatrix} x_1 – x_1 & x_2 – x_1 & \cdots & x_m – x_1 \\ x_1 – x_2 & x_2 – x_2 & \cdots & x_m – x_2 \\ \vdots & \ddots & \ddots & \vdots \\ x_1 – x_m & x_2 – x_m & \cdots & x_m – x_m \end{bmatrix} \]

4)归一化矩阵: 通过归一化方法将矩阵 M 转换为灰度值矩阵。

二、基于生成模型的数据增强方法

与传统的数据增强方法相比,基于生成对抗网络(GAN)的方法通过对抗训练生成高质量的合成数据。GAN 最早由 Goodfellow 等人在 2014 年提出,其核心思想是通过两个神经网络的对抗博弈生成与真实数据高度相似的新样本,从而增强训练数据的多样性。

1)经典GAN网络结构

GAN 由两个独立的神经网络组成:生成器(Generator)和判别器(Discriminator)。生成器通过捕捉真实数据的分布生成新样本,而判别器的任务是判断输入样本是真实的还是生成的。

GAN 的目 标 函 数 如 式:

使用MathJax渲染数学公式 \[ \min_G \max_D V(G, D) = E_{z \sim P_z(z)}[\log(1 – D(G(z)))] + E_{x \sim P_r(x)}[\log(D(x))] \]

其中,x 表示真实样本,Pr(x)Pz(z) 分别表示真实样本分布和高斯分布, z 表示输入的噪声,D(x)D(G(z)) 分别表示判别器判断真实样本 x 和生成样本 G(z) 为真实样本的概率。

2)辅助分类生成式对抗网络(ACGAN)

在经典 GAN 的基础上,ACGAN 网络将类别标签作为输入并指导样本生成,进一步提高生成样本质量。ACGAN 的创新之处在于其判别器不仅执行真假判别任务,还会对生成样本进行类别预测。

ACGAN 的损失函数也分为了判别损失和分类损失两个部分,公式如下:

使用MathJax渲染数学公式 \[ L_s = E \left[ \log P(S = real | X_{real}) \right] + E \left[ \log P(S = fake | X_{fake}) \right] \]

\[ L_c = E \left[ \log P(C = c | X_{real}) \right] + E \left[ \log P(C = c | X_{fake}) \right] \]

总结:

总体来说,数据增强技术通过生成多样化的训练样本,来缓解样本不平衡问题,帮助模型更公平地对待不同类型的故障,从而为旋转机械的故障诊断提供更加可靠的模型。