APP下载

基于改进DenseNet的固井质量评价新方法

2024-01-24钱祎鸣

计算机技术与发展 2024年1期
关键词:扇区固井测井

肖 红,钱祎鸣

(东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318)

0 引 言

近年来,中国经济已逐渐转向高质量发展阶段,石油作为重要能源之一,在经济发展中发挥着重要作用。而当前社会对油气资源的需求与日俱增,对其依赖不断加强,油气资源的产能已经难以满足国内生产生活的需要[1],使其在一定程度上阻碍了国民经济的发展。为了更好地满足生产所需,在进一步扩大油气田勘探开发规模的同时,也对钻井工程提出了更高的要求。固井作业是钻井工程中不可或缺的一部分,也是油气建井的重要环节之一[2],其目的是固定和保护套管,封隔井眼内的油、气和水等地层,以达到地层之间相互隔离,防止产层间互窜情况的发生。而且固井质量的好坏对于油田的经济效益、油气资源的开发进度以及后续的钻井工程、完井工程都有重要的影响。由此可见,固井质量不仅是钻井施工的重中之重,也是油田勘探开发的必要前提,使得对固井质量资料评价的精度要求在逐渐提高[3]。迄今为止,压力测试、声幅变密度测井(CBL/VDL)、扇区水泥胶结测井(Sectoral cement cementation logging,SBT)都可以对固井质量进行评价。然而,压力测试不具备经济可行性,现场经验表明,压力过大可能导致水泥环应力破坏,从而造成经济损失。声幅变密度测井克服了上述方法存在的问题,但只能提供声幅与变密度两条曲线来对固井质量进行评价[4],不能反映水泥环环向胶结不均匀的情况。扇区水泥胶结测井消除了上述问题的影响,除具有常规声幅变密度测井的全部功能外,还可以直观清楚地显示扇区水泥成像图[5]。因此,扇区水泥胶结测井是目前评价固井质量的主要方法。但是SBT评价固井质量是一个复杂的过程,一般由石油领域的专家根据其多年的经验手动进行评价,但随着测井资料的数据量日益庞大,难免会存在主观性强、速度慢、效率低等问题。因此,国内外固井研究领域的专家不断钻研和探索固井质量评价自动化这一课题。

2011年刘竟成等[6-7]将同一深度点的4个首波幅度作为固井质量的特征属性,用粒子群优化算法(PSO)和遗传算法(GA)对支持向量机(SVM)的参数进行优化,提出了基于PSO-SVM和GA-SVM的固井质量评价模型,但该方法存在耗时过长的问题。2013年尚福华等[8]基于SBT测井,将同一深度点的首波幅度作为输入,采用带有非线性连接权的神经网络实现对固井质量的评价。2015年陈向军等[9]提出了用声能法评价固井质量,该方法效率高但是精度不够。2020年Deepak Kumar Voleti等[10]基于CBL/VDL测井,采用随机森林和神经网络实现对固井质量的自动评价。2021年,杜冬楠等[11]将影响评价结果的7个固井参数变量作为输入,用LM优化的BP神经网络输出固井质量预测结果,但存在学习时间长、识别效率低和隐含层节点数不确定等缺点。郑双进等[12]在对固井质量众多影响因素分析的基础上,采用遗传算法(GA)对与支持向量机思路相反的支持向量回归(SVR)的参数进行优化,提出了基于GA-SVR的固井质量预测模型,以影响因素的相关数据作为输入量来对固井质量进行预测。Santos L等[13]利用测井数据使用高斯过程回归算法生成新的特征曲线,并通过新曲线来对固井质量进行评价。2022年方春飞等[14]基于CBL/VDL测井,提出了一种具有不同大小内核的多尺度感知卷积神经网络,该网络用于提取和融合变密度波形图中不同尺度的信息,通过识别变密度波形图来评价固井质量。针对以上问题,该文提出了一种基于改进DenseNet的固井质量自动化评价方法。该方法利用SBT测井得到的变幅度图(扇区水泥成像图)和变密度波形图作为输入,并自动提取输入图像中的有用信息,利用改进后DenseNet的结构优势,逼近输入图像和评价结果之间隐含的非线性映射关系,从而实现固井质量的自动评价。

1 改进的DenseNet模型

1.1 基本DenseNet-121模型

DenseNet模型是2017年由Huang等[15]提出的稠密连接网络,该网络模型主要由负责特征提取的稠密块(Dense Block)和负责特征图衰减的过渡层(Transition Layer)两个模块组成,通过特征重用和旁路设置来大幅减少网络的参数量,同时缓解梯度消失问题[16]。DenseNet-121模型包含4个稠密块和3个过渡层,并以全局平均池化层和全连接层结尾。其中4个稠密块中卷积层的数量分别为6,12,24,16,这些卷积层在稠密块内部是连续堆叠的,并且它们共享相同的输入和输出连接。

