基于RNN-FCNN的多尺度油水层识别方法①

2020-04-21 02:28胡家琦孙连山朱登明李国军
高技术通讯 2020年3期
关键词:层位油水测井

胡家琦 孙连山 石 敏 朱登明 李国军

(*陕西科技大学电子信息与人工智能学院 西安 710021) (**华北电力大学控制与计算机工程学院 北京 102206) (***中国科学院计算技术研究所 北京 100190) (****中国石油集团测井有限公司 西安 710065)

0 引 言

测井数据是油藏开采过程中不可或缺的重要资源。地质专家和工程师通过对测井数据的分析可以极大加深对地下情况的认知,因此测井数据是辅助工作人员寻找和评价油水层的重要资源[1-3]。随着测井技术的不断发展,与之相关的测井解释技术正逐步从定性、半定量的人工解释逐步走向借助计算机定量化解释的时代,相关的解释模型和解释效率也有了一定程度的提高[4-6]。

传统的油水层识别主要依赖于专家经验,专家通过对测井曲线的分析得到分层解释结论,但专家未知的地质模式则无法判别,得到的解释结论也有待商榷,并且整个识别过程需要耗费大量的人力物力。交会图版法也是层位识别的重要技术之一,其通过建立研究区深侧向电阻率与自然电位交会图识别油水层,但由于部分层位物性相近,图版中易出现混合区,故对于复杂地质条件的油水层识别存在局限[7]。随着大数据时代的到来,越来越多的学者提出使用数据驱动的方式实现油水层识别[8,9],以有效避免人为误差,提高生产效率。聚类分析法用于测井曲线解释,所需参数少,不易受参数影响,但该方法在样本量足够多时才能取得好的效果,从而限制了其实际应用[10]。支持向量机(support vector machine,SVM)在小样本、非线性和高维数据模式识别问题中能够有好的发挥,可以被用于测井数据分层,但这一方法在高精度分层问题上存在较大误差[11]。近年来学者开始尝试将不同的神经网络应用到测井分层解释问题中,美国哈里伯顿测井公司介绍了这种方法[12]。叶涛等人[13]利用神经网络判断地质断层取得了良好的效果,随后多位学者针对不同测井曲线利用神经网络对地质属性进行分析[14-16]。但是,目前这些基于机器学习的分层方法主要考虑一对一的映射关系,即针对单个采样点进行分析,而忽略了测井序列数据的纵向相关性,这不符合实际的地质学思想以及传统的地质分析逻辑。并且现有方法对“水层”、“含油水层”、“油水同层”、“油层”等不同层位进行统一识别,导致物性相近的层位难以区分,识别准确率低。

本文在充分分析测井数据特点以及现有油水层识别问题的基础上[17],对测井数据蕴含的信息进行充分挖掘利用,主要贡献在于提出基于循环神经网络(recurrent neural network,RNN)和全连接神经网络(fully connected neural network,FCNN)的多尺度油水层识别方法,该方法首先基于RNN构建粗粒度下“储层”和“非储层”的识别模型,然后通过串联多层FCNN以逐步细化识别尺度的方式完成“储层”内更细粒度的层位识别,该方法在油水层识别过程中,不仅可以节省大量的人力及时间成本,同时对测井数据所蕴含的层位信息进行了更充分的挖掘,较好地解决了物性相近层位识别易混淆的问题,提高了油水层识别的准确率。

1 相关工作

1.1 测井数据

测井数据是利用不同测井仪由测井电缆下入井内,沿着井筒等间隔记录随深度变化的各种参数[18]。通过表示各类参数的曲线反映不同地层的岩性、物性,是一种典型的序列数据[19]。通过对测井数据特征提取及敏感因子分析,共有7条测井曲线对层位识别有影响,分别为自然电位(SP)曲线、自然伽马(GR)曲线、岩性密度(DEN)曲线、中子孔隙度(CNL)曲线、声波时差(AC)曲线、深侧向电阻率(LLD)曲线和浅侧向电阻率(LLS)曲线。测井曲线的具体表示如图1所示。

1.2 全连接神经网络

FCNN是由大量神经元相互连接构成的一种分布式并行信息处理模型,其通过模仿人类神经的行为特征,模拟输入与输出之间的非线性映射关系,从而到达复杂信息处理的目的[20]。

(图中◆代表SP,■代表GR,□代表CAL,▲代表DEN,▼代表CNL, ▽代表AC,○代表LLS,●代表LLD,下同)图1 测井数据表示

