基于昇思的大地电磁智能反演模型达到业界SOTA,助力地球物理勘探加速智能化

近日,华为AI4S Lab与清华大学李懋坤教授团队、华为先进计算与存储实验室合作,基于昇腾AI处理器与昇思MindSpore AI框架打造了大地电磁智能反演模型。该模型通过变分自编码器(VAE)灵活嵌入了多物理先验知识,达到了业界SOTA。该成果已被国际顶级地球物理期刊《Geophysics》收录,相关代码已在昇思MindSpore Elec电磁仿真套件代码仓中开源,同时,该成果也在昇思人工智能框架峰会2024上发布亮相。

大地电磁反演(Magnetotelluric, MT)是一种地球物理勘探技术。它利用地球表面上的电磁场与地下岩石、矿床等物质的电导率、磁导率等物理属性之间的关系,推断地下物质的电磁参数分布从而达到探测地下物质的目的。该技术被广泛应用于矿产勘探、油气勘探、地质灾害预测等领域。大地电磁反演相比地震波反演具有探测深度大、测量复杂度低、操作较为简便等优势,但传统的大地电磁反演方法(如像素反演方法等)仍面临数据分辨率低、病态性和多解性等问题。基于昇思的大地电磁智能反演模型通过融入多物理先验知识,有效地解决了上述问题。


图1大地电磁反演示意图

大地电磁智能反演模型大体分为两步:

· 根据先验知识随机生成电阻率分布图,并进行VAE的自编码预训练

获得解码器构建的图像和隐变量的映射关系m=Ɗ(v)。特别注意的是,我们首次提出采用1D子域编码方案,该方案可有效降低数据集的复杂性和多样性。最终不仅可以减少训练成本,还可以灵活地嵌入具有各种不确定性的先验知识。

图2 VAE预训练示意图

· 预训练完成后,利用观测数据对隐变量v进行高斯牛顿迭代反演。迭代反演中为了提升反演的稳定性,我们分别引入了关于当前步隐变量梯度的正则项以及前一步隐变量相关的正则项。

其中,dobs是测量数据,而ℱ为大地电磁正演建模算子,第2/3/4项为不同的正则项。通过上述步骤,我们有效的提升了大地电磁反演的分辨率,克服了病态性和多解性问题。

基于昇思MindSpore框架的分布式并行能力,我们实现了高效的变分自编码器网络的预训练和推理。借助MindSpore的自动微分能力,高斯牛顿迭代反演中灵活地嵌入了含梯度的正则项,提升了反演的稳定性。基于昇思MindSpore的大地电磁反演模型,精度和性能上都有显著提升。

如下是大地电磁智能反演示例:反演区域水平长度为10km,深度为1km。下图3中目标电阻率分布(第一列)与传统大地电磁反演(第二列)、大地电磁智能反演(第三列),可以看出大地电磁智能反演相比传统反演精度显著提升(前者残差为0.0056和0.0054;后者为0.023和0.024);下图4中,大地电磁智能反演性能也优于传统反演方法(前者收敛步数为4和4;后者为6和4)。

此外,大地电磁智能反演模型还在南部非洲开源数据集(SAMTEX)上做了验证。该反演区域位于南部非洲西海岸附近,长度约为750km,深度选定为80km。该测区显著特征为在水平方向100km至400km之间,深度20km以浅的区域存在的高导结构。由于低频电磁波在导体结构中的衰减,MT方法对高导结构下部区域的敏感度很低, 因此无先验知识约束的传统MT反演难以准确重建高导地层的下边界位置。大地电磁智能反演对高导地层的下边界重建较为清晰准确,较好地将地层厚度的先验知识融入了反演。

昇思MindSpore为用户和开发者提供了一个高效易用的AI4S加速库,大地电磁智能反演模型充分利用该加速库,并取得了SOTA的结果。未来,AI4S加速库将不断拓展该模型,推动应用落地到更多领域。同时,希望有更多的企业、科研院所能够共同参与共建、共享,依托昇思MindSpore共同打造更多智能电磁的创新应用。

了解更多可查看论文:

https://library.seg.org/doi/10.1190/geo2022-0774.1

相关工作:

· MindSpore Science开源路径

https://gitee.com/mindspore/mindscience

· 昇思大地电磁智能反演模型开源路径

https://gitee.com/mindspore/mindscience/tree/master/MindElec/examples/hybrid_driven/feature_based_MT_inversion

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/305427.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三次 Bspline(B样条曲线) NURBS曲线的绘制 matlab

先来了解几个概念: 1.1 节点向量: B-Spline需要定义曲线的节点向量U,它可以对应到Bezier曲线的参数u。 其元素个数 (m1) 和曲线阶数 k 、控制点个数n满足:m1k1n1 如果U的每段的距离是相等,那么这个B-Spline就被称为均…

多级菜单Mysql数据库表设计与创建

1.还是以Vue实现学院官网为例 文章地址:http://t.csdnimg.cn/jrJhE Vue 实现学院官网“菜单”当时是使用静态数据,也就是在页面上写死了的。 今天我们需要将“菜单”数据在数据库中进行维护,我们使用的是Mysql数据库 2.数据库的设计 我们的…

文心一言 VS 讯飞星火 VS chatgpt (234)-- 算法导论17.2 2题

二、用核算法重做练习17.1-3。练习17.1-3的内容是:假定我们对一个数据结构执行一个由 n 个操作组成的操作序列,当 i 严格为 2 的幂时第 i 个操作的代价为 i ,否则代价为1。使用聚合分析确定每个操作的摊还代价。 文心一言: 练习…

Vue的学习之旅-part4