在经典卷积神经网络(Convolutional Neural Network,CNN)中,每一层的输入只能来自前一层的输出,但是随着网络层数的增加,在反向传播过程中梯度值通常越来越小并趋于零或者梯度值会越来越大,从而导致梯度消失或梯度爆炸情况的发生。为解决这一问题,ResNet[17]通过引入残差结构来缓解梯度消失问题,即将层内的输入与输出相加作为下一层的输入,残差结构如图1所示。DenseNet-121网络的设计受残差结构的启发,提出在保证网络中各层之间最大程度的信息传递的同时,将所有层连接起来,使得网络中的每一层的输入都是前面所有层输出的集合,从而达到通过重用特征来减少模型参数量并增强训练期间的梯度流,实现减缓梯度消失现象的发生[18]。

图1 残差结构示意图

假设xl表示网络第l层的输出,Hl(*)表示网络中的非线性变换,可表示为多种函数操作的累加。ResNet网络第l层的特征输出如式1所示:

xl=Hl(xl-1)+xl-1

(1)

DenseNet-121网络第l层的特征输出如式2所示:

xl=Hl([x0,x1,…,xl-1])

(2)

可以看出ResNet网络的恒等映射和非线性变换输出的叠加方式是逐像素相加,在一定程度上破坏了网络的信息流,而DenseNet-121网络则是将所有层的输出特征图在通道方向上进行拼接。为了避免拼接操作不断增加特征图的深度,DenseNet-121采用Transition Layer来连接相邻的两个Dense Block,从而达到降低特征图的大小以及压缩模型的目的。DenseNet-121的Dense Block结构如图2所示。

图2 Dense Block结构

1.2 卷积注意力模块

卷积注意力模块(Convolutional Block Attention Module,CBAM)是Sanghyun Woo等[19]于2018年提出的注意力机制模块,对分类和目标检测问题具有广泛适用性。

CBAM的核心思想是分别对空间和通道间的相互依赖关系建模,使用网络的损失函数自适应地调整其对应权重来对特征进行优化,包含通道注意力模块(CAM)和空间注意力模块(SAM)两个模块[20],结构如图3所示。

图3 CBAM结构

1.3 改进DenseNet模型

为了使DenseNet网络可以更好地完成固井质量自动化评价的任务,该文根据固井质量的数据特点重新设计了DenseNet网络结构。尽管DenseNet可以复用特征,很大程度上减少了参数的数量,但是笔者在通过减少网络层数的仿真测试过程中,对固井质量的评价结果并没有产生较大的影响,足以证明DenseNet网络存在特征冗余。因此,考虑到固井质量的数据特征较为简单,并不需要更深的网络来获取特征,为了提升模型训练效率,减少模型内存以及能耗,笔者缩减了DenseNet-121的网络层数,将网络中4个Dense Block的瓶颈层(Bottleneck layer)数目由原来的6,12,24,16缩减为3,6,8,4。除此之外,笔者还对缩减后的网络添加了多尺度卷积层和CBAM机制。改进后的DenseNet网络模型架构如图4所示。

图4 改进的DenseNet网络模型架构

1.3.1 多尺度卷积层

通过识别SBT测井得到的扇区水泥成像图和变密度波形图,自动输出固井质量的评价结果。考虑到评价固井质量时,需要参考变密度波形图观察条带的颜色、位置和波形和扇区水泥成像图中的颜色等级及其位置。因此,在特征提取时,不仅需要特征数据的小尺度信息(位置和颜色等级),还需要大尺度信息(形状和数目)[14]。为解决该问题,该文在Dense Block结构前使用了多个不同大小的卷积核并行操作,同时检测数据的大尺度和小尺度信息。每个卷积层由卷积(CONV)、批量归一化(BN)和ReLu激活函数3个操作组合完成。其中批量归一化(BN)利用小批量上的均值和方差来调整上一卷积操作的输出,通过减轻内部协变量偏移使非线性输入的分布保持稳定,从而提高训练速度,增强模型的泛化能力。对于小批量中的任意样本x∈B,批量归一化过程如式3所示:

(3)

1.3.2 CBAM-Dense Block

注意力机制通过赋予固井质量特征图中重要信息更大的权重[20],来使DenseNet重视对评价有用的特征,从而提高固井质量评价的准确性。笔者将CBAM模块嵌入到每个DenseBlock中,在非线性变换Hl(*)的后面加入CBAM模块,实现对通道和空间权重的重新标定。该文将此种结构的Dense Block重新命名为CBAM-Dense Block,结构如图5所示。

图5 CBAM-Dense Block结构