FCNN的基本架构由神经元、权重和偏置3个部分组成,其中神经元是一种按照层状分布的计算单元,每个神经元与其临层中的所有神经元相互连接,同层神经元之间不连接[21]。对于某个神经元来说,假设来自其他神经元i的信息为xi(i=1,2,…,n),它们与该神经元的互连权重为wi,则该神经元的输出为

(1)

其中,xi为第i个神经元的值,wi为权重,b为偏置项,f为激活函数,它决定了神经元的输出。常用的激活函数有sigmoid函数、tanh函数和ReLU函数等[22]。

通过不断学习调整网络内部神经元之间的相互连接关系,使模型达到一个处理信息的较优状态。图2展示了一个典型的3层FCNN结构。

图2 3层FCNN结构示意图

1.3 循环神经网络

尽管FCNN可以根据任意函数建模,但其仅适合处理固定维度的输入和输出,且所有的输入和输出之间相互独立,因此其无法针对序列数据有效建模,无法考虑前后数据之间的关联性,因此对连续存在的测井数据建模存在一定的局限[23]。

测井数据作为一种典型的序列数据,随着一口井深度的不断增加,前序采样点的属性信息与后续采样点的属性信息之间存在相关性,前序采样点所属层位会对其后采样点产生一定影响。在RNN中,一个序列当前的输出与前序的输出也有关,具体表现为网络会对之前的信息进行记忆并应用于当前输出的计算中,即隐藏层的神经元之间不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。RNN最大的特点是“记忆”单元,它可以捕获一个序列的重要信息。因此,RNN是对测井数据建模较适合的网络。图3为RNN结构及其展开结构图,该循环结构是RNN与FCNN的主要区别。

图3 RNN及其展开结构示意图

图3中,xt-1、xt、xt+1和ot-1、ot、ot+1分别代表不同时刻的输入和输出。st是时刻t的隐状态,即网络的“记忆”单元,通过前一个时刻的隐状态st-1和当前时刻的输入xt计算。U、V、W为所有时刻的共享参数,该参数共享的特点反映出RNN在每一时刻都执行相同的任务,仅仅是输入不同,此机制极大减少了需要学习的参数数量,使模型更加简单。式(2)和式(3)分别描述了当前时刻的隐状态及输出的计算。

st=f(Uxt+Wst-1)

(2)

ot=softmax(Vst)

(3)

其中,函数f为激活函数,softmax函数将输出映射为概率分布的形式。

2 多尺度油水层识别

2.1 多尺度识别框架

对于测井数据而言,多尺度识别相当于在不同数据域上对不同层位特征的提取。由于不同层位的物性不同,因此它们反映在测井曲线上的响应存在差异,其中物性相近的层位在测井曲线上的响应差异较小。针对该测井数据的特点,本文根据层位的物性对模型的识别尺度进行划分,具体的尺度划分如图4所示。

图4 尺度划分示意图

如图4所示,首先,由于“储层”中具有连通空隙,允许油水在其中储层,而“非储层”相反,所以它们物性差异最大,同时表现在测井曲线上响应差异最大,因此在尺度1上首先对这2类进行识别;接着,在第2个尺度将对“储层”进行详细划分,“储层”中包括“干层”、“水层”、“含油水层”、“油水同层”以及“油层”5个层位,根据层位的含水量多少可以将其分为两大类,即“水层、含油水层”和“干层、油层、油水同层”;最后,在每一类中再依据含水量或含油量进行更细尺度的识别。在基于测井数据的多尺度油水层识别方法中,“储层”与“非储层”的识别是后续更细粒度层位识别的基础。

2.2 粗粒度“储层”与“非储层”识别

对于测井序列数据而言,前序采样点的层位信息会影响其后采样点,即前序采样点如果是“储层”,其后采样点也极有可能为“储层”。图5为基于RNN的“储层”与“非储层”识别过程示意图,通过RNN的循环结构可以充分地提取测井数据中蕴含的层位特征信息。

图5 “储层”与“非储层”识别过程示意图

图5中,S0为初始隐状态。t时刻的输入为ACt,CNLt,…,SPt,即某一深度的测井曲线值。输出Pt是模型判断该深度属于“储层”或“非储层”的概率,由上一时刻的隐状态St-1和该时刻输入的测井数据得到。再根据该时刻的隐状态St及下一时刻的输入判断下一时刻采样点的所属层位,如此循环。