Vue的学习之旅-part1 vue的自带指令v-if v-else-if v-else虚拟DOM的复用v-show 与 v-if 的不同之处:v-if v-show各自合适的使用位置: v-for 循环v-for 循环遍历 :key"item" 绑定key,区分循环的内容循环的应用: 前几篇博…

基于SpringBoot+Vue的公园管理系统(源码+文档+部署+讲解)

一.系统概述 近年来,科技飞速发展,在经济全球化的背景之下,互联网技术将进一步提高社会综合发展的效率和速度,互联网技术也会涉及到各个领域,而公园管理系统在网络背景下有着无法忽视的作用。信息管理系统的开发是一个…

React + three.js 3D模型骨骼绑定

系列文章目录 React 使用 three.js 加载 gltf 3D模型 | three.js 入门React three.js 3D模型骨骼绑定React three.js 3D模型面部表情控制 项目代码(github):https://github.com/couchette/simple-react-three-skeleton-demo 项目代码(gitcode):https:…

保姆级Xshell安装教程

简介 Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。 Xshell可以在Windows界面下用来访问远端不…

Windows:Redis数据库图形化中文工具软件——RESP(3)

这个是用于连接redis数据库的软件工具,安装在windows上的图形化界面,并且支持中文,是在github上的一个项目 1.获取安装包 发布 lework/RedisDesktopManager-Windows (github.com)https://github.com/lework/RedisDesktopManager-Windows/rel…

vulhub之fastjson篇-1.2.27-rce

一、启动环境 虚拟机:kali靶机:192.168.125.130/172.19.0.1(docker地址:172.19.0.2) 虚拟机:kali攻击机:192.168.125.130/172.19.0.1 本地MAC:172.XX.XX.XX 启动 fastjson 反序列化导致任意命令执行漏洞 环境 1.进入 vulhub 的 Fastjson 1.2.47 路径 cd /../../vulhub/fa…

Vue中如何使用Tailwind CSS样式?多次引用不成功?具体步骤怎么做?

一、安装Tailwind CSS和依赖 在你的Vue项目中安装Tailwind CSS及其依赖。你可以使用npm或yarn来安装。 npm install tailwindcsslatest postcsslatest autoprefixerlatest # 或者yarn add tailwindcsslatest postcsslatest autoprefixerlatest 二、初始化Tailwind CSS np…

Qt中播放GIF动画

在Qt应用程序中,如果你想在QLabel控件上播放GIF动画,可以使用QMovie类与QLabel配合来实现。以下是详细步骤和代码示例: 步骤1:引入必要的头文件 首先,在你的源代码文件中包含QMovie和QLabel相关的头文件:…

rust使用print控制台打印输出五颜六色的彩色红色字体

想要在控制台打印输出彩色的字体,可以使用一些已经封装好的依赖库,比如ansi_term这个依赖库,官方依赖库地址:https://crates.io/crates/ansi_term 安装依赖: cargo add ansi_term 或者在Cargo.toml文件中加入&#…

如何在群晖本地搭建在线PS工具Potopea并实现无公网IP远程编辑图片

文章目录 1. 部署Photopea2. 运行Photopea3. 群晖安装Cpolar4. 配置公网地址5. 公网访问测试6. 固定公网地址 本文主要介绍如何在群晖NAS使用Docker部署Potopea在线图片编辑工具,并结合cpolar内网穿透实现公网环境可以远程访问本地部署的Potopea. Photopea是一款强大…

2024年4月12日 十二生肖 今日运势

小运播报:2024年4月12日,星期五,农历三月初四 (甲辰年戊辰月丙午日),法定工作日。 红榜生肖:羊、狗、虎 需要注意:牛、马、鼠 喜神方位:西南方 财神方位:…

【C++算法】线性DP详解:数字三角形、最长上升子序列、最长公共子序列、最长公共子串、字符串编辑距离

文章目录 1)数字三角形1:顺推2:逆推 2)最长上升子序列1:线性DP做法2:二分优化 3)最长公共子序列4)最长公共子串5)字符串编辑距离 1)数字三角形 1&#xff1a…

4/7 QT_day1

#include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {//窗口设置this->setWindowTitle("小黑子(little black son)");this->setWindowIcon(QIcon("D:\\qq文件\\Pitrue\\pictrue\\black.jpg"));this-&g…

【理解-IO多路复用】

文章目录 多路复用的介绍select ()poll()epoll() 多路复用的介绍 IO多路复用是一种技术,允许单个线程同时管理多个输入/输出通道,如网络套接字或文件描述符。 在IO多路复用中,这些通道被注册到一个事件管理器,然后通过阻塞方式等…

Vue列表渲染

一、Vue列表渲染 1.用 v-for 把一个数组对应为一组元素 我们可以用 v-for 指令基于一个数组来渲染一个列表。v-for 指令需要使用 item in items 形式的特殊语法&#xff0c;其中 items 是源数据数组&#xff0c;而 item 则是被迭代的数组元素的别名。 <ul id"exampl…

MATLAB有限元结构动力学分析与工程应用-徐斌|【PDF电子书+配套Matlab源码】

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现&#xff0c;并提供所有案例完整源码&#xff1b;2.单元…

Spring Cloud学习笔记:Eureka简介,Eureka简单样例

这是本人学习的总结&#xff0c;主要学习资料如下 - 马士兵教育 [TOC](目录)1、Eureka 1.1、架构 Eureka是SpringCloud Nexflix的核心子模块&#xff0c;其中包含Server和Client。 Server提供服务注册&#xff0c;存储所有可用服务节点。 Client用于简化和Server的通讯复杂…