基于深度学习的示功图多混合故障诊断

2022-05-12 06:08魏航信
机电工程技术 2022年3期
关键词:示功图卷积神经网络

魏航信,张 青

(西安石油大学机械工程学院,西安 710065)

0 引言

基于抽油机示功图的工况识别是石油生产中的一个重要问题,特别是在智慧油田。传统的方法是基于BP神经网络,RBF神经网络[1-2],支持向量机(SVM)[3]或电功图[4-5],这些方法正确率低。

近年来,深度学习算法在图像识别、故障诊断[6]等方面得到了广泛的应用。卷积神经网络(CNN)已经成为一个强大的、通用的深度学习模型[7-9]。许多研究者对CNN的结构及其在图像分类识别中的应用进行了成功的研究。Verma A[10]提出了一种压缩卷积神经网络模型,即CNDS,该模型尺寸小,速度快。Pathak A R[11]研究了深度学习在计算机视觉领域的应用,如图像分类、模式识别。A Kolsch[12]对卷积神经网络进行了改进,提出了用于文档图像分类实时训练和测试的极限学习机,可以减少训练次数,提高识别精度。

由于抽油机示功图用图形表示,因此可以采用深度学习算法进行识别。与传统方法相比,深度学习可以自动识别图像特征,不需要计算特征参数。因此,深度神经网络方法尤其适用于示功图图像识别[13-14]。

目前常用的文本识别系统是LeNet-5和Alexnet。但是Alexnet有很多参数,卷积核需要传回,训练时间长[15]。MNIST数据集的LeNet-5分类准确率可达99.2%。然而,示功图比文本图像复杂。此外,LeNet-5分类的每个类别都是单独的,即LeNet-5网络对于一个输入图像只能输出一种类型的模式(工作条件)。但抽油机的一张示功图可能代表两类。因此,LeNet-5不能直接用于示功图识别。

由于神经网络参数的选择需要经验和实验,并且神经网络的参数也不是最优的。因此,需要一种最优方法来确定神经网络的参数。本文采用粒子群优化(PSO)算法[16-17]。

为此,本文设计了一种改进的神经网络。神经网络有3个卷积子层和3个池化子层。每个卷积的初始化特征映射数分别为10、10、10。初始化时,每个池化子层的特征映射数也分别为10、10和10。然后用PSO对参数进行优化。在CNN识别出输入示功图的特征变量后,全连接神经网络可以将其分类为12种类型。

1 示功图种类

根据延长油田等特低渗透油田油井工况,常见的工况有12种,如图1所示。

图1 常见的抽油机工况对应的示功图

2 深度学习算法

2.1 改进的深度学习神经网络结构

使用现场采集的示功图一般为.txt文件,分为两列,第一列为悬点位移,第二列为悬点载荷。为了进行示功图可视化诊断,首先将示功图数据绘制成图形,然后将其输入神经网络。

根据示功图诊断特点,建立了示功图识别神经网络结构,如图2所示。网络有9层,该网络的输入信号为示功图,像素大小为68×68,输出信号是油井的工况。卷积层为C1、C3、C5,池化层为S2、S4、S6。第一层C1有d1个特征图,卷积核为5×5,C1的输出是64×64;第二层S2有d1个特征图,输出为32×32;第三层C3有d2个特征图,卷积核为5×5,C3的输出是28×28;第四层S4有d2个特征图,输出为14×14;第五层C5有d3个特征图,卷积核为5×5,C5输出是10×10;第六层S6有d3个特征图,输出为5×5。F7、F8、F9为全连接层,F7、F8分别有10个节点,F9分别有12个节点。最后一层F9是分类层,其为一种分类器,可以将输入的示功图分成1或者2类。

图2 神经网络结构示意图

2.2 CNN网络结构算法

输入层C1、C3、C5的输出如下:

C1层之后是ReLU激活函数。ReLU对输入的每个元素执行阈值操作,其中任何小于0的值都被设为0。

式中:i=1,3,5;对于C1,j=1,2,…,d1;对于C3,j=1,2,…,d2;对于C5,j=1,2,…,d3;O为每个卷积神经网络的输出,b为网络的偏置,a和m为中间变量,ReLU为激活函数。

对于池化层,输出可以写成:

式中:i=2,4,6;对于S2,j=1,2,…,d1;对于S4,j=1,2,…,d2;对于S6,j=1,2,…,d3;O为每个池化层的输出;gij为特征图的增益参数;Ni为特征的子采样率。

全连接神经网络F7和F8如下:

激活函数为:

式中:yi为第9层网络的输出,1>yi>0且

输出层F9是一个分类器,与传统分类器不同,该层输出的故障类型不是排它性的单一故障种类。

2.3 神经网络PSO优化

深度学习神经网络的层数和节点数对其性能有很大的影响。网络中节点过多会减慢学习速度,而节点过少则会降低训练精度。因此,有必要选择合理数量的神经网络节点和层数[18]。对于所建立的深度学习神经网络模型,采用粒子群优化学习算法对深度学习神经网络的结构进行优化[19]。通过优化节点数、网络层数和学习速率,可提高深度学习神经网络的训练精度,缩短训练时间。

PSO优化深度学习神经网络结构如图3所示。包括数据获取、神经网络模型训练与优化和神经网络模型测试3个模块。在数据获取模块中,将示功图数据转换为标准图像;在模型训练优化模块中,采用PSO算法对深度学习神经网络的结构和参数进行优化;在模型测试模块中,对训练好的神经网络进行测试,以验证其故障诊断的正确性。具体步骤如下。

