APP下载

专注智能油藏储量预测的深度时空注意力模型

2020-07-29李宗民李亚传赫俊民张益政姚纯纯刘玉杰

关键词:储量油藏注意力

李宗民, 李亚传, 赫俊民, 张益政, 姚纯纯, 刘玉杰

(1.中国石油大学(华东)计算机科学与技术学院,山东青岛 266580; 2.中国石油大学胜利学院, 山东东营257061; 3.中国石化胜利油田物探院, 山东东营 257022)

油气储量的分析与预测是油气企业发展战略研究中极为重要的一项基础工作[1]。只有通过科学分析与计算,才能利用固定的投入创造更大的收益。准确预测油藏储量对提高油藏发现效率,优化勘探规划结构都具有重大意义[2]。但是,在进行油气储量趋势预测过程中,由于诸多因素难以准确地量化,导致预测结果存在较大误差。现在通用的曲线拟合方法[3]需要人工确定自变量,预定义拟合函数,势必无法考虑所有影响因素,而且预定义的函数的普适性也值得怀疑。笔者在勘探规划数据分析的基础上,提出一种专注智能油藏储量预测的深度时空注意力模型。通过建立不同级别地质单元的预测模型,利用近几十年的历史数据,实现对不同地质单元的油气储量的预测。

1 时间序列预测算法

时间序列预测算法已经在很多领域广泛使用,如财政预测[4]、天气预报[5]、河流流量预警[6]等,虽然传统预测算法在各自领域已经得到充分利用,但是这些算法却难以充分地拟合现实生活中存在的非线性关系,使得预测结果难以令人满意。随后,研究人员提出了各种非线性自回归系统模型[7-10],一定程度上缓解了这一问题,但是非线性自回归方法大多采用预先定义好的非线性形式,预定义模型与真实的非线性关系之间必然存在一定差距,对预测结果产生不可消除的负面影响。循环神经网络(RNN)[11-13]是一种专门处理时间序列的深度学习网络,由于其在捕捉非线性关系方面的灵活性而受到广泛关注。然而,原始的循环神经网络存在严重的梯度消失问题,导致难以捕获长序列的依赖关系,使得其在实际应用中受到极大限制。后人针对循环神经网络的这一缺陷进行了一系列的改进,提出长短期记忆网络(LSTM)[14]和门控循环单元(GRU)[15]等网络模型,在时间序列处理方向获得了广泛的应用。

2 注意力机制

注意力机制在多个人工智能领域得到广泛应用,包括自然语言处理[16]、计算机视觉[17-18]等。注意力机制之所以得到如此迅速的发展,主要包括3方面原因:①在多个领域中使用注意力机制都达到了目前的最好结果;②除了提高效果之外,它还可以提高神经网络的可解释性(这一点也是神经网络被诟病最多的缺点之一);③它可以克服循环神经网络因为输入太长而导致的丢失信息、记忆不够精准、计算开销太大等问题。之后,谷歌提出的“Transformer”[19]更是完全摒弃了递归结构,依赖注意力机制,挖掘输入和输出之间的关系,进一步发掘注意力机制的性能。简而言之,注意力机制其实就是学出一个权重分布,再拿这个权重分布施加在原来的特征之上,可以广义地解释为重要性权重的向量。为了预测一个元素,使用注意力向量来估计它与其他元素的相关程度有多强,并将其值的总和作为目标的近似值。受文献[20]和[21]的启发,本文中将注意力机制引入到油藏储量预测任务中,来学习代表重要性权重的向量,对之后的深度学习网络进行指导,从而达到优化模型的目的。

3 油藏储量预测

早期油藏储量预测通常采用翁氏模型[22],虽然翁氏模型对油田储量的中长期预测有着不错的效果,但是对短期预测的效果不明显。为了实现短期油藏储量预测,高磊等[3]提出“帚状模型-‘S’曲线”这一油藏储量预测模型,一定程度上解决了短期预测的难题。但是该模型属于非线性自回归系统模型,预定义模型与现实数据之间的固有差异仍旧无法消除,因此误差难以消减。除此之外,为了满足‘S’曲线的走势,该模型对原始数据进行了一次对数变换,进一步增大了预测误差。近年来,随着深度学习在时间序列预测上的卓越表现,油藏储量预测也开始引入深度学习算法[23]。但是目前已知的相关工作尚且比较初级,只是对深度学习初步的尝试,并没有对油田数据量相对较少、数据波动大等特性做出针对性的改进,未能充分发挥出深度学习的性能。本文中针对油田具体现状,结合近年来深度学习的发展,提出一种专注油藏储量预测的深度时空注意力模型。

4 深度时空注意力模型

4.1 数据分析

影响探测油藏储量的因素相当多,包括探井数量、分布,岩心的孔隙密度等,任何方法都难以考虑全面。但是,对于同一个油田,大多数因素都是不可控的,而且不会发生突变。在勘探技术没有突破之前,探井数量是一个变化最大的可控因素,其与预测的油藏数量、油藏储量在一定的范围内呈正相关关系。对于深度学习的方法而言,其他变量对预测结果的影响可以应用深度学习网络模型从真实油藏储量的历史数据中学习获得。因此最终将模型简化为探井数量与油藏储量、油藏数量之间的函数关系,即

