MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率

这篇具有很好参考价值的文章主要介绍了MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

昇思MindSpore联合清华大学、华为先进计算与存储实验室合作构建了基于变分自编码器的特征域大地电磁反演算法,通过灵活嵌入多物理先验知识有效提升了复杂介质地球物理反演的精度。

大地电磁(Magnetotelluric, MT)数据反演是通过地表测量的天然电磁场推断地下介质分布的手段,广泛被用于油气、矿产资源勘测和地质调查等领域。大地电磁方法的探测深度大、测量复杂度低、操作较为简便,但其固有的数据分辨率低、病态性和多解性强等问题,限制了其对地下结构刻画的精度。为解决这一问题,通常需要反演地块的先验知识约束地下结构反演重建。

作为一种高效的生成模型,变分自编码器(VAE)通过隐空间采样可以生成符合特定分布模式的图像,因此可用来灵活地向反演融入各种先验知识。在本工作中,我们基于昇思MindSpore构建了融合多物理先验知识的特征域大地电磁反演算法。该求解器采用昇思MindSpore框架实现了VAE的训练和推理,同时借助昇思MindSpore的自动微分能力,将VAE解码器构建的结构生成器无缝融入基于梯度的反演优化算法。在保证数据拟合的基础上,我们的算法可以显著降低反演的模型残差,提升反演的精度和分辨率。基于提出的算法,我们成功地处理南部非洲大地电磁实验项目(SAMTEX)的实测数据。

1、大地电磁(MT)正演建模

对于二维大地电磁正演建模,列出频域麦克斯韦方程

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

公式1

考虑沿x走向均匀的二维结构,分别得到横磁(transverse magnetic,TM)模式的磁场方程和横电(transverse electric,TE)模式的电场方程

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

公式2

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

公式3

采用有限差分法(FDM),将地下结构离散为水平方向均匀、深度方向厚度递增的矩形网格,对TM和TE模式列出差分方程,构建并求解矩阵方程,通过地表处的电场和磁场计算测量到的视电阻率和阻抗相位。

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

公式4

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

公式5

2、基于VAE的特征域大地电磁数据反演

VAE是典型的编-解码器结构,VAE的训练包括同时训练解码器的输出接近编码器,同时隐变量的分布接近预先定义的某种简单分布(如标准正态分布):

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

公式9

采用高斯-牛顿优化方法,即在第k步迭代,求解如下的矩阵方程

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

我们借助昇思MindSpore的框架,搭建了变分自编码器并实现了训练和推理过程。借助昇思MindSpore的自动求微分,灵活地计算迭代中生成器的梯度并将其嵌入至高斯牛顿优化算法中。通过变分自编码器,引入额外正则化将反演模型的分布限制特定的模式,从而实现复杂的多物理先验知识向反演的嵌入。反演要实现的效果如下图所示

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

图1. 反演要实现的效果

3、实验与结论

3.1 算例1:仿真算例反演实验

在仿真算例中,研究区域的水平长度为10km,深度为1km,仿真生成了均匀分布的16个地表接收机的数据,包括共14个频点。假设对反演区域有如下图所示的先验知识,即通过地震等非电磁手段获取了电阻率随深度的大致分布。

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

图2. 反演区先验知识

首先,基于昇思MindSpore的卷积神经网络等模块,构建VAE的编码器、解码器和采样、计算KL散度等模块。搭建的VAE结构部分代码如下所示。可以自定义卷积核的尺寸、采用的正则化和激活函数等参数。

class MeanModel(nn.Cell):
    def __init__(self):
        super().__init__()
        self.conv1d1 = nn.Conv1d(1, 16, 3, pad_mode="same")
        self.bn1 = nn.BatchNorm1d(16)
        self.swish1 = Swish()

        self.conv1d2 = nn.Conv1d(16, 16, 3, pad_mode="same")
        self.bn2 = nn.BatchNorm1d(16)
        self.swish2 = Swish()
        self.maxpool1d2 = nn.MaxPool1d(2, 2)

        self.conv1d3 = nn.Conv1d(16, 32, 3, pad_mode="same")
        self.bn3 = nn.BatchNorm1d(32)
        self.swish3 = Swish()

        self.conv1d4 = nn.Conv1d(32, 32, 3, pad_mode="same")
        self.bn4 = nn.BatchNorm1d(32)
        self.swish4 = Swish()
        self.maxpool1d4 = nn.MaxPool1d(2, 2)

        self.conv1d5 = nn.Conv1d(32, 64, 3, pad_mode="same")
        self.bn5 = nn.BatchNorm1d(64)
        self.swish5 = Swish()

        self.conv1d6 = nn.Conv1d(64, 64, 3, pad_mode="same")
        self.bn6 = nn.BatchNorm1d(64)
        self.swish6 = Swish()
        self.maxpool1d6 = nn.MaxPool1d(2, 2)

        self.flatten = nn.Flatten()
        self.dense1 = nn.Dense(256, 16)  
        self.dense2 = nn.Dense(256, 16)复制