可以看出,CBAM中的通道注意力模块和空间注意力模块是按照特定顺序使用的,经过非线性变换Hl(*)输出的特征图F∈C×H×W首先会进入一个通道注意力模块,通过一系列操作后学习到不同的通道对应的权重MC(尺寸为1×1×C),可用式4表示。最终将其与特征图做逐元素乘法后即可得到空间注意力模块的输入特征F'。

(4)

其中,σ表示Sigmoid激活函数,fx(i,j)表示输入特征图F的中坐标(i,j)点对应的像素值。

特征F'∈C×H×W进入空间注意模块后,通过最大池化、平均池化、卷积和激活函数等操作后,得到尺寸为1×H×W的空间加权信息MS,可用式5表示。将其与通道注意力模块输出的特征F'对应元素相乘,得到同时关注通道和空间信息的特征F'',即可作为Dense Block中下一稠密连接的输入。

MS(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))

(5)

其中,f7×7表示卷积核大小为7×7的卷积操作。CBAM模块整体过程如式6所示:

(6)

其中,⊗表示逐元素相乘。

2 实验结果及分析

2.1 矿场资料数据

数据集来自于大庆油田某采油厂12口井SBT测井所得数据的成像图。SBT以环绕方式在包含整个井眼内的6个角度区块定量测量水泥胶结质量,最后将6个角度测量所得数据展开进行成像即可得到文中数据:扇区水泥胶结成像图与变密度波形图。结合专家经验和固井质量评价领域的相关知识,扇区水泥胶结成像图形象直观地展现了水泥环的胶结填充情况以及胶结的均匀程度;变密度波形图是黑白相间的条带,通过对图上显示的套管波以及地层波的强弱程度来确定水泥的胶结情况;因此将二者相结合即可对固井质量进行准确评价,并确定了固井质量的3种评价类型(优、合格、不合格),如图6所示。

图6 数据集图像示例

其中,固井质量评价为优的井段对应变密度波形图有地层波显示,对应扇区水泥胶结成像图有黑块及灰黑块显示;固井质量评价为合格的井段对应变密度波形图有套管波显示,对应扇区水泥胶结成像图有灰白块、灰块显示;固井质量评价为不合格的井段对应变密度波形图有较强套管波显示,对应扇区水泥胶结成像图有白块、灰白块显示。笔者收集到的12口井的采样间隔为0.076 2 m,按照对应类别以及预设厚度值分别对扇区水泥胶结成像图和变密度波形图进行切分,最终得到12 222个样本层张量(优:4 417个,合格:2 937个,不合格:4 868个)。将整个数据集按照7∶1.5∶1.5划分为三个相互独立且互不交叉的训练集、验证集、测试集,最终得到8 721个训练集样本、1 649个验证集样本和1 646个测试集样本。将数据集中的扇区水泥胶结成像图和变密度波形图分别调整到150×150像素后按通道方向进行拼接得到模型的输入特征图。

2.2 实验评估指标

评估指标旨在估计模型对未知数据样本的泛化准确性。笔者采用的评估指标为:混淆矩阵、精确率(Precision)、召回率(Recall)、F1分数和准确率(Accuracy,Acc)。其中混淆矩阵用于比较评价结果与实际标签的信息,如表1所示。

表1 评价结果混淆矩阵

其中,TP,FP,FN,TN是指真正类、假正类、假负类和真负类样本的数量。虽然该表显示的为二分类,但是将正例视为评价结果(优、合格、不合格)中的某一类,将负例视为评价结果的其他两类,即可将二分类问题转化为文中的三分类问题。根据这些值就可以计算精确率、召回率和F1分数,如下式所示:

(7)

(8)

(9)

(10)

2.3 实验平台及参数设置

该文提出了一种基于改进的DenseNet卷积网络的固井质量评价新方法,其实验以Python3.8编程语言实现,在Windows10操作系统下运行,使用的深度学习框架为Pytorch,所用GPU的具体规格为NVIDIA GeForce RTX 2070,内存为8 GB。

提出的网络模型参数设置如下:batch_size=32,采用Adam优化器,初始学习率设置为0.001,初始学习率衰减系数为0.005,随迭代次数的不同而减小,权重衰减率为0.000 1。

2.4 模型改进措施的验证

为检验各种改进措施的效果,笔者针对改进的DenseNet网络模型设置了消融实验,以考察改进模型的准确率、F1分数、参数量的变化情况。

图7 消融实验的准确率曲线

改进措施如下:措施1:缩减DenseNet的网络层数;措施2:在DenseBlock前添加多尺度卷积层;措施3:在各个DenseBlock中嵌入CBAM机制。分别针对原始网络模型DenseNet,使用措施1的SDenseNet,使用措施1,2的MSDenseNet,使用措施1,2,3的MSCDenseNet在消融实验下的性能表现差异进行考察。消融实验的准确率曲线如图7所示,精确率、召回率、F1数、准确率和参数量的变化如表2所示。

