0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详解物理信息神经网络

MATLAB 来源:MATLAB 2024-12-05 16:50 次阅读

物理信息神经网络 (PINN) 是一种神经网络,它将微分方程描述的物理定律纳入其损失函数中,以引导学习过程得出更符合基本物理定律的解。

PINN 可用于:

逼近偏微分方程 (PDE) 和常微分方程 (ODE) 的解。

求解逆问题,例如基于有限的数据估计模型参数

使用 Deep Learning Toolbox,您可以构建和训练 PINN,从而实现快速预测性分析。您可以将 PINN 与 MATLABSimulink 相集成,以进行系统级仿真、控制设计和设计优化。

2614def2-b228-11ef-93f3-92fbcf53809c.png

物理信息神经网络 (PINN) 在深度学习模型的训练中包含支配现实的物理定律,从而能够对复杂现象进行预测和建模,同时遵守基本物理原理。

PINN 的优点

PINN 是一类物理信息机器学习方法,可将物理知识与数据无缝集成。在求解涉及 PDE 和 ODE 的问题时,通常会将 PINN 与纯数据驱动方法和传统数值方法进行比较。

纯粹数据驱动方法仅从输入和输出数据中学习数学关系,而 PINN 与之不同:

使用先验物理知识。

在训练数据集之外作出更准确的预测。

在训练数据有限或含噪的情况下更有效。

与求解微分方程的传统数值方法(如用于 PDE 的有限元分析)不同,PINN 具有以下特点:

无网格。

能逼近高维 PDE 解。

可求解缺失模型参数,如未知的 PDE 或 ODE 系数。

可求解没有边界数据的不适定问题。

可轻松纳入稀疏或含噪测量。

虽然 PINN 与纯粹数据驱动方法和传统数值方法相比具有潜在优点,但也存在一些限制和挑战,其中包括:

有限收敛理论

缺乏统一的训练策略

计算高阶导数的计算成本

难以学习 PDE 解的高频和多尺度分量

然而,PINN 是充满活力的研究领域,并且在不断进步,有望解决和克服当前面临的上述挑战和限制。

如何在 PINN、数据驱动方法和传统数值方法之间作出选择,取决于您的具体应用。下表总结了每种方法的优点和限制。

2620b56a-b228-11ef-93f3-92fbcf53809c.png

特征比较:PINN、纯数据驱动方法(仅从输入-输出数据中学习数学关系)和传统数值方法(如用于逼近 PDE 解的有限元分析)。

PINN 传统神经网络的区别

与传统神经网络的不同之处在于,PINN 能够以微分方程形式纳入有关问题的先验专业知识。这些附加信息使 PINN 能够在给定的测量数据之外作出更准确的预测。此外,额外的物理知识还能在存在含噪测量数据的情况下对预测解进行正则化处理,从而使 PINN 能够基于真正的基本信号进行学习,而不是对含噪数据过拟合。

例如,假设已收集某系统的含噪测量值 θ_{meas},目标是用前馈人工神经网络预测系统的将来值 θ_{pred}。该网络使用现有测量值进行训练,并将用于预测未知的将来值。训练回归神经网络通常需要尽量减小神经网络预测值与所提供测量值之间的均方误差。

2638b7b4-b228-11ef-93f3-92fbcf53809c.png

传统的神经网络会调整参数,以尽量减小网络预测值与观测的测量之间的误差。

神经网络很难准确预测训练数据之外的系统值。

使用 Deep Learning Toolbox 中的 trainnet 函数训练的原始神经网络会过拟合含噪测量值,在 t 超出可用范围时表现不佳。

获取更多数据可以提高预测效果,但这种方法可能成本过高,或对许多应用来说根本不适用。然而,领域专家往往对控制所研究系统的基本物理过程有更深入的了解。具体来说,在这里,测量值表示的是起重机上摆动的有效负载相对于垂直线的位移角度。此过程可以简单地用阻尼摆来表示,对于小角度来说,可以用线性二阶微分方程来近似建模:

θ^{''}(t)+2βθ^{′}(t)+ω^{2}_{0}θ(t)=0

PINN 并没有忽略这些知识,而是将微分方程作为附加的物理信息项纳入损失函数中。PINN 在域中的其他点上计算微分方程的残差,这为 PINN 提供了更多信息,而无需更多测量值。此简单示例当然可以通过解析方式求解,但它旨在说明 PINN 背后的概念。

