社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

Jupyter 笔记本实现,慕尼黑工大 220 页免费书籍介绍基于物理的深度学习

AI有道 • 4 年前 • 951 次点击  

转自 | 机器之心

编辑 | 杜伟、陈萍

物理知识和深度学习已经成为了解决现实问题的绝佳组合,但如何更有效地将物理模型引入深度学习领域缺少一个全面的综述。慕尼黑工业大学计算机科学副教授 Nils Thuerey 团队编写的这本书籍对基于物理的深度学习展开了详尽的介绍。


  • 书籍地址:https://arxiv.org/pdf/2109.05237.pdf

  • 项目地址:https://github.com/thunil/Physics-Based-Deep-Learning

  • 网站地址:https://www.physicsbaseddeeplearning.org/diffphys-examples.html


文如书名,《基于物理的深度学习》(Physics-based Deep Learning)介绍了物理建模、数值模拟与基于人工神经网络方法的结合。基于物理的深度学习代表了一个非常活跃、快速发展和令人兴奋的研究领域。

就内容而言,本书对物理模拟背景下与深度学习相关的所有内容展开了非常全面的介绍。并且,所有主题都以 Jupyter 笔记本的形式提供 hands-on 代码示例,从而可以快速上手学习。

除了基于数据的标准监督学习之外,书籍作者还研究了物理损失约束、具有可微模拟的更紧密耦合的学习算法以及强化学习和不确定性建模。他们在书中表示,「我们生活在激动人心的时代,基于物理的 DL 方法具有从根本上改变计算机模拟可以实现的目标的巨大潜力。」

以「数值模拟的时间序列」的视觉示例为例,本书将解读如何实现使用神经网络和数值求解器的算法。


更具体地,本书主要解决了以下几个核心问题:

  • 如何使用深度学习技术解决偏微分方程(PDE);

  • 如何更有效地结合深度学习技术与现有物理学知识;

  • 数值方法知识的重要性。


书籍作者之一 Nils Thuerey 为慕尼黑工业大学副教授,他的主要研究兴趣是「用于物理模拟的深度学习方法」。


背景知识

从天气和气候预测,到量子物理学,再到等离子体聚变的控制,使用数值分析获得物理模型的解决方案已经成为科研中必不可缺的一部分。

近年来,机器学习(ML)技术,尤其深度神经网络(DNN),在各个领域取得了令人瞩目的成就:从图像分类到自然语言处理以及最近的蛋白质折叠。

深度学习(DL)方法的这些成功案例引起了广泛关注,并认为相关技术有可能取代传统的、模拟驱动的科学方法。举例而言,最近的工作表明,基于神经网络(NN)的智能体模型实现了现实世界工业应用(如翼型流)所需的准确度,同时在运行时间方面比传统求解器高出几个数量级。

不依赖根据第一性原理精心制作的模型,是否可以通过处理足够大规模的数据集来提供正确答案呢?在这一过程中,将经典数值算法与深度学习技术相结合至关重要。其中一个核心原因是深度学习方法非常强大,但同时又可以从物理模型领域知识中获益匪浅。深度学习技术和神经网络有时难以应用,而且将我们对物理过程的理解正确地整合到学习算法中通常也非易事。

