基于改进生成对抗网络的抽油机故障诊断方法

2023-01-17 09:00刘远红王庆龙张文华张彦生
吉林大学学报(信息科学版) 2022年6期
关键词:抽油机故障诊断卷积

刘远红, 王庆龙, 张文华, 张彦生, 李 鑫

(1. 东北石油大学 电气信息工程学院, 黑龙江 大庆 163318; 2. 杭州紫雨科技发展有限公司, 杭州 310000;3. 大庆油田有限责任公司 大庆钻探工程公司, 黑龙江 大庆 163458)

0 引 言

有杆抽油机是原油开采的关键设备, 在油田开发过程中应用广泛。当抽油机出现故障时, 不仅会影响油田的产量和效益, 严重时还会引起安全事故, 因此对抽油机进行故障诊断具有重要意义。当前主流的故障诊断方法通常需要工程技术人员凭借经验识别抽油机示功图, 工作量大且效率低, 不能满足现代化油田的生产需求。近年来, 人工智能技术在故障诊断领域取得了很大进展, BPO(Back Propagation)神经网络[1-2], 支持向量机[3]、 粒子群算法[4]、 卷积神经网络[5]相继应用于抽油机的故障诊断。人工智能算法在抽油机故障诊断领域的研究, 主要是基于人为划分的均衡数据集。然而, 在实际工况下的抽油机故障数据并不均衡, 导致训练的分类模型识别精度较低, 因此需要有新的方法解决数据不足的问题。Goodflow等[6]提出的生成对抗网络(GAN: Generative Adversarial Networks)能生成与原始样本特征分布相似的数据, 是解决故障数据不足的一种有效策略。生成对抗网络在训练过程中存在模型不稳定、 易崩溃的问题, 为解决GAN存在的问题, 衍生出许多改进的GAN模型, 包括深度卷积生成对抗网络[7]对原始GAN的网络结构进行改进, Arjovsky等[8]提出使用Wasserstein距离取代JS距离。生成对抗网络也广泛应用于故障诊断领域, 朱海琦等[9]将生成对抗网络用于图像超分辨率重建, Lu等[10]将DCGAN(Deep Convolutional Generative Adversarial Networks)用于直流串联电弧诊断, Zou等[11]将ACGAN(Auxiliary Classifier Generative Adversarial Networks)用于高分辨率合成孔径雷达船舶检测, 这些研究表明GAN在故障诊断领域具有很大的潜力。

为解决抽油机故障数据不足、 样本分布不均衡的问题, 笔者提出一种基于生成对抗网络的数据扩增方法, 用于扩充抽油机故障数据。在CDCGAN(Conditional Deep Convolutional Generative Adversarial Networks)的基础上, 引入自注意力机制, 增强了网络对重要特征的学习能力; 同时, 在损失函数中采用正则化技术, 约束生成图像的概率分布, 提高了生成图像的质量和多样性。通过使用改进网络对抽油机故障样本进行扩增, 解决了故障数据不足的问题, 提升了分类网络对抽油机故障的识别精度。

1 生成对抗网络

1.1 生成对抗网络基本原理

图1 GAN网络结构Fig.1 GAN network structure

生成对抗网络(GAN)是基于对抗思想的深度学习算法。GAN网络分为生成器和判别器, 生成器用于生成新的样本, 判别器负责判断样本来自生成器的概率。两者经过不断的迭代优化, 最终达到纳什平衡, 即判别器无法判定样本来自真实数据还是生成器。GAN的网络结构如图1所示。

生成对抗网络训练过程如下: 首先向生成器中输入符合N(0,1)的随机噪声, 然后经过生成器网络的上采样使数据维度进行膨胀, 输出与原始数据相似的样本。同时, 判别器网络对输入的图像数据进行判断, 然后输出图像来自生成器的概率值。利用生成器与判别器的连续对抗对参数进行优化, GAN网络的损失函数为

(1)

1.2 条件深度卷积生成对抗网络

CDCGAN的网络结构如图2所示。

图2 CDCGAN网络结构Fig.2 CDCGAN network structure

条件深度卷积生成对抗网络(CDCGAN)[12]是GAN的一种改进网络, 通过将卷积神经网络与GAN结合, 提升了捕捉图像特征的能力。

