基于多层感知器的流体识别
2021-04-30王伟明
张 涛,赵 军,韩 东,王伟明
(西南石油大学 地球科学与技术学院,四川成都 610500)
储层流体识别是对储层中流体类型的识别与描述,同时也是众多学者研究的热点问题之一。储层流体识别,能为后期储层开发技术前提,结合储层分类为储层开发提供有效手段。针对流体识别,已有前人做了大量的研究,利用测井资料以及储层参数建立其识别手段,常用的方法包括交会图法,统计建模法等[1-2]。随着计算机智能化的加强,深度学习,BP神经网络,决策树算法,支持向量机等各种数据挖掘算法评判储层流体识别被广泛运用。针对本地区低渗储层的物性相对较差,含油气性较差,地震资料品质差,且测井资料受多种因素的影响,综合运用多种方法建立储层流体识别模型,在测井交会图版法优选的敏感参数的基础上,将这些敏感参数作为输入数据,利用多层感知器的高度非线性全局作用与自学习功能,建立研究区低渗储层流体识别模型。
1 基本地质特征
文昌A凹陷是南海北部大陆边缘中珠江口盆地下珠三拗陷的一个次一级构造单元,同时该凹陷的地理位置的表现中为西部与文昌C、文昌B凹陷相连,北部与阳江低凸起相接,南部与神狐隆起相邻,受珠三断裂的控制,文昌区地层发育较为完整,自下而上发育了古近系神狐组、文昌组、恩平组、珠海组和新近系珠江组、韩江组、粤海组、万山组以及第四系地层。其中珠海组是勘探开发中的主要地层,珠海组是文昌A凹陷下的低渗油气的储集层段,在沉积时期经历大规模海侵,使得盆地由湖盆向潮坪转化,整体演变成潮坪沉积环境,同时受到潮汐作用的影响伴生发育了扇三角洲沉积。
2 研究区流体测井响应特征
研究区内测井资料根据多种测录井解释方法与MDT测试、试采及生产数据的联合结果,将研究区开发井的所有层段划分为水层、气层和气水同层3类。不同的流体,在测井响应上的表现不尽相同。根据测井响应中的特征分析,研究区的测井参数与储层流体性质之间无法建立常规的线性相关,单一的测井响应无法准确识别研究区的储层流体性质,同时各参数之间存在一定的相关性,容易造成影响。为了消除各因素的相关性,同时为了放大各流体性质之间的差异,将不同参数做不同的处理,得到不同的效果分析。但是依据人工解释时,其结果有较强的人为操作因素,准确性有待加强。可以利用多层感知器建立测井响应特征或测井参数之间的处理结果与储层流体性质之间的非线性映射关系,准确识别储层流体性质。
3 多层感知器原理
随着深度学习的加强,多层感知器被广泛运用在语音识别、图像识别、机器翻译等领域中。随着多层感知器反向传播算法的运用,多层感知器可以拟合复杂的函数,也能解决分类问题。本文基于多层感知器的流体识别模式,建立本地区低渗储层流体识别模型。
3.1 MLP原理
多层感知器MLP(MulTI-layerPerceptron)是一种前向反馈的人工神经网络,同时也叫深度前馈网络。MLP具有映射的性质,可以将MLP看作有向图,由输入向量到输出向量,同时输入向量与输出向量之间的数据点,视为节点。在同性质的向量数据点中构成节点层,进行数据的传输,网络数据由输入节点向下层传输的过程中,其他节点是带有激活函数的神经元。神经网络的训练算法是模型运用最为重要的环节,MLP训练中采用BP反向传播算法,有监督的方式训练能克服不可分数据识别的弱点。
一个前馈神经网络可以包含三种节点。
输入节点:同时也叫输入层,主要是将特征信息与输入节点之间进行关联,为后一步隐藏节点传递信息,并为后一步计算提供数据支撑。
隐藏节点:同时也叫隐藏层,是将特征信息进一步加工的节层点,将输入节点传输过来的数据进行计算,同时将计算后的信息传递到输出节点,隐藏节点的多少对计算的速度与收敛有着密切的关系。
输出节点:也叫输出层,作为传递信息中最后一环,进一步将数据进行计算,向网络外部传递信息。
MLP与单层感知器的对比,其输出层由单一变成多个,且由上述节点分析中得知,两层结构中多出一项隐藏层,其中隐藏层是在输入层与输出层之间,隐藏层的层数与输入节点和输出节点有关。
3.2 MLP训练过程
训练过程分为两个阶段:分为前向传播与反向传播阶段。在前向传播阶段中,层与层之间通过传播输入信号获取有用信息,最后到达输出端。利用权值及输入与输出的过程,在这过程中输入节点传入的输入信号限制在网络中的隐藏层节点信号的输出上。而反向传播阶段是训练过程中最为重要的一环,通过比较网络输出与期望输出产生的误差信号,将这个误差信号通过网络层层传播,这次信号传播是从输出层反馈到输入层,是一次反方向的传播,其目的是对权值进行校正。在上述训练过程中,网络产生了两种信号,分为函数信号与误差信号,在前向传播过程中输入层产生一个输入信号,通过整个网络最后到达输出层,这个输入信号也被称为函数信号。而误差信号是在反向传播过程中,输出层产生一个输出信号,逆向传播到输入层,由于网络中的每个节点对这个信号的计算都涉及误差依赖函数,这个输出信号也叫误差信号。在训练过程中同时伴随着两种信号的出现。MLP中除去输入层,隐藏层与输出层神经元经常对信号进行两种计算,这两种计算分别是计算信号与计算梯度,其中计算信号的表征为输入信号与权重的非线性函数;另一种表征为在误差反向传播过程中,计算误差传播梯度向量,反向通过网络。
人工神经网络需要学习,针对不同的问题,采用不同的学习方式,在多层感知器中主要分为批量学习与在线学习。在MLP监督学习训练中需要不断调整权重,以期达到最优模型值,在权重调整中样例出现之后,批量学习用来统计推断解决回归问题。感知器的权重调整是在样例的基础上展开的,通过对实例运用在线方法的权值校正,算法能够更快执行,且针对分类问题能够供有效解。
在多层感知器的监督训练的在线学习中,常采用BP神经网络算法误差逆传播的特点来调整网络。MLP相邻层节点之间有权重与偏置,通过BP神经网络的不断调节权重与偏置,最后达到预期的输出值。
3.3 MLP激活函数
MLP的激活函数可以是任意函数,在网络中常使用阶梯函数或者逻辑乙形函数,但是在反向传播过程中为了进行有效学习,函数要为可微函数。可微函数中逻辑乙形函数与双曲正切函数具有很好的可微性,被用来作为激活函数。由于数据学习量较多,为解决计算梯度,本文采取的激活函数为双曲正切函数。基于上述原理,利用测井响应特征与常规图版分析得到的储层流体识别的敏感参数,建立多层感知器识别模型,分别选取在测井响应分析中利用的全烃异常值、深侧向电阻率RD、中子CNL、深浅侧向电阻率的比值以及密度变化率与中子变化率之比,作为敏感参数的输入数据,利用双曲正切函数解决梯度消失问题,同时设置模型的隐含层数为一层,流体分类模型结果为输出的多层感知器模型。
3.4 实验验证
实验数据选取的为文昌区珠海组的MDT测试、试采及生产数据,气层测试点数据113个,气水同层85个,水层77个,建立的流体类型数据,与基于上述理论研究,选取样本数据建立预测模型,得到储层流体识别结果(表1)。
表1 MLP流体识别结果
在训练集中气层数据有84个样本,气水同层63个样本数据,水层57个样本数据被正确分类,准确率达到94.22%,同样气层数据中有6个样本被误判为气水同层,水层数据中有4个样本被误判为气水同层。在测试集中25个气层样本数据。19个气水同层样本数据,18个水层样本数据被准确识别,准确率高达87.52%。
4 应用实例
以文昌区珠海组某口井为例,根据测井数据并结合取心资料,利用多层感知器MLP实际处理并对比其生产数据,检验效果。在文昌区1井的测量深度段为3 830~3 900m的测试气中显示的流体的性质为气层,根据其测井响应特征,在交会图中的识别中大部分为气层,有一部分显示为气水同层,而多层感知器的识别中,显示的是气层,无气水同层。根据测试段的生产结论,该段生产中不含水,这表明多层感知器的解释模型相较于常规的测井交会图法较为符合该段的流体性质识别。
5 结论
利用常规测井响应特征建立的储层流体识别图版,气水同层与气层的识别相对模糊。在交会图法的基础下,筛选出的测井敏感参数,为多层感知器提供输入数据,增加了预测的精度和进一步提高了泛化能力。多层感知器模型的识别的准确率为87.52%,较为符合该地区的流体识别的精度要求,同时也为其他地区的流体识别提供借鉴。