过去几十年,研究社区已经开发出高度专业化和精确的离散化方案来求解基础模型方程,如纳维 - 斯托克斯方程(Navier-Stokes)、麦克斯韦方程组(Maxwell's equations)或薛定谔方程(Schroedinger )。与其舍弃在数值数学领域已经开发的强大方法,本书将展示在应用深度学习技术时尽可能多地使用这些方法反而获益颇多。

书籍概览

本书共分 8 大部分、25 个章节。机器之心简单摘取了部分章节的主要内容,更多信息还请参阅原书籍。

可微物理 

本章主要分五个小节:介绍可微物理、具有可微物理梯度的 Burgers 优化、讨论、可微流体模拟、可微分物理与 Physics-informed 训练。

为了将深度学习和物理模拟更紧密的结合在一起,可以在学习过程中加入可微模拟,简而言之,可称之为可微物理(differentiable physics,DP)。这些方法旨在使用现有的数值求解器,并使其具备根据输入计算梯度的功能。

可微物理训练。

为了说明在 DP 设置中计算梯度的过程,该小节目标是针对相同的逆问题,使用 Physics-Informed NN 进行 Burgers 优化的 PINN 例子。

此外,当我们为 DP 方法选择初始离散化时,未知初始状态由相关物理场的采样点组成,我们可以简单地将这些未知表示为浮点变量。因此,即使对于初始状态,也不需要设置 NN。因此,Burgers 重建问题在用 DP 求解时简化为一个基于梯度的优化问题,没有任何神经网络。

接下来,本章还介绍了一个更复杂的示例,将 Navier-Stokes 方程作为物理模型。与「Navier-Stokes Forward Simulation」 一致,用来针对 2D 案例。

DP 复杂示例 

本章主要分四个小节:复杂示例整体概览;利用深度学习减少数值误差、用神经网络求解逆问题以及概述和评论。

本章给出了更复杂案例的代码示例,以向读者展示通过可微物理训练能够实现哪种任务。首先,本章展示了一个使用深度学习来表示数值模拟误差的场景,遵循 Um 等人的建议。这是一项基本任务,需要学习模型与数值求解器密切交互。因此,这是将数值求解器引入深度学习循环至关重要情况的一个主要例子。

接下来,本章展示了如何让神经网络解决棘手的逆问题,即 Navier-Stokes 模拟的长期控制问题,遵循 Holl 等人研究。这项任务需要长期规划,因此需要两个网络,一个用于预测演变过程,另一个用于实现预期目标。

粗糙和参考流形的视觉概述

强化学习

本章主要分两个小节:强化学习概述、用强化学习控制伯格斯方程(Burgers equation)。

深度强化学习(DRL)是深度学习领域中的一类方法,它可以让人工智能体与周围环境进行交互。在执行此操作过程中,智能体接收其行为奖励信号,并尝试辨别哪些行为有助于获得更高的奖励,从而相应地调整自身行为。强化学习在围棋等游戏方面非常成功,并且在机器人技术等工程应用方面也非常重要。

RL 的设置通常由两部分组成:环境和智能体。环境从智能体接收动作 a,同时以状态 s 的形式向 a 提供观察,并奖励 r。观察结果代表了智能体能够感知来自各个环境状态的信息的一部分。奖励是由预定义的函数提供的,通常是根据环境量身定制的,可能包括游戏分数、错误行为的惩罚或成功完成任务的奖励。

强化学习、环境与智能体相互影响

本小节将 Burgers 方程的逆问题作为强化学习 (RL) 的实验平台。该设置类似于针对可微物理 (DP) 训练的逆问题。与之前类似,Burgers 方程简单但非线性,具有有趣的动力学,因此是 RL 实验的良好起点。本小节目标是训练一个控制力估计器网络,该网络应该预测在两个给定状态之间产生平滑过渡所需的力。

可微物理方法似乎比 RL 智能体产生更少的噪声轨迹,而两者都设法近似真值

 PBDL 和不确定性

本章主要分两个小节:后验推理介绍、RANS Airfoil Flows 与贝叶斯神经网络。

所有的测量、模型和离散化,都有其不确定性。对于测量,通常以测量误差的形式出现。另一方面,模型方程通常只包含我们感兴趣的一部分(剩余部分是不确定性的),而对于数值模拟,则引入了离散化误差。所以这里要问的一个非常重要的问题是,我们如何才能确保我们得到的答案是正确的。从统计学家的角度来看,后验概率分布捕获了我们对模型或数据可能存在不确定性的一些信息。

书籍完整目录如下:




推荐阅读

(点击标题可跳转阅读)

干货 | 公众号历史文章精选

我的深度学习入门路线

我的机器学习入门路线图


重磅

AI有道年度技术文章电子版PDF来啦!



扫描下方二维码,添加  AI有道小助手微信,可申请入群,并获得2020完整技术文章合集PDF(一定要备注:入群 + 地点 + 学校/公司。例如:入群+上海+复旦。 


长按扫码,申请入群

(添加人数较多,请耐心等待)



感谢你的分享,点赞,在看三  

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/120151