掌桥专利:专业的专利平台
掌桥专利
首页

一种基于Transformer网络的多孔介质渗透率预测方法

文献发布时间:2024-01-17 01:28:27


一种基于Transformer网络的多孔介质渗透率预测方法

技术领域

本发明涉及孔隙尺度数值模拟技术领域,具体为一种基于Transformer网络的多孔介质渗透率预测方法。

背景技术

渗透率作为一种衡量流体通过多孔介质难易程度的重要参数,对于多孔介质渗流、污染物迁移数学模型的建立起到基本控制作用。准确获取渗透率有助于我们更全面地了解多孔介质当中物质输移的详细过程,减少应用的不确定性并提高应用效率,从而能够对地质体的动态特征进行准确而定量的评估与预测。

传统的渗透率测定方法是Darcy压力梯度法,但该方法存在试验周期较长,且受环境扰动较大的问题。

近二十年来,随着计算流体力学的快速发展,孔隙尺度数值模拟已经被广泛应用于多孔介质场的模拟与宏观参数(如渗透率)的计算,主要包括格子玻尔兹曼法,经典计算流体力学法(Computational Fluid Dynamics,CFD)等直接模拟法,以及孔隙网络模型法。直接模拟法基于孔隙空间的三维图像进行模拟计算,因而存在复杂边界条件,且由于Navier-Stokes方程的非线性特点,计算成本较高从而限制了多孔介质的可计算尺寸。孔隙网络模型法简化了孔隙空间的几何形状,同时保留了物质输运必要的孔隙结构特征,计算时间较短且能够模拟较大尺寸的多孔介质岩芯,但模拟结果的准确性一般不如直接模拟法。

随着计算机技术与深度学习的蓬勃发展,利用深度学习神经网络模型预测多孔介质的渗透率已成趋势。该方法的基本思想是利用神经网络架构,建立多孔介质数字图像与渗透率值的直接映射关系。其中最常用的神经网络是卷积神经网络CNN。由达西定律可知,多孔介质的渗透率由其孔隙空间结构决定。多孔介质数字图像作为CNN模型的输入,经过多次卷积、池化、残差连接等变换操作,网络将提取的高维深层特征图压缩为特征向量,并进一步通过全连接层建立与渗透率值的映射关系。

作为传统数值模拟方法的替代,神经网络模型的计算时间短、准确度高,是今后快速预测多孔介质渗透率参数或其他物理参数的主流方向。然而,训练神经网络模型,尤其是深层三维卷积神经网络模型,对于Graphics Processing Unit(GPU)的内存而言是较为艰巨的挑战,其原因在于GPU的内存大小往往限制了模型的预测性能与训练效率。

发明内容

针对现有技术中存在的不足,本发明提出一种基于Transformer网络的多孔介质渗透率预测方法,建立PhyCNN-Transformer混合神经网络,将三维图像回归问题转化为二维图像序列回归问题,一定程度上解决了GPU的内存大小限制模型的预测性能与训练效率的问题。

为了解决上述技术问题,本发明提供如下技术方案:一种基于Transformer网络的多孔介质渗透率预测方法:

S1、利用孔隙尺度模拟方法模拟流场,计算出三维多孔介质的渗透率;

S2、将多孔介质的三维结构图像视为由二维切片图像组成的空间序列,并提取每一二维切片图像的物理属性;

S3、在多孔介质三维结构图像中加入相应的物理参数矩阵构造样本集,并确定训练集、验证集与测试集;

S4、基于卷积神经网络CNN和Transformer网络,构建PhyCNN-Transformer神经网络模型;所用卷积神经网络CNN提取了含有物理参数信息的图像特征,为与一般CNN区别,表述为PhyCNN;

将训练集结合梯度下降法,训练、优化神经网络模型PhyCNN-Transformer的参数;验证集用于评估PhyCNN-Transformer模型在训练过程中的预测能力;测试集用于检验PhyCNN-Transformer模型的最终预测效果。

根据上述技术方案,所述孔隙尺度模拟方法包括孔隙网络模型PNM和格子玻尔兹曼法LBM。

根据上述技术方案,所述多孔介质的三维结构图像切分步骤为:

