文章目录

  • 1.物理驱动的深度学习方法
  • 2.物理驱动深度学习方法几点讨论
    • 2.1 物理信息驱动的深度学习相比于传统数值方法的潜在优势
    • 2.2 先验物理嵌入深度学习模型研究重要进展和趋势
    • 2.3 神经网络在求解PDE时的重要理论问题
    • 2.4 面临的理论、算法和应用方面的主要挑战与可能的解决方法
  • 3.物理信息驱动深度学习论文清单
    • 3.1 内嵌物理神经网络(PINN)论文清单
  • 4 物理信息驱动深度学习相关报告

1.物理驱动的深度学习方法

  • PINN综述-Blog介绍

    • 内嵌物理知识神经网络 (Physics Informed Neural Network,简称PINN) 是一种科学机器在传统数值领域的应用方法,特别是用于解决与偏微分方程 (PDE) 相关的各种问题,包括方程求解、参数反演、模型发现、控制与优化等。
      综述论文
  • Physics Informed Machine Learning – A Taxonomy and Survey of Integrating Prior Knowledge into Learning Systems
  • Integrating physics-based modeling with machine learning: A survey
  • Scientific Machine Learning through Physics-Informed Neural Networks: Where we are and What’s next
  • 基于神经网络的偏微分方程方法综述,中文综述

2.物理驱动深度学习方法几点讨论

2.1 物理信息驱动的深度学习相比于传统数值方法的潜在优势

刚接触到物理驱动的神经学习方法时,总会有一些疑惑:物理驱动的深度学习方法在求解一些物理系统(由物理方程所描述控制的系统)时,需要已知一些物理信息如偏微分方程。但传统数值方法发展这么多年了,如有限差分、有限体积方法已经非常成熟,也成功用于物理系统的求解,求解准确性非常高。物理驱动的深度学习如神经网络方法相比于传统数值方法有哪些潜在优势

  • 反问题计算上有比较大的优势。传统数值方法主要针对复杂问题的正计算,如已知边界条件、已知控制方程下的正计算,优势非常强。相比之下,在正计算问题上,深度学习方法逊色一些。但针对一些反问题,如已知一些测量数据和部分物理(方程中某些参数未知、边界条件未知),深度学习方法可以形成数据和物理双驱动的模型,比基于传统数值方法去做数据同化(data assimilation)效率更高。
  • 需要做快速推断时,优势更明显。一方面,当面对一些数值问题,可以不需要熟悉数值方法背景(不必利用数值格式去推导求解),可以直接利用加物理损失的方法得到一个参考解;另一方面,当问题边界需要不停地换,或者很多源需要不停的变化的问题设定下,如果利用大量时间去训练一个网络,如利用lulu老师提出deeponet方法 [1](物理驱动的神经网络方法),在推断阶段就能实现快速预测。
  • 高维问题上的潜在优势。神经网络确实能处理许多高维问题,但很难说神经网络方法在一些benchmark问题上已经完全超越了传统问题,还需要进一步讨论。

[1] Lu L, Jin P, Karniadakis G E. Deeponet: Learning nonlinear operators for identifying differential equations based on the universal approximation theorem of operators[J]. arXiv preprint arXiv:1910.03193, 2019.
[2] VALSE Webinar 22-15,AI for Science之物理信息驱动的深度学习.

2.2 先验物理嵌入深度学习模型研究重要进展和趋势

近年来,物理信息驱动的深度学习方法发展迅速,已成功用于求解流体、医学、材料等领域的科学计算问题。将物理先验知识嵌入深度学习模型和算法中,可提高学习效率和能力,目前这个方向有哪些重要进展和趋势?

  • 物理嵌入方式方法上。当前,物理信息驱动的深度学习方法主要有以下几种物理嵌入的方式:
    - 通过对网络结构特殊设计嵌入物理。如已知微分方程有一阶导和二阶导,可将 一阶导和二阶导嵌入到网络模型中,这可以看做是一种直觉的嵌入,能够提高网络的学习,但这并不是必须地,一定能提高网络学习能力,而是直觉上觉得应该能提高。
    - 某种意义上的hard constraint。如微分方程边界满足一些条件(如周期性、连续性),可以通过设计网络严格满足这些条件。
    - 从网络学习上。经典如PINN,直接通过将控制方程编码到损失函数中约束可行解。
    - 很多知识通过数据隐式表现(如模拟数据)如何利用这些数据。如一张猫的图片通过旋转变换但还是一只猫,只是引入了旋转物理知识,这些数据仍能用CNN分类猫的数据。
  • 量化不确定性。基于模型的这些预测方法(物理和数据混合驱动的深度学习方法),总归是对于现实的近似,如何通过一些真实数据进行修正预测,量化预测不确定性。
  • 如何从data数据中extract知识。对于现实实际问题,我们会遇到一些实验真实数据、以及模型的仿真数据(可视为低保真数据),如何利用这些数据获得high-level的知识。从物理先验知识的完备程度,可分为
    - 物理知识完备。这种设定下可以有一些数据,也可以没有数据。
    - 物理先验半完备,物理知识半已知,需要一些数据,如已知方程但系数未知的问题(对流扩散系统中的扩散系数)。
    - 物理完全不已知,只有数据。一部分研究可将符号强化学习和解析树结合(任何方程可用树的形式描述),设计符号学习的方法把特定解析树形式找出来,同时这样的解析树能够很好拟合测量数据。

