智勤功
中国石油化工股份有限公司胜利油田分公司石油工程技术研究院
目前,我国大部分油田都处在开发的中后期,油井供液不足现象越来越严重[1]。对于供液不足油井而言,充满程度不足通常会引起空抽和液击工况。这样不仅对抽油设备造成损耗,而且会消耗很多的电能,显著提高了油田的开发成本。
针对供液不足油井的变化情况,目前采用的方法有:①利用动液面监测判别油井供液不足的程度[2-3],但传统的动液面监测无法做到实时监测,由于井下环境复杂,监测误差也较大。②根据示功图判断油井供液不足的程度,但该方法缺乏有效的识别方法,无法进行自动化分析,主要依靠工作人员经验来判断油井供液不足的程度,缺乏稳定性和权威性。以往的特征提取比较依赖先验知识,随着深度学习的快速发展,卷积神经网络(CNN)可以学习性地提取由训练数据驱动的特征描述,使其更加有变通性和通用性。CNN被看作达成深度学习的关键手段,但早期的CNN 由于缺乏大数据支持且硬件性能不佳,无法处理复杂的问题。随着大规模ImageDatabase 的孕育和硬件条件的发展,CNN 已成为研究的热点并得到迅速发展。近年来,主要的CNN结构有AlexNet[4]、LeNet-5[5]和VGGNet[6]等。在实际运用中,随着油田生产信息化的全面推进,目前已实现油井生产数据的采集监控,数据的实时传输上传,视频监控的全面覆盖,大数据资源已初步形成[7-8]。CNN 已在图像分类[9-10]、目标检测、目标跟踪、文本识别这些领域获得了极大的成就。
因此,基于油田大数据资源的完备和CNN 良好的特征提取性能,本文提出一种基于卷积神经网络的油井供液不足程度量化分析方法,同时使用Softmax 分类器构建识别模型,很好地解决了传统分析方法的不足。经现场应用,此方法能够满足油田实际应用需求。
随着深度学习的快速发展,卷积神经网络已在石油工程领域展示出其突出的优势[11-12]。针对油井供液不足程度识别的问题,本文选用卷积神经网络作为识别模型。
卷积神经网络识别图像的基本原理是[13-14]:首先输入待识别的图像,采用卷积操作对待识别图像进行特征提取;然后采用Max-pooling 方法对图像降维,接着经过多个卷积层与池化层,充分提取待识别图像特征;最后在全连接层中将提取到的所有特征参数合并,完成对待识别图像的辨别与分类。卷积操作是对待识别的示功图图像X进行计算并获取其特征参数,用Hi表示卷积神经网络第i层的特征参数(H0=X),即
式中:Wi为网络模型第i层卷积核的权值向量;bi为网络模型第i层卷积核的偏移向量;f(x)为激活函数。
将提取到的特征参数经过池化窗口(n×n)操作之后,原尺寸收缩为先前的(1/n)×(1/n)。
1998年,YANN LECUN提出了LeNet-5网络模型,网络结构为:第一、二层为卷积层,卷积层后各自连接池化层;第三层也是卷积层,后连接两个全连接层。作为第一代经典卷积神经网络模型,在油井供液不足示功图程度识别研究中,其网络结构、激活函数和卷积核尺寸等方面存在可以继续提升的空间。
AlexNet 由KRIZHEVSKY 等人创建,它赢得了2012年的ImageNet竞赛。该模型由8层组成,其优势在图像分类上表现卓越。
2014 年,牛津大学计算机视觉组的研究员一起研发出新的CNN 模型(VGGNet),同时赢得了ILSVRC 2014比赛分类项目的亚军和定位项目的冠军。VGGNet的模型结构[11]如图1所示。
图1 VGGNet神经网络结构Fig.1 VGGNet neural network structure
VGGNet 模型分为6 种不同的网络架构,每个结构有5个卷积组,每个卷积组使用一个3×3的卷积核,后面跟着一个2×2 最大的池化层,接着是三个全连接层,最终结合Softmax 分类器构建网络模型。
VGGNet 网络模型与LeNet-5 网络模型对比:首先在VGGNet 模型中采用了局部响应归一化机制,局部响应归一化机制可以在模型中对局部神经元创建权重参数,使得网络模型在对图像识别的过程中,更加具有针对性和目的性;然后卷积层中采用RELU激活函数取代了Tanh和Sigmoid[15-16],使识别准确率大大提升;接着池化层中采用Max-pooling方法代替了Avg-pooling 方法,从而避免了在特征提取的过程中出现图像模糊的情况;最后在全连接层中增加了dropout 层,有效防止了过拟合现象的产生。
VGGNet 网络模型与AlexNet 网络模型对比:VGGNet模型是对AlexNet模型的进一步优化,网络层数更深;VGGNet 使用的卷积核为3×3,而非AlexNet的11×11或5×5,准确率更高。
但其相对庞大的网络结构在图像识别的过程中花费了大量时间。
针对诊断油井供液不足程度的问题,选用了改良后的VGGNet 结构,它不仅可以满足识别准确率的要求,还可以减少识别时间。改良后的VGGNet结构主要有以下优点:
(1)改良后的VGGNet 模型输出层由1 000 个神经元变为10个神经元输出。
(2)改良后的VGGNet 网络模型由4 层卷积、4 层池化和3 层全连接构成,减少了训练时间,提高了收敛速度。
输入的目标图像大小为100×200,改良后的VGGNet网络参数如表1所示。
表1 改良后的VGGNet网络参数Tab.1 Prameters of improved VGGNet network
基于CNN 的油井供液不足程度示功图的识别方法(图2)如下:将训练样本集放入CNN网络模型中进行训练;将待识别的验证样本集放入已训练好的CNN模型中进行验证。
图2 基于CNN的油井供液不足程度示功图识别方法流程Fig.2 Identification method flow of indicator diagram of liquid supply deficiency degree based on CNN
基于CNN 的油井供液不足程度示功图识别原理为:以识别图像像素点代替识别图像,完成图像的分割。对于分割后的图像先以部分图像为单位提取特征值,再将局部小特征进行汇总,最终完成整个图像识别过程。因此,在图像中出现的所有多余信息都将影响卷积神经网络的训练效果,考虑到绘制出的示功图还包含横坐标(位移)、纵坐标(载荷)以及坐标线等冗余信息,需要先对示功图进行预处理[17-18]。预处理的质量决定了样本集的水平,以及网络的训练效果,具体步骤如下:
(1)实验数据。本实验采集了某油田现场n余口井的有杆泵悬点载荷、位移等数据,通过对数据质量的筛选和清洗,绘制成统一的标准化示功图图像:图像的大小为100×200 像素,DPI 为50 像素/英寸,曲线线宽为2.5 mm;接着对示功图进行分类和筛选,从而建立油井供液不足示功图样本集(图3)。
图3 实验中用到的油井供液不足示功图Fig.3 Indicator diagram of insufficient liquid supply for oil wells used in the experiment
(2)像素归一化。输入的原始示功图的像素位于0 到255 之间,像素的不同会干扰神经网络的学习能力,无形中制造了误差。因此,根据示功图像素的最大值及最小值,本文采用了最大、最小值归一化方法,其公式如下:
式中:xi为像素点值,像素的最大和最小值分别是max(x)和min(x)。
通过常规的归一化方法处理图像,将像素回归至0 到1 之间,不改变图像特征,排除了井间差异,使得所需信息更加突出,隐匿噪声信息,节省了训练时间。
本文基于传统的VGGNet 模型,提出了一种改良的VGGNet 模型,用于识别油井供液不足程度。首先构建了油井供液不足程度示功图数据集,然后将Max-pooling为采样方法、RELU为激活函数,建立了4 层卷积层、4 层池化层和3 层全连接层的网络模型,采用反向传播算法优化其网络模型。训练好的网络模型不仅能够满足油井供液不足程度识别准确率要求,又能大大减少识别时间。改进的VGGNet模型结构如图4所示。
图4 卷积神经网络结构Fig.4 Convolutional neural network structure
Softmax 分类器在卷积神经网络领域中已取得了良好的应用效果,并作为一种泛化能力强的通用学习算法广泛应用于多类图像识别领域。本文选取Softmax 分类器对示功图图像进行训练和验证,检验示功图图像特征提取的效果。
本次实验基于64位的Win10系统,CPU为Intel(R)Core(TM)i7-10750K,CPU 的主频为2.59 GHz,内存为16 GB。基于Keras 深度学习框架和GPU[19],利用Anaconda 下基于Python 语言的pycharm 进行代码编制[20]。
步骤1:通过油田生产现场采集到的载荷、位移数据,绘制成示功图。对于不符合油井供液不足示功图的图像进行清洗工作,将得到的8 000 张示功图分为10个供液不足等级。
步骤2:打乱样本集,将样本集按8∶2比例划分训练集和验证集。根据油井供液不足示功图特点,创建卷积神经网络结构,利用训练集对神经网络结构训练和优化。
步骤3:利用反向传播算法优化卷积神经网络权值参数,获取合适的识别准确率,并保存训练好的模型。
步骤4:用保存好的模型对验证集示功图图像进行识别。
步骤5:若识别错误,则修正错误的识别结果;将修正过的示功图放入对应分类样本集,再次训练卷积神经网络,通过强化学习,不断更新卷积神经网络模型参数。
在训练过程中设定批处理尺寸为200,迭代次数为200,学习率为0.000 1。训练集包含6 400 张图像,验证集包含1 600 张图像。训练集和验证集的准确率如图5所示。
图5 训练集和验证集准确率Fig.5 Training set and validation set accuracy
本次实验采用GPU 训练CNN 网络模型。训练时间在有GPU 训练情况下需要8 min 左右,而无GPU训练情况下需要56 min。
从图5可以看出,开始阶段训练准确率呈上升趋势,经过一段时间后,准确率均保持在98%以上。由此可知,本次实验训练集网络模型是比较成功的。接着利用验证集对训练好的模型进行验证,验证集的准确率基本都在98%以上,能够满足实际的功能需求。
为了验证CNN 识别油井供液不足程度示功图的性能[21],本文还测验了其他方法对示功图图像的识别效果,包括不同的网络结构和迭代次数训练下所识别的油井供液不足程度示功图的准确率。
3.5.1 迭代次数对比
本次实验选取迭代次数为100、200和300,每次迭代示功图图像200张。若迭代次数太少,将造成验证准确率较低;若迭代次数太多,不仅不能提高正确识别率,而且将增加训练时间;因此,选取迭代次数为200时,可以使模型能充分学习图像特征并收敛(表2)。
表2 不同卷积层神经网络层数对比Tab.2 Comparison of numbers of neural network layers of different convolutional layers
3.5.2 网络结构对比
在深度学习中,随着网络层数增加,CNN模型学习能力将更强,但层数过多,将会导致网络模型出现过拟合现象;随着网络层数减少又会出现CNN模型欠拟合现象。因此,在选择卷积层数时,本文采用一层一层增加直到识别率不会随着层数增加而发生显著变化的方法来确定最佳层数。第一层使用了16个尺为3×3的卷积核,池化层使用2×2的池化核;第二层使用32 个尺寸为3×3 的卷积核,池化层使用2×2 的池化核;第三层使用64 个尺寸为3×3 的卷积核,池化层使用2×2 的池化核;第四层使用64 个尺寸为3×3 的卷积核;第五层使用128个尺寸为3×3的卷积核。
不同卷积层神经网络层数对比结果如表3 所示。当层数增加,准确率也慢慢增加,然后保持不变或下降。为此,CNN 网络结构选择4 层最合适,收敛耗时短,准确率也更高。
表3 不同卷积层神经网络层数对比Tab.3 Comparison of numbers of neural network layers of different convolutional layers
以某管理区块为例,该区块具有常温、高压、低孔、特低渗透油藏的特点。对于该区块某口油井,通过训练后的卷积神经网络模型,对采集的示功图进行识别分析,实现了此油井供液程度定量化评估。油井供液不足示功图数据的采集频率为每30 min 一次,本文选取6 h 跨度的示功图图像样本进行评估。
从图6,图7 可以看出,通过基于卷积神经网络的油井供液程度智能识别方法,可以准确地反映出随时间不断变化的油井供液程度。结果表明,该油井供液能力较差,亟需对油井生产参数进行调控。
图6 示功图图像样本Fig.6 Sample of indicator diagram image
图7 基于示功图的油井供液程度量化评估Fig.7 Quantitative assessment of oil well fluid supply degree based on indicator diagram
通过基于深度学习的油井供液不足程度量化分析方法监测油井供液情况,根据油井供液情况进行远程动态调频生产,供液能力较差时减低生产参数,供液能力变好后调高生产参数,保障油井供液的稳定性和泵筒的高充满系数。2020 年6—8 月,在该管理区块3口油井上进行了生产参数自适应调控试验,均取得了较好的效果。
从表4可以看出,平均冲速下降0.55 min-1,日产液量增加1.28 m3,日产油量增加0.91 m3,节电58 kWh/d,节约电费59.16元/d。
表4 生产参数调控试验前后对比Tab.4 Comparison before and after the production parameter control test
针对油井供液不足程度分析,建立了一套示功图样本集,设计了包含4层卷积层、4层池化层和3层全连接层的卷积神经网络模型,准确率达98.58%,训练完成的卷积神经网络模型能够高效准确识别供液不足程度。矿场应用进一步表明,采用所建立的油井供液不足程度量化分析方法监测油井供液情况并进行远程动态调频生产,能够实现抽油机冲速与油井供液程度的合理匹配,有效减少了电能浪费。