将多孔介质的三维结构图像沿笛卡尔空间直角坐标系的任意一轴方向(一般为水流方向),切分为连续的二维图像,多孔介质在切割轴向上的长度即序列长度,切片图像的厚度等同于像素大小。

沿笛卡尔空间直角坐标系的任意一轴方向进行切割的轴称为切割轴。

根据上述技术方案,所述二维切片图像的物理属性包括孔隙度和比表面积参数;

所述物理属性提取方法为:多孔介质二维切片灰度图像的“1”值表示固相,多孔介质二维切片灰度图像“0”值像素表示孔隙结构,利用python编程实现对切片图像像素点的统计,计算出孔隙度与比表面积。

所述孔隙度定义为孔隙所占面积与切片面积的比值,表示方法为孔隙像素数与切片图像总像素数之比;所述比表面积定义为切片内所有孔隙的总周长与孔隙部分面积的比值,表示方法为孔隙边缘的像素数与孔隙总像素数之比;

根据上述技术方案,所述在多孔介质三维结构图像中加入相应的物理参数矩阵,具体方法为:建立与二维切片图像相同尺寸的二维参数矩阵,矩阵中上半部分元素均为切片的孔隙度值,下半部分元素均为切片的比表面积值,将参数矩阵作为单通道图像加入多孔介质三维结构原始灰度图像中,从而使多孔介质三维结构图像包含了物理参数信息。

根据上述技术方案,以孔隙网络模型PNM或格子玻尔兹曼法LBM计算所得的多孔介质渗透率作为图像对应的标签值,从而组成所述样本集;样本集按一定比例划分为训练集、验证集与测试集,可按6:2:2划分,也可划分为其他相近比例。

根据上述技术方案,所述PhyCNN-Transformer神经网络模型由卷积神经网络CNN和Transformer网络构成,具体为:

所述卷积神经网络CNN设置了4种不同尺寸的二维卷积层,4个卷积层之后紧连着单层的第一全连接层;

所述卷积神经网络CNN的第一全连接层连接Transformer网络的编码层;

所述Transformer网络具有6个相同编码层,每一编码层存在2个子层;第一子层是多头自注意力层,第二子层是第二全连接层,多头自注意力层和第二全连接层之间包含残差连接与正则化操作;

所述卷积层,用于对序列中每一二维图像生成多通道的特征图;所述第一全连接层,用于将多通道的特征图压缩为固定维数的特征向量;二维卷积核尺寸、数量固定不变。

所述卷积神经网络CNN提取了含有物理参数信息的图像特征,为与一般CNN区别,表述为PhyCNN。

Transformer网络是基于多头自注意力机制的Seq2Seq模型。自注意力机制能够将序列中的不同位置关联起来,重新对序列进行表征。多头自注意力允许模型在不同位置关注来自不同子空间的信息,从而增强模型的表征能力。

根据上述技术方案,所述渗透率的回归预测具体步骤:

将含有物理参数信息的、以二维图像序列表示的多孔介质三维结构输入到CNN模型的二维卷积层中,并以Batch Norm与ReLU激活函数增加网络的非线性表征能力,为序列中每一二维图像生成多通道的特征图;

将多通道的特征图输入到全连接层,从而将其压缩为固定维数的特征向量。对序列中每一图像重复此操作,从而组成特征向量序列;

利用正弦曲线位置编码确定序列中每项的位置信息;

在特征向量序列中加入位置编码,并输入到Transformer网络的多头自注意力层,将特征向量序列中的不同位置关联起来,重新对其进行表征;

在表征后的特征向量序列的“序列长度”维度上取平均,而后输入到全连接层,对三维多孔介质渗透率进行回归预测。

由于自注意力机制忽略了序列中每一项的位置信息,因此需要在输入序列中加入位置编码;

根据上述技术方案,所述正弦曲线位置编码:

其中,2i和2i+1表示特征向量中嵌入的第2i和第2i+1个元素,pos是序列中特征向量的全局位置,PE表示位置编码,d

根据上述技术方案,所述多孔介质特征向量序列的重新表征步骤为:

为了从输入的含有位置编码的特征向量序列中选出与多孔介质渗透率相关的信息,多头自注意力机制引入维度为d