由于地质条件的复杂性,随深度加深,测井曲线在一些层位变化不明显,导致邻层测井数据数值相近,从而层位特征提取困难。为了适应测井数据的特点,本文在传统RNN的基础上对“重复网络”部分的结构进行了改进,将原RNN的单隐层修改为2个RNN记忆层和1个全连接层的结构。双记忆层将测井数据的序列信息提取得更完整,再通过全连接层将信息进行整合,从而更全面地提取测井序列的特征、学习测井序列的模式。图6描述了具体的隐层结构,图中隐状态S1和隐状态S2分别为本文改进RNN的2个“记忆”单元,FC为全连接层。

2.3 “储层”内细粒度识别

在“储层”与“非储层”的识别基础上,需要对“储层”进行更细粒度的识别。“储层”中,“水层”和“含油水层”、“油水同层”和“油层”的物性相近,在多条测井曲线上的响应差异小,属于难分层位,统一识别不易区分。因此,本文先将难分层位视为一大类,接着在难分层位内继续识别,直至所有油水层识别完毕。由于难分层位测井数据相似度高,多尺度识别法通过对难分层位内数据的标准化操作放大数据间的差异性,尽可能减小数据在空间上分布的混合区。式(4)描述了测井数据标准化方法。

图6 改进RNN隐层示意图

(4)

(5)

(6)

在一个区块内,由于储层的非均质性,采样过程中会导致部分层位样本量较少。在进行更细粒度的层位识别时,极易因样本量少的层位所包含的特征过少,从而很难从有限的样本中提取足够多的地层信息,即使可以提取有限的地层信息,也容易造成模型过度依赖有限的数据样本从而导致过拟合的问题。在油水层识别这一问题中,本文重点关注“油层”等含油层的识别,为了保证这类储层的识别率,需要对这类层位的样本集进行扩充以达到充分学习的目的。SMOTE算法可以解决各层位样本不均衡的问题[24]。其通过某个采样点与其近邻点之间插值的方式生成新样本,再根据每个层位采样点的数量决定生成样本的密度。具体生成如下式:

xi1=xi+ζ(xi(nn)-xi)

(7)

其中,xi为某层位的一个采样点,xi(nn)为其k近邻中的随机样本点,ζ为0和1之间的随机数,xi1是生成的该层位新样本点。

在“储层”与“非储层”识别结果的基础上,本模型通过串联多层FCNN的方式实现“储层”内部更细粒度的油水层识别。完整的油水层识别网络结构如图7所示。

图7 “储层”内细粒度识别网络结构示意图

3 实验结果与分析

本文油水层识别方法首先基于RNN建立粗粒度“储层”和“非储层”的识别模型,再通过逐步细化识别尺度的方式在“储层”内实现进一步的层位识别。据此,本文设计并开展了两组对比实验,即本文改进RNN、FCNN对“储层”和“非储层”的识别对比实验;RNN-FCNN多尺度油水层识别、基于RNN的单一尺度油水层识别对比实验。

3.1 实验数据

本文采用某区块真实测井数据开展实验。如图8所示,实验数据选用该区块均匀分布的55口直井的测井数据。由于不同井深测井数据差异较大,为了减小这种差异性给层位识别带来的负向影响,本文选用所有实验井口的同一深度段作为实验井段。

图8 实验区域井位分布图

实验所选测井段深度范围为500~1 200 m,测井段总长700 m,采样间隔为0.1 m,故每口井共7 000个采样点。模型以AC、CNL、DEN、GR、LLD和LLS这7条测井曲线作为输入,识别概率作为输出。实验选择所有实验井中的一口井作为测试井,其余井作为训练井(本文后续实验均以Y44井作为测试井)。

3.2 “储层”与“非储层”识别对比实验

3.2.1 实验描述

设置本文改进RNN的隐状态为60维,为了防止模型过拟合,提高模型的泛化能力,加入dropout层,即在模型训练过程中每层随机丢弃50%的神经元;模型的序列长度为400,即40 m,意味着每一个采样点前方40 m范围内的采样点会对该采样点的所属层位产生影响。

3.2.2 实验结果说明

本文改进RNN、FCNN针对Y44井“储层”和“非储层”识别结果对比示意图如图9所示(图中所展示的结果为Y44井的部分深度段识别结果)。图9中,左3列为Y44井的测井曲线,随深度变化在不同地层会产生不同的响应;OG result列代表原始地层,即某个深度段的真实层位,该列中有标注的深度段属于“储层”,未标注的深度段属于“非储层”;最右2列分别为本文方法和FCNN的识别结果,其中倒数第2列表示本文方法识别出的储层段,倒数第1列表示FCNN识别出的储层段。