[1] VALSE Webinar 22-15,AI for Science之物理信息驱动的深度学习.

2.3 神经网络在求解PDE时的重要理论问题

  • 从频率角度看待收敛性问题。利用深度学习神经网络求解一些微分方程时,存在了一些较难解释的现象,如求解某些方程就很快收敛,而对于解其他方程就较难收敛。许志钦老师从频率角度进行了相关研究,发现在没有特别的网络构造下,一般情况下,低频收敛较快,高频收敛较慢。更重要深入的研究去分析网络收敛,发现利用网络求解高阶导数时网络收敛会更不稳定。
  • 适定性问题研究。求解PDE(边界和控制方程确定)时,方程的解是适定的,但是利用神经网络求解PDE得到解并不适定。例如,激波函数有间断,利用采样难以采样得到间断的点构成损失函数,神经网络可能就会出现多解。许志钦老师发现,对于一些问题,不加入精确网络解而使用一些粗糙网格解,但是网络学习确能学习到一个较为精确的解。
  • 损失震荡持续下降问题。特别是利用神经网络求解PDE时,训练过程损失会出现正当持续下降的现象。
  • 如何在不训练网络下做误差分析,给出网络的一些收敛阶。对于一些传统数值方法,可以理论推导收敛阶,利用程序实现后也与理论相符合。而神经网络在不训练下,并不知道网络会学出什么结果,距离传统数值方法收敛分析还有很大距离。此外,现在的物理驱动的深度学习方法相比于深度学习方法解决视觉上的一些任务泛化性更差一些。

2.4 面临的理论、算法和应用方面的主要挑战与可能的解决方法

  • 严格嵌入物理。物理信息不是简单加到损失函数中进行优化,而且设计网络时,严格嵌入网络结构中,使得网络输入输出严格满足物理约束,再去做优化。一种思路,能否将传统数值方法优势叠加到网络设计中可能使得求解优化问题变得更简单,也是当前研究一大难点。
  • 应用上可进一步发展。理论上进一步难做,但目前来看,往应用问题上进一步发展还是非常有前景。物理驱动深度学习方法在前面讲到在逆问题上的优势,对于传统数值方法在某些逆问题上很难求解甚至无法求解,但利用深度学习神经网络的灵活性,能求解以前不能做的问题并将误差降到勉强能接受的问题。
  • benchmark的研究。提出的方法能够在同样的问题上验证算法。

3.物理信息驱动深度学习论文清单

3.1 内嵌物理神经网络(PINN)论文清单

论文清单链接,主要根据以下分类罗列了当前部分论文

  • 1)定义问题, 建立工程架构
  • 2)网络结构选择
  • 3)不确定性结合
  • 4) 超参与元学习
  • 5) 区域划分
  • 6) 逆问题论文阅读
  • 7)Loss权重修改与优化算法
  • 8) 与迁移学习结合
  • 9) 与元学习结合
  • 10) 应用论文
    - 波场
    - 压力
    - electromagnetic simulation
    - 流体
    - 单独涉及求解方程
    - 医学
    - 地质勘测
    - Subsurface transport
    - Fiber Optics和材料
    - 求解热问题
    - 基于内嵌物理神经网络的重构问题
  • 11) 物理知识与数值方法结合
  • 12) PINN的加速研究
  • 13) 基于PINN的求解库
  • 14) 多保真与PINN结合
  • 15) 其他

4 物理信息驱动深度学习相关报告

  • 内嵌物理的深度学习,机器之心。

    • 报告人:麻省理工学院陆路老师。
    • 报告内容:本次分享将回顾将物理知识嵌入机器学习的一些趋势,介绍当前的一些常用方法,包括内嵌物理的神经网络(physics-informed neural networks,PINNs)、多保真度神经网络(nulti-fidelity neural networks)和深度算子网络(DeepONet),同时还将讨论这些方法在求解物理和工程问题上的一些应用,特别是在反问题求解上的应用。
    • PPT:https://lululxvi.github.io/files/talks/2021Synced.pdf
  • A Short Introduction to Physics InformedNeural Networks (PINNs),b站。

    • 报告人:李军博士,谢毅博士,殷会敏博士,刘旭博士。
  • 气动优化设计中的可解释可迁移机器学习研究,WS-FTNCFD-2022。报告人:清华大学李润泽博士。

  • leaning operators using deep neural networks for diverse application,哔哩哔哩。

    • 报告人:麻省理工学院陆路老师。
    • 该报告主要介绍了陆路老师关于deeponet相关工作。

