10x倍加速PDE的AI求解:元自动解码器求解参数化偏微分方程

news2024/11/16 15:28:00
  • 研究背景

科学和工程中的许多应用需要求解具有不同方程系数、不同边界条件甚至不同求解域形状的偏微分方程(Partial Differential Equation,PDE),即需要求解一个方程族而不是单个方程。这类应用经常在反问题求解、控制和优化、风险评估和不确定性量化领域中出现。从数学上讲,这类应用需要求解以下参数化偏微分方程(Parametric PDE):

第一类方法是用神经网络去近似单个PDE的解。这类方法主要依赖控制方程(或其变分形式)和边界条件来训练神经网络。例如,物理信息神经网络(Physics-Informed Neural Networks,PINNs)和DGM (Deep Galerkin Method)通过约束深度神经网络的输出来满足给定的控制方程和边界条件。DRM (Deep Ritz Method)利用偏微分方程的变分形式求解可以表示为等效能量最小化问题的偏微分方程。基于偏微分方程的弱形式,弱对抗网络(Weak Adversarial Network,WAN)将弱解和测试函数分别参数化为Primal神经网络和Adversarial神经网络。这些方法都可以在无监督的方式下工作,即不需要利用传统的数值方法来生成标签数据。然而,当采用这类的方法求解参数化偏微分方程时,我们需要针对每一个PDE参数去单独训练一个模型。当需要求解具有大量PDE参数的参数化偏微分方程时,这类方法的计算量大且不切实际。DRM提出采用迁移学习的方法降低从头训练模型的成本,即将某个任务下训练得到的神经网络权重作为另一个任务的初始化权重。然而当两个任务的相关性较小时,迁移学习的方法相较于从头训练神经网络并没有带来明显的好处。

第二类方法使用神经网络来学习两个无限维函数空间之间的解映射(即PDE参数到方程解的映射)。例如,PDE-Net 用受矩约束的卷积层来逼近空间微分算子(类似于传统的有限差分方法),它能够从观察到的动力学数据中发现支配该动力学系统的控制方程,同时进行快速而准确的预测。深度算子网络(Deep Operator Network,DeepONet)使用两个子网分别对PDE参数和坐标进行编码,并将两个子网的输出做内积以得到方程的解。傅立叶神经算子 (Fourior Neural Operator,FNO)直接在傅立叶空间参数化积分核,从而实现表征能力更强的网络架构。这类方法的显著优点是一旦训练好了神经网络,预测时间几乎可以忽略不计。尽管这类方法在很多应用中都展示出了很理想的效果,但依然存在如下几个问题:1)复杂的物理、生物或工程系统中,标签数据获取成本过高,然而当可用的标签数据很少时,这些模型的泛化能力会很差;2) 这类方法中的大多数都需要一个预定义的网格,并利用网格上的标签数据进行训练和推理;3) 泛化性能难以保证,特别是将模型用于外插时(即用于训练和推理的PDE参数来自于不同的概率分布);4) 这些方法会直接将PDE参数作为神经网络的输入,如果是异构的,这将给网络架构的设计带来不便。虽然PI-DeepONet (Physics-Informed DeepONet)可以在无标签数据和无需重新训练的情况下学习PDE参数到方程解的映射并且不需要一个预定义的网格,但是它需要在参数空间中收集大量的训练样本才能获得一个相对可接受的精度,并且其不能灵活地处理异构PDE参数。

传统意义上的机器学习针对的是一个学习任务,而元学习(Meta Learning)基于一系列相关的学习任务来改进学习算法本身,以使得模型可以更快、更好地处理新的学习任务。经典的元学习算法:MAML和Reptile,已在很多领域被广泛使用。这些元学习算法试图找到一个泛化能力更强的初始模型,以使其能够在少量梯度更新下就能处理新的学习任务。借鉴元学习的思想可以求解参数化偏微分方程,即将不同的PDE参数对应的方程求解视作是不同的学习任务。Meta-MgNet是第一个将求解参数化偏微分方程视为元学习问题的工作,它基于超网和多重网格算法。Meta-MgNet利用任务之间的相似性自适应地生成良好的平滑算子,从而加快求解过程,但是其无法直接应用于不能使用多重网格算法的偏微分方程。最近有研究者将Reptile算法与PINNs相结合用于加速偏微分方程的求解。但是我们通过实验发现,对于一些训练难度较大的偏微分方程来说(例如参数化的带点源的麦克斯韦方程组),Reptile算法并没有明显的求解速度提升。

  • 论文主要内容简介

