刘嘉濛,郑凡帆,梁丽冰,马 波,2*
(1.北京化工大学 发动机健康监控及网络化教育部重点实验室,北京 100029;2.北京化工大学 高端机械装备健康监控与自愈化北京市重点实验室,北京 100029)
机械设备振动信号因其信息丰富,能够很好地反映设备的运行状态,成为设备故障诊断中最常用的物理参数[1]。基于振动信号的故障诊断模式一般为:振动信号-特征提取-分类识别。
近年来,在以信号处理为基础的故障诊断研究中,传统的特征提取模式与机器学习分类模式相结合的方法取得了不错的成果,如利用K最近邻分类算法[2-3]、支持向量机方法[4-5]以及BP神经网络方法[6-7]等。但以上方法中,都是以传统信号处理方法提取到的故障特征作为模型输入,某些故障特征在诊断过程中与训练集差距较大,且无法满足训练数据与测试数据具有相同分布的前提需求,因而在应用方面具有局限性。
为克服上述影响,一些学者在研究中降低了故障特征与工况的关联性,从而能够提取更深层次的特征,取得了良好的效果。YANG等[8]提出了一种基于变量预测分类的故障模型,将局域均值分解和阶次跟踪分析相结合,用于变转速滚动轴承振动故障特征的提取;BORGHESANI等[9]采用倒谱分析法对信号进行了预白化处理,实现了变工况条件下的损伤识别;陈小旺等[10]提出了一种迭代广义同步压缩变换方法,提高了时变信号的可读性;孟玲霞等[11]则通过滤波与盲源分离对信号消噪,以此为基础选取了若干对工况变化不敏感的时域、频域特征作为风电机组预警指标。
以上方法虽然取得了不错的效果,但仍依赖于复杂的信号处理手段和专家经验,且难以保证故障特征对所有故障都具备敏感性,选取上存在较大困难。因此,也有一部分学者提出了采用深度学习方法,利用其强大的特征学习能力,实现了故障特征自适应提取。JIA等[12]采用了堆叠降噪自动编码器预训练深度神经网络(deep neural network, DNN),对齿轮传动系统进行了故障诊断;赵光权[13]使用深度置信网络(deep belief network, DBN)对轴承数据进行了故障识别;ZHANG[14]设计了一种“第一层宽卷积神经网络(deep convolutional neural networks with wide first-layer kernel,WDCNN)”,并在轴承数据集上取得了不错的效果。总体而言,基于深度学习的方法能够自适应地学习出表征设备运行状态的深层次特征,无需根据故障类型针对性地选取敏感特征,但由于其大多为直接输入时域或频域信号,导致学习出的故障特征仍会受到因训练样本的变化所带来的影响。
近年来,迁移学习受到机器学习领域的广泛关注,ARNOLD[15]以解决不同类型文章中的词汇分类问题为出发点,提出了迁移学习的概念,阐述了机器学习中测试数据与训练数据分布不一致的问题,并将其归结为跨域学习问题,对应的解决方案称为领域自适应(domain adaptation, DA)。在DA中,模型的训练数据属于源域,与训练数据分布不同的测试数据属于目标域,其目标之一是通过训练对领域差异不敏感的特征提取器,使不同域数据中提取的特征具有相似的分布。2016年,GANIN Y[16]借鉴了生成式对抗网络(generative adversarial networks, GAN)[17]中生成器和判别器对抗训练,并最终使生成的样本欺骗过判别器这一策略,提出了领域对抗网络(domain adversarial neural networks, DANN),对模型中的特征提取器和领域判别器实行了对抗训练,使领域判别器无法辨别特征的真实来源,达成了特征不受领域变化影响的目的。该方法已在计算机视觉、语音识别、文本处理与情感分析[18-20]中取得了较好的跨域学习效果。
针对传统信号处理方法和传统机器学习方法的局限性,本文将借鉴DANN在其他领域的成功应用,提出一种基于DANN的故障诊断方法。
DANN结构如图1所示。
图1 DANN结构示意
DANN结构由3部分组成,分别为:基于卷积神经网络(Convolutional Neural Networks,CNN)[21]的特征提取器Gf、故障分类器Gy和领域判别器Gd。
为实现不同领域特征之间的对抗训练,DANN在Gf后引入Gd,并在其间添加梯度反转层(gradient reversal layer, GRL)。
GRL的前向计算和反向传播过程可表示为:
(1)
式中:I—单位矩阵。
领域对抗原理如图2所示。
图2 领域对抗原理
训练过程中,特征提取器Gf通过最大化领域判别器的损失函数Ld来学习参数θf,领域判别器Gd通过最小化损失函数Ld来调整领域判别器的参数θd。DANN的优化目标还包括最小化故障分类器的分类误差Ly。
整体目标函数如下:
(2)
式中:yi—故障类别;di—领域类别;θf—Gf参数;θy—Gy参数;θd—Gd参数。
其中:n=nS+nT。
(3)
(4)
在实际工程环境中,设备所处工作环境复杂多变,导致待诊断的振动数据与用于训练模型的振动数据分布特性存在较大差异,即测试数据与训练数据属于不同领域。DANN学习具备领域不变性特征的能力,可降低其带来的影响,因此,笔者将其应用于设备变工况诊断任务中。
令(W,b)为矩阵向量对,通过下式对振动数据样本Ds∈Rm实现维度转换:
Gf(Ds;W,b)=sigm(W·Ds+b)
(5)
通过下式对Gy:RD→[0,1]L进行训练:
Gy(Gf(Ds);V,c)=softmax(VGf(Ds)+c)
(6)
其中:(V,c)∈RL×D×RL;softmax(a)=
此时对于Ds来说,损失函数为:
(7)
对整个神经网络进行训练便可得到如下式的源域上的最优解:
(8)
式中:λ—超参数加权值。
此时Ds和DT的H值差异为:
(9)
令S(Gf)={Gf(x)|x∈S},且T(Gf)={Gf(x)|x∈T},则可得到领域差异:
(10)
经过以上步骤,即可实现基于DANN的故障诊断过程。
实验数据来自美国凯斯西储大学轴承数据中心,振动信号由轴承测试系统测得。
笔者所使用的滚动轴承测试系统如图3所示。
图3 滚动轴承测试系统
测试系统由电机(左),测功器(右)以及控制电路组成,轴承型号为SKF6205。轴承均为单一损伤,由电火花机分别在轴承内圈、滚珠和外圈加工制成,损伤直径分别为0.177 8 mm, 0.355 6 mm 和 0.533 4 mm,共计9种故障状态。本研究将16通道的加速度传感器垂直固定在电机输出轴支撑轴承上方的壳上进行数据采集,采样频率为12 kHz。
试验准备了3种不同转速及负载工况下的数据集,实验数据详情如表1所示。
表1 实验数据集详情
表1为数据集A、数据集B、数据集C具体损伤直径和训练测试数。
3组数据集在实验工况详情如表2所示。
表2 实验工况详情
为了更准确地验证算法的全面性,本次实验共进行6组。第1组和第2组实验将数据集A作为源域训练集,分别将数据集B和数据集C作为目标域测试集,分别用A→B和A→C表示;第3组和第4组实验将数据集B作为源域训练集,数据集A和数据集C作为目标域测试集,分别用B→A、B→C表示;第5组和第6组实验将数据集C作为源域训练集,数据集A和数据集B作为目标域测试集,分别用C→A和C→B表示。
实验模型采用动量梯度下降算法进行训练,源域数据的训练批次大小为192,在领域对抗阶段,目标领域数据的批次大小也取192;学习速率lr取0.001。
权衡参数λ在模型训练过程中进行自适应调整,如下式所示:
(11)
式中:step—当前迭代次数;steps—总迭代次数。
实验设置steps为10 000,当模型的损失没有明显变化时就停止训练。
模型的结构参数如表3所示。
表3 模型参数设置
表3中,特征提取器的卷积神经网络结构借鉴了文献[22]中的“第一层宽卷积核”的设计方法;故障分类器和领域判别器[23]的全连接层均使用Dropout[24]以及L2正则化[25]进行训练防止过拟合;故障分类器Softmax层输出的结果为10种故障类别,领域判别器的Softmax层输出的结果为训练数据和测试数据对应的2种工况类别。
基于DANN的轴承故障诊断结果如表4所示。
表4 提出方法诊断结果
从表4可以看出:模型在源域和目标域上都具有很高的诊断准确率,表明提出方法受源域训练集和目标域测试集差异变化影响的程度较小。
为了验证提出方法的诊断准确度,本文在相同实验数据的条件下进行了两种类型的对比,以验证DANN在轴承故障诊断上具有较高的准确性。
3.4.1 与其他深度学习方法对比
将本文提出方法与WDCNN方法、DNN方法和MLP方法[26]进行实验对比验证。
这些方法在单一工况下均取得了较好的诊断结果。
该实验测试得出的变工况诊断准确率与其他深度学习方法对比如表5所示。
表5 与其他深度学习方法对比
由表5可以看出:使用DNN与MLP在目标域的诊断准确率较不理想,二者学习出的特征受数据集差异变化影响仍比较大;WDCNN的诊断准确率较前二者有了一定提升,但在实验A→C和C→A中,准确率仍没有DANN结果高。
为更清晰地展现提出方法的特征适应训练集与测试集变化的能力,本文使用t-SNE[27]方法对3组故障分类器的输出层特征(源域和目标域每种类别特征各取100组,共2 000组)进行可视化。
实验A→B、B→A及C→B的故障分类器输出层特征可视化如图4所示。
图4 故障分类器输出层特征可视化
由图4可知:未经领域对抗训练的特征聚集性较差,不同故障的特征之间有较多重叠;而通过DANN法学习出的特征聚集较集中,同一种故障状态的特征仅有极少数离群点,且不同类别的故障特征之间几乎没有交叉重叠现象。
该结果表明,所提出的方法经过领域对抗训练之后,学习出的特征对领域变化较不敏感,且具备很强的故障识别能力。
3.4.2 与“传统信号处理+机器学习”方法对比
为与传统的“传统信号处理+机器学习”方法诊断结果进行比较,本文采用对工况变化不敏感的经验特征组作为评价指标(包括峰值、偏度、歪度、峭度等时域和频域特征),结合KNN算法进行诊断实验,并进行对比。
DANN方法与“经验特征+机器学习”方法对比结果如表6所示。
表6 与“经验特征+机器学习”方法对比结果明细
对比方法在6个实验中取得了平均85.52%的准确率,表明该方法所选取的特征在诊断过程中有较高的稳定性。
但该方法在特定故障诊断的过程中,每组实验都会出现几组诊断准确率非常低的情况。反之,本文所提出方法不仅具备较高的平均诊断准确率,且对所有类型故障都能保持高诊断准确率。
传统信号处理方法无法保证对于所有故障特征信号都具备足够的识别能力,而提出方法由于使用领域对抗结合分类优化训练策略,能够在保证故障特征对工况不敏感的情况下最大程度地提升故障识别能力,具备更强的通用性。
针对现阶段设备故障诊断的准确率受工作条件等变化影响,导致待诊断数据与训练数据分布特性存在较大差异的问题,本文提出了一种基于领域对抗网络的设备故障诊断方法,采用领域对抗和分类优化相结合的训练策略,在保证故障特征对工况变化不敏感的前提下,提升故障识别能力。
通过轴承多种故障诊断实验结果及对比,表明提出方法具备两点优势:
(1)相较于其他深度学习方法,提出方法由于对故障特征进行了领域对抗训练,能够适应工况变化,具备更高的诊断准确率;
(2)相较于“传统信号处理+机器学习”方法,提出方法提取的故障特征能够保证对所有故障都具备足够的敏感性,通用性更强;且提出方法不依赖于复杂的信号处理技术与专家经验,降低了应用难度。