一种自动非稳态试井解释方法、装置、设备及介质转让专利

申请号 : CN202310603959.3

文献号 : CN116341393B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王萌姚军樊冬艳丁宇

申请人 : 中国石油大学(华东)

摘要 :

本申请公开了一种自动非稳态试井解释方法、装置、设备及介质,涉及油气田开发工程油气渗流技术领域,包括:基于卷积神经网络构建原始试井解释模型;利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数构建相应的训练数据集;利用训练数据集对原始试井解释模型进行训练,以获取训练后的试井解释模型;对获取的目标油藏生产井的压力数据和压力导数数据进行数据拆分和矩阵运算,以获取目标输入数据;输入目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,输出目标油藏生产井的待解释油藏参数。能够高效率获取目标油藏生产井的准确实际油藏参数。

权利要求 :

1.一种自动非稳态试井解释方法,其特征在于,包括:

基于卷积神经网络构建原始试井解释模型;其中,所述原始试井解释模型为未训练的试井解释模型;利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数构建相应的训练数据集;

利用所述训练数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型;

获取目标油藏生产井的压力数据和压力导数数据;

对所述压力数据和压力导数数据进行数据拆分和矩阵运算,以获取目标输入数据;

输入所述目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,以便输出所述目标油藏生产井的待解释油藏参数;

所述原始试井解释模型具体设定为输入层、5个卷积层、3个全连接层、输出层;输入层节点是模型的输入变量,在试井解释中为压力与压力导数连接所形成的二维矩阵;卷积层对输入变量的特征进行提取,设计确定每个卷积层中卷积核的大小、个数以及卷积步长,并进行池化操作;全连接层将卷积层提取到的特征综合起来,进行全连接处理;输出层节点是对应的预测结果;在试井解释中为输入压力和压力导数对应的储层参数;

所述利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数构建相应的训练数据集之前,还包括:构建模拟油藏生产井的物理模型,并基于与所述物理模型对应的非稳态渗流数学模型对所述物理模型中的井底压力进行解析,以获取所述模拟井的模拟压力数据和模拟压力导数数据;其中,所述物理模型的中间竖直部分为试井的井筒,其余部分为储层;

根据所述物理模型建立相应的非稳态渗流数学模型,该数学模型的公式表达如下:;

利用解析方式对模拟油藏生产井的物理模型对应的非稳态渗流数学模型采用解析方法求解模拟压力数据,具体的,求取的试井的井底模拟压力公式如下面公式所示:;

其中, 为无因次压力; 为无因次距离; 为无因次时间; 为无因次井筒存储系数; 为无因次井底压力; 为表皮因子;z为拉普拉斯算子; 为0阶贝塞尔函数; 为一阶贝塞尔函数;

所述利用所述训练数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型,包括:对所述训练数据集中的压力数据和压力导数数据依次进行数据拆分、矩阵乘法运算处理、数据划分、归一化处理,以获取相应的预处理后的采样数据集;利用所述采样数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型;

所述利用所述采样数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型,包括:利用所述采样数据集对包含损失函数、网络结构参数、正则项的原始试井解释模型进行训练优化,以获取训练后的试井解释模型。

2.根据权利要求1所述的自动非稳态试井解释方法,其特征在于,所述利用所述采样数据集对包含损失函数、网络结构参数、正则项的原始试井解释模型进行训练优化之前,还包括:设置均方根误差为所述原始试井解释模型的损失函数。

3.根据权利要求1所述的自动非稳态试井解释方法,其特征在于,所述输入所述目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,以便输出所述目标油藏生产井的待解释油藏参数,包括:输入所述目标输入数据至训练后的试井解释模型,以便输出所述目标油藏生产井的目标渗透率、目标表皮系数、目标井筒存储系数。

4.一种自动非稳态试井解释装置,其特征在于,包括:

原始模型构建模块,用于基于卷积神经网络构建原始试井解释模型;其中,所述原始试井解释模型为未训练的试井解释模型;

训练集获取模块,用于利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数构建相应的训练数据集;

模型训练模块,用于利用所述训练数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型;

数据获取模块,用于获取目标油藏生产井的压力数据和压力导数数据;

数据处理模块,用于对所述压力数据和压力导数数据进行数据拆分和矩阵运算,以获取目标输入数据;

参数获取模块,用于输入所述目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,以便输出所述目标油藏生产井的待解释油藏参数;

