基于径向基神经网络的油藏反演方法
2023-05-30周子琪查文舒李道伦刘旭亮
周子琪, 查文舒, 李道伦, 刘旭亮
(合肥工业大学 数学学院,安徽 合肥 230601)
油藏反演,即油藏历史拟合[1-3],是油藏工作人员和地质工程师进一步了解油藏地下流体特征、预测油田生产动态、制定油田开发方案的重要手段之一[4-6]。为了使预测结果尽可能接近油藏的实际情况,需要进行油藏历史拟合,即根据现场实测的实际生产数据对油藏参数进行反演和修改。油藏历史拟合是获得多种可靠的油藏模型并进行预测的有效途径。油藏反演是指获得一组油藏参数,如孔隙度、渗透率等,使模拟油藏模型计算的数据与实际数据相符。油藏历史拟合有助于发现和修正油藏描述数据中的误差,改进模型以及验证油藏描述的可靠性。因此,需要花费时间和精力评估拟合结果,确定其是否符合预期。
根据开发过程和实现方法,油藏历史拟合可被分为人工历史拟合和自动历史拟合2类。人工历史拟合采用“试错法”,即油藏工程师根据数值模拟计算值与油藏实际观测值之间的偏差,对1个或多个油藏参数进行人工分析和修改,以减少历史拟合误差[7-8]。实际油藏一般有很多参数,而高精度油藏模型有大量网格。人工历史拟合法主观性强,耗时长,效率低。因此,计算机和优化算法被引入到油藏历史拟合中,完成自动调整油藏参数的工作,形成了自动历史拟合技术[9-10]。
油藏自动历史拟合始于20世纪60年代。文献[11]首次使用回归分析代替“试错法”,由此开创了自动历史拟合的研究。1973—1992年是自动历史拟合研究的形成阶段,该阶段引入了非线性回归方法、梯度算法和最优控制理论[12-13]。1993—2002年是自动历史拟合研究的发展阶段。自动历史拟合的基本方法已经从直接法、梯度法发展到随机法、智能算法,逐步形成了一系列启发式的自动历史拟合方法[14-16]。近年来,集合卡尔曼滤波被用于油藏历史拟合[17-19]。集合卡尔曼滤波是一种递归过滤器,适用于有大量参数的问题。
自动历史拟合方法主要包括目标函数[20]和优化算法2个部分。目标函数定义为模型的计算值与观测值之间的偏差,可以通过响应面模型、样条法、克里金法或基于克里金法的多项式加扰动的组合得到[21-22]。响应面法[23]出现于20世纪90年代初。它的基本思想是通过构造一个具有明确表达式的多项式来近似真实的函数关系,通过对多项式的分析,寻求最优工艺参数,解决多变量问题。20世纪90年代,响应面法被引入油藏工程[24]。在响应面问题中,通常采用多项式函数进行逼近。由于响应变量与解释变量之间是非线性关系,用高阶多项式模型近似可能会出现龙格现象,并且随着变量数量的增加,计算成本也会以几何级数增长。
径向基函数(radial basis function,RBF)以空间距离为自变量。由于它的简单性和各向同性,近年来得到了迅速的发展,并在分散数据处理、微分方程求解等领域得到了广泛的应用。对于多元问题甚至高维问题,它比其他类型的基函数具有明显的优势。RBF神经网络最初是由Moody和Darken在1989年提出的[25]。它属于前向神经网络类型,能够以任意精度逼近任意连续函数,处理系统中难以处理的分析规律。此外,该方法具有较好的泛化能力,学习收敛速度较快。RBF神经网络已成功应用于非线性函数的逼近等问题。虽然有一些类似于RBF神经网络技术的方法,如支持向量回归[26],但这些方法复杂、计算成本高。
优化算法主要分为2大类:基于梯度的优化算法和进化类算法。梯度算法通过对目标函数中的未知参数进行微分来寻找最优值[27-30]。进化算法是一种基于种群的优化算法,如模拟退火算法[31]、神经网络算法[32]、粒子群(particle swarm optimization,PSO)算法[33]和遗传算法[34]。相对于基于梯度的算法容易陷入局部极小值,进化算法是一种更稳定、适用性更广的全局优化算法。
本文提出一种基于RBF神经网络和PSO算法的油藏反演方法。首先比较多项式拟合方法和RBF神经网络方法在相同试算次数下的拟合结果;然后减少试算次数再次比较;最后通过实例验证了RBF神经网络方法的有效性。
1 油藏反演方法
1.1 多项式拟合
多项式拟合的原理是找到近似的多项式曲线y=φ(x),使其与y=f(x)的偏差最小,其中f(x)经过给定数据点pi(xi,yi),i=1,2,…,m。近似曲线在点pi处的偏差为δi=φ(xi)-yi,i=1,2,…,m。最小二乘法是最常用的方法,是根据偏差的最小二乘原则选择拟合曲线,即
(1)
多项式拟合通常用二次多项式拟合。给定数据点(xi,yi),i=1,2,…,m,用二次多项式φ(x)=a0+a1x+a2x2作为近似曲线,均方误差为:
(2)
通过求极值得到拟合曲线的正规矩阵方程:
(3)
1.2 RBF神经网络
RBF的基本思想是将低维线性不可分数据映射到高维空间,使其在高维空间中线性可分。与传统神经网络算法不同的是,RBF神经网络不需要训练全局连接权值,只调整影响输出值的一些重要权值,提高了训练速度。
RBF神经网络的结构是一种3层前馈网络。第1层为输入层,包括信号源节点;第2层为隐含层,隐含层单元的转换函数为RBF,是对中心点径向对称、衰减的非负非线性函数;第3层为输出层,是对输入模式做出的响应。输入层空间到隐含层空间的变换是非线性的,而隐含层空间到输出层的空间变换是线性的。
在大多数情况下,高斯函数被设为RBF,具体表达式为:
G(x)=exp(-d2/2σ2)
(4)
其中:d为矢量到各隐含层中心的距离,距离节点越近,对节点输出的影响越大;σ为控制高斯函数平滑度的平滑因子。
网络的输出层对RBF作用的结果采用线性加权和的形式。最后高斯RBF神经网络的输出为:
(5)
RBF神经网络的总体结构如图1所示。
图1 典型的RBF神经网络结构
神经网络训练包括2个阶段:无监督学习和监督学习。利用无监督学习方法得到高斯RBF的中心和方差,利用监督学习方法(即最小均方误差)得到隐含层对输出层的权值。具体内容如下。
(1) 选取训练样本集中的m个样本作为m个RBF的中心。
(2) 求解方差,公式如下:
(6)
其中:dmax为所选中心之间的最大距离;m为隐含层节点数。
(3) 用最小均方误差计算隐含层与输出层之间神经元的连接权值。计算公式如下:
W=Φ+d
(7)
Φ+=(ΦTΦ)-1ΦT
(8)
其中,d为期望的输出值。
1.3 目标函数
在油藏反演中,地层和井筒参数未知,而压力已知。油藏反演的目标是找到一组地层和井筒参数,使在这组合适的地层和井筒参数下,模拟的压力数据等于或接近实测的压力数据。因此定义1个目标函数反映模拟值和实际测量值之间的误差。
目标函数通常以加权平方和的形式表示,具体表达式为:
(9)
1.4 优化算法
因为油藏反演问题最初被考虑为最优控制问题[27],所以一系列优化算法被应用到油藏反演中,包括基于梯度的算法、进化类算法等;不同的优化算法适用于不同的油藏。本文将PSO算法应用于油藏反演中。
PSO算法是一种随机搜索方法,它来自于对鸟类狩猎行为的研究。在PSO优化算法中,每个优化问题的解都像搜索空间中的1只鸟,称之为粒子。每个粒子都有1个由优化函数决定的适应度值,每个粒子都有1个速度,这个速度决定了它们飞行的方向和距离;然后粒子跟随当前的最优粒子搜索解空间。
PSO优化算法从一组随机粒子(随机解)出发,通过迭代得到最优解。在每次迭代中,粒子通过跟踪2个“极端”来更新自身。第1个是粒子自身找到的最优解,称为个体极值pbest;另一个极值是目前为止所有粒子中的最优解,这个极值是全局极值gbest。用变量pbest来记录个体搜索的最优解,用gbest记录整个群体在一次迭代中搜索的最优解。粒子速度和位置的更新公式如下:
vi+1=ωvi+c1rand()[pbest(i)-
zi+c2rand()(gbest-zi)]
(10)
zi+1=zi+vi+1
(11)
其中:vi为第i个粒子的速度;ω为惯性权重;c1和c2为学习参数;rand()为0~1之间的随机数;pbest(i)为第i个粒子搜索的最优值;gbest为搜索整个集群的最优值;zi为第i个粒子的当前位置。
标准PSO算法的步骤如下。
(1) 初始化PSO,包括种群大小N,每个粒子的位置xi和速度vi。
(2) 计算每个粒子的适应度值fi。
(3) 对每个粒子的适应度值fi与个体极值pbest(i)进行比较。若fi>pbest(i),则将pbest(i)替换为fi。
(4) 对于每个粒子,将其适应度值fi与全局极值gbest进行比较。若fi>gbest,则将gbest替换为fi。
(5) 根据(10)式和(11)式更新粒子的速度和位置。
(6) 若满足结束条件(误差足够小或达到最大循环次数),则退出算法;否则返回步骤(2)。
1.5 油藏反演方法步骤
油藏反演方法的步骤如下。
(1) 确定油藏反演的不确定参数及其范围。
(2) 用拉丁超立方抽样法确定试算算例。
(3) 利用油藏数值模拟软件计算井底压力、压力变化及压力导数。
(4) 利用步骤(3)中的数据构造高斯RBF神经网络,并定义目标函数。
(5) 利用PSO算法最小化目标函数,得到1组不确定参数值。
(6) 利用步骤(5)中获得的不确定参数值,计算井底压力、压力变化和压力变化导数;然后将计算数据与实测数据进行比较。
2 油藏反演方法对比实验
本节对多项式拟合方法和RBF神经网络方法进行比较。
2.1 模型描述
矩形油藏中心为一口直井,如图2所示,其中存在5个不确定参数:油藏渗透率K、区域渗透率K1、井筒储量C、井表皮系数S和复合半径R。
图2 矩形油藏模型
2.2 相同试算算例数的拟合结果对比
首先,采用拉丁超立方抽样法确定120组试算算例;然后,将每组试算算例带入油藏数值模拟软件中,计算相应的井底压力值;最后,根据井底压力值可以计算压力变化和压力导数数据。
将120组试算算例的第1组算例作为实际值。分别进行多项式拟合和运用RBF神经网络方法。
多项式拟合采用最小二乘法对其余119组试算算例进行拟合,构造多项式函数;RBF神经网络方法将RBF的中心距离值d设为1,利用其余119组试算算例构建有10个隐含层的高斯RBF神经网络。利用实际数据值和多项式函数或高斯RBF神经网络定义目标函数;在得到目标函数后,利用PSO算法获得不确定参数的最优值;最后将估计的不确定参数输入到油藏数值模拟软件中,产生井底压力、压力变化和压力导数数据。
基于多项式的拟合结果如图3所示, 基于RBF神经网络方法的拟合结果如图4所示。从图3、图4可以看出,基于多项式拟合的压力导数在0.5~1.0 d之间拟合效果不佳,而基于RBF神经网络的拟合结果较好。结果表明,RBF神经网络方法优于多项式拟合方法。
图3 基于多项式的自动拟合结果
图4 基于RBF神经网络的自动拟合结果
2.3 减少试算算例数的拟合结果对比
在最小二乘多项式拟合中,为了使得到的多项式具有唯一性,需要保证试算算例数大于等于多项式项数;否则最小二乘多项式拟合方法将失效。然而用RBF神经网络方法可以解决多项式拟合方法的这个缺点,RBF神经网络方法只需要较少的试算算例。为了验证这一点,逐渐减少试算算例数,分别分析最小二乘多项式拟合和RBF神经网络方法的拟合结果。本文考虑2种情况:① 将试算算例数减少1/2;② 将试算算例数减少至20组。
为了将试算算例数减少1/2,采用拉丁超立方抽样生成了60组试算算例数。同样将第1组作为实际值,分别用最小二乘多项式拟合和RBF神经网络方法反求不确定参数。对应的井底压力、压力变化及压力导数拟合结果如图5和图6所示。
图5 算例数为60时基于多项式的自动拟合结果
图6 算例数为60时基于RBF神经网络的自动拟合结果
从图5、图6可以看出,最小二乘多项式拟合的压力导数在0.1~2.0 d之间拟合得不好,而RBF神经网络方法拟合结果较好。结果表明,当样本数据减少1/2时,RBF神经网络方法仍然可以得到很好的结果,而最小二乘多项式拟合得到的结果不好。
当试算算例数减少到20时,最小二乘多项式拟合失效。然而RBF神经网络方法仍然可以得到很好的结果,RBF神经网络方法的结果如图7所示。这说明RBF神经网络方法是一种高效的油藏反演方法。
图7 算例数为20时基于RBF神经网络的自动拟合结果
3 实际案例研究
3.1 油藏模型描述
在大庆油田某区块中选择1组井群进行油藏反演。大庆油田是我国最大的油田,也是世界上为数不多的特大砂岩油田之一。它由52个油气田组成,含油面积约为6 000 km2,自开发以来,取得了良好的开发效果。
该区块从1965年开始开发,成为大庆地区的主要油藏[35]。井群如图8所示,其中共有7口井,平均厚度5.8 m。需要反求的不确定参数为:层渗透率K、红色标记区域的渗透率K1和水饱和度sw、生产井7井的井筒储量C和井表皮系数S。它们的取值范围分别为[500 mD,2 000 mD]、[1 000 mD,3 000 mD]、[0.5,0.8]、[0.1 m3/MPa,1.0 m3/MPa]和[0,3]。
3.2 拟合结果
根据1.5节中的步骤,由拉丁超立方体抽样生产120组试算算例,然后反求不确定参数值,不确定参数值的反求结果被代入油藏数值模拟软件中拟合得到压力、压力变化和压力导数,如图9所示。
图9 实际案例的自动拟合结果对比
由图9可知,RBF神经网络方法在该实际案例中得到的曲线拟合结果良好,由此验证了该方法的有效性。
4 结 论
本文提出了一种基于RBF神经网络的油藏反演方法。首先确定不确定参数,将拉丁超立方抽样生成的试算算例输入到油藏数值模拟软件中生成井底压力数据;然后建立RBF神经网络,拟合压力变化和压力导数;在此基础上定义了表示计算值与实际观测值之间偏差的目标函数;最后采用PSO优化算法对目标函数进行优化,得到不确定参数的最优解。本文还对设计的油藏模型进行了模拟,比较了最小二乘多项式拟合和RBF神经网络方法,并将RBF神经网络方法应用于油藏反演,得到了较好的拟合结果。与最小二乘多项式拟合相比,RBF神经网络方法具有更高的精度且不需要较多的试算算例数。在相同试算算例数下,RBF神经网络方法的拟合结果一般优于最小二乘多项式拟合。当试算算例数减少到最小二乘多项式拟合失效的数目时,RBF神经网络方法仍能得到很好的拟合结果。通过实际案例验证了本文方法的有效性,且精度高,所需试算算例数少,具有比较广阔的应用前景。