以打分函数计算序列中每个特征向量(采用键值对表示)与查询向量之间的相关性。键向量用于计算注意力分布,值向量用于计算聚合信息;

利用所有键向量计算查询向量的点积,并除以

其中,Q为查询向量矩阵、K为键向量矩阵、V为值向量矩阵,d

多头自注意力将查询矩阵Q、键矩阵K和值矩阵V用h个子空间(头)的不同线性投影分别投影到d

其中,投影均为参数矩阵,

与现有技术相比,本发明所达到的有益效果是:本发明提出的PhyCNN-Transformer模型将三维图像回归问题转化为二维图像序列的回归问题,并针对多孔介质渗透率预测这一任务,在多孔介质数字图像中加入二维物理参数信息,使模型加深对多孔介质结构特性的理解,捕捉多孔介质的本质特征,从而提高预测准确性与泛化能力。相较于常用的3D CNN模型,PhyCNN-Transformer模型大幅降低了神经网络训练的参数量,模型的训练速度、预测性能以及泛化能力有较大提升。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1是PhyCNN-Transformer模型框架结构;

图2是Transformer的网络结构;

图3是多孔介质样本的三维结构;

图4是多孔介质的数据分布;

图5是训练过程中不同批次大小下PhyCNN-Transformer模型的损失值;

图6是不同批次大小下PhyCNN-Transformer模型对验证集的预测结果;

图7是最佳PhyCNN-Transformer模型的预测结果;

图8是3D CNN模型的预测结果。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-图8,本发明提供技术方案,一种基于Transformer网络的多孔介质渗透率预测方法:

S1、利用PNM或LBM孔隙尺度模拟方法模拟流场,计算出三维多孔介质的渗透率;

S2、将多孔介质的三维结构图像视为由二维切片图像组成的空间序列,并提取每一二维切片图像的物理属性;

其中,所述二维切片图像的物理属性包括孔隙度和比表面积参数;所述多孔介质的三维结构图像切分步骤为:将多孔介质的三维结构图像沿笛卡尔空间直角坐标系的任意一轴方向(一般为水流方向),切分为连续的二维图像,多孔介质在切割轴上的长度即序列长度,切片图像的厚度等同于像素大小。

所述物理属性提取方法为:多孔介质二维切片灰度图像的“1”值表示固相,多孔介质二维切片灰度图像“0”值像素表示孔隙结构,利用python编程实现对切片图像像素点的统计,计算出孔隙度与比表面积。

S3、在多孔介质三维结构图像中加入相应的物理参数矩阵,并以多孔介质渗透率作为图像对应的标签值构造样本集,并确定训练集、验证集与测试集。在多孔介质三维结构图像中加入相应的物理参数矩阵,具体方法为:建立与二维切片图像相同尺寸的二维参数矩阵,矩阵中上半部分元素均为切片的孔隙度值,下半部分元素均为切片的比表面积值,将参数矩阵作为单通道图像加入多孔介质三维结构原始灰度图像中,从而使多孔介质三维结构图像包含了物理参数信息。

样本集可按6:2:2或其他相近比例划分为训练集、验证集与测试集。

S4、基于卷积神经网络CNN和Transformer网络,构建PhyCNN-Transformer神经网络模型,具体为:将含有物理参数信息的、以二维图像序列表示的多孔介质三维结构输入到CNN模型的二维卷积层中,并以Batch Norm与ReLU激活函数增加网络的非线性表征能力,为序列中每一二维图像生成多通道的特征图;

将多通道的特征图输入到全连接层,从而将其压缩为固定维数的特征向量。对序列中每一图像重复此操作,从而组成特征向量序列;

利用正弦曲线位置编码确定序列中每项的位置信息;所述正弦曲线位置编码:

其中,2i和2i+1表示特征向量中嵌入的第2i和第2i+1个元素,pos是序列中特征向量的全局位置,PE表示位置编码,d

在特征向量序列中加入位置编码,并输入到Transformer网络的多头自注意力层,将特征向量序列中的不同位置关联起来,重新对其进行表征;所述多孔介质特征向量序列的重新表征步骤为:

为了从输入的含有位置编码的特征向量序列中选出与多孔介质渗透率相关的信息,多头自注意力机制引入维度为d

