BP 神经网络在储层产能预测中的应用与研究
作者: 郭鑫 赵广真
摘要:产能预测作为油气勘探开发中一个十分重要的环节,常常对预测模型与方法的预测精度效率有很高的要求,对指定合理的开采方案具有重要的指导意义。文章通过分析国内外各类储层产能预测方法,讨论影响储层产能的各类参数,并采用BP神经网络建立预测模型,采用均方根误差作为损失,从而探究BP神经网络在产能预测方面的效果表现。同时讨论BP神经网络方法相较于传统的多元线性回归法的预测精度和适用性,对于油气田开发中储层产能预测方法的进一步改进具有一定的指导意义。
关键词:BP神经网络;多元线性回归;储层产能预测;激活函数;参数调整
中图分类号:TP3-05;TP399;TE33 文献标识码:A
文章编号:1009-3044(2025)04-0027-05 开放科学(资源服务) 标识码(OSID) :
0 引言
储层产能是指油气储层在特定条件下可以生产出油气的能力,即储层中油气能够被经济、有效地开采并流出地层的潜力,它是由储层的自身条件、外部环境及油气性能共同决定的,是评价储层质量和开发可行性的重要指标[1]。因此储层产能的预测对于衡量油气藏的经济价值和开发前景、确定合理的开采方案、优化油田的生产效益具有重要的指导意义。
储层产能预测作为油气勘探开发中一个十分重要的环节[2],通过分析可靠的数据与资料,帮助决策人员更好地对地下油藏进行分析,从而制定更为准确高效的开采方案。但在实际预测过程中常常因为复杂的地质条件难以进行准确、有效的产能预测,常常导致油气藏开采浪费,因此找到一种更为准确高效的产能预测方法迫在眉睫。
在国外的研究中,产能公式首先提出时由于其近似性质引起严重误差从而受到限制,随后Vogel方程的提出,并应用于储层产能预测的计算方法沿用至今[3-4]。随着储层产能预测技术的进一步发展,各种储层产能方法层出不穷,例如:井温测井储层产能预测、电缆测井储层产能预测、双对数曲线拟合方法的储层产能预测以及使用电阻率表征储层流体流动能力进行产能预测[5-8]。
与国外相比较而言,国内在储层产能评价方面的研究起步相对较晚,但随着能源强国战略的提出,储层产能评价工作也越来越受重视,也出现了许多种富有成效的产能评价方法[9],比如无因次IPR方程对国内储层产能预测的方法[10-12],以及后续出现的以灰色理论为基础的预测模型[13-14]、Darcy模型、平面径向流模型、四点法和五点法等多种分支井网模型[15-17]和基于产量-时间递增关系建立的模型[18],这些模型的建立对国内储层产能评价具有重要的推进作用。
而随着机器学习与神经网络方法的兴起,其在许多领域内的表现效果都大大超过预期,作为传统能源行业,此类方法也逐渐广泛应用,例如:基于聚类方法的预测模型和人工神经网络产能预测模型[19]。深度学习就是对各种特征参数进行提取,从而达到预测或进行分类的效果。而储层产能的预测正是基于多种参数特征,孔隙度、脆性、渗透率、压力等参数从而预测的,因此,在构建神经网络储层预测的模型中,要综合评价这些参数特征,从而实现产能的智能预测。本文通过对BP神经网络模型的建立和改进,研究BP神经网络在储层产能预测中的应用,探究人工智能及机器学习在石油勘探和开发中的效果及改进策略,对后续交叉学科融合的研究具有重要的指导作用。
本文主要的研究内容是根据常规测井数据,运用Matlab软件从而对其进行产能分析预测,同时通过与其他方法的预测结果进行相关系数的比较分析,提出改良方法,主要步骤如下:收集并初步处理测井数据;使用Matlab软件实现模型的建立;调整模型中各种参数设定;引入测井数据进行预测;将BP神经网络算法与多元回归算法的预测结果进行对比分析;分析BP 神经网络算法的优缺点,提出改进策略。
1 网络的描述
1.1 BP 神经网络原理
BP神经网络,全称为反向传播神经网络,是一种前馈型、多层、全连接的神经网络模型[20]。它可以用于分类和回归等各种任务,是目前应用最广泛的神经网络之一[21-22]。BP神经网络可以学习并存储输入输出模式的对应关系,并且无须事先描述这种关系的数学方程,主要由输入层、隐层和输出层组成,如图1所示。
其中间层的神经元个数和深度都可以任意增加,从而进一步提高网络的精度,信号在网络中正向传播,而误差则反向进行传递。
1.2 数学原理
1) 正向传播
BP算法由正向传播和误差信号反向传播两个过程组成。在正向传播过程中,信号从输入层经过隐含层传递到输出层,每层神经元状态只能影响下一层神经元。每个连接上有一个相应的权重,通过计算隐含层的神经元的加权输入信号,即将每个输入值和相应权重相乘再求和,结果为一个标量。对于该标量,应用一个激活函数获得隐含层神经元的输出,递归地对隐含层的输出再进行加权和激活函数变换,得到下一层的结果,直到输出层。
假设BP网络的输入层有n 个节点,隐含层有q 个节点,输出层有m 个节点,输入层与隐含层之间的权值为vki,隐含层与输出层之间的权值为wjk,如图2所示。隐含层的传递函数为f1(x),输出层的传递函数为f2(x),则隐含层节点的输出为:
输出层节点的输出为:
通过以上过程BP网络就完成了n 维空间的近似映射。
2) 反向传播
经过每一轮的正向传播,如果输出层未达到期望输出,则进入误差信号反向传播路径。导入p 个学习样本,第p 个样本输入到网络后得到输出ykj (j=1,2,...,m)。采用平方型误差函数,tpj为期望输出,得到第p 个样本的误差Ep 和全局误差E。
1.3 激活函数
激活函数的引入目的是在模型中引入非线性的性质,没有激活函数,无论神经网络有多少层,最终都只是一个线性映射[23-24]。正因如此,我们需要引入非线性函数作为激活函数,利用其加强深层神经网络的表达能力,常用的三种激活函数的效果图如图3所示。
Sigmoid函数,也称为S型生长曲线,函数在用于分类器时,效果更好。
s (x) = 1/1 + e-x (13)
Tanh函数,解决了logistic中心不为0的缺点,但依旧有梯度易消失的缺点。
失的缺点。f (x) = ex - e-x/ex + e-x (14)
Relu函数是一个通用的激活函数,针对Sigmoid 函数和Tanh的缺点进行改进的,目前在大多数情况下使用。
f (x) = max(x,0) (15)
激活函数对每层的输出数据进行变换,进而为整个网络注入了非线性因素,通过给网络输出增加激活函数,使得网络模型可以逼近各种各样复杂函数的曲线,提升网络对复杂问题的拟合能力[25-27]。
1.4 损失函数
本文选取均方根误差(Root Mean Square Error,RMSE) 作为主要损失函数,用于优化模型参数,RMSE 可以看作是最小二乘法的一个结果,而最小二乘法找到的是平方误差最小的参数,RMSE则是在这些最优参数下计算的误差度量。可以说,RMSE是最小二乘法计算结果的一个直接表现。
要通过训练集构建一个初步的预测模型,就要找到现有样本之间的一个关系(即最接近与原始样本的一个函数模型) ,而这个函数模型与数据之间的误差就是损失,而本文使用RMSE进行损失函数的构建,同时可以与梯度下降法进行结合达到优化的效果。以二维梯度下降法来说,训练集预测函数的损失为e,w 为权重参数,模型损失函数L = (w,b)是关于权重w 和偏置b 的二元函数,wnew 为每次更新后的权重,bnew 为每次更新后的偏置,通过不断对参数进行更新,最终就会找到最优解使得损失最小,如图4所示。而多维梯度下降与二维梯度下降方法类似,需要更新的参数增加了。
2 算法实现与测试
2.1 开发工具与测井数据
利用Matlab的神经网络工具开发通用模拟,用于测井参数评价。如图5所示,为神经网络通用计算模块的界面,分训练和计算两部分。
将测井数据里的有效储层厚度、平均阵列感应、平均声波、平均密度、平均中子、平均孔隙度、平均渗透率、平均含气饱和度、平均TOC作为输入数据,一点法无阻流量为输出数据,共200组训练数据,如图6所示。
2.2 参数设置
输入输出设置:对输入层的数据控制(0,1) 或(-1,1) 之间,均匀分布,同时对数据较大的列数据进行对数计算。
中间层数设置:中间层数最好设置为输入层数的1.5到2.5倍。
迭代次数设置:默认设置为5 000,如果训练误差收敛快的话,最大迭代次数可以设置小一些,同样如果训练误差收敛慢的话,最大迭代次数可以设置大一些。
均方根误差设置:默认设置为输出数据的千分之一精度。
隐藏层参数设置:输入层神经元数为7个,设置中间层数为14。
2.3 训练流程
利用Matlab进行模型训练的主要操作如图7所示。
2.4 训练结果
经过上述流程,然后将训练的输入数据作为计算的输入,将计算出的结果与训练的输出数据比较,结果如图8所示。
3 方法对比
3.1 多元线性回归法
多元线性回归是一种常用的统计分析方法,用于描述两个或多个自变量和一个因变量之间的线性关系。其原理可以简述如下。
1) 建立模型:首先,确定一个因变量和多个自变量,建立一个线性回归模型。该模型的形式如下:
y = β0 + β1 x1 + β2 x2 + ...+ βn xn + ϵ (19)
其中,x1~xn 为自变量,β0~βn 是回归系数,ϵ 是随机误差项。
2) 估计参数:根据提供的数据计算回归系数,表示自变量和因变量之间的关系。多元线性回归通常使用最小二乘法来估计参数。
3) 模型拟合和预测:拟合模型后,使用该模型来预测因变量在给定自变量时的值。通过添加自变量和观察输出变量之间的关系,用多元线性回归来推断另一个未知变量的值。
4) 模型验证:验证通过计算误差、残差和决定系数等来评估模型的有效性和合理性。如果模型不合理,可以添加其他自变量或删除某些不必要的自变量,以改进模型。
3.2 应用方法分析
储层的产能与储层的孔隙度、渗透率和饱和度等地层物性特征有很强的相关性。并且,产能预测可以看成是一个变量与多个变量之间的相关关系,多元线性回归预测模型可以用于探究多个自变量对因变量的影响,从而对新的自变量进行预测,主要步骤如下:
1) 对测井参数厚度加权平均值与采油指数之间的关系进行分析。需要选择与储层产量具有较高相关性的储层测井参数,然后采用散点图等技术,分别建立各参数与采油指数的关系模型,如指数模型、线性模型、对数模型和幂模型等。
2) 建立采油指数和各测井参数之间的多元线性回归预测模型。通过多元线性回归分析,建立采油指数和各测井参数之间的多元线性方程。
3) 对比分析多元线性回归预测模型中预测的采油指数与实际采油指数之间的差异,以评估产能预测模型的可靠程度。
3.3 预测结果分析
将测井数据导入,利用regress函数进行多元线性回归预测,最后得出均方根误差为22.042 8,相关系数为0.553 5,训练效果对比,如图9所示。
以BP神经网络模型与多元线性回归法产能预测的均方根误差为0.004 8和22.042 8,相关系数为0.952 42 和0.553 5。由此可知对于这组测井数据的产能预测,BP神经网络模型显然是更为合适的预测方法。