基于双向循环神经网络的河流相储层预测方法及应用
2020-03-30朱剑兵王兴谋冯德永隋志强
朱剑兵,王兴谋,冯德永,隋志强
(中国石油化工股份有限公司胜利油田分公司物探研究院,山东东营257022)
河流相储层广泛存在于实际勘探开发中,是油气勘探的重要对象之一。由于曲流河频繁改道,沉积砂体在纵、横向上变化大,准确确定有利储层的分布范围对油田勘探开发具有重大的实际意义。传统的河流相储层预测方法主要包括:①地震属性分析方法[1],此类方法直接利用地震振幅、频率、相干、曲率等能反映河道特征的属性进行储层预测;②多属性优选方法[2-5],此类方法采用主成分分析,K-L变换等多属性降维方法,对多种地震属性特征进行综合分析,形成能够反映河道特征的新属性;③地质统计学习方法,此类方法通过对井点已知储层样本等先验信息的学习,建立储层预测模型,再利用支持向量机[6-8],BP神经网络[9-11]等方法预测储层;④地震反演方法[12-13],此类方法将低频地震资料和高频测井资料在模型框架下进行融合,得到能够反映储层信息的波阻抗或岩性数据。上述方法在一定程度上指导了河流相的储层预测,但随着数据量的增长和对储层预测精度要求的提高,河流相储层预测仍然是制约勘探的重要因素之一。
深度学习作为机器学习领域新的研究方向,在特征提取和模型预测方面都展现出强大的能力,也为储层预测提供了新的思路和方法。许多研究人员尝试将卷积神经网络等深度学习方法应用于岩性、油气储层预测,并取得了一定的效果[14-21]。双向循环神经网络(bi-recurrent neural network,BRNN)是在循环神经网络(recurrent neural network,RNN)基础上发展起来的一种深度学习方法。它由两个RNN上下叠加组成,弥补了单一RNN无法提供上下文信息的缺陷,可高效提取时序数据的非线性特征。BRNN在语音识别、语言建模以及机器翻译等领域有着良好的应用。本文尝试利用BRNN预测河流相储层,首先将地震数据看作在纵向上具有联系的时间序列,以井点处的储层信息和地震多属性特征为输入样本,在地层沉积序列的约束下构建双向循环神经网络,然后通过优选网络参数建立储层预测模型,最后实现储层分布空间预测,该方法在CD地区馆上段地层河道砂储层预测中取得了良好的应用效果。
1 双向循环神经网络的构建
1.1 循环神经网络结构
循环神经网络是双向循环神经网络的基础。在传统的神经网络中,输入层与隐藏层之间是全连接的,但隐藏层之间的节点是无连接的,使得输入层节点间无法通过隐藏层建立联系,从而不能解决一些需要联系上下文的问题,比如当预测句子的下一个单词是什么时,一般需要用到前一个单词,因为一个句子前后单词并不是独立的。循环神经网络会记忆前面的信息,保存网络的内部状态,并应用于当前输出的计算中,即隐藏层的各个节点之间有连接,隐含层的输入不仅包含输入层的输入还包含上一时刻隐含层的输出。RNN的主要网络结构包括输入层、隐藏层和输出层,将RNN按照时间展开可以得到如图1所示的网络结构。
该网络的中间节点在t时刻接收到xt的同时还接收了上一个节点的输出,当隐藏层的值为st时,st的值不仅仅取决于xt,还取决于st-1。
图1 循环神经网络按时间展开结构
我们可以用公式(1)来计算当前时刻t循环神经网络的输出层和隐藏层:
(1)
式中:xt表示输入层向量;st表示隐藏层的值;U为输入层到隐藏层的权重矩阵;ot为输出层向量;V为隐藏层到输出层的权重矩阵;W为上一时刻隐藏层的值到下一时刻输入层的权重矩阵;f为非线性激活函数,一般为ReLU函数;g为分类函数,一般采用softmax函数。f和g具体的函数形式为:
(2)
式中:K为类别数,本文为2值分类,即储层和非储层;zj为特征向量z的第j分量值;g(z)j为特征向量z映射到(0,1)的概率值。
1.2 双向循环神经网络结构
从循环神经网络结构可以看出,该网络只能沿单一方向传播,即隐藏节点st只能利用时序过去时刻的信息而无法利用未来时刻的信息。为了克服这一缺点,提出双向循环神经网络,其基本思想是将输入层和输出层用两个向前和向后的循环神经网络连接,这个结构能够为输出层提供每一个输入节点的上下文信息。地层上下围岩的岩性组合存在一定的相关性,利用上下文的信息有助于降低储层预测的多解性,为此设计了针对储层预测的双向循环神经网络,将多个地震属性作为输入层,不同时刻的地震波形对应不同的输入节点,井点处的储层和非储层样本为输出层,储层标记为1,非储层标记为0,隐藏层利用双向循环网络对每个隐藏节点建立上下联系,本文通过如下隐藏层建立地震属性和储层之间的映射关系,并同时考虑上下层间的沉积时序关系,所建立的双向循环神经网络结构如图2所示。
利用公式(3),(4),(5)表示这种网络关系:
图2 双向循环神经网络结构
(3)
(4)
(5)
2 样本构成及网络模型训练
2.1 样本数据准备
样本数据来自CD地区的馆上段地层,主要包括原始地震数据、地震属性数据、井储层标记信息等。地震属性数据包括振幅类、频率类、相位类、构造类数据等。地震属性数据和原始地震数据具有相同三维空间分布,样本标记信息由井点处的岩性数据和试油数据确定,砂岩和砾岩被认为是储层,含油和含水层也视作储层,其它为非储层,储层标记为1,非储层标记为0。利用100余口井的样本标签和时深关系,可以将所有井对应的样本标记可视化,结果如图3所示,其中连续的黑色方块表示储层,连续的白色方块表示非储层,可以很直观地看到储层与非储层相间分布,且长短不一。
收集整理18个原始地震数据及分角度叠加数据体,提取振幅、频率、相位、构造等各类地震属性数据体,共计201个,数据量为1.1TB。一方面,并非每一个地震数据体都能真实反映地下地质情况,它们包含真实信息和无效的噪声;另一方面,各属性之间并非相互独立,基本上均为波形信息在某个方面的反映,存在大量的数据冗余。因此必须加强地震属性与储层的相关性研究,优选有效特征属性,减少数据冗余度。在属性提取的基础上,我们利用XGboost展开属性优选,XGBoost是Gradient Boosting算法的优化版本,主要通过迭代逐步优选特征属性,XGBoost算法思想是将许多弱分类器集成在一起构建一个强分类器。特征的重要性评价以该特征在强分类器中的作用为标准,如果某个特征在所有弱分类器中作为有效分类特征的次数越多,那么该特征就越重要。统计所有分类器中地震属性的有效划分次数,可得到每个地震属性的重要性评分值,再基于上述评分值对地震属性的重要性进行排序,可以得到地震属性的优选结果,图4为排名前30的地震属性优选结果。
图3 储层和非储层样本空间分布情况
图4 地震属性优选结果
图4横坐标依次为30个地震属性,纵坐标为地震属性的重要性评分值,根据评分值优选出76个与储层相关性大于50%的属性数据作为模型训练的特征数据,这样每一口井的储层标记都可以对应76维的特征数据,即:
yi=f1(A1,A2,…,Ai)
(6)
式中:yi为储层或非储层标记;Ai为地震属性值;i=1,2,…,76;f1为通过网络训练得到的非线性映射函数。
整理样本数据,得到目的层段内构建的储层样本7358个,该层段内构建的非储层样本12111个。不同于传统机器学习点对点的样本构成,双向循环神经网络的样本是序列对序列的输入,可以在学习过程中建立上下文的联系。
2.2 数据预处理
为了得到可用作模型训练的输入数据,构建完样本数据集后,需对数据进行归一化处理。归一化处理方法主要包括高斯归一化(gauss normalization,GN)和线性归一化(minMax normalization,MN)方法,需要注意的是,不同的地震数据体有不同的归一化参数,因此归一化处理需要针对同一个地震数据体。高斯归一化和线性归一化的处理公式分别如下:
(7)
(8)
2.3 超参数和优化方法选择
超参数是在开始模型训练前需要确定的模型参数,超参数通常需要人工调整。双向循环神经网络模型中的超参数主要包括RNN层数、优化方法、RNN Cell类型、RNN Cell中的隐层节点个数、计算节点随机丢弃率等,需要选取合适的归一化方法和损失函数,并通过大量实验来确定最优超参数。本文BRNN模型主要采用梯度下降的方法展开优化,梯度下降的方法包括随机梯度下降(stochastic gradient decent,SGD)方法、Momentum、Adagrad、RMSProp、Adam优化器等,本文采用的Adam优化器属于自适应动量的随机优化方法,因最小化交叉熵计算时比其它损失函数更适合分类优化算法,故该方法将最小化交叉熵损失作为损失函数,其损失函数为:
(9)
式中:θ*表示损失函数,即目标函数;m表示训练样本数量;xi表示第i个样本的特征;yi表示第i个样本的标记;hθ表示深度学习系统;hθ(xi)(0 通过模型训练为设计好的双向循环神经网络模型选择参数和调整权重,模型训练的对象包括训练集、验证集和测试集3部分,占比分别为60%,10%和30%;使用训练集训练,选取在验证集上误差最小的超参数组合,可得到最优模型;在测试集上分别对高斯、线性归一化处理方法得到的模型效果进行测试,得到的训练误差和验证误差曲线如图5所示,BRNN隐藏层数分别为1,2,隐层单元个数分别为16,32,共8组测试参数组合分别在训练集和验证集上进行训练。 图5 采用高斯(a)、线性(b)归一化处理方法得到训练误差和验证误差曲线 将每组参数模型得到的若干统计量用于评价参数模型的效果,计算公式为: (10) 式中:β是参数;P是精确率;R是召回率。当β=1时,Fβ为最常见的F1_Measure评价指标,当β<1时,表示更重视精确率,当β>1时,表示更重视召回率。在实际应用中,精确率比召回率更重要,因此取β<1,同时记录模型收敛时验证集的交叉熵损失,将该损失按从小到大进行排序,再将最大的误差和最小的误差对应的参数组合,得到的优选超参组合如表1所示。 表1 优选超参组合 根据接收器操作特征(receiver operating characteristic,ROC)曲线评价已训练好的BRNN模型性能(图6),ROC曲线的纵坐标为真阳性率(true positive rate,TPR),即召回率,值越大表示模型效果越好;横坐标为假阳性率(false positive rate,FPR),表示负样本中被识别为真的概率,值越小表示模型效果越好,因此曲线越靠近左上角则表示模型效果越好。ROC曲线下方的面积(area under curve,AUC)为0.676,AUC值可直观地评价分类器的好坏,值越大表示模型效果越好。将训练后的BRNN模型应用于所在目的层的地震数据,可预测储层分布概率。 图6 BRNN模型的ROC曲线 如图7所示,模型预测过程是将沿目的层的地震属性数据作为输入数据,因层位上的每个点都对应一个优选后的76维地震特征向量,故可利用训练后的模型将76维地震特征向量转化为储层概率。 分别采用3层神经网络和BRNN两种方法将所有层位上的点依次输入训练后的模型,得到的预测结果如图8所示。可以看出,采用两种方法均能清楚地预测主河道的分布形态,但采用BRNN方法能够更加清楚地预测一些局部的细小河道。 图7 模型预测过程示意 图8 采用不同方法沿目的层河流相储层进行模型预测的结果a 3层神经网络; b BRNN 将剖面上所有点的地震特征数据作为输入,通过模型预测可以得到过井储层预测概率剖面(图9)。图中红色曲线为自然电位曲线,剖面中不同颜色代表不同的预测储层概率值,红色代表储层的可能性最大,黄色次之,绿色代表储层可能性较小,蓝色代表非储层的概率高,可以看出,储层总体呈下厚上薄的分布特点,这与实际沉积规律吻合,其下部为较厚的辫状河砂体,上部为较薄的曲流河沉积砂体。对比自然电位曲线与预测结果可知,上部泥包砂特征的砂体与自然电位曲线特征一致,而下部厚层砂体受样本数量以及地震特征多解性强的影响,局部存在与自然电位曲线不一致的现象。 图9 过井储层预测概率剖面 1) 双向循环神经网络通过两个方向隐藏层节点间的连接,建立上下文的联系,符合地质沉积的有序性。将地震数据及其属性作为时序数据输入,结合井点处的储层信息,通过机器学习方法优选属性,减少人为属性优选的困扰,构建针对河流相储层的双向循环神经网络预测模型,该模型能够较好地关联储层上下层之间的关系,降低储层预测多解性。相较于传统的3层神经网络方法,基于双向循环神经网络的河流相储层预测方法在CD地区的河流相储层预测中具有良好的应用效果,对细小河道的预测更加精细,提高了储层预测的精度。 2) 相较于传统的储层预测方法,基于双向循环神经网络的储层预测方法是一种有监督的特征学习方法,其预测效果取决于样本的数量和质量,如果样本数据多且地震特征具有代表性,则训练模型的预测精度高。样本数据的不确定性和数量不足是制约双向循环神经网络等深度学习方法实际应用效果的重要因素。通过不断增加样本数量和质量,可以进一步提高储层预测的精度。2.4 模型训练
3 模型应用
4 结论