264238b6-b228-11ef-93f3-92fbcf53809c.png

Deep Learning Toolbox 中提供的 PINN 可调整其参数,以平衡网络的预测值与观测的测量值之间的误差最小化和物理损失。

在训练过程中,PINN 会在拟合给定测量值和基本物理过程之间找到平衡点。

与传统神经网络相比,使用 Deep Learning Toolbox 创建和训练的 PINN 能在测量数据之外作出更好的预测,抗噪的稳定性也更强。(请参阅 MATLAB 代码。)

通过纳入额外的物理损失项,PINN 在存在含噪测量值和无测量数据情况下的预测效果优于传统神经网络。

PINN 的工作原理

PINN 使用优化算法以迭代方式更新神经网络参数,直到指定的物理信息损失函数值降至可接受的水平,从而推动网络趋向微分方程的解。

26575282-b228-11ef-93f3-92fbcf53809c.png

在针对摆方程这样的 ODE 训练 PINN 时,优化算法会调整神经网络的参数,以将损失函数(包括自动微分 (AD) 的微分方程残差、边界和初始条件,以及可选的其他标注数据)降至可接受的水平。

PINN 包括损失函数 L,由以下几个项组成:物理信息损失项 L_{Physics};计算网络预测的值与初始和/或边界数据规定的值之间误差的可选项 L_{Conds};以及其他额外的测量值 L_{Data}。物理信息损失项使用自动微分 (AD) 或其他数值微分法计算微分方程在域中各点的残差。由于物理信息项并不计算预测值与目标值之间的误差,因此可以将此项视为无监督损失项,也就是说,可以使用域中的任何点对网络进行训练,即使没有在这些点上的测量值也是如此。

PINN 于 2017 年首次推出,现在有许多变体,其中包括:

贝叶斯 PINN (BPINN),它们使用贝叶斯框架支持不确定性量化

变分 PINN (VPINN),它们将 PDE 的弱形式纳入损失函数中

一阶公式化 PINN (FO-PINN),它们在求解高阶 PDE 时比标准 PINN 更快、更准确

此外,PINN 还可与不同神经网络架构结合使用,如图神经网络 (GNN)、傅里叶神经算子 (FNO)、深度算子网络 (DeepONet) 等,从而产生了出这些架构的所谓物理信息版本。

MATLAB 和 Deep Learning Toolbox 全面支持 PINN 的开发,从创建或导入不同神经网络架构,到使用 AD 定义自定义物理信息损失函数,再到使用 ADAM 或 L-BFGS 等基于梯度的优化算法进行训练,最后到使用高级 MATLAB 图形可视化解。

PINN 的应用

PINN 可充分利用深度学习的强大功能,同时改进对物理定律的遵从,这使其成为一种多功能工具,适用于完全或部分已知物理定律的应用,例如具有未知系数的 PDE 或 ODE。PINN 的应用包括:

热传递,专门用于热分布和传递过程建模。PINN 可以将用于材料和系统热过程建模的控制方程(如热方程)嵌入损失函数中。这种方法可确保解符合这些物理定律,从而得出在物理上合理的预测。此外,PINN 还能取代高成本的数值仿真,在设计优化应用中快速逼近参数化的几何形状上的温度分布。而且,PINN 还可用于逆问题以确定未知的材料属性,如热导率。

计算流体动力学 (CFD),特别是通过在损失函数中纳入纳维-斯托克斯方程来逼近流体的速度、压力和温度场。PINN 可用于无网格正仿真以准确预测这些量;也可用于逆问题,目的是从观测的数据推断未知参数或输入,如边界条件、源项或流体属性。

结构力学,通过将弹性方程和结构动力学方程等控制物理定律直接嵌入损失函数中,求解正逆问题。这种集成使 PINN 能够准确预测各种负载和条件下的变形、应力和应变等结构响应,以及根据观测的数据识别未知的材料属性或外部负载。PINN 利用物理原理指导学习过程,可减少对大量数据集的依赖,在传统解析解不可行或数据匮乏的情况下尤其有用。PINN 的灵活性使其能够处理复杂的问题,包括非线性材料行为和多物理建模。

在使用 Deep Learning Toolbox 创建和训练 PINN 后,PINN 可与 Optimization Toolbox 无缝集成以用于设计优化、与 Simulink 连接以用于系统级仿真,还可用于其他各种应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100719
  • 函数
    +关注

    关注

    3

    文章

    4327

    浏览量

    62573
  • 机器学习
    +关注

    关注

    66

    文章

    8408

    浏览量

    132567

