冯宁,张乃禄
1.西安石油大学 电子工程学院(陕西 西安 710065)2.陕西省油气井测控技术重点实验室(陕西 西安 710065)
油井动液面监测系统为获得实时数据,长期运行,会导致元器件故障,采集的动液面波形图出现异常。因此,对油井动液面监测系统的故障诊断是必不可少的一项工作。王丽华等[1]采集电机故障信号作为卷积神经网络的输入,进行电机的故障诊断,杜小磊等[2]应用卷积神经网络对轴承进行故障诊断,但油井动液面监测系统故障诊断报道较少。
针对油井动液面监测系统的故障特点,分析系统运行过程中的动液面波形图,提出基于改进卷积神经网络的故障诊断模型。采用全局平均池化技术代替全连接层对传统卷积神经网络进行改进,采集系统运行过程中不同故障下的动液面波形图作为模型输入进行仿真训练,实现对油井动液面监测系统的故障诊断,保证系统安全可靠运行。
油井动液面监测系统由数据采集层、数据传输层及动液面监测中心构成。数据采集层包括井口监测装置和控制柜,井口监测装置由12V/24V电磁阀、微音器、压力传感器、储气罐组成,控制柜由气泵、开关电源等组成;数据传输层采用GPRS/WIFI无线传输;动液面监测中心包括服务器、监控主机及远程客户端。系统构成如图1所示。
图1 油井动液面监测系统构成
油井动液面监测系统常见的故障有24V电磁阀故障、12V电磁阀故障、微音器故障、球阀故障、加药阀故障、气泵故障、气管故障、井况异常、液面太浅以及传输故障。不同故障下的动液面波形图差异明显,见表1。
表1 不同故障下的动液面波形
油井动液面监测系统在不同故障下,测量的动液面波形特征差异明显,因此选择卷积神经网络建立模型进行故障诊断。传统的卷积神经网络由输入层、隐藏层、全连接层以及输出层组成。但全连接层会使训练参数增多,导致模型过拟合[3-4];太多的计算资源会使测试时间太长,不适用于快速诊断和实时在线监测;并且全连接层在测试过程大大减少了特征位置对分类带来的影响,导致输入的特征参数位置发生改变,诊断结果未发生改变。因此提出改进卷积神经网路,采用全局平均池化技术代替全连接层。改进卷积神经网络模型如图2所示。
图2 改进卷积神经网络模型
改进卷积神经网络的输入是系统正常运行以及不同故障下的动液面波形图,故障类型包括24V电磁阀故障、球阀故障、12V电磁阀故障、气泵故障、加药阀故障、微音器故障、气管损坏、液面太浅、井况异常、传输故障等。隐藏层经过2次卷积2次最大池化,提取动液面波形图的波形特征。全局平均池化以隐藏层输出的每个动液面波形特征图为单位,累加特征图上的特征值再进行平均,直接得到输出节点。输出层再采用Softmax进行逻辑回归分类,输出系统故障类型。
改进卷积神经网络模型在故障诊断过程中无需手动提取特征,将动液面波形图可直接作为模型输入,且全局平均池化技术使得训练参数大大减少,提高了模型训练效率[5]。改进卷积神经网络模型基本流程如图3所示。
图3 改进卷积神经网络模型基本流程
对输入模型的动液面波形图进行预处理,再分割为训练集、验证集以及测试集。训练集及验证集进行模型训练,得到改进卷积神经网络模型,测试集输入训练好的模型,得到系统故障诊断的结果。
改进卷积神经网络模型参数设置要保证较高的分类率以及模型训练速率,影响模型训练速率的是卷积层参数和激活函数。
2.2.1 卷积层参数
卷积层参数包括卷积层数、卷积核的数目及大小。在卷积过程中,为了避免位置信息发生偏移,卷积核大小设置为奇数,根据经验,卷积核数目设置为16的倍数,将卷积层C1和C2的卷积核数目及大小作为变量,取值范围如下所示:
{‘C1卷积核数目’:16,32,64,128;‘C2卷积核数目’:16,32,64,128;‘卷积核大小’:3×3,5×5,7×7}
将以上参数以遍历的方式进行组合,分别对模型进行训练,得到训练结果,使用Socre=Accuary/(Loss×Time)对模型进行评估。其中Accuary为识别模型输入的动液面波形图的准确率;Loss为损失函数值,反应了模型输出的预测值与真实值之间的差别程度;Time为模型训练及识别时间[6]。模型训练过程中损失函数值与训练时间越小,准确率越大,Score值越大,模型越优,因此选择Score最大的值作为卷积层参数。经过测试,卷积核数目分别为16、32,大小分别为3×3、5×5时Score值最大,模型最优。
2.2.2 激活函数选择
模型训练中,常用的激活函数有Sigmoid函数、tanh函数、ReLU函数。Sigmoid函数和tanh函数由于软饱和性,易出现梯度消失和梯度爆炸问题[7]。ReLU函数有很好的拟合能力和稀疏性,能够有效地缓解梯度消失和过拟合问题,因此激励函数选择为ReLU函数,ReLU函数图像如图4所示。
图4 ReLU函数图像
根据以上卷积层参数以及激活函数的选择,改进卷积神经网络模型参数设置见表2。
表2 改进卷积神经网络模型参数值设置
油井动液面监测系统采用改进卷积神经网络模型进行故障诊断,系统不同故障下的动液面波形图差异明显,以不同故障下的动液面波形图作为改进卷积神经网路的输入,输出为系统的故障类型[8]。分别采集24V电磁阀故障、12V电磁阀故障、微音器故障、球阀故障、加药阀故障、气泵故障、气管故障、井况异常、液面太浅、传输故障等10种故障以及系统正常运行下得到的动液面波形图20组作为实验用数据集输入模型,见表3。随机选取数据集的80%进行模型训练,20%进行模型测试。
表3 实验用数据集
不同故障下的动液面波形图在输入改进卷积神经网络之前,要进行统一预处理,主要分为以下几步:
1)图片大小处理。应用MATLAB的imresize函数将模型输入的动液面波形图像素面积统一处理为256×256×3。
2)灰度化处理。图片像素点的颜色变化是由红(R)、绿(G)、蓝(B)3个通道相互叠加决定的,图片灰度化将每一个像素点都满足R=G=B的关系,采用MATLAB的rgb2gray函数对动模型输入的液面波形图进行灰度化处理。
3)二值化处理。将图片的每个像素点的灰度值设为0(黑色)或者225(白色),让整个图片只呈现黑白效果。采用MATLAB的imbinarize函数对模型输入的动液面波形图进行二值化处理。
因此,不同故障下的动液面波形图预处理后大小均为256×256×1,作为改进卷积神经网络的输入。
油井动液面监测系统故障诊断的改进卷积神经网络模型使用matlab的deep learning toolbox进行训练,将采集的故障数据集输入到模型中,设置训练迭代周期为30次。训练结果准确率变化曲线及loss函数变化曲线如图5所示。
图5 准确率变化曲线及loss函数变化曲线
准确率函数反应的是模型训练过程中对动液面波形图识别的准确率,loss函数是度量模型输出的预测值与实际值之间的差距,差距越大,模型对油井动液面监测系统的故障分类性能越差。图5中随着训练次数的增加,准确率曲线逐渐上升,损失函数曲线逐渐下降,迭代到第6个周期时,准确率为100%,损失函数为0,说明该模型有快速的学习能力。
为了进一步验证改进卷积神经网络的优越性,将采集的实验用数据集输入传统卷积神经网络模型进行训练,将训练结果与改进卷积神经网络模型训练结果进行对比见表4。
从表4可知,模型训练过程中,改进卷积神经网络训练时间快于传统卷积神经网络训练时间11.1075 s,传统卷积神经网络训练集准确度为93.45%,改进卷积神经网络训练集准确度为100%,远高于传统卷积神经网络,因此,改进卷积神经网络模型更加优化。
表4 改进型与传统型卷积神经网络训练结果对比
油井动液面监测系统运行时,改进卷积神经网络故障诊断模型调用系统上传至后台的动液面波形图作为模型输入。
选取5组长庆油田现场动液面监测系统的故障诊断结果,见表5。够可靠的实现对油井动液面监测系统的故障诊断。
表5 系统故障诊断结果
1)针对油井动液面监测系统的构成及故障特点,提出了基于改进卷积神经网络的故障诊断模型。输入不同故障下动液面波形图进行模型训练与仿真,与传统卷积神经网络进行对比,改进卷积神经网络模型相对于传统卷积神经网络模型训练集准确率提高6.55 %,训练时间增快11.1075 s。
2)应用结果表明,该模型实现了对油井动液面监测系统的故障诊断,对系统安全可靠的运行具有典型的应用价值。