CDCGAN在GAN的基础上做出了如下改进。

1) 使用全卷积网络。在CDCGAN的网络中, 生成器采用反卷积, 判别器采用卷积。

2) 使用批量归一化(BN: Batch Normalization)。可以加速模型学习和收敛速度。

3) 改变激活函数。生成器中使用Relu作为激活函数, 输出层使用Tanh激活函数。判别器使用Leaky Relu激活函数, 输出层使用Sigmoid进行分类。

4) 生成器与判别器的输入中, 除随机噪声外, 还加入了条件变量用于监督生成样本的类别。

2 基于自注意力机制的条件深度卷积生成对抗网络

2.1 算法流程

基于改进CDCGAN的抽油机故障诊断框架流程如图3所示, 框架分为两部分, 即改进CDCGAN网络和分类网络。首先将传感器采集的载荷位移数据转化为示功图, 对数据进行预处理, 将真实数据和随机噪声送入改进CDCGAN网络进行训练, 使其生成高质量的示功图样本; 然后将真实样本与生成的样本加入样本库, 送入分类网络进行训练, 最终使用训练好的分类网络进行抽油机故障诊断。

图3 抽油机故障诊断流程Fig.3 Fault diagnosis process of pumping unit

2.2 自注意力机制

自注意力机制(Self-Attention)是一种能获取全局信息的方法, 使用带有自注意力的特征图替换传统的卷积特征图, 解决局部感受野限制的问题[13]。计算过程如下:f(x)、g(x)、h(x)由输入特征图经过1×1卷积形成; 首先将f(x)的转置输出与g(x)相乘, 输出的结果使用softmax归一化, 得到与输入图像相关联的特征矩阵(attention map); 然后将得到的特征矩阵与h(x)逐像素点相乘, 得到自注意力特征矩阵。Self-Attention结构关注特征提取过程中的重要信息, 并且没有引入过多的参数。自注意力机制结构如图4所示。

图4 自注意力机制结构Fig.4 Self attention mechanism structure

2.3 网络结构

生成器结构如图5所示。生成器中输入符合N(0,1)分布100维随机噪声和9维标签信息, 通过上采样层使数据维度进行膨胀, 经过BN层将数据归一化, 采用ReLU作为激活函数, 在经过3层反卷积后输入到Self-Attention层, 再经过1层反卷积后输出生成的故障样本, 在输出层采用Tanh激活函数。

图5 生成器结构Fig.5 Generator structure

判别器结构如6所示。判别器网络结构与生成器网络结构对称, 不同的是每个卷积层后采用Leaky ReLU作为激活函数, 使用Sigmoid激活函数进行分类。因为Leaky ReLU收敛速度较快而且不易使神经元变成失活状态。为避免网络训练时出现梯度消失、 模型无法优化的状况, 在生成网络和判别网络中对输入做批量归一化(Batch Normalization)处理。

图6 判别器结构Fig.6 Discriminator structure

2.4 损失函数

由于抽油机故障数据分布不均衡, 生成的图像特征偏向于数量多的样本, 容易发生模式崩溃问题。为解决该问题, 引入一个量化模式崩溃的方法。图像生成的目的是将潜变量z映射到图像空间I, 如果两个潜变量z1和z2距离很近, 则其生成的图像Ia=G(y,z1)和Ib=G(y,z2)(y为条件信息), 也将会趋于同一种模式, 导致模式崩溃。笔者定义距离因子为

(2)

用于表示生成图像之间距离dI和潜变量之间距离dZ的比率, 使用L1范数距离作为对dI和dZ的距离度量[14]。

最大化G(y,z1)和G(y,z2)之间的距离相对z1和z2之间的距离的比率, 如下

(3)

原始CDCGAN的损失函数为

(4)

改进CDCGAN的损失函数在原损失函数的基础上增加了解决模式崩溃的损失项, 得到新的损失函数

Lnew=Lgan+Le

(5)

3 实 验

实验选取大庆油田抽油机示功图样本, 硬件配置为Intel(R) Core(TM) i7-8700 CPU、 NVIDIA GeForce RTX 1050ti GPU, 深度学习框架基于Pytorch构建。