以打分函数计算序列中每个特征向量(采用键值对表示)与查询向量之间的相关性。键向量用于计算注意力分布,值向量用于计算聚合信息;

利用所有键向量计算查询向量的点积,并除以

其中,Q为查询向量矩阵、K为键向量矩阵、V为值向量矩阵,d

多头自注意力将查询矩阵Q、键矩阵K和值矩阵V用h个子空间(头)的不同线性投影分别投影到d

其中,投影均为参数矩阵,

在表征后的特征向量序列的“序列长度”维度上取平均,而后输入到全连接层,对三维多孔介质渗透率进行回归预测;

其中,所述PhyCNN-Transformer神经网络模型由卷积神经网络CNN和Transformer网络构成,具体为:所述卷积神经网络CNN设置了4种不同尺寸的二维卷积层,4个卷积层之后紧连着单层的第一全连接层;所述卷积神经网络CNN模型的第一全连接层连接Transformer网络的编码层;所述Transformer网络具有6个相同编码层,每一编码层存在2个子层;第一子层是多头自注意力层,第二子层是第二全连接层,多头自注意力层和第二全连接层之间包含残差连接与正则化操作;所述卷积层,用于对序列中每一二维图像生成多通道的特征图;所述第一全连接层,用于将多通道的特征图压缩为固定维数的特征向量。

使用训练数据集训练PhyCNN-Transformer神经网络并利用反向梯度法优化其参数;使用验证集对模型进行评估,计算模型的回归性能指标,如均方根误差(RMSE),决定系数(R

实施例1

随机选取了6250个Arash Rabbani生成的半真实三维多孔介质(如图3所示)以及相应的由PNM计算得到的渗透率值;三维多孔介质图像体积为256

将三维多孔介质视为沿x轴方向连续的256张二维灰度图像,图像尺寸为256×256,其中“0”值像素表示孔隙结构,“1”值像素表示固相骨架;二维切片图像的孔隙度与比表面积可由python编程实现计算,组成二维参数矩阵后加入图像中,使其成为包含物理信息的双通道图像并输入至PhyCNN-Transformer网络中;

使用Pytorch平台搭建PhyCNN-Transformer神经网络架构,网络超参数设置如CNN卷积核尺寸、数量等,Transformer的Encoder层编码层层数、多头自注意力头数等见表1;

表1

选取样本集中的3500(56%)个样本作为为训练集,1500(24%)个样本作为验证集,1250(20%)个样本作为测试集。

PhyCNN-Transformer神经网络经过100epoch训练后取得了较好的预测结果。图5展示了PhyCNN-Transformer模型在不同批次大小下验证集的损失曲线。结合图6对验证集的R

对比例1

采用与PhyCNN-Transformer相同的训练集、验证集与测试集。

建立基于Pytorch的三维卷积神经网络(3D CNN)模型,将体积为2563体素的三维多孔介质数字图像压缩为具有256维的特征向量。首先,通过4个3D卷积层与批量归一化(Batch Norm)层和ReLU激活函数构建编码器,对数字图像进行特征提取;而后,使用一个线性层将提取到的特征压缩成256维的特征向量;最后,将这些特征向量输入到5个全连接层(包括输入层和输出层)中以预测渗透率。

其中,3D CNN模型训练所用的epoch增加至150,初始学习率为1e-3;在epoch分别为20、50、80和110时,学习率依次设置为初始学习率的0.1、0.05、0.025和0.01倍;

当批次大小等于8时,3D CNN在验证集上的R

训练完成的3D CNN在测试集上的R

将3D CNN模型与PhyCNN-Transformer模型两者在验证集和测试集上的预测结果进行对比,结果表明3D CNN模型其预测结果相对较差。

此外,3D CNN的训练参数量为20.2M,而PhyCNN-Transformer的训练参数量为8.59M,参数量减少了57.5%,大幅节省了所需显存。在训练速度方面,当采用相同GPU设备进行训练时,PhyCNN-Transformer模型平均每epoch用时29.0分钟,3D CNN模型平均每epoch用时29.6分钟。此外,3D CNN模型其损失曲线收敛所需的训练epoch较大,训练用时远较PhyCNN-Transformer长。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120116232253