通过仿真代码融合先验知识设计训练集,在仿真训练集上完成VAE的训练。VAE训练部分代码如下所示。可以自定义训练的损失函数、优化方式、学习率等参数。

class MSELoss(nn.Cell):
    def construct(self, y_true, y_pred):
        return ops.reduce_mean(ops.multiply(lw_tens, ops.square(y_true - y_pred)))

net = Model()
loss_net = LossFuncNet(net)
mse_loss_net = MSELoss()
optimizer = nn.optim.Adam(params=loss_net.trainable_params(), learning_rate=initial_rate)
train_cell = nn.TrainOneStepCell(loss_net, optimizer)复制

完成VAE训练后,基于训练得到的生成器进行特征域MT反演。反演流程中自动求微分的代码如下所示。

for uu in range(XN_pr2-XN_pr1):
    v = v_array[:, uu*latent_dim:(uu+1)*latent_dim]
    v = ms.Tensor(v, ms.float32)  # (1,16)
    rho_recon_pred_ii = decoder(v)
    v_broadcast = ms.ops.BroadcastTo(((1,rho_recon_pred_ii.shape[-1],v.shape[-1])))(v)
    jacb = ms.ops.Squeeze()(ms.ops.grad(decoder)(v_broadcast))
    jacb1 = np.reshape(jacb, [ZN_pr2 - ZN_pr1, latent_dim], order='F')  # [Nmodel, N_latent_z]
    JD[uu*(ZN_pr2-ZN_pr1):(uu+1)*(ZN_pr2-ZN_pr1), uu*latent_dim:(uu+1)*latent_dim] = jacb1复制

代码中采用ms.ops.grad指令实现对生成器(也即VAE解码器)自动求微分计算生成器的雅克比矩阵,并和MT正问题的雅克比矩阵相乘,计算迭代求解的梯度方向。

下图展示了仿真测试中的实际电阻率分布(第一行)与传统大地电磁反演(第二行)、特征域大地电磁反演(第三行)的结果。

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

图3. 仿真测试结果

可以看出基于VAE的特征域MT反演成功地向反演中融入了关于异常体分布的先验知识。对于两组算例,传统反演和特征域的反演重建结果的数据残差接近,传统反演的模型残差分别为0.023和0.024,特征域反演的模型残差分别为0.0056和0.0054,模型残差仅为传统反演的1/4。

3.2 算例2:SAMTEX实测MT数据集反演实验

在昇思MindSpore框架下,针对南部非洲大地电磁实验的开源数据集(SAMTEX),测试了基于变分自编码器的特征域MT反演算法。反演测区位于南部非洲西海岸附近,长度约为750km,深度选定为80km。该测区显著特征为在水平方向100km至400km之间,深度20km以浅的区域存在的高导结构。由于低频电磁波在导体结构中的衰减,MT方法对高导结构下部区域的敏感度很低,因此无先验知识约束的传统MT反演难以准确重建高导地层的下边界位置。

借助昇思MindSpore框架搭建的特征域大地电磁反演算法。引入先验知识,即高导结构的厚度约为15km。基于先验知识,仿真生成训练集。完成VAE的训练并进行特征域大地电磁反演,重建结果如下所示

MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率,人工智能,机器翻译,算法

图4. 大地电磁反演重建结果

其中上图为传统MT反演的重建结果,下图为昇思MindSpore框架下实现的特征域MT反演的重建结果。特征域MT反演对高导地层的下边界重建较为清晰准确,较好地将地层厚度的先验知识融入了反演。实测实验进一步证明了提出的基于VAE的特征域MT反演可有效提升大地电磁反演的精度和分辨率。

4、总结与展望

我们推出了基于昇思MindSpore Elec的变分自编码器大地电磁特征域反演求解器,借助昇思MindSpore的神经网络算子及自动求微分框架,实现将研究地块的多物理先验知识融入反演算法中,提升大地电磁反演的精度和分辨率。利用在昇思MindSpore平台上实现的算法成功实现了南部非洲大地电磁实测数据的处理。我们希望能够有更多的企业、科研院所参与进来,共同打造和维护昇思MindSpore Elec套件。

参考文献

[1] H. Zhou, et al., Feature-based magnetotelluric inversion by variational autoencoder using a subdomain encoding scheme [J], Geophysics, 2023.

[2] H. Zhou, et al., An Intelligent MT Data Inversion Method With Seismic Attribute Enhancement [J], IEEE Transactions on Geoscience and Remote Sensing, 2023.

[3] T. Habashy, et al., A general framework for constraint minimization for the inversion of electromagnetic measurements, Progress In Electromagnetics Research [J], 2004.

[4] T. Khoza, et al., Lithospheric structure of an Archean craton and adjacent mobile belt revealed from 2-D and 3-D inversion of magnetotelluric data: Example from southern Congo craton in northern Namibia, Journal of Geophysical Research: Solid Earth [J], 2013



往期回顾

MindSpore AI科学计算系类 | Allegro提升昇思分子势能预测准确性,将上线MindSpore Chemistry

MindSpore AI科学计算系列 | 周期性图Transformer提升MindSpore模型对晶体性质的预测