原文标题:什么是物理信息神经网络 (PINN)?

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详解深度学习、神经网络与卷积神经网络的应用

    在如今的网络时代,错综复杂的大数据和网络环境,让传统信息处理理论、人工智能与人工神经网络都面临巨大的挑战。近些年,深度学习逐渐走进人们的视线,通过深度学习解决若干问题的案例越来越多。
    的头像 发表于 01-11 10:51 2025次阅读
    <b class='flag-5'>详解</b>深度学习、<b class='flag-5'>神经网络</b>与卷积<b class='flag-5'>神经网络</b>的应用

    卷积神经网络入门资料

    卷积神经网络入门详解
    发表于 02-12 13:58

    【PYNQ-Z2试用体验】神经网络基础知识

    能在外界信息的基础上改变内部结构,是种自适应系统,通俗的讲就是具备学习功能。现代神经网络种非线性统计性数据建模工具。简单来说,就是给定输入,
    发表于 03-03 22:10

    卷积神经网络如何使用

    卷积神经网络(CNN)究竟是什么,鉴于神经网络在工程上经历了曲折的历史,您为什么还会在意它呢? 对于这些非常中肯的问题,我们似乎可以给出相对简明的答案。
    发表于 07-17 07:21

    【案例分享】基于BP算法的前馈神经网络

    `BP神经网络首先给出只包含个隐层的BP神经网络模型(两层神经网络): BP神经网络其实由两部分组成:前馈
    发表于 07-21 04:00

    【案例分享】ART神经网络与SOM神经网络

    今天学习了两个神经网络,分别是自适应谐振(ART)神经网络与自组织映射(SOM)神经网络。整体感觉不是很难,只不过些最基础的概念容易理解不清。首先ART
    发表于 07-21 04:30

    人工神经网络实现方法有哪些?

    人工神经网络(Artificial Neural Network,ANN)是种类似生物神经网络信息处理结构,它的提出是为了解决些非线性
    发表于 08-01 08:06

    如何设计BP神经网络图像压缩算法?

    神经网络(Neural Networks)是人工神经网络(Ar-tificial Neural Networks)的简称,是当前的研究热点之。人脑在接受视觉感官传来的大量图像信息后,
    发表于 08-08 06:11

    BP神经网络的基础数学知识分享

    看懂BP神经网络的基础数学知识
    发表于 06-16 07:14

    如何构建神经网络

    原文链接:http://tecdat.cn/?p=5725 神经网络种基于现有数据创建预测的计算系统。如何构建神经网络神经网络包括:输入层:根据现有数据获取输入的层隐藏层:使用反
    发表于 07-12 08:02

    卷积神经网络维卷积的处理过程

    inference在设备端上做。嵌入式设备的特点是算力不强、memory小。可以通过对神经网络做量化来降load和省memory,但有时可能memory还吃紧,就需要对神经网络在memory使用上做进步优化
    发表于 12-23 06:16

    神经网络移植到STM32的方法

    神经网络移植到STM32最近在做的个项目需要用到网络进行拟合,并且将拟合得到的结果用作控制,就在想能不能直接在单片机上做神经网络计算,这样就可以实时计算,不依赖于上位机。所以要解决
    发表于 01-11 06:20

    人工神经网络基础描述详解

    本文主要对人工神经网络基础进行了描述,主要包括人工神经网络的概念、发展、特点、结构、模型。 本文是个科普,来自网络资料的整理。 、 人工
    发表于 11-15 15:41 3.8w次阅读
    人工<b class='flag-5'>神经网络</b>基础描述<b class='flag-5'>详解</b>

    什么是模糊神经网络_模糊神经网络原理详解

    模糊神经网络就是模糊理论同神经网络相结合的产物,它汇集了神经网络与模糊理论的优点,集学习、联想、识别、信息处理于体。
    发表于 12-29 14:40 4.9w次阅读
    什么是模糊<b class='flag-5'>神经网络</b>_模糊<b class='flag-5'>神经网络</b>原理<b class='flag-5'>详解</b>

    rnn是递归神经网络还是循环神经网络

    : 循环神经网络的基本概念 循环神经网络种具有时间序列特性的神经网络,它能够处理序列数据,具有记忆功能。与传统的前馈神经网络不同,循环
    的头像 发表于 07-05 09:52 560次阅读