所述原始试井解释模型具体设定为输入层、5个卷积层、3个全连接层、输出层;输入层节点是模型的输入变量,在试井解释中为压力与压力导数连接所形成的二维矩阵;卷积层对输入变量的特征进行提取,设计确定每个卷积层中卷积核的大小、个数以及卷积步长,并进行池化操作;全连接层将卷积层提取到的特征综合起来,进行全连接处理;输出层节点是对应的预测结果;在试井解释中为输入压力和压力导数对应的储层参数;

所述自动非稳态试井解释装置,具体用于构建模拟油藏生产井的物理模型,并基于与所述物理模型对应的非稳态渗流数学模型对所述物理模型中的井底压力进行解析,以获取所述模拟井的模拟压力数据和模拟压力导数数据;其中,所述物理模型的中间竖直部分为试井的井筒,其余部分为储层;

根据所述物理模型建立相应的非稳态渗流数学模型,该数学模型的公式表达如下:;

利用解析方式对模拟油藏生产井的物理模型对应的非稳态渗流数学模型采用解析方法求解模拟压力数据,具体的,求取的试井的井底模拟压力公式如下面公式所示:;

其中, 为无因次压力; 为无因次距离; 为无因次时间; 为无因次井筒存储系数; 为无因次井底压力; 为表皮因子;z为拉普拉斯算子; 为0阶贝塞尔函数; 为一阶贝塞尔函数;

所述模型训练模块,具体用于对所述训练数据集中的压力数据和压力导数数据依次进行数据拆分、矩阵乘法运算处理、数据划分、归一化处理,以获取相应的预处理后的采样数据集;利用所述采样数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型;

所述自动非稳态试井解释装置,具体用于利用所述采样数据集对包含损失函数、网络结构参数、正则项的原始试井解释模型进行训练优化,以获取训练后的试井解释模型。

5.一种电子设备,其特征在于,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序,以实现如权利要求1至3任一项所述的自动非稳态试井解释方法的步骤。

6.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的自动非稳态试井解释方法的步骤。

说明书 :

一种自动非稳态试井解释方法、装置、设备及介质

技术领域

[0001] 本发明涉及油气田开发工程油气渗流技术领域,特别涉及一种自动非稳态试井解释方法、装置、设备及介质。

背景技术

[0002] 在油气藏勘探开发过程中,需要通过建立与实际油藏尽可能相同的地质模型来模拟油藏勘探开发过程,预测油气藏产量,从而指导油气田开发方案的设计、油井工作制度的调整等,而获取油气藏的地层参数是建立地质模型的基础。试井解释就是通过对油井生产过程中的地层压力、产量、温度等测试数据进行分析,利用油藏历史动态信息来反向求解地层参数的一种方法。目前对于试井解释方法的研究,先后有常规试井解释、现代试井解释等方法。常规试井解释是根据渗流理论,从使用测试数据绘制的曲线中选取跟地层参数有关的特定直线段,根据斜率反求地层参数。该方法原理简单、使用方便,但是在实际应用过程中,直线段不易辨认是否出现、从何处开始,或可能出现多条相似直线段,因此误差较大,具有很大的局限性。现代试井解释是以曲线拟合为主,将实测曲线进行拟合,与典型图版或理论曲线进行对比,当误差最小时,读取典型图版或理论曲线的参数值,用该参数来代表实际的地层参数。现代试井解释耗时较长,效率低且主观性强,不仅需要耗费大量时间精力建立油气藏的典型图版或绘制理论曲线,还需工作人员手动调节地层参数使图版与实测曲线达到最佳拟合,容易导致历史拟合结果与实际油藏参数之间存在较大的误差。
[0003] 综上,如何克服试井工程师的主观性,实现实际油藏参数的准确获取,实际油藏参数获取方式更适用于经验较少的工程师的使用,实现自动化的试井解释,提升试井解释与获取实际油藏参数的工作效率是本领域有待解决的技术问题。

发明内容