MindSpore AI科学计算系列 | 初探海洋大模型AI-GOMS,打开大模型在海洋方面的大门

MindSpore AI科学计算系列 | “没有最快,只有更快”,快速傅里叶变换详解文章来源地址https://www.toymoban.com/news/detail-824596.html

到了这里,关于MindSpore AI科学计算系类 | VAE基于MindSpore Elec的特征域MT反演,提升大地电磁反演的精度和分辨率的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 昇思MindSpore技术公开课:探索AI世界的新奇之旅

    MindSpore的LLaMA这个课程让我在AI世界探索出了一条新奇的之旅。我觉得这个项目很大胆很有想法,里面有一位老师的话让我印象深刻,他说华为的这个平台,就像是一辆汽车(当然肯定是起始阶段的,发展阶段的汽车),而TensorFlow这些平台就像一架舒服马车,目前看可能这个

    2024年01月24日
    浏览(46)
  • 计算机视觉项目实战-基于特征点匹配的图像拼接

    😊😊😊 欢迎来到本博客 😊😊😊 本次博客内容将继续讲解关于OpenCV的相关知识 🎉 作者简介 : ⭐️⭐️⭐️ 目前计算机研究生在读。主要研究方向是人工智能和群智能算法方向。目前熟悉深度学习(keras、pytorch、yolo),python网页爬虫、机器学习、计算机视觉(OpenCV)、

    2024年02月02日
    浏览(50)
  • 基于MindSpore复现UNet—语义分割

    Unet模型于2015年在论文《U-Net: Convolutional Networks for Biomedical Image Segmentation》中被提出,最初的提出是为了解决医学图像分割问题,用于细胞层面的图像分割任务。 UNet模型是在FCN网络的基础上构建的,但由于FCN无法获取上下文信息以及位置信息,导致准确性较低,UNet模型由此

    2024年02月05日
    浏览(51)
  • AI绘画中VAE压缩图像

    在Stable Diffusion中,所有的去噪和加噪过程并非在图像空间直接进行,而是通过VAE模块将图像编码到一个低维空间。 这个低维空间的“分辨率”低于原始图像空间,有利于快速地完成加噪和去噪过程。 最后再将编码空间中的噪声表示解码恢复为图像空间,完成去噪或加噪操作。 采

    2024年02月02日
    浏览(31)
  • 教你如何基于MindSpore进行ChatGLM微调

    本文分享自华为云社区《基于MindSpore的ChatGLM微调》,作者: JeffDing 。 安装Transformer 执行 python 脚本,合并模型权重。 执行转换脚本,得到转换后的输出文件ms_glm_6b.ckpt 注意可能会遇到以下错误: 解决方法: 原理:找到torch中的libgomp-d22c30c5.so.1 然后赋值给LD_PRELOAD环境变量,这

    2024年02月08日
    浏览(45)
  • 【计算机视觉】图像分割与特征提取——基于Log、Canny的边缘检测

    个人简介:  📦个人主页:赵四司机 🏆学习方向:JAVA后端开发  ⏰往期文章:SpringBoot项目整合微信支付 🔔博主推荐网站:牛客网 刷题|面试|找工作神器 📣种一棵树最好的时间是十年前,其次是现在! 💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。 前言:

    2024年02月03日
    浏览(48)
  • 华为开源自研AI框架昇思MindSpore应用案例:Vision Transformer图像分类

    近些年,随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大地促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩展性,它已经能够训练具有超过100B参数的空前规模的模型。 ViT则是自然语言处理和计算机视觉两个领域的融合结

    2024年02月14日
    浏览(48)
  • 〔AI 绘画〕Stable Diffusion 之 VAE 篇

    VAE:是 Variational Auto-Encoder 的简称,也就是变分自动编码器 可以把它理解成给图片加滤镜,现在的很多大模型里面已经嵌入了 VAE ,所以并需要额外添加 VAE 如果你发现生成的图片在色彩,细节上有些颜色缺失或者失真,基本就是该模型中没有 VAE 导致的,需要手动使用 VAE 点

    2024年02月13日
    浏览(41)
  • 基于MindSpore的llama微调在OpenI平台上运行

    克隆chatglm-6b代码仓,下载分布式的模型文件 安装Transformer 执行转换脚本 注意可能会遇到以下错误: 解决方法: 原理:找到torch中的libgomp-d22c30c5.so.1 然后赋值给LD_PRELOAD环境变量,这个报错好像只有ARM平台会有 微调方式:lora 目前提供alpaca数据集的预处理脚本用于全参微调/l

    2024年02月03日
    浏览(45)
  • 【深度学习】基于华为MindSpore的手写体图像识别实验

    1 实验介绍 1.1 简介 Mnist手写体图像识别实验是深度学习入门经典实验。Mnist数据集包含60,000个用于训练的示例和10,000个用于测试的示例。这些数字已经过尺寸标准化并位于图像中心,图像是固定大小(28x28像素),其值为0到255。为简单起见,每个图像都被平展并转换为784(28*28)个

    2023年04月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包