表2 改进的DenseNet模型在消融实验下的表现差异

可以看出缩减后的网络SDenseNet与原DenseNet相比虽然准确率下降了0.8百分点,但是F1分数提高了0.15百分点,模型参数量减少为原来的80%;添加了多尺度卷积层的缩减模型MSDenseNet相较于SDenseNet在准确率上提升了3.4百分点,F1分数提高了0.88百分点,但参数量变化较小;同时添加了多尺度卷积层和CBAM模块的MSCDenseNet模型F1分数最佳,为93.80%,准确率为95.86%,同时参数量变化较小可忽略不计。实验结果表明,设计的DenseNet网络采用的各项改进措施是切实有效的。

2.5 实际应用效果对比及分析

使用提出的改进DenseNet网络模型训练过程中准确率和损失值的变化曲线如图8所示。在训练集上的准确率最高为99%,验证集最高为94%;训练集上的损失值最低0.11,验证集最低为0.34。

图9给出了测试集评价结果所对应的混淆矩阵,横坐标对应模型的预测类别,纵坐标对应真实类别。可以看出三类结果均有误差,评价结果为优的准确率为97.26%,合格的准确率为95.51%,不合格的准确率为94.74%,而类别为优和不合格的样本更多的被模型误判为合格。为验证提出的方法与其他方法相比的优势,将支持向量机(SVM)、BP神经网络和笔者的改进DenseNet进行分析对比。其中SVM采用的核函数为高斯核函数,系数为0.001,错误项的惩罚系数为1;BP神经网络的网络层数为4,隐含层节点个数分别为1 024,1 024,2 048,优化函数为Adam,学习率为0.001,采用ReLU激活函数,实验结果如表3所示。可以看出,改进的DenseNet对每个样本的评价速度低于BP神经网络和SVM,模型参数量相对更大,但其F1分数比SVM提高了7.13百分点,比BP神经网络提高了9.8百分点;准确率相较于SVM提高了7.03百分点,相较于BP神经网络提高了10.8百分点。虽然时间复杂度和空间复杂度较高,但是保证了固井质量的评价精度。

图8 训练过程中准确率和损失函数的变化曲线

图9 测试集三类样本的混淆矩阵

表3 其他方法实验效果对比

对于以上实验结果,笔者给出如下简要分析。由图8(a)可知,训练集的准确率和验证集的准确率相差不大,说明文中改进DenseNet模型不存在过拟合问题,且泛化能力较好,由图8(b)可知,训练集和测试集的损失函数曲线较为平滑,说明文中模型具有较强的鲁棒性。图9中测试集固井质量评价的误差主要出现在类别优和合格、合格和不合格之间,原因在于类别为合格的数据特征与其他两类特征较为相似,会使模型产生一定的混淆。由于文中模型相较于同类模型既没有过多的网络训练参数,又能利用多尺度卷积层获取固井质量数据中更为全面的信息,还可以通过CBAM机制自适应地选择重要的对象和区域,从而有效提升了模型对固井质量的评价精度和速度。相对于BP神经网络和SVM,由于笔者提出的改进DenseNet模型参数较大,因此可以更好学习固井质量的数据特征,使得模型对其评价的准确率更高,但同时评价的速度也相对更慢。

3 结束语

改进的DenseNet网络模型在缩减了原有的DenseNet网络模型的基础上融合了多尺度卷积层和CBAM机制,可以同时获取固井质量特征图更多小尺度和大尺度图像特征,提高了网络对特征通道和空间位置的重视程度。与同类模型相比,改进的DenseNet在减少模型参数量,缩短训练时间的同时提升了固井质量的评价精度;与传统BP神经网络和SVM相比改进的DenseNet以牺牲时间复杂度和空间复杂度为代价,保证了固井质量评价的准确率。能否对固井质量准确评价不仅关系到油气开发的经济效益,更关系到后续的作业方案能否进行,因此应该把高准确性的评价精度作为首要目标。文中模型具有较高的准确性和可靠性,相对人工评价固井质量节省了大量的时间,其应用可以减缓固井专家繁重的工作,实现对固井质量的自动评价。但是目前改进的DenseNet对固井质量评价的准确率还有提升的空间,训练时间也相对较长,后期将对以上问题做进一步优化。

猜你喜欢

扇区固井测井
本期广告索引
分阶段调整增加扇区通行能力策略
八扇区水泥胶结测井仪刻度及测井数据处理
U盘故障排除经验谈
基于贝叶斯估计的短时空域扇区交通流量预测
几种固井质量评价仪介绍及其应用分析
重建分区表与FAT32_DBR研究与实现
关于固井循环温度的一点探讨
基于测井响应评价煤岩结构特征
中石油首个全国测井行业标准发布