每日论文
文章目录
基于条件生成式对抗网络的油藏单井产量预测模型
论文地址:https://kns.cnki.net/kcms/detail/11.2011.O4.20220303.1300.002.html
一、引言
目前存在的问题
油藏开发中,由于地层非均质性强、流体渗流规律复杂、产量影响因素众多、影响因素之间相关性强、产量与因素之间线性关系弱等原因,导致油藏单井产量无法用公式进行定量计算,预测难度大,传统的产量预测方法预测精度低,极大的限制了油藏的高效开发。
目前基于机器学习的油藏单井产量预测模型都存在过拟合问题。即在训练集以及验证集上拟合度高,而在未经训练的测试集中拟合度低,预测效果差,模型泛化能力低。
并且,这类机器学习模型中都存在着大量的超参数,而模型本身又属于黑盒函数,导致机器学习模型与超参数之间的函数关系不明确,每次超参数的评估和调整需要大量的迭代计算。
提出新的方法和目的
GAN 包含有两个子网络:生成网络(Generative Network,G)和判别网络(Discriminative Network,D)。G 用于学习实际图片的特征分布,并生成与实际图片特征相似的图片;G 生成的图片
会与实际图片一起送入D 中,然后 D 会输出所输入图片是真实图片的概率。GAN 通过 G 和 D 的互相
博弈学习,实现对图片特 征 的 学 习 。
CGAN 网络目前还没有在石油参数预测上进行相关应用,因此,本文引入 CGAN 方法进行油藏单井产量预测,并利用 LSTM 网络代替常规条件生成式对抗网络中使用的卷积神经网络(CNN)。
以地质与生产条件等产量影响因素作为产量预测模型的条件输入,以油藏单井 2 年内的产量作为预测目标。
二、基于CGAN的单井产量预测模型
1.第一步
将产量影响因素作为条件 X与随机噪声 Z 一起输入到生成器网络 G 中,生成器网络 G 在条件 X 的指导下,结合随机噪声 Z,生成当前产量影响因素 X 下的预测产量数据 Y′。
2.第二步
将真实产量数据 Y 与预测产量数据 Y′分别和当前产量影响因素数据 X 一起输入到判别器网络 D 中,使判别器网络 D 对输入数据进行判别,输出该数据是真实的产量数据而不是预测的产量数据的概率 P(真),此时判别器网络 D 不仅需要判断预测产量数据 Y′与真实产量数据 Y 的相似度,还需判断预测产量数据 Y′是否满足当前的产量影响因素 X。
3.第三步
使用对数损失函数作为对抗网络的损失函数,通过生成器网络 G 和判别器网络 D的交替迭代训练,不断调整各自的网络结构,同时提高生成器网络 G 的产量预测精度以及判别器网络 D 的鉴定真假能力,最终使整个模型达到纳什平衡。
预测模型
本文利用 LSTM 网络,代替了常规条件生成式对抗网络中使用的 CNN 网络,并且,将高斯函数产生随机噪声数据的维数设置为与输出目标产量时间序列长度相同的数值,以保持噪声数据与生成模型输出数据的对应关系,从而适应本文的数据预测背景,最终提高模型的产量预测精度。
三、实验数据及结果
1.数据准备
样本数据
所建立的数据库共有 120 组注采数据,每组样本数据主要包含 2 年内 4 口注水井的月注水量、4个区域的初始地层水平渗透率、4 个区域的初始地层孔隙度、油藏初始含油饱和度、油藏厚度、生产井的累计生产时间以及每个月对应的月产油量。
输入变量
2 年内(24 个月)注水井 W1、W2、W3、W4 的月注水量,S1、S2、S3、S4 这 4 个区域内的初始地层渗透率、孔隙度,整个油藏的初始含油饱和度、地层厚度以及采油井 Q1 对应的累计生产时间,这些输入数据一起构成了 24 X 15 的时间序列矩阵。
输出
生成模型的输出为当前地质和生产条件下采油井 Q1 的预测产量,包含 24 个月内每个月的产油量,构成了 24 X 1 的矩阵。
2.结果
按井预测