3.2.3 实验结果分析

从图9中标注的②、③、④虚线框的识别结果对比来看,FCNN分别出现了漏识、少识、误识的情况,而本文方法在相同深度段没有出现类似问题,说明其在对测井数据进行分析处理时相较于没有考虑空间关联性的方法,能更好地挖掘序列数据间关联信息的隐藏模式,较准确地提取测井曲线在“储层”和“非储层”的重要特征,忽略干扰因素的影响。

图9 Y44井“储层”“非储层”识别结果对比

虚线框①反映出2个模型对于极薄层的识别都存在误识的情况,即593.3~594.0 m深度段的“非储层”被误识为“储层”。由于该层仅0.7 m,这种极薄层在连续变化的测井曲线上响应相对较弱,故而模型较难从测井数据中提取到相关信息,容易出现将极薄层误识为其相邻层位的情况。

如图9中虚线框⑤所示,模型在层位分界点处存在误差。表1详细描述了本文方法和FCNN对于Y44井“储层”识别的深度段,其中每列分别描述了真实储层段以及2种方法识别储层段的起始深度和结束深度(表中“—”代表未能识别出的情况)。由表1所列可得,FCNN识别的储层段起始深度和结束深度的误差最大为2.4 m,最小为0.1 m,本文方法的识别误差最大为0.7 m,最小为0 m,远小于前者的识别误差。图10具体展现了2种方法的识别误差对比(其中“-1”代表未能识别出的情况)。综合表1及图10的结果来看,在大部分层位,本文方法对于层位分界点处的识别较FCNN误差更小,说明本文方法在层位分界点处更敏感,有更好的层位边界识别效果。

表1 Y44井“储层”与“非储层”识别结果

图10 2种方法在各层识别误差

3.3 多尺度与单一尺度油水层识别对比实验

本实验分别使用基于RNN-FCNN的多尺度油水层识别方法和基于RNN的单一尺度识别方法识别Y44井的油水层,并比较2种方法对该井油水层的识别结果。

3.3.1 实验描述

该实验区域储层内共有“干层”、“水层”、“含油水层”、“油水同层”以及“油层”5个层位。基于RNN-FCNN的多尺度识别法,首先识别Y44井的“储层”及“非储层”,接着在“储层”内做进一步的识别。基于RNN的单一尺度识别即对所有层位进行统一识别。表2描述了2种方法的识别结果对比。

3.3.2 实验结果分析

从表2描述的识别结果来看,本文采用的基于RNN-FCNN的多尺度识别方法相较于传统单一尺度的识别方法准确识别的层位数更多。在表2所列出的深度段中,即便基于RNN-FCNN的方法在630.0~635.0 m将“含油水层”误判为“水层”,666.0~670.0 m、 945.0~946.3 m将“油层”误判为“油水同层”,但在识别易混淆的16个层位当中,本文方法准确识别13个层位,较单一尺度识别方法准确识别的层位更多。这说明在逐步细化识别尺度的过程中,模型能更好地学习各层特征。表2所列层位的识别准确率如图11所示。

表2 Y44井多粒度与单一粒度油水层识别结果

图11 2种方法识别准确率

4 结 论

本文讨论了目前地质领域油水层识别的研究现状,并根据当前油水层识别现存问题,结合测井数据特点,综合实际应用需求,提出了基于RNN-FCNN的多尺度油水层识别方法,并将该方法应用到实际的测井数据当中。该方法以某区块Y44井为例,首先利用测井序列数据在空间上的关联性识别“储层”和“非储层”,其次,在“储层”内进行更细粒度的分析和识别。实验结果表明,本文方法能够有效地利用测井数据进行油水层识别,协助地质专家了解地层分布情况,从而达到油藏开采降本增效的目的。

由于本文方法在部分层位分界点处仍存在一定误差,并且该方法对少部分薄层识别不够敏感。对此,未来工作将在分界点处的数据特征以及薄层识别方面做进一步研究。

猜你喜欢
层位油水测井
本期广告索引
基于样本选取和多种质控的地震层位智能拾取
涡北煤矿综采放顶煤运输巷层位布置的探讨分析
油水两相流超声波衰减测试方法
卡拉麦里山前石炭系火山岩序列层位归属及分布研究
基于测井响应评价煤岩结构特征
随钻电阻率测井的固定探测深度合成方法
误区:维生素K需补充,但要远离“油水”
油水(双语加油站●跟我学)
中石油首个全国测井行业标准发布