3.1 实验数据

数据集包括9种常见抽油机工况, 具体包括: 正常、 供液不足、 含砂、 气体影响、 活塞遇卡、 双凡尔漏失、 泵上碰、 泵下碰和抽油杆断脱。首先对数据集图像进行预处理, 将图像统一为32×32像素大小, 减少计算量, 加快网络训练速度。将试验样本划分为训练集、 测试集两部分, 数据集样本数量如表1所示。

表1 数据集样本数量

3.2 模型训练

改进CDCGAN训练过程中的生成图像如7所示, 由epoch1到epoch100的过程中, 生成图像变得清晰, 当从epoch100到epoch300的过程中, 生成器已经稳定, 可以生成细节更好的图像, 生成图像与原图基本相似。

图7 改进CDCGAN生成图像Fig.7 Improved image generated by CDCGAN

FID(Fréchet Inception Distance)值通过测量生成图像与原始数据之间的分布距离, 用于评估生成对抗网络的性能[15]。表2为原始CDCGAN与改进CDCGAN的FID值对比, FID值越小, 表明生成图像与原始数据的分布越相近, 生成图像的质量更高。通过表2可知, 改进CDCGAN生成的各类故障图像的FID值都小于原始CDCGAN。

表2 FID值对比

图8为原始数据图像、 原始CDCGAN生成图像、 改进CDCGAN生成图像对比。可以看出原始CDCGAN生成图像存在模式崩溃问题, 部分生成样本图像质量差, 模型倾向于生成样本数量多的类别, 改进的CDCGAN生成图像质量更高, 对于每类故障都能生成清晰的图像。

图8 生成图像对比Fig.8 Generate image contrast

3.3 实验对比

使用原始CDCGAN和改进CDCGAN框架进行数据扩增, 每类抽油机故障样本扩充至1 000张作为训练集, 采用原始数据集作为测试集。分别采用Alexnet、VGG16、Lenet、CNN(Convolutional Neural Network)模型进行分类性能测试, 记录每次图像分类的准确率。经过多次试验, 取其中准确率最高的一次作为评估模型分类性能的依据。将原始不均衡数据集与两种扩增数据集进行对比实验, 可以看出, CDCGAN扩增数据集的准确率明显高于原始数据集, 改进CDCGAN扩增数据集相较于原始CDCGAN扩增数据集的准确率, 在Alexnet模型、 VGG16模型、 Lenet和CNN上分别提升了2.3%、2.5%、3.8%和2.9%。分类准确率如表3所示。

表3 分类准确率对比

Alexnet模型训练的准确率和损失值如图9、 图10所示, 原始数据集因存在严重的数据不均衡问题, 准确率的上升与损失值的下降速度均较为缓慢, 并且波动较大。改进CDCGAN数据集分类性能比原始CDCGAN数据集有所提升, 并且其数据集损失值的收敛速度更快。

图9 准确率对比 图10 损失值对比Fig.9 Accuracy comparison Fig.10 Loss function comparison

4 结 语

综上所述, 笔者提出一种基于自注意力机制的条件深度卷积生成对抗网络模型, 用于抽油机故障数据的扩增。该网络通过引入自注意力机制和对损失函数增加正则化约束, 提高了模型生成图像的质量, 防止了模式崩溃的发生。采用FID指标评估生成图像的质量, 并将生成图像输入分类网络模型测试分类精度。实验结果表明, 改进后的CDCGAN的FID值低于原始CDCGAN, 生成图像质量更高, 并且提升了分类网络模型的识别准确率, 实验验证了改进CDCGAN的有效性。

猜你喜欢
抽油机故障诊断卷积
抽油机井泵效影响因素的确定方法*
基于包络解调原理的低转速滚动轴承故障诊断
基于3D-Winograd的快速卷积算法设计及FPGA实现
幼儿园旁的抽油机伪装成了长颈鹿
卷积神经网络的分析与设计
从滤波器理解卷积
数控机床电气系统的故障诊断与维修
基于傅里叶域卷积表示的目标跟踪算法
21油田丛式抽油机井群集中控制系统的设计
沁水盆地南部煤层气井抽油机偏磨防治分析