基于对抗自编码模型的高速泵异常检测
2022-09-17王树宇袁嫣红张建义
王树宇,袁嫣红,张建义
(浙江理工大学机械与自动控制学院,浙江杭州 310018)
0 前言
旋转机械是一种主要依靠旋转动作来实现特定功能的机械设备。典型的旋转机械包括汽轮机、燃气轮机、离心压缩机和高速离心泵等。这些机器广泛应用于电力、石化、冶金、航天等行业。石油化工等流程工业的生产过程都是连续化大生产,大功率高速流程离心泵作为流体输送的关键动力设备,除了具备优越的动力性能指标,更重要的是在运行过程中必须具有很好的可靠性。由于大功率设备智能化水平普遍不高,在实际运行过程中经常出现故障,严重影响连续化大生产,造成巨大的经济损失。因此,及时发现设备的故障具有重要意义。
目前在工业生产过程中主要依靠定期巡查来评估旋转机械的运行状态。这种方法无法及时发现设备的故障,同时非常依赖评估员的实践经验,因此需要一套针对旋转机械设备的有效在线故障诊断方法。目前,主要借助支持向量机(SVM)、小波包样本熵和HHT等算法对设备进行故障诊断。但这些算法是有监督机器学习方法,需要大量已知的样本标签,然而实际工况下缺少大量故障样本,故限制了这些方法的广泛应用。基于此,无监督机器学习方法更具有实际应用价值。
2006年HINTON等发表的关于深度学习的文章中也提到了无监督方法,其中著名的有受限玻尔兹曼机、自编码网络、对抗生成网络。
HINTON等提出了受限玻尔兹曼机,堆叠形成深度信念网络,其主要用于特征提取和预训练。自编码模型更是广泛应用于图像分类、模式识别、视频异常检测。生成对抗网络是由GOODFELLOW等在2014 年提出的一种新型网络结构,是一种基于博弈场景的半监督特征学习算法,随后更是广泛应用于图像生成。
2019年,Google Brain和OpenAI合作的文章Adversarial Autoencoders(AAE)中提出了一种对抗自编码的方法,该架构中训练一个新网络来有区分地预测样本是自编码的隐藏代码还是来自用户确定的先验分布。本文作者基于对抗自编码模型,通过优化网络机构建立故障检测模型。将一台高速泵作为研究对象,并与传统方法作对比,验证所提方法在机械系统异常检测中的优越性。
1 理论基础
1.1 GAN网络
GAN网络分为两部分:生成器和鉴别器,本质上为两个多层感知机网络。生成器可以生成伪造的图像,通过训练鉴别器将生成器生成的虚假图像与数据集区分开。最初因为权重是随机的,生成器会产生一些随机噪声,通过训练可使鉴别器能分辨出这种随机噪声和真实图像,鉴别器能力提高后,通过权值反向传递促使生成器生成虚假图像的能力提高,使它生成更好的伪图像,生成器产生图像效果的提高又继续反作用于判别器,继续执行此过程,直到生成器能够很好地生成伪图像为止,从而使鉴别器不再能够分辨伪图像中的真实图像。最终训练好的生成器,在生成随机数字集作为输入的情况下,该生成器可以生成看起来真实的伪图像,GAN就是这样一个博弈的过程。
1.2 自编码网络
在深度学习中,自动编码器(Autoencoder,AE)是一种无监督的神经网络模型,它可以学习到输入数据的隐含特征,这一结构称为编码(Encoder),同时用学习到的新特征可以重构出原始输入数据,这一结构称之为解码(Decoder)。直观上看,自动编码器可以用于特征降维,类似主成分分析PCA,但是它比PCA性能更强,这是因为神经网络模型可以提取更有效的新特征。除了进行特征降维,自编码模型学习到的新特征可以送入有监督学习模型中,所以自动编码器可以起到特征提取器的作用。旋转机械的振动信号中往往包含着很多复杂的成分,有效的特征夹杂在复杂的成分中,但早期故障的振动成分往往比较微弱,人工提取难度较大,而采用自编码模型可使神经网络自动提取振动特征,有利于更好地进行故障判断。
2 故障检测模型
针对实际机械故障诊断工作中难以获取故障状态下数据样本的问题,基于异常检测的实际情况,提出一种故障检测方法。
2.1 故障检测模型结构
本文作者所采用的对抗自编码模型如图1所示。编码器和解码器组成了自编码器结构,将大量正常的机械设备振动信息送入编码器进行特征学习,生成被压缩后的特征向量,然后通过解码器将压缩后的特征重新解码重建振动图像。然而,单一的自编码模型生成的压缩特征分布不均,不利于后续数据重建。因而,引入对抗生成网络模型,编码器作为对抗生成网络的一部分,因本身能够产生和输入数据相关的特征数据,编码器作为生成器不再如传统GAN网络那样最初产生的是随机数据,可以减少训练难度,同时也使模型更容易被理解;模型中添加了新的网络结构作为鉴别器,鉴别器最终通过Softmax层直接判断数据的真实性。
图1 对抗自编码模型
2.2 模型训练
本文作者将同时训练编码器和解码器,以最大程度地减少重建损失。在编码阶段,给定输入数据,编码器将输入变换为特征向量:
()=[()]=[x()+]
(1)
(2)
式中:()为每一个输入()经过编码器得到的隐藏层的特征表达;=(,)为网络参数,为输入层到隐藏层之前的权值矩阵,为隐藏层神经元的偏置量;()为激活函数,文中选用式(2)为激活函数:
′()=[()]=[′()+′]
(3)
式中:′()为隐藏层经过解码后得到的重构表达;=(′,′)为网络参数,′为隐藏层到输出层的权值矩阵,′为输出层神经元的偏置量。
将输入传递给编码器,该编码器将提供输入特征的潜在特征,将这个潜在特征传递给解码器以获取输入数据曲线。通过反向调整编码器和解码器的权重,减少重建损失。AE的学习目标是最小化重构误差,使得输入与输出尽可能接近,损失函数选择式(4)所示的均方差损失函数:
=(-′)
(4)
进入训练的第二部分,训练鉴别器对编码器输出和一些随机输入′(实验中采用标准正态分布)进行分类。因此,如果传入具有期望分布的随机输入,则判别器输出True;当传入编码器输出时,输出为False。直观地,编码器的输出和鉴别器的随机输入都应具有相同的大小。
将编码器输出作为输入连接到鉴别器,目的是迫使编码器输出具有给定先验分布的值。使用编码器(|)作为生成器,使用鉴别器来判断样本是来自先验分布()还是来自编码器(|),解码器(|)返回原始输入图像。
生成器训练时应保持鉴别器的权重固定为当前的权重,并在鉴别器的输出端将目标固定。之后将图像传递到编码器,并找到鉴别器输出,然后将它用于查找损耗(交叉熵代价函数)。仅通过编码器权重进行反向传播,会使编码器学习所需的分布并产生具有该分布的输出(将鉴别器目标固定为1会导致编码器通过查看鉴别器权重来学习所需的分布)。
判别器在这里是一种分类器,用于区分样本的真伪,因此常使用交叉熵(Cross Entropy)判别分布的相似性。交叉熵公式;
(()))]
(5)
鉴别器训练时保持生成器权重不变,尽可能地让鉴别器能够最大化地判别出样本来自于真实数据还是生成的数据。
输入的振动信息不仅含有单纯的机械振动信息,还包含大量的无用振动,为能够让网络更好地学习振动数据的特征以及加快网络学习效率,该模型在编码器部分以及鉴别器部分加入了Dropout层,通过在每次训练时,随机让每层小部分神经元停止工作,每次输入网络的有效数据只是部分数据,以此达到去噪声的目的,以提高网络的泛化能力。
3 实验验证
3.1 实验平台
本文作者选用的实验设备是某热电厂运行的型号为HTD250-160X10的多级离心泵,为工艺上的给水泵,基本工作参数:10级离心泵,额定流量为250 m/h,额定扬程为1 500 m,额度转速为2 950 r/min,额定功率为1 273 kW。实际设备如图2所示。自制的数据采集器,采样频率为50 kHz,单次采样个数是1 000点;选用的传感器为电涡流振动位移传感器,通过电涡流效应,对泵的振动信息进行无接触、连续的采集。数据采集完成后通过4G网络上传到自建的云平台系统,采集器24 h在线运行。
图2 实验设备
3.2 训练
在云平台中随机抽取1 024组数据作为训练样本,每组数据有1 000个振动数据作为特征。训练batch size取64,自编码learning rate为0.001,对抗生成网络learning rate设置为0.000 5,epoch取2 000。每次迭代将(64,1 000)的振动数据输入构造的对抗自编码模型中进行训练。对抗自编码模型在原有模型的基础上加入了dropout层,神经元丢弃率为0.2,在损失函数中加入交叉熵,进一步约束、指导神经网络进行特征学习。最后,将梯度信息反向传播并更新梯度,以最小化损失函数。图3所示为损失函数曲线。
图3 损失函数曲线
在对抗部分中,模型输入了正态分布的数据指导自编码部分的隐藏层学习其分布。图4显示了从最初到训练结束过程中隐藏层数据分布的变化,直观地表示出数据从最初分布极为不均到最后分布接近标准正态分布的过程。
图4 隐藏层数据分布
将云平台下载的数据分别输入对抗编码模型,实际输入的振动图像信息与编码解码后重建振动图像的对比如图5所示。可知:重建图像很好地学习了输入信息的特征并加以复现。
图5 数据重建
3.3 误差检测
为检验模型训练后的实际效果,同时选取未曾训练过某一时刻泵的振动数据作为模型的输入,由两种数据重构情况的不同鉴别泵的运行状态。选取未曾训练过的数据点,其中包含200个正常数据点和20个异常数据点,以此测试训练好的模型。数据点输入模型后,将重构数据点与原数据进行对比,通过二者的误差区别数据的状态,同时选用传统自编码网络模型进行对比,结果如图6所示。可知:传统自编码器模型虽然能够重建部分图像,但是并不能将异常数据和正常数据进行明确的区分;对抗自编码模型通过在隐藏层生成的均匀数据分布大大提高了模型的自适应性,即使是未曾训练过的数据点,通过对比也可以看出,异常数据点分布于图像上方,正常值数据点位于图像的下侧。可通过设定阈值来进行实际工况下泵的健康状态评判。
图6 误差对比
为直观评价模型效果,引入混淆矩阵。混淆矩阵是二分类问题的多维衡量指标体系,在样本不平衡时极其有用。在混淆矩阵中,将少数类认为是正例,多数类认为是负例。
TP(True Positive)为在预测正样本中,预测正确的数目;FP(False Positive)为在预测正样本中,预测错误的数目;TN(True Negative)为在预测负样本中,预测正确的数目;FN(False Negative)为在预测负样本中,预测错误的数目。准确率是所有预测正确的样本除以总样本的值,越接近1越好。精准率又叫查准率,表示所有被预测为少数类的样本中,真正的少数类所占的比例。假正率表示模型将多数类判断错误的能力。
取不同阈值,模型对泵异常检测的准确率、精准率、假正率如表1所示。
表1 不同阈值下模型效果对比
4 结束语
本文作者将基于自编码器的神经网络模型应用于高速泵故障检测领域,通过优化对抗自编码的网络结构使模型在故障检测中具有更好的适用性;提出了一种误差阈值的故障检测方法,该方法利用机械振动信号的高维特征参数,通过自编码网络自动提取特征并学习,依据模型输出的变化,实现故障预警。结果表明:基于AAE模型的误差阈值检测方法在特定阈值下准确率可达100%,明显优于传统自编码模型,具有一定的研究价值。