(1)

式中,k为探井数量;g、c为油藏数量和油藏储量;F、G为映射函数。通过给定k,预测相应的g、c,构建合理的映射函数F、G。深度学习网络可以同时预测多个值,因此可以将函数F、G合并为一个函数H:

(g,c)=H(k).

(2)

式中,H为用深度学习网络来拟合的映射函数。

4.2 模型概要

网络结构如图1所示,其中k表示探井数量矩阵,“+”表示矩阵的加法操作,“·”表示矩阵的点乘操作,LSTM表示长短期记忆网络,该网络模型中使用的是双层LSTM,每层3个节点,h表示LSTM输出的隐藏状态。上次输出的隐藏状态作为本次的输入,用来传递网络的不同时间的状态关联,首次输入的隐藏状态是从标准正态分布中采样得到的,LSTM通过全连接层,得到预测结果g(油藏数量)、c(油藏储量)。时间注意力网络和空间注意力网络会在之后的小节中单独介绍。

图1 深度时空注意力模型网络结构示意图

探井数量作为输入经过时间注意网络,权重重新分配后与上一次输出的中间状态一起进入LSTM主网络,输出中间状态和预测结果:中间状态经过空间注意网络,准备做为下一次循环的输入;预测结果经过一个全连接层得到两个值,分别是预测的油藏数量和预测的油藏储量,而这分别与真实值做回归损失,然后反向传播指导网络进行学习。

4.3 时空注意力网络

时空注意力网络的功能类似,只不过关注的对象不同。时间注意力网络作用于输入的数据上,由于数据是不同年份的探井数量,代表了不同时间的属性,因此称为时间注意力网络;空间注意力网络作用于LSTM输出的中间隐藏状态,中间隐藏状态是将时间数据映射到新的空间的结果,因此称作空间注意力网络(亦可称为隐藏状态注意网络)。实际上,二者的结构也基本相同,都是由两层全连接网络与各自的激活函数组成。将最后一层的输出经过激活函数,使最终结果分布在区间[-1,1],之后将通过时空注意力网络得到的权重融合到原数据上,相当于为原数据添加了一个掩码。实际上,注意力网络在网络结构上没有特别的要求,可以替换成其他任何相似网络。

对于大多数情况,这种方法是切实可行的,但是对某些数据波动较大的年份,权重可能反而使结果变坏,针对实际问题模型,该模型引入了权重再分配的方法,将权重重分配后的结果与原数据再次融合,得到最终结果,从而缓解数据波动对试验结果的不利影响。整个时空注意力网络可以表示为

(3)

式中,Tmask为时间注意力网络;Hmask为空间注意力网络;k为输入的探井数量;h为LSTM输出的隐藏状态;tatt和hatt为k与h分别经过时、空注意力网络后得到的结果。

4.4 网络更新公式

标准的LSTM网络迭代过程可以总结为

ft=σ(Wf[ht-1;kt]+bf),

(4)

it=σ(Wi[ht-1;kt]+bi),

(5)

ot=σ(Wo[ht-1;kt]+bo),

(6)

st=ft·st-1+ittanh(Ws[ht-1;kt]+bs),

(7)

ht=ot·tanh(st).

(8)

式中,[ht-1;kt]为网络上一次输出的隐藏状态(短记忆)ht-1与当前输入的探井数量kt的联合表示;st-1为上一次输出状态(长记忆);ft、it和ot分别为LSTM网络输入门、遗忘门和输出门的输出结果;st和ht分别为长记忆和短记忆的计算结果,作为下一次迭代的输入来完成整个LSTM网络的计算过程;Wf、Wi、Wo、bf、bi、bo为要学习的参数;σ表示sigmoid函数。结合时空注意力网络之后,整个网络更新公式升级为

ft=σ(Wf[(ht-1+Tmask·ht-1);kt]+bf),

(9)

it=σ(Wi[(ht-1+Tmask·ht-1);kt]+bi),

(10)

ot=σ(Wo[(ht-1+Tmask·ht-1);kt]+bo),

(11)

st=ft·st-1+Wttanh(Ws[ht-1+Tmask·ht-1];kt)+bs),

(12)

ht=ot·tanh(st)+Hmask·ot·tanh(st).

(13)

4.5 损失函数

损失函数使用的是一阶距离(L1)损失:

式中,x为预测值;y为真实值;N为训练的批次总数。试验结果表明,损失函数对试验最终结果影响不大,一阶距离损失、二阶距离损失、交叉熵损失都可以作为该网络的损失函数。由于要同时优化油藏数量和油藏储量两个值,因此需要联合计算两者的损失函数之和Loss:

式中,g和g′分别为油藏数量真实值、预测值;c和c′分别为油藏储量真实值、预测值;α为超参数,需要人工预定义。