PINN物理驱动的深度学习方法入门到详解相关推荐

  1. 《策略驱动型数据中心——ACI技术详解》一1.3 数据中心设计

    本节书摘来自异步社区<策略驱动型数据中心--ACI技术详解>一书中的第1章,第1.3节,作者[美]Lucien Avramov [意]Maurizio Portolani,更多章节内容可以 ...

  2. 《策略驱动型数据中心——ACI技术详解》——1.3 数据中心设计

    本节书摘来自异步社区<策略驱动型数据中心--ACI技术详解>一书中的第1章,第1.3节,作者: [美]Lucien Avramov [意]Maurizio Portolani 更多章节内容 ...

  3. Windows编程入门程序详解

    Windows编程入门程序详解 1.     程序 /************************************************************************* ...

  4. 本征正交分解(POD)入门(详解)

    思来想去还是把题目从"简介"改成了"入门(详解)",其实详解主要就是针对可能没接触过矩阵论的同学,我也是研一才学的,入门是指的我会解释一些名词,方便理解.另外P ...

  5. python 快速排序_小白入门知识详解:Python实现快速排序的方法(含实例代码)...

    前言: 今天为大家带来的内容是:小白入门知识详解:Python实现快速排序的方法(含实例代码)希望通过本文的内容能够对各位有所帮助,喜欢的话记得点赞转发收藏不迷路哦!!! 提示: 这篇文章主要介绍了P ...

  6. 深度学习开发环境调查结果公布,你的配置是这样吗?(附新环境配置) By 李泽南2017年6月26日 15:57 本周一(6 月 19 日)机器之心发表文章《我的深度学习开发环境详解:Te

    深度学习开发环境调查结果公布,你的配置是这样吗?(附新环境配置) 机器之心 2017-06-25 12:27 阅读:108 摘要:参与:李泽南.李亚洲本周一(6月19日)机器之心发表文章<我的深 ...

  7. watch深度监听数组_vue watch普通监听和深度监听实例详解(数组和对象)

    vue watch普通监听和深度监听实例详解(数组和对象) 下面通过一段代码给大家介绍vue watch的普通监听和深度监听,具体代码如下所示: var vm=new Vue({ data:{ num ...

  8. python入门教程pdf-Python入门教程详解.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspPython Python入门教程详解.pdf132页 本文档一 ...

  9. 小程序开发入门超详解之WXML

    小程序开发入门超详解之WXML 小程序入门开发超详解版之WXML 开发框架组成介绍 WXML语法 WXML特性 小程序入门开发超详解版之WXML 欢迎大家添加月神的微信:18333806737进行专业 ...

  10. html入门基础(详解)

    html入门基础(详解) 一.HTML 1.HTML:是一种用于创建网页的超文本标记语言(Hyper Text Markup Language) "超文本"就是指页面可以包含图片, ...

最新文章

  1. SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM
  2. 为TypeScript项目生成API文档
  3. 【Python】Pandas中的宝藏函数-transform()
  4. Linux查看文件的首个字母 文件属性字段
  5. 趣文:如果编程语言是车
  6. pyHook pyHook3 区别_一般过去时态和现在完成时态之间到底有什么区别?通过一道语法题,帮你彻底讲清楚!...
  7. 【算法基础笔记】常用的排序算法的时间、空间复杂度,部分排序算法原理
  8. 《DSP using MATLAB》示例Example7.10
  9. C++函数free和delete如何操作指针?
  10. winapi编程获取文件版本信息的代码_.Net调用WinAPI轻松实现POS小票并口打印
  11. linux shell 将命令行终端输出结果写入保存到文件中
  12. linux访问db2数据库操作命令行,DB2数据库基本操作指令30条
  13. 如何编写一份高质量的测试报告
  14. OpenGL 渲染直线
  15. docker-compose部署单机版nacos(自定义数据库)
  16. 脱水马铃薯的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  17. ppt的操作——添加页码
  18. STM32入门指南(1)—新建第一个工程
  19. 【老狼推荐】Instruments 用户指南
  20. 疯狂英语脱口而出900句

热门文章

  1. 中国地区城市php,中国城市列表
  2. 中国省市JSON列表
  3. AD18快速简单入门,画电路原理图以及PCB图
  4. 2020-06-15
  5. 《PMP学习笔记》1.3 五大过程组十大知识领域
  6. 0基础学SQL (一)
  7. 我的世界java版forge怎么用_我的世界forge怎么安装
  8. Spark机器学习实例
  9. Excel自定义格式千分符
  10. JDK10 新特性详解