油藏开发效果预测模型的构建方法与流程

文档序号:11217024 阅读:517 来源:国知局
油藏开发效果预测模型的构建方法与流程
本发明涉及油气勘探开发
技术领域
,具体地说,涉及油藏开发效果预测模型的构建方法。
背景技术
:针对缝洞型油藏进入开发中后期的井,单井注水替油等改善开发效果的方法逐渐失效的现状,矿场开展了单井注气提高开发效果的试验,并取得了一定的效果。截止到目前,没有任何能够定量预测缝洞型油藏单井注气开发效果的方法。这导致不能对选择哪些油井进行注气提供较为准确的参考依据。bp神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一,被广泛用作分类、聚类、预测等领域。bp神经网络在预测油田酸压效果、储层产能、地层孔隙度、聚合物驱后增产效果等方面有过成功应用的先例。然而,传统的bp神经网络每次都以随机数作为网络初值,不能记录上次的计算成果,这导致了其训练结果不稳定,不同训练结果相差巨大。因此,传统bp神经网络需要大量的历史数据作为支撑。如果训练样本数太少,则无法真实有效的刻画训练样本的核心规律。目前缝洞型油藏实施单井注气矿场试验的时间短,井数较少,远远达不到传统bp网络所需的数据量。技术实现要素:为解决上述问题,本发明提供了一种油藏开发效果预测模型的构建方法,所述方法包括:步骤一,利用已知油藏开发数据对初始神经网络进行k折交叉训练,得到对应于k组验证数据的k组网络参数;步骤二,根据所述k组网络参数和k组验证数据,计算对应于k组验证数据的k组误差数据;步骤三,根据所述k组误差数据计算各组网络参数的权重,并根据所述权重对所述k组网络参数进行加权平均,得到平均网络参数,根据所述平均网络参数确定出优化后的神经网络,从而构建得到油藏开发效果预测模型。根据本发明的一个实施例,对神经网络进行k折交叉训练的步骤包括:将所述已知油藏开发数据划分为k组,得到k组数据;遍历地将所述k组数据中的其中一组数据作为验证数据,并将其他k-1组数据作为训练数据,利用训练数据对神经网络进行训练,得到对应于各组验证数据的网络参数。根据本发明的一个实施例,初始神经网络的网络参数为随机数。本发明还提供了一种油藏开发效果预测模型的构建方法,所述方法包括:步骤一,将第i循环的平均网络参数作为第i+1循环中预设神经网络的初始网络参数,并利用已知油藏开发数据对预设神经网络进行k折交叉训练,分别计算得到第i+1循环中对应于k组验证数据的k组临时网络参数和k组第一误差数据;步骤二,分别将第i+1循环中的k组第一误差数据与第i循环中的k组第二误差数据比较,依照比较结果从第i+1循环中的k组临时网络参数和所述第i循环中的k组网络参数确定第i+1循环中对应于k组验证数据的k组网络参数;步骤三,重复上述过程,直至满足预设迭代终止条件,并根据迭代终止时的k组网络参数和k组误差数据计算迭代终止时的平均网络参数,从而得到优化后的神经网络,进而构建得到油藏开发效果预测模型。根据本发明的一个实施例,根据如下表达式计算所述第i循环中各组网络参数的权重数据:其中,λi,j第i循环中对应于第j组验证数据的网络参数的权重数据,ei,j表示第i循环中对应于第j组验证数据的误差数据。根据本发明的一个实施例,在所述步骤二中,对于各组验证数据来说,如果其第i+1循环的第一误差数据小于其第i循环的误差数据,则将第i+1循环的临时网络数据作为其第i+1循环的网络数据,否则将第i循环的网络数据作为其第i+1循环的网络数据。根据本发明的一个实施例,所述预设迭代终止条件包括:当前迭代的对应于k组验证数据的k组误差数据与前一迭代的k组误差数据均对应相等。根据本发明的一个实施例,预设迭代终止条件还包括:迭代次数达到预设迭代次数阈值。根据本发明的一个实施例,对神经网络进行k折交叉训练的步骤包括:将所述已知油藏开发数据划分为k组,得到k组数据;遍历地将所述k组数据中的其中一组数据作为验证数据,并将其他k-1组数据作为训练数据,利用训练数据对神经网络进行训练,得到对应于各组验证数据的网络参数。根据本发明的一个实施例,初始神经网络的网络参数为随机数。本发明带来了以下有益效果:本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要的附图做简单的介绍:图1是根据本发明一个实施例的构建油藏开发效果预测模型的流程图;图2是根据本发明一个实施例的对神经网络进行k折交叉训练的流程图;图3是根据本发明另一个实施例的构建油藏开发效果预测模型的流程图。具体实施方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本 发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不用这里的具体细节或者所描述的特定方式来实施。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。bp神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一,其被广泛用作分类、聚类、预测等领域。在预测油田酸压效果、储层产能、地层孔隙度、聚合物驱后增产效果等方面有过成功应用的先例。例如,部分研究人员利用传统bp神经网络对塔河油田缝洞型碳酸盐岩储层的酸压效果进行了预测研究,部分研究人员利用传统bp神经网络对塔河油田缝洞型碳酸盐岩储层的产能进行了预测研究,部分研究人员则利用传统的神经网络方法针对碳酸盐岩地层孔隙度测井值建立样本集利用bp神经网络预测了碳酸盐岩地层的孔隙度,还有部分研究人员则对比了bp神经网络和支持向量机两种方法预测油井实施聚合物驱后的增产效果。通过分析可知,bp神经网络也可以应用于缝洞型油藏单井注气提高开发效果的预测。然而,传统bp神经网络每次训练都以随机数作为网络初值,不能记录上次的计算成果,这导致了其训练结果不稳定,不同训练结果相差巨大。因此,传统bp神经网络需要大量的历史数据作为支撑。如果训练样本数太少,则无法真实有效的刻画训练样本的核心规律。目前缝洞型油藏实施单井注气矿场试验的时间短,井数较少,远远达不到传统bp网络所需的数据量。针对上述问题,本发明提供了基于k折交叉训练来构建油藏开发效果预测模型的方法,该方法针对目前缝洞型油藏单井注气样本数极少的特点,能够充分利用珍贵的样本数据,从而提高传统bp神经网络非线性规律拟合的能力,进而达到高准确度预测结果的效果。以下通过不同的实施例来进一步说明本发明所提供的方法的原理以及实现过程。实施例一:图1示出了本实施例所提供的构建油藏开发效果预测模型的流程图。如图1所示,本实施例所提供的方法首先在步骤s101中利用已知油藏开发 数据对初始神经网络进行k折交叉训练,得到对应于k组验证数据的k组网络参数。具体地,图2示出了本实施例中在步骤s101中利用已知油藏开发数据对初始神经网络进行k折交叉训练的流程图。从图2中可以看出,在对初始神经网络进行k折交叉训练时,首先在步骤s201中将已知油藏开发数据划分为k组,从而得到k组数据。本实施例中,自然数k优选地配置为4。当然,在本发明的其他实施例中,根据实际需要,k还可以配置为其他合理的自然数(例如[3,8]中的其他合理值等),本发明不限于此。当得到k组数据后,在步骤s202中遍历地将k组数据中的其中一组数据作为验证数据,并将其他组数据作为训练数据,利用训练数据对初始神经网络进行训练,从而分别得到对应于各组验证数据的网络参数。本实施例中,在步骤s202中拿出大部分样本来对神经网络进行训练,并利用余留的小部分样本(例如任意一组数据)对训练得到的神经网络进行验证。具体地,假设在步骤s201中将已知油藏开发数据划分为4组数据(即k=4),现将前k-1=3组数据作为训练数据,将第4组数据作为验证数据。将初始神经网络的网络参数(即初始网络参数)设置为随机数,利用训练数据对初始神经网络进行训练,这样就得到对应于该组训练数据的一组网络参数。利用相同方法,遍历地将每一组数据均作为训练数据,那么将得到对应于各组训练数据的网络参数,即共得到4组网络参数。再次如图1所示,当在步骤s101中得到对应于k组验证数据的网络参数后,该方法将在步骤s102中根据k组网络参数和k组验证数据,分别计算对应于k组验证数据的k组误差数据。本实施例中,在步骤s102中,对于各组验证数据而言,在计算对应的误差数据时,首先将验证数据中的输入数据输入到训练好的对应于该组验证数据的神经网络中,这样便可以由网络输出相应的输出数据,随后计算验证数据中的数据数据与神经网络的输出数据的误差标准差,由此便得到了对应于该组验证数据的误差数据。得到k组误差数据后,在步骤s103中根据k组误差数据计算各组网络参数的权重。本实施例中,优选地通过分别将步骤s102中所得到的k组误差数据的倒数进行归一化来计算各组验证数据的权重。其中,如果验证数据的误差数据越小,那么该组验证数据的权重就将越大。具体地,本实施例中,各组验证数据的权重可以通过如下表达式计算得到:其中,λj和ej分别表示第j组验证数据的权重和误差数据。得到各组验证数据的权重后,在步骤s104中便可以利用这些权重对k组网络参数进行加权平均,从而得到优化后的网络参数,进而得到优化后的神经网络,该优化后的神经网络即为所需要构建的油藏开发效果预测模型。本实施例中,优化后的网络参数n可以根据如下表达式计算得到:其中,nj表示对应于第j组验证数据的网络参数。实施例二:图3示出了本实施例所提供的构建油藏开发效果预测模型的流程图。如图3所示,本实施例所提供的方法首先在步骤s301中将已知油藏开发数据划分为k组,从而得到k组数据。本实施例中,自然数k优选地配置为4。当然,在本发明的其他实施例中,根据实际需要,k还可以配置为其他合理的自然数(例如[5,10]中的合理值等),本发明不限于此。在步骤s302中将初始神经网络的网络参数设置为随机数,并将初始误差数据设置为无穷大,并在步骤s303中将外循环标志位i设置为0,内循环标志位k设置为1。在步骤s304中,利用第i轮的平均网络参数作为第i+1轮中神经网络的初始值,将第k组数据作为验证数据计算此时该组验证数据的第二误差数据。本实施例中,在步骤s304中,对于各组验证数据而言,在计算对应的第二误差数据时,首先将验证数据中的输入数据输入到神经网络中,这样便可以由网络输出相应的输出数据,随后计算验证数据中的数据数据与神经网络的输出数据的误差标准差,由此便得到了对应于该组验证数据的第二误差数据。在步骤s305中,将k组数据中除第k组数据外的其他数据作为训练数据来对神经网络进行训练,从而得到第i+1轮中对应于第k组验证数据的临时网络参数。同时,基于与步骤s304相同的原理,同样可以计算得到第i+1轮中对应于第k组验证数据的第一误差数据。在步骤s306中,将步骤s305中所得到的第k组验证数据的第一误差数据与步骤s304中所得到的第k组验证数据的第二误差数据进行比较。如果步骤s305中所得到的第k组验证数据的第一误差数据大于s304中所得到的第k组验证数据的第二误差数据,那么则表示由上一轮的网络参数确定出的第k组验证数据的误差数据较优,因此此时在步骤s307中将上一轮的网络参数和对应的误差数据作为本轮的结果,即将第i轮第k组验证数据的网络参数ni,k和对应的误差数据ei,k作为第i+1轮第k组验证数据的网络参数ni+1,k和对应的误差数据ei+1,k。即存在:ni+1,k=ni,k(3)ei+1,k=ei,k(4)如果步骤s305中所得到的第k组验证数据的第一误差数据小于或等于s304中所得到的第k组验证数据的第二误差数据,那么则表示由上一轮的网络参数确定出的第k组验证数据的误差数据较差,因此此时在步骤s308中将步骤s305中得到的临时网络参数和第一误差数据作为第i+1轮第k组验证数据的最终网络参数ni+1,k和对应的误差数据ei+1,k。随后在步骤s309中判断k是否小于或等于k。如果k小于或等于k,那么则表明k组训练数据没有遍历完成,因此令k=k+1后进入下一循环;否则表明k组训练数据遍历完成,此轮内循环结束,此时将执行步骤s310,以根据各组验证数据的误差数据计算第i+1轮中各组验证数据的权重,并根据权重和对应于各组验证数据的网络参数计算第i+1轮的平均网络参数。本实施例中,在步骤s310中优选地通过分别将所得到的k组误差数据的倒数进行归一化来计算各组验证数据的权重。其中,如果验证数据的误差数据越小,那么该组验证数据的权重就将越大。具体地,本实施例中,各组验证数据的权重可以通过如下表达式计算得到:其中,λi+1,k表示第i+1轮中对应于第k组验证数据的网络参数的权重,ei+1,k表示第i+1轮中对应于第k组验证数据的误差数据。得到各组网络参数的权重后,在步骤s310中便可以利用这些权重对k组网络参数进行加权平均,从而得到第i+1轮中优化后的网络参数,即第i+1轮的平均网络参数。本实施例中,第i+1轮优化后的网络参数ni+1可以根据如下表达式计算得到:为了判断是否达到预设迭代终止条件,本实施例所提供的方法在步骤s311中判断第i+1轮的各组网络参数的权重是否与i轮的各组网络参数均对应相等。如果相等,则表明第i+1轮的所有临时网络参数都不如上一循环中得到的平均网络参数优秀,因此可以直接跳出并执行步骤s313。而如果不相等,则在步骤s312中进一步判断是否达到预设迭代次数,即是否满足i<i。如果i<i,则表明当前迭代没有达到预设迭代次数,因此令i=i+1后返回步骤s304以进行下一轮迭代;否则表明此时达到预设迭代次数,那么此时将终止迭代并执行步骤s313。在步骤s313中,将第i+1轮的品滚挽留过参数作为最终优化后的网络参数,从而实现油藏开发效果预测模型的构建。为了更加清楚地表明本实施例所提供的方法的原理、实现过程以及优点,以下以塔河油田缝洞型油藏40口注气井为例进行说明。以塔河油田缝洞型油藏40口注气井为例。在利用本实施例所提供的k折双循环神经网络训练方法进行注气提高开发效果预测前,首先要确定预测指标体系、训练样本的量化数据。注气井的地质背景、注气前开采状况、注气参数及周期产油量等动、静态资料,构建了如表1所示的预测指标体系。其中,储集体类型、底水能量、井储关系、是否过通源大断裂、储量规模、注气前采出程度、注气量等作为输入参数,周期注气量作为输出参数。表1将40口注气井的预测指标,按照下列方法进行量化:①储集体类型:溶洞型储集体赋值1,裂缝-孔洞型储集体赋值0.5。②井储关系:位于储集体上部赋值1/4,位于储集体中部赋值1/2,位于储集体下部赋值3/4。③是否过通源大断裂:过通源大断裂赋值为1,不过通源大断裂赋值为0.5。④底水能量、储量规模和采出程度均通过油藏工程方法计算得出。⑤注气量为实际注气施工数据。⑥周期产油量为注气井在一个注气周期内的实际产油量。40口注气井的预测指标的量化结果见表2。表2在准备好训练样本数据的基础上,利用本实施例所提供的k折双循环神经网络训练方法进行注气提高开发效果预测,及具体步骤如下:(1)对数据样本进行分组选取th10104井作为预测样本,其余39口井作为训练样本。首先设定k折份数为4份,校验次数5次,隐藏层数5层,每层节点数30个,训练次数20000次。将所有已知数据随机分为4组,即设定k折参数为4。其中一种分组方式如表3所示:表3其中,第一组内的已知数据为9口井,其余每组内的已知数据都为10口井。(2)k折循环训练步骤1选取其中第一组数据作为验证组,以其他三组数据作为训练组,可以训练得到一个阶段性神经网络的中间值。表4验证样本组组1训练样本组组2,组3,组4本次训练结果神经网络n1.1其中n1.1代表本次迭代训练出来的网络参数的组合。(3)k折循环训练步骤2其次选取其中第二组数据作为验证组,以其他三组数据作为训练组,可以训练得到另一个阶段性神经网络的中间值。表5其中n1.2代表本次迭代第二次训练出来的神经网络参数的组合。以此类推完成所有4折循环训练过程,得到n1.1,n1.2,n1.3,n1.4四个参数。(4)分别计算误差数据通过k折分组训练,可以得到本次迭代的全部阶段性神经网络参数:n1.1,n1.2,n1.3,n1.4。然后分别使用对应的验证样本组,计算拟合误差的均方值。表6验证样本组神经网络参数预测误差的均方值组1n1.1e1.1组2n1.2e1.2组3n1.3e1.3组4n1.4e1.4(5)神经网络的加权平均根据分别计算的临时神经网络的均方误差,加权平均得到本次循环的迭代综合网络参数:(6)迭代寻优将加权平均后的神经网络重新作为网络初值,带入下一个轮次的第k折循环训练过程。可以得到对应于第k组训练数据的新的神经网络临时参数n2,k。经过与对应的验证组测试后,容易得到新的预测误差的均方值e2,k。对本次计算所得的均方误差与上一轮次的均方误差进行对比,如果e2,k<e1,k,则说明本次迭代中第k折的循环训练过程找到了更优的神经网络参数,可以直接将n2,k作为本次寻优的结果;如果e2,k≥e1,k,则说明本次迭代中第k折的循环过程没有找到更优的神经网络参数,因此直接使用上个迭代循环的计算结果覆盖本次寻优过程,即n2,k=n1,k,e2,k=e1,k。(7)迭代跳出如果完成本次迭代过程中所有k折循环过程中的计算,需要判断是否满足跳出条件。即是否所有的临时误差数据与上一迭代的误差数据都对应相同,这说明 所有的临时网络参数都不如上个迭代过程中加权平均的结果更优,因此可以直接跳出。或者如果迭代循环的次数超过预先设定的最大值,则直接跳出。在本次实例中,满足迭代跳出条件后的k折双循环神经网络的训练,可以得到训练结果的误差为0.01285。(8)最终效果预测根据前文所述k双循环训练的神经网络参数,可以对未来拟采用注气增油方案的井进行增产效果预测。以th10104井为例,本次k折双循环神经网络的预测周期产油量结果与实际值进行对比,结果如表7所示,其相对误差为2.05%。由此可以看出利用本实施例所提供的方法构建的预测模型所得到的预测结果较为准确,可靠性高,其能够对矿场注气选井起到重要的指导作用。表7实际周期产油量,t预测周期产油量,t相对误差,%777.3761.42.05从上述描述中可以看出,本发明利用k折双循环神经网络训练方法构建得到了缝洞型油藏的单井注气提高开发效果的预测模型,并通过所训练的神经网络参数对单井注气提高开发效果实现了有效预测。该方法以神经网络训练结果的标准差作为加权平均的权重,对加权平均后的神经网络参数进行反馈验证,并将上一个迭代过程的平均参数作为初值引入下一个神经网络的训练过程,大大加快了收敛速度。本发明的实际工程价值在于可以充分利用少量已有注气井的数据进行训练,以任意精度逼近特定的非线性复杂函数,获得较高的训练精度,从而避免了传统bp神经网络训练算法特有的多解性,能够有效预测待注气井的注气效果。与传统bp神经网络算法相比,本发明所提供的方法能够实现样本的复用,其能够充分利用有限的样本数据,在不同角度实现训练和估计。同时,由于各组网络参数的权重是网络预测标准差的倒数,因此本方法能够利用加权平均的方式避免了多解问题。本方法将将加权平均后的网络参数反馈到新的计算流程中,作为下个循环的初值,实现网络生成过程中的协同记忆。同时,本方法还能够避免陷入局部次优解,其能够在不满足外循环标准差门限时,恢复用随机网络值作为初值,实现进化迭代。此外,本方法的同分组计算过程不存在依赖关系,这样也就可以容易的将算法进行并行化,从而提高计算效率。应该理解的是,本发明所公开的实施例不限于这里所公开的特定处理步骤,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。当前第1页12
当前第1页 1 2
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1