通过将求解参数化的偏微分方程视为一个元学习问题,我们提出了元自动解码器 (Meta-Auto-Decoder , MAD),这是一种无网格、无监督的深度学习方法,通过自动解码器(Auto-Decoder)架构将(异构)偏微分方程参数隐式编码为隐向量,使得预训练模型能够快速适配到新的方程实例。

论文的主要贡献如下:

  1. 提出了一种求解参数化偏微分方程的无网格、无监督的深度神经网络方法。基于元学习的概念,一旦预先训练好神经网络,求解一个新任务只需要进行少量迭代数目的微调。此外,MAD采用的自动解码器架构可以实现对不同PDE参数的自动编码。
  2. 从流形学习的角度分析了MAD方法的有效性。简而言之,神经网络通过预训练来逼近解流形,而微调对应着在解流形或解流形所在的邻域中搜索方程解。
  3. 通过大量的数值实验验证了MAD方法的有效性,结果表明MAD算法能够显著提高模型的收敛速度,并且具有良好的外插能力。
  • 代码链接

论文: Meta-Auto-Decoder for Solving Parametric Partial Differential Equations

https://arxiv.org/abs/2111.08823

代码链接:

https://gitee.com/mindspore/mindscience/tree/master/MindElec/examples/physics_driven/incremental_learning

  • 算法框架与技术要点

技术要点1:MAD的预训练和微调

图四:从流形学习角度解释MAD方法的有效性。

  • 实验

  • 总结

基于元学习思想,本文提出了一种求解参数偏微分方程的无网格无监督深度学习方法MAD。MAD的预训练是从一组采样任务中学习有用的信息,模型通过加载预训练得到的网络权重可以加快其在微调时的收敛速度不仅如此,MAD可以将异构的PDE参数隐式编码为可训练的隐向量。我们还从流形学习的角度分析了MAD方法的有效性,并通过大量的数值实验验证了MAD方法的有效性

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++GUI之wxWidgets(4)-编写应用涉及的类和方法(1)

目录wxApp ClasswxApp::OnInit()wxFrame ClasswxFrame处理的事件wxApp Class 当wxUSE_GUI1时,wxApp类代表应用程序本身。 除了wxAppConsole提供的特性外,它还可以跟踪顶部窗口(SetTopWindow()),并添加了对视频模式的支持(SetDisp…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java小区宠物信息管理系统0v9l2

最近发现近年来越来越多的人开始追求毕设题目的设创、和新颖性。以往的xx管理系统、xx校园系统都过时了。大多数人都不愿意做这类的系统了,确实,从有毕设开始就有人做了。但是很多人又不知道哪些毕设题目才算是新颖、创意。太老土的不想做,创…

高低JDK版本中JNDI注入(上)

目录 前言: (一)RMI 0x01 低版本 1.1 服务端 1.2 客户端 1.3 ExportObject.java 0x02 高版本 (二)LDAP 0x01低版本 1.1 服务端 1.2 客户端 1.3 ExportObject.java 前言: 这篇文章主要是分析在高低版本JDK中JNDI注入RMI和LDA…

痞子衡嵌入式:浅析IAR下调试信息输出机制之硬件UART外设

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是IAR下调试信息输出机制之硬件UART外设。 在嵌入式世界里,输出打印信息是一种非常常用的辅助调试手段,借助打印信息,我们可以比较容易地定位和分析程序…

泰迪·滇西科技师范学院智能工作室分享:第一章NumPy库——先基础区别数组和列表

前言 来看NumPy库的应该都是接触到庞大数据处理的朋友吧。NumPy是一个简洁好用的数据库,尤其是在科学计算上,专为进行严格数字处理而产生的。其中的ndarray可以说是NumPy库的心脏,它提供了一个强大的N维数组对象,这一章我们先来简…

2 寄存器

寄存器 CPU是由运算器、控制器、寄存器等器件构成,他们依靠内部总线连接。 运算器进行信息处理:寄存器进行信息存储;控制器控制各种器件进行工作;内部总线连接各种器件,在它们之间进行数据的传送。 寄存器是程序员可…

[附源码]Python计算机毕业设计Django社区住户信息管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

AI 绘画整体认知

体验 ChatGPT 之后,深刻感觉到 “了解 AI 绘画” 这件事必须得安排上了。 于是用了两三个日夜,了解如下: (文末附完整脑图链接) 一、发展时间线 二、使用已有的AI绘画云平台(目前国内外有很多&#xff09…

华为与思科路由器静态路由配置

一、华为路由器配置静态路由 1、静态路由基础 拓扑如下: 配置静态路由,使得PC1可以ping通PC3。 R1: interface Ethernet0/0/0ip address 124.16.8.1 255.255.255.0 # interface Ethernet0/0/1ip address 110.69.70.1 255.255.255.0 # # ip route-static 172.16.3.0 255.25…

Java_笔记_继承_虚方法表_成员变量方法构造_thisSuper

一、继承的概念以及优势: 1.概念: 1)继承是面向对象三大特征(封装,继承,多态)之一,可让类与类之间产生子父的关系。 2)封装:对象代表什么,就封装…