图3 PSO优化后的神经网络结构

(1)采集示功图信号。数据的格式为文本文件,有两列。第一列数据为荷载(kN),第二列数据为悬点位移(m)。

(2)将示功图的文本文件转化为标准图像,具体过程见3.1节。

(3)初始化卷积神经网络和全连接网络的参数。CNN的初始层数为3,学习速率为0.000 5。

(4)利用粒子群算法搜索每个参数的局部最优位和全局最优位置,然后对其进行修正。公式如下:

(5)更新神经网络的权值后,用一组测试样本计算神经网络的准确率。如果精度不是最高,则返回步骤(4),否则返回步骤(6)。

(6)将PSO优化后的参数引入深度学习神经网络,对示功图进行诊断。

3 示功图识别

3.1 神经网络的实验环境及部分参数

示功图的故障诊断是在电脑上进行的,其中计算机硬件为:CPUAMDFX(tm)3.80 GHz,内存单元8 GHz,软件为Matlab R2018a。

在延长油田采集了12种示功图2 000张。将每个图像都根据经验进行标记,然后将1 400幅图像作为训练样本,600幅图像作为测试样本。

从油田采集的示功图数据为文本文件,然而输入的训练数据是一个示功图,像素为68×68,因此,需要将文本文件转换为标准图像。流程如图4所示,具体如下。

图4 训练样本的制作

(1)用Matlab将所采集到的数据绘制成示功图,如图4(a)所示;

(2)删除示功图周围的空间,使图最大化,如图4(b)所示;

(3)将图形保存为图像(.jpg);

(4)在Matlab中重新加载图像,压缩到68×68,并将该彩色图像变成灰色图像,然后把它保存到一个变量中,将矩阵归一化,如图4(c)所示;

(5)矩阵可以作为神经网络的训练样本,示功图的训练图像如图4(d)所示。

3.2 神经网络训练

由于示功图有12个类别,神经网络的输出层可以分12类。例如,如果神经网络将示功图诊断为第5类,则第5个元素为1,其他元素均为0。需注意,一张示功图可能包含两种工况,因此本文的神经网络可以对同一训练样本的示功图进行两种故障类型的分类。例如,一个示功图在有类型4和类型5两种故障类型,则训练标签为[0 0 0 1 1 0 0 0 0 0 0 0]。

以神经网络训练时迭代次数最少为优化目标,用PSO算法对神经网络节点数进行优化,优化过程如图5所示,优化了3个卷积层的节点数,图中显示了其中2个卷积层节点数。最少的训练迭代次数为109。经过PSO优化后神经网络节点数:卷积层节点数分别为20、16、16,其维数为64×64×20、28×28×16、10×10×16,池化层节点数分别为20、16、16,其维数为32×32×20、14×14×16、5×5×16。

图5 神经网络节点数及PSO优化过程

对PSO优化后的神经网络模型进行训练,此时模型在训练集上的准确率达到了99.4%,在测试集上的识别精度为94%,如图6所示。

图6 PSO优化后的神经网络训练过程

为了比较本文提出的模型的性能,将AlexNet、CNN、PSO优化后的CNN网络结构性能进行比较,结果如图7所示,可以看到经过PSO优化后的CNN在快速收敛的同时,其预测精度高于其他模型;此外由于样本数据规模较小,所以CNN网络模型存在欠拟合;相较于PSO优化后的CNN模型,AlexNet在训练收敛速度以及结果预测精度均有一定的差距。

图7 不同网络性能比较

3.3 神经网络对示功图的识别结果

利用测试样本对神经网络进行测试,以两张示功图为例,如图8所示。第一个示功图属于第2类工况。通过对图像的识别,神经网络输出为[0 0.902 0.011 0 0 0 0 0.217 0 0 0 0]。所以可以确定其应该是第2类(供液不足)。对于第2个示功图,属于第4类和第5类工况。这个示功图有两类故障类型,神经网络的输出为[0 0 0.002 0.807 0.901 0.001 0 0 0 0 0 0]。可以看到,第4个元素是0.807,第5个元素是0.901。结果表明,该神经网络可以识别两种故障类型。

图8 示功图诊断

通过多次训练,识别结果如表1所示,由表可知,平均识别正确率为94%,对示功图的平均识别时间为0.021 s。从而验证了本文所提出的神经网络的可靠性和准确性。

表1 训练和测试神经网络精确度

4 结束语

本文研究了一种基于深度学习的油井工况识别方法。设计了改进的深度学习神经网络,包括CNN和全连接网络。基于深度学习的神经网络训练包括前馈传递和反向传播传递。在前馈传递过程中,将示功图输入神经网络,计算期望输出与实际输出之间的误差。在反向传播通过过程中,根据误差和学习速率对权值和偏差值进行修正。采用PSO对深度学习神经网络进行优化。利用2 000张示功图模拟神经网络的训练过程和测试过程。对示功图的平均识别时间为0.021s,训练精度为99.4%,识别精度为94%,验证了该神经网络的可靠性和准确性。

猜你喜欢
示功图卷积神经网络
基于递归模糊神经网络的风电平滑控制策略
示功图诊断单井液量异常的系统建设分析
基于3D-Winograd的快速卷积算法设计及FPGA实现
浅谈示功图在油田节能监测工作中的应用
基于CNN迁移学习的示功图图形分类预警
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于模式识别技术的油井工况诊断