[0004] 有鉴于此,本发明的目的在于提供一种自动非稳态试井解释方法、装置、设备及介质,能够克服试井工程师的主观性,实现实际油藏参数的准确获取,实际油藏参数获取方式更适用于经验较少的工程师的使用,实现自动化的试井解释,提升试井解释与获取实际油藏参数的工作效率。其具体方案如下:
[0005] 第一方面,本申请公开了一种自动非稳态试井解释方法,包括:
[0006] 基于卷积神经网络构建原始试井解释模型;其中,所述原始试井解释模型为未训练的试井解释模型;利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数构建相应的训练数据集;
[0007] 利用所述训练数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型;
[0008] 获取目标油藏生产井的压力数据和压力导数数据;
[0009] 对所述压力数据和压力导数数据进行数据拆分和矩阵运算,以获取目标输入数据;
[0010] 输入所述目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,以便输出所述目标油藏生产井的待解释油藏参数。
[0011] 可选的,所述利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和测量油藏参数构建相应的训练数据集之前,还包括:
[0012] 构建模拟油藏生产井的物理模型,并基于与所述物理模型对应的非稳态渗流数学模型对所述物理模型中的井底压力进行解析,以获取所述模拟油藏生产井的模拟压力数据和模拟压力导数数据。
[0013] 可选的,所述利用所述训练数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型,包括:
[0014] 对所述训练数据集中的压力数据和压力导数数据依次进行数据拆分、矩阵乘法运算处理、数据划分、归一化处理,以获取相应的预处理后的采样数据集;
[0015] 利用所述采样数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型。
[0016] 可选的,所述利用所述采样数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型,包括:
[0017] 利用所述采样数据集对包含损失函数、网络结构参数、正则项的原始试井解释模型进行训练优化,以获取训练后的试井解释模型。
[0018] 可选的,所述利用所述采样数据集对包含损失函数、网络结构参数、正则项的原始试井解释模型进行训练优化之前,还包括:
[0019] 设置均方根误差为所述原始试井解释模型的损失函数。
[0020] 可选的,所述输入所述目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,以便输出所述目标油藏生产井的待解释油藏参数,包括:
[0021] 输入所述目标输入数据至训练后的试井解释模型,以便输出所述目标油藏生产井的目标渗透率、目标表皮系数、目标井筒存储系数。
[0022] 第二方面,本申请公开了一种自动非稳态试井解释装置,包括:
[0023] 原始模型构建模块,用于基于卷积神经网络构建原始试井解释模型;其中,所述原始试井解释模型为未训练的试井解释模型;
[0024] 训练集获取模块,用于利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数构建相应的训练数据集;
[0025] 模型训练模块,用于利用所述训练数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型;
[0026] 数据获取模块,用于获取目标油藏生产井的压力数据和压力导数数据;
[0027] 数据处理模块,用于对所述压力数据和压力导数数据进行数据拆分和矩阵运算,以获取目标输入数据;
[0028] 参数获取模块,用于输入所述目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,以便输出所述目标油藏生产井的待解释油藏参数。
[0029] 第三方面,本申请公开了一种电子设备,包括:
[0030] 存储器,用于保存计算机程序;
[0031] 处理器,用于执行所述计算机程序,以实现前述公开的自动非稳态试井解释方法的步骤。
[0032] 第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的自动非稳态试井解释方法的步骤。
[0033] 由此可见,本申请公开了一种自动非稳态试井解释方法,包括:基于卷积神经网络构建原始试井解释模型;其中,所述原始试井解释模型为未训练的试井解释模型;利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数构建相应的训练数据集;利用所述训练数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型;获取目标油藏生产井的压力数据和压力导数数据;对所述压力数据和压力导数数据进行数据拆分和矩阵运算,以获取目标输入数据;输入所述目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,以便输出所述目标油藏生产井的待解释油藏参数。可见,通过利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数作为训练数据集,然后利用该训练数据集用来训练构建的原始试井解释模型,以获取训练后的试井解释模型,该试井解释模型为利用卷积神经网络构建的,然后获取目标油藏生产井的压力数据和压力导数数据,然后对该压力数据和压力导数数据进行数据处理,具体为数据拆分和矩阵运算,以获取矩阵格式的目标输入数据,然后将目标输入数据输入至训练后的试井解释模型,通过卷积神经网络对目标油藏生产井的目标输入数据进行特征提取,并输出相应的油藏参数,以便通过试井解释模型获取准确的目标油藏生产井的实际油藏参数,克服试井工程师的主观性,使实际油藏参数获取方式适用人员更广,实现自动化的试井解释,并提升试井解释与获取实际油藏参数的工作效率。

附图说明