VCS Design Compiler(1)

|||||||||||| ========= =============================== VCS & Design Compiler 联合应用 =================================

[附源码]JAVA毕业设计流行病调查平台(系统+LW)

[附源码]JAVA毕业设计流行病调查平台(系统LW) 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&#xff1…

PTA 7-251 汉诺塔问题

PTA 7-251 汉诺塔问题 分数 100 作者 于延 单位 哈尔滨师范大学 任务描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候&am…

DBCO 点击化学试剂:DBCO-PEG24-O-NH2,DBCO-PEG24-O-amine

DBCO-PEG24-O-amine中叠氮化物和DBCO基团,DBCO 点击化学可以在水性缓冲液中运行,也可以在有机溶剂取决于底物分子的性质。带有 PEG 臂的试剂会增加化合物的亲水性。DBCO 试剂已广泛应用于生物偶联、标记和化学生物学。 西安凯新生物科技有限公司​DBCO系…

探花交友_第5章_圈子功能实现(新版)

探花交友_第5章_圈子功能实现(新版) 文章目录探花交友_第5章_圈子功能实现(新版)课程说明1、首页推荐1.1、接口分析1.2、功能实现1.2.1 controller1.2.2 service1.2.3 API接口1.2.4 请求dto对象2、圈子功能2.1、功能说明1.2、实现方案分析1.3、技术方案(重点)1.4、表结构设计3、…

js input 正则保留2位小数中文拼音输入问题 + 限制输入整数的方案

js input 正则保留2位小数中文拼音输入问题 限制输入整数的方案 problem 背景 element ui el-input组件原生input事件 需求 限制输入框的输入只允许输入数字和小数点保留2位小数,不允许输入第3位小数 实现 使用 input 原生 oninput 事件使用 js 正则匹配 /…

二分图(Bipartite Graph)

预计阅读时间:10分钟 一、简介 二分图の定义 二分图又叫二部图,是图论中的一种特殊模型。 假设S(V,E)是一个无向图。如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in…

常见的限流算法分析以及手写实现(计数器、漏斗、令牌桶)

常见的限流算法分析 限流在我们日常生活中经常见到,如火车站门口的栏杆、一些景点的门票只出售一定的数量 等等。在我们的开发中也用到了这种思想。 为什么要限流 🏫在保证可用的情况下尽可能多增加进入的人数,其余的人在排队等待,或者返回友好提示,保…

[附源码]JAVA毕业设计楼宇管理系统(系统+LW)

[附源码]JAVA毕业设计楼宇管理系统(系统LW) 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术:…

Python笔记 · 魔法函数 / Magic Methods / Dunder Methods

在上篇文章《Python笔记 私有方法、私有属性 & 单下划线、双下划线》我们介绍过以前置双下划线开始,后置双下划线结束的方法名:__*__,这是系统定义的一批特殊函数,通常被称之为:魔法函数(Magic Method…