此外,相比自然语言处理等通用时间序列预测问题,油藏储量预测的结果与时间的线性关系更强,也就是说,越靠近的数据之间相关性越强。针对这一特性,该模型对损失函数做了进一步的优化,LSTM中有一个时间步长参数t,将t时间内的数据同时输入网络,通过网络来学习t时间内不同数据与最终结果之间的权重参数。通常情况下t是定值,t时间内数据初始权重相同。由于油藏储量预测的结果与时间的线性关系更强,该模型使用不定时间步长,令新步长t′的值为小于t的所有正整数,分别输入网络做回归损失。从而使与预测年份越接近的年份对最终预测结果的影响越大,加强临近年份的权重。

5 试 验

5.1 试验数据与方法

试验数据来源于中国某大型油田1964—2013年的实测数据,分别在其中4个大的区块(010101、010102、010201、010301)进行试验,模型使用pytorch框架完成,使用显卡为TITANV,训练的批次总数为8,训练的时间步长为10,学习率为0.001,超参数α=0.4。因为油藏数量是整数,只要小于某个阈值就可以大幅下降,相比油藏储量,更容易学习,而且实际使用中人们也是更关注油藏储量的预测结果,所以预测油藏数量的超参系数占比可以稍微减小,借此进一步提高预测结果的准确性。

在4个区块上分别试验,需要的试验数据有历年的探井数量、油藏数量、油藏储量。将1964—1984年作为训练数据来预测1985年的结果,然后用1964—1985年的数据来预测1986年的结果。以此类推,最终用1964—2012年数据预测2013年。因为误差放大问题,如果直接用1964—1984年的数据预测之后所有年份,会使之后的误差逐年放大,偏离真实值。

每一年的预测只能接触到之前年份的数据,因此充分保证了试验的客观性。

5.2 试验结果与分析

常用的油藏储量预测方法的试验结果平均值如表1所示(试验结果是在4个区块上分别求得误差后计算的平均值)。表1中,S曲线方法是目前已经投入使用的主流方法,但是该方法不仅误差大,而且对于某些数值波动较大的年份无法预测,需要手工修正。在此基础上取消对数变换,提出“原始曲线”预测方法,该方法基本不会出现无法预测的情况,但是由于该方法难以找到契合的预定义函数,使得误差进一步变大。深度学习方法比曲线拟合方法效果有明显提升,其中RNN与LSTM都是两层结构,试验结果相近;LSTM_att是在LSTM的基础上分别增加了时间注意力机制,效果明显优于LSTM;LSTM_2att方法是在LSTM_att的基础上又增加了空间注意力机制,进一步优化了试验结果,用消融试验的思想证明了时间注意力机制和空间注意力机制的各自效果。LSTM_2att方法的油藏数量相对误差值最小,油藏储量相对误差略高于LSTM_att方法,但明显优于其他方法,在最终的平均相对误差上,本文中提出的时空注意力机制(LSTM_2att)取得最好结果。

表1 常用油藏储量预测方法试验对比结果

图2是在010301区块上的拟合效果。为了更好地观察试验效果,从5种对比方法中挑选2种比较有代表性的方法作为对比,即传统方法中目前效果最好的原始曲线方法和目前为止深度学习方法中效果最好的LSTM_att方法(只用一个时间注意力机制的LSTM方法,是本试验的消融对比试验)。从图2中可以观察到,几种方法预测曲线基本能够把握住数据总体的趋势走向,与传统的曲线拟合方法相比,深度学习方法效果明显更好,能够很好的消除某一年份的数值波动对之后年份的影响。本文中提出的att2方法(红色曲线)结果明显优于LSTM_att方法(蓝色曲线),尤其是在预测的稳定性上,取得目前已知的最优结果,充分证明了该方法的有效性。

图2 油藏个数与油藏储量拟合效果

6 结束语

提出的专注油藏储量预测的深度时空注意力模型,首次将深度学习中的注意力机制引入油藏储量预测任务,显著降低了预测的误差,大大提高了预测结果的准确性,并在真实数据上的试验结果验证了该方法的有效性。专注油藏储量预测的深度时空注意力模型在该油田的数据上取得目前已知的最好结果,充分发挥深度学习注意力机制在时序序列预测中的潜力,能够有效消除异常数据以及数据波动对后续预测准确度的不利影响。今后可在以下方面对该模型进行改进:探索适合于油田储量序列建模的其他代价函数;改变深度模型中的节点的连接方式, 进一步减少数据突变对网络模型的影响, 增强模型的健壮性;探索深度注意力模型在中长期油藏储量预测中的使用方法,缓解误差放大这一传统难题。

猜你喜欢

储量油藏注意力
让注意力“飞”回来
13.22亿吨
页岩油藏提高采收率技术及展望
复杂断块油藏三维地质模型的多级定量评价
镇北油田某油藏延长低含水采油期技术研究
基于三维软件资源储量估算对比研究
全球钴矿资源储量、供给及应用
2019 年世界油气储量与产量及其分布
如何培养一年级学生的注意力
微裂缝低渗透油藏产能公式在合水油田的应用