[0034] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0035] 图1为本申请公开的一种自动非稳态试井解释方法流程图;
[0036] 图2为本申请公开的一种搭建的Alexnet卷积神经网络示意图;
[0037] 图3为本申请公开的一种油藏一口生产井示意图;
[0038] 图4a为本申请公开的一种不同CDe2s下波顿压力导数曲线;
[0039] 图4b为本申请公开的一种不同CDe2s下格林压力曲线;
[0040] 图4c为本申请公开的一种不同CDe2s下压力及压力导数复合图版;
[0041] 图5为本申请公开的一种基于卷积神经网络CNN的试井解释方法流程图;
[0042] 图6为样本6储层真实值与预测值的压力和压力导数曲线;
[0043] 图7为本申请公开的一种自动非稳态试井解释装置结构示意图;
[0044] 图8为本申请公开的一种电子设备结构图。

具体实施方式

[0045] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046] 在油气藏勘探开发过程中,需要通过建立与实际油藏尽可能相同的地质模型来模拟油藏勘探开发过程,预测油气藏产量,从而指导油气田开发方案的设计、油井工作制度的调整等,而获取油气藏的地层参数是建立地质模型的基础。试井解释就是通过对油井生产过程中的地层压力、产量、温度等测试数据进行分析,利用油藏历史动态信息来反向求解地层参数的一种方法。目前对于试井解释方法的研究,先后有常规试井解释、现代试井解释等方法。常规试井解释是根据渗流理论,从使用测试数据绘制的曲线中选取跟地层参数有关的特定直线段,根据斜率反求地层参数。该方法原理简单、使用方便,但是在实际应用过程中,直线段不易辨认是否出现、从何处开始,或可能出现多条相似直线段,因此误差较大,具有很大的局限性。现代试井解释是以曲线拟合为主,将实测曲线进行拟合,与典型图版或理论曲线进行对比,当误差最小时,读取典型图版或理论曲线的参数值,用该参数来代表实际的地层参数。现代试井解释耗时较长,效率低且主观性强,不仅需要耗费大量时间精力建立油气藏的典型图版或绘制理论曲线,还需工作人员手动调节地层参数使图版与实测曲线达到最佳拟合,容易导致历史拟合结果与实际油藏参数之间存在较大的误差。
[0047] 为此,本申请公开了一种自动非稳态试井解释方案,能够克服试井工程师的主观性,实现实际油藏参数的准确获取,实际油藏参数获取方式更适用于经验较少的工程师的使用,实现自动化的试井解释,提升试井解释与获取实际油藏参数的工作效率。
[0048] 参照图1所示,本发明实施例公开了一种自动非稳态试井解释方法,包括:
[0049] 步骤S11:基于卷积神经网络构建原始试井解释模型;其中,所述原始试井解释模型为未训练的试井解释模型;利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数构建相应的训练数据集。
[0050] 本实施例中,基于卷积神经网络构建用于解释目标油藏生产井的实际油藏参数的原始试井解释模型,具体的,使用Tensorflow框架作为模型搭建工具,基于Alexnet设计适用于试井解释的卷积神经网络。搭建设计的原始试井解释模型主要包括输入层、卷积层、全连接层、输出层等四部分。输入层的输入节点为第一步处理的数据矩阵。卷积层对目标输入数据进行特征提取,设置5个卷积层,分别对5个卷积层进行处理,不同卷积层设置不同数量大小的卷积核,所有卷积层的卷积步长均为1,使用Relu函数进行激活。全连接层将前边提取的特征综合起来,设置3个全连接层。全连接层6对上一层的池化结果进行全连接处理,使用Relu函数进行激活,对激活结果使用Dropout操作。全连接层7与全连接层6的处理结果相同。全连接层8对上一层的结果进行全连接处理,随后经过训练回归参数。该原始试井解释模型当前无法对目标油藏生产井的实际油藏参数进行预测,需要基于油藏生产井的历史压力数据和对应的油藏参数进行训练,而油藏生产井的历史压力数据和对应的油藏参数具体包括:实际测量的不同油藏生产井的测量压力数据、测量压力导数数据和对应的测量油藏参数以及通过构建的模拟油藏生产井的物理模型,进而通过对物理模型中的井底压力解析后模拟产生的模拟压力数据、模拟压力导数数据和对应的模拟油藏参数。如图2所示,原始试井解释模型的具体设定为输入层、5个卷积层、3个全连接层、输出层。输入层节点是模型的输入变量,在试井解释中为压力与压力导数连接所形成的二维矩阵;卷积层对输入变量的特征进行提取,设计确定每个卷积层中卷积核的大小、个数以及卷积步长,并进行池化操作;全连接层将卷积层提取到的特征综合起来,进行全连接处理;输出层节点是对应的预测结果,在试井解释中为输入压力和压力导数对应的储层参数。
[0051] 本实施例中,所述获取模拟压力数据、模拟压力导数数据具体包括:构建模拟油藏生产井的物理模型,并基于与所述物理模型对应的非稳态渗流数学模型对所述物理模型中的井底压力进行解析,以获取所述模拟井的模拟压力数据和模拟压力导数数据。可以理解的是,如图3所示,构建油藏一口井的物理模型,其中,中间竖直部分为试井的井筒,其余部分为储层,然后根据该物理模型建立相应的非稳态渗流数学模型,该数学模型的公式表达如下:
[0052] ;
[0053] 利用解析方式对模拟油藏生产井的物理模型对应的非稳态渗流数学模型采用解析方法求解模拟压力数据,具体的,求取的试井的井底模拟压力公式如下面公式所示:
[0054] ;
[0055] 其中, 为无因次压力; 为无因次距离; 为无因次时间; 为无因次井筒存储系数; 为无因次井底压力; 为表皮因子;z为拉普拉斯算子; 为0阶贝塞尔函数; 为一阶贝塞尔函数。
[0056] 当获取模拟油藏生产井的井底模拟压力数据后,通过编程方式进一步基于所述模拟压力数据获取相应的模拟压力导数数据。
[0057] 基于上述的油田中不同油井的实际测量的测量压力数据、测量压力导数数据、对应的测量油藏参数以及模拟产生的模拟压力数据、模拟压力导数数据、对应的模拟油藏参2s
数构建原始试井解释模型的训练数据集。具体的,如图4a所示,为不同CDe 下波顿压力导数曲线,如图4b所示,为不同CDe2s下格林压力曲线,如图4c所示,使用MATLAB将上述过程编程绘制井底模拟压力数据和压力导数数据的双对数图版。通过模拟,获取180组模拟出的压力数据和压力导数数据,其余20组为该油田现场实际测量数据,每组数据中选取100个连续数据点,将所获的全部200组数据导入到Excel中,得到全部待处理的训练数据集。
[0058] 步骤S12:利用所述训练数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型。
[0059] 本实施例中,对所述训练数据集中的压力数据和压力导数数据依次进行数据拆分、矩阵乘法运算处理、数据划分、归一化处理,以获取相应的预处理后的采样数据集;利用所述采样数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型。可以理解的是,将训练数据集所在的文件中的压力数据和压力导数数据进行拆分,并对其进行矩阵乘法的运算,输出一个二维矩阵,最终共得到200组100×100的矩阵,利用二维矩阵对原始试井解释模型进行训练,将其中90%划分为训练集,其余划分为测试集,最后对所有数据进行归一化处理,建立Numpy array格式的训练数据,完成数据的预处理,以获取预处理后的采样数据集。
[0060] 本实施例中,利用所述采样数据集对包含损失函数、网络结构参数、正则项的原始试井解释模型进行训练优化,以获取训练后的试井解释模型。可以理解的是,利用采样数据集对上述构建的包含损失函数、网络结构参数、正则项的原始试井解释模型进行训练优化,具体为利用采样数据集的采样压力数据和采样压力导数数据构建的二维矩阵和对应的采样油藏参数作为训练输入数据输入至原始试井解释模型中的输入层中,然后输入层将训练输入数据传递至卷积层,卷积层对训练输入数据进行相关的特征提取,并且将所有卷积层输出的特征通过全连接层进行连接处理,以实现原始试井解释模型的训练优化。其中,所述利用所述采样数据集对包含损失函数、网络结构参数、正则项的原始试井解释模型进行训练优化之前,还包括:设置均方根误差为所述原始试井解释模型的损失函数。当原始试井解释模型训练完成后,将测试集的二维矩阵数据输入到训练后的试井解释模型中,训练后的试井解释模型自动输出对应的需要解释的油藏参数。具体的,训练和优化原始试井解释模型的过程如下:将获得的压力数据及压力导数数据构建的二维矩阵和对应的油藏参数分别作为原始试井解释模型的输入变量和输出变量,例如:90%的采样数据用于训练,10%的测试数据用于测试训练后的试井解释模型。选取均方根误差作为损失函数,均方根误差公式如下所示:
[0061] ;
[0062] 其中,RSME为均方根误差; 为真实值; 为预测值。
[0063] 通过多次反复的实验不断对建立的神经网络进行优化,包括改变网络结构参数,进行正则化等优化过程。优化包括对5个卷积层和3个全连接层使用Relu函数进行激活,Relu函数可以缓解梯度消失的问题,增加网络稀疏性;在卷积层中进行最大池化操作;全连接层中激活结果使用Dropout操作,Dropout可以降低节点的关联性,降低模型的复杂度,提高模型的泛化能力。经过最后一层全连接层后,经过训练回归需要解释的网络结构参数。
[0064] 参照图5所示,获取压力数据、压力导数数据和对应的油藏参数,也即地层参数作为原始训练数据集,然后对原始训练数据集进行数据预处理操作,并将经过预处理后的训练数据集输入至原始试井解释模型中,该原始试井解释模型需要根据卷积神经网络来搭建,而卷积神经网络的具体包括1层输入层、5层卷积层、3层全连接层和输出层四大部分,然后利用经过预处理的训练数据集对原始试井解释模型进行训练优化,以得到最优的试井解释模型,以便利用最优试井解释模型预测目标试井的油藏参数。
[0065] 为了更清楚地展示卷积神经网络模型的解释效果,从测试集中抽取了8个样本,用来进一步的展示优化后的卷积神经网络的性能,其中,样本为1至8,分别获取样本1至8各自对应的真实值,通过试井解释模型输出的预测值,并计算真实值与绝对值之间的绝对误差和相对误差,最终解释结果如表1所示:
[0066] 表1
[0067]
[0068] 以样本6储层真实值与预测值绘制的压力和压力导数曲线如图6所示,结合表1,可以看出真实值与预测值之间的误差整体上较小,处于可控的范围之内,说明该训练后的试井解释模型对于试井参数解释具有很好的效果。通过采用模拟试井数据+测量试井数据的方式构建的训练数据集对卷积神经网络的搭建的原始试井解释模型进行模型训练,训练数据的预处理增加了后期模型训练的结果的可靠性。
[0069] 步骤S13:获取目标油藏生产井的压力数据和压力导数数据。
[0070] 本实施例中,获取目标油藏生产井的压力数据和压力导数数据的方式具体可以包括但不限于:通过实际测量方式获取目标油藏生产井的压力数据和压力导数数据;通过本地数据库中读取该目标油藏生产井的压力数据和压力导数数据;通过从云端数据库中获取该目标油藏生产井的压力数据和压力导数数据。
[0071] 步骤S14:对所述压力数据和压力导数数据进行数据拆分和矩阵运算,以获取目标输入数据。
[0072] 本实施例中,从保存的Excel数据表中读取通过MATLAB将编程绘制的目标试井的压力数据和对应的压力导数数据,具体的,可以使用pd.read函数对Excel表中的压力数据和压力导数数据进行数据读取操作,然后将读取到的压力数据和压力导数数据进行拆分,并对拆分后的压力数据和压力导数数据进行矩阵乘法的运算,输出一个二维矩阵,并将该二维矩阵作为目标输入数据。其中,进行矩阵乘法的运算将压力数据和压力导数数据连接在一起,输出一个二维矩阵的矩阵表示如下:
[0073] ;
[0074] 其中, 代表压力导数数据, 代表压力数据。
[0075] 步骤S15:输入所述目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,以便输出所述目标油藏生产井的待解释油藏参数。
[0076] 本实施例中,将目标输入数据输入至训练后的试井解释模型,其中,该试井解释模型是针对卷积神经网络搭建确定的,并且确定试井解释模型后,需要对该试井解释模型进行相应的训练,以得到训练后的试井解释模型,通过将目标油藏生产井的目标输入数据输入至该训练后的试井解释模型后,该训练后的试井解释模型能够直接输出该目标油藏生产井的待解释油藏参数。具体的,输入所述目标输入数据至训练后的基于卷积神经网络确定的试井解释模型,以便输出所述目标油藏生产井的目标渗透率、目标表皮系数、目标井筒存储系数等目标试井解释参数,实现自动化试井解释。通过对卷积神经网络的搭建以及上述训练数据集对原始试井解释模型的训练,通过模拟数据和实际数据二者共同训练的试井解释模型在解释目标油藏生产井的过程中能够在克服通过实际测试曲线中根据斜率反求地层参数中获取特定直线段的复杂性和局限性,还能够克服从典型图版或理论曲线中获取实际的地层参数的等待时间过长、效率低等问题,并且无需工作人员手动调节地层参数使图版与实测曲线达到最佳拟合。
[0077] 由此可见,本申请公开了一种自动非稳态试井解释方法,包括:获取目标油藏生产井的压力数据和压力导数数据;对所述压力数据和压力导数数据进行数据拆分和矩阵运算,以获取目标输入数据;输入所述目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,以便输出所述目标油藏生产井的待解释油藏参数。可见,通过利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数作为训练数据集,然后利用该训练数据集用来训练构建的原始试井解释模型,以获取训练后的试井解释模型,该试井解释模型为利用卷积神经网络构建的,然后获取目标油藏生产井的压力数据和压力导数数据,然后对该压力数据和压力导数数据进行数据处理,具体为数据拆分和矩阵运算,以获取矩阵格式的目标输入数据,然后将目标输入数据输入至训练后的试井解释模型,通过卷积神经网络对目标油藏生产井的目标输入数据进行特征提取,并输出相应的油藏参数,以便通过试井解释模型获取准确的目标油藏生产井的实际油藏参数,克服试井工程师的主观性,使实际油藏参数获取方式适用人员更广,实现自动化的试井解释,并提升试井解释与获取实际油藏参数的工作效率。
[0078] 参照图7所示,本发明实施例还相应公开了一种自动非稳态试井解释装置,包括:
[0079] 原始模型构建模块11,用于基于卷积神经网络构建原始试井解释模型;其中,所述原始试井解释模型为未训练的试井解释模型;
[0080] 训练集获取模块12,用于利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数构建相应的训练数据集;
[0081] 模型训练模块13,用于利用所述训练数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型;
[0082] 数据获取模块14,用于获取目标油藏生产井的压力数据和压力导数数据;
[0083] 数据处理模块15,用于对所述压力数据和压力导数数据进行数据拆分和矩阵运算,以获取目标输入数据;
[0084] 参数获取模块16,用于输入所述目标输入数据至训练后的试井解释模型,以便输出所述目标试井的待解释油藏参数。
[0085] 由此可见,本申请公开基于卷积神经网络构建原始试井解释模型;其中,所述原始试井解释模型为未训练的试井解释模型;利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数构建相应的训练数据集;利用所述训练数据集对所述原始试井解释模型进行训练,以获取训练后的试井解释模型;获取目标油藏生产井的压力数据和压力导数数据;对所述压力数据和压力导数数据进行数据拆分和矩阵运算,以获取目标输入数据;输入所述目标输入数据至训练后的基于卷积神经网络生成的试井解释模型,以便输出所述目标油藏生产井的待解释油藏参数。可见,通过利用模拟压力数据、模拟压力导数数据、实际油藏生产井产生的测量压力数据和测量压力导数数据与对应的模拟油藏参数和实际油藏参数作为训练数据集,然后利用该训练数据集用来训练构建的原始试井解释模型,以获取训练后的试井解释模型,该试井解释模型为利用卷积神经网络构建的,然后获取目标油藏生产井的压力数据和压力导数数据,然后对该压力数据和压力导数数据进行数据处理,具体为数据拆分和矩阵运算,以获取矩阵格式的目标输入数据,然后将目标输入数据输入至训练后的试井解释模型,通过卷积神经网络对目标油藏生产井的目标输入数据进行特征提取,并输出相应的油藏参数,以便通过试井解释模型获取准确的目标油藏生产井的实际油藏参数,克服试井工程师的主观性,使实际油藏参数获取方式适用人员更广,实现自动化的试井解释,并提升试井解释与获取实际油藏参数的工作效率。
[0086] 进一步的,本申请实施例还公开了一种电子设备,图8是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
[0087] 图8为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的自动非稳态试井解释方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
[0088] 本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0089] 其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
[0090] 另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
[0091] 其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的自动非稳态试井解释方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
[0092] 进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的自动非稳态试井解释方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0093] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0094] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0095] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0096] 以上对本发明所提供的一种自动非稳态试井解释方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。