社区所有版块导航
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学习  »  机器学习算法

9 月代码共享 | 什么是物理信息机器学习?

MATLAB • 1 年前 • 278 次点击  

| 作者: Mae Markowski, MathWorks 


(下文使用了机器翻译,内容来自 MATLAB Central 博客系列 Artificial Intelligence,点击文末“阅读原文”可以直接跳转至该原文。)

◆  ◆  ◆   ◆
物理信息机器学习(Physics-Informed Machine Learning)是科学机器学习(SciML)的一个分支,它将物理定律与机器学习和深度学习技术相结合。这种融合是双向的:一方面,物理原理(如守恒定律、控制方程以及其他领域知识)能够为人工智能(AI)模型提供指导,提升其准确性和可解释性;另一方面,AI技术则可以补充甚至发现控制方程和未知模型参数,从而加深我们对物理系统的理解。

物理信息机器学习能够实现更高精度、较少数据量的现象预测,以及更高效地求解微分方程。借助 MATLAB 和 Deep Learning Toolbox,可以开发利用物理规律的 AI 模型,从而提升工程和科学领域的分析与决策能力。在本文中,我将概述物理信息机器学习:它的用途、我们所说的物理知识是什么,以及这些知识如何为 AI 方法提供支持,并介绍这种令人振奋的技术的优势和有前景的应用领域。

你可以在 SciML and Physics-Informed Machine Learning Examples [1] 库中找到相关代码和示例。我们将在后续的文章中更深入地探讨物理信息机器学习的具体技术。

图示:物理信息机器学习是一种混合方法,将基于第一性原理的建模(白盒)与数据驱动的 AI 技术(黑盒)相结合,汇聚了两者的优势。

▼

🟠 物理信息机器学习的用途

为了说明物理信息机器学习的多样性,我们用一个熟悉的例子:钟摆。想象一下你正在观察一个钟摆的摆动,就像下图所示。

图示:简单摆的仿真。若想学习如何复现该动画,请参见示例“模拟钟摆的周期性摆动” [2]。

你可能希望实现以下目标:

  • 从数据中预测钟摆的未来运动,

  • 探索控制其摆动的底层方程,

  • 或者利用已知的方程来计算其运动。

在每种情境下,物理信息机器学习都提供了一个将数据与物理洞察相结合的框架。下面介绍物理信息机器学习如何应用于每一类目标:

▼

🟠 建模未知动力学

设想这样一个情景:你拥有钟摆随时间变化的角度和角速度的测量数据。假设你并不知道精确的控制方程,但你知道系统的总能量是守恒的。某些物理信息机器学习方法(如 Hamiltonian Neural Networks,哈密顿神经网络)可以让你基于数据建立模型,预测钟摆未来的摆动,同时确保能量守恒。

▼

🟠 发现方程

现在,假设你希望找到一个描述钟摆随时间运动的方程。部分物理信息机器学习方法,如 SINDy(Sparse Identification of Nonlinear Dynamics,稀疏非线性动力学识别),能够从数据中揭示底层的数学关系。例如,如果你怀疑标准钟摆方程中存在未建模的摩擦项,这些方程发现技术可以帮助你揭示摩擦的力学模型。

▼

🟠 求解已知方程

在控制方程已知的情况下,你可能希望将其与实验数据结合,预测钟摆随时间的角度,或在不同条件下(如改变外力函数)求解方程。物理信息神经网络(PINN)等方法可以将常微分方程(ODE)和偏微分方程(PDE)形式的控制方程与数据结合,找到同时符合观测数据和物理规律的解。此外,如果你拥有不同外力函数对应的控制方程数值解,算子学习技术(如 Fourier Neural Operator,傅里叶神经算子)可以在给定新输入(例如新的外力函数)时,快速预测解(如钟摆角度)。

下面是这三类不同目标的总结,并以钟摆为例进行了具体说明:

表:物理信息机器学习的关键目标及其在简单钟摆上的示例

接下来,我们将更深入地探讨上文介绍的具体物理信息机器学习技术,以及其他一些方法,并讨论它们在 MATLAB 中的实现。现在,让我们先来探讨一下,在物理信息机器学习中,“物理”究竟意味着什么,以及它如何“引导”学习算法。

▼

🟠 物理知识是如何表达的?

物理信息机器学习依赖于以能够引导、约束或启发 AI 模型设计的形式来表达物理知识。在钟摆的例子中,这可能意味着知道总能量是守恒的(来自哈密顿力学),或者知道控制方程依赖于角加速度和位置,即使某些项(如阻尼)未知。

一般来说,在物理信息机器学习的背景下,“物理知识”指的是什么?这些知识又是如何被编码进 AI 模型中加以利用的?

在物理信息机器学习中,物理知识可以包括:

  • 控制方程 (如钟摆的常微分方程 ODE),

  • 守恒定律和对称性(如能量守恒),

  • 边界和初始条件(如初始角位置和角速度),

  • 领域特定知识(如最大摆角、周期性等)

下表展示了几种类型的物理知识,并以钟摆为例进行了说明:

表:物理知识的表达方式示例,并以简单钟摆为例说明。此列表并不详尽——物理知识还可以包括对称性、不变性、经验关系等。

如需了解更多关于如何将领域知识与机器学习结合的信息和示例,请参见这篇博客《Building Confidence in AI with Constrained Deep Learning》[3] 和这个视频《Use Physics-Inspired Estimators for Estimating Nonlinear Dynamics》[4]。

▼

🟠 物理知识如何融入机器学习?

典型的机器学习流程通常包括以下几个阶段:

表:传统机器学习流程的六个阶段

物理知识可以在这一流程的多个环节被引入,但最常见的是在模型结构设计(第3阶段)和模型评估(第4阶段)中发挥作用。机器学习组件也可以补充基于物理的模型,用于处理部分未知的动力学(第1阶段)。

物理信息机器学习的一个关键策略是基于物理原理施加约束,确保预测不仅准确且符合物理规律。对约束的施加主要有两种方式:

  • 软约束:将基于物理的约束作为正则项加到损失函数中(第4阶段)。在训练过程中,模型因违背这些约束会受到惩罚,但训练完成后,其预测结果可能并不严格满足这些约束。

  • 硬约束:在设计模型结构时(第3阶段)确保物理约束始终被满足。

Deep Learning Toolbox 提供了工具,既可以将这两类物理约束集成到深度学习流程中,也可以用 AI 来补充部分已知的物理模型。有关软约束的更多信息请参阅“什么是物理信息神经网络?[5]”,硬约束可参考 “AI Verification: Constrained Deep Learning” 库 [6]。

下表总结了不同类型的物理知识如何集成到机器学习模型中,并给出了相应的约束实现方式和 MATLAB 代码示例。

表:钟摆系统的物理约束示例,以及这些约束如何在 MATLAB 的深度学习模型中被表达与实现

▼

🟠 物理信息机器学习的优势

如果你已经读到了这里,说明已经在像物理信息机器学习实践者那样思考了!不过你可能还在琢磨:为什么要选择物理信息机器学习,而不是传统的基于物理的建模方法或者纯粹的人工智能方法呢?基于第一性原理的物理模型具有良好的可解释性和泛化能力,但求解过程往往计算量大,而且可能并不适用于所有系统——尤其是当物理机制尚不完全清楚时。而AI方法擅长从数据中学习复杂模式,预测速度快,但通常缺乏可解释性,而且在超出训练数据范围时泛化能力有限。

将第一性原理建模与AI相结合的物理信息机器学习则是发挥两者的优势,相得益彰。当然,物理信息机器学习并不是万能的:有时,传统方法依然可能更合适。不过,在一些情况下,物理信息机器学习可以带来以下实际优势:

  1. 更高的预测精度:结合物理知识有助于提升模型的预测能力,尤其是在有限或噪声数据的情况下。

  2. 更强的透明度和可解释性:引入已知物理规律使得模型的预测过程和原因更易理解。

  3. 更高的数据利用效率:利用已知物理规律可以让模型在较少数据的情况下实现高精度。

  4. 更好的泛化能力:物理约束有助于模型在新场景下泛化良好。

  5. 更快的推理速度:与传统仿真方法相比,物理信息机器学习模型能够实现快速预测。

图示:物理信息机器学习通过引入已知物理规律增强AI模型,或利用AI提升部分已知的物理模型,从而使方法更加准确、可解释且高效。

让我们来看一看,哪些领域已经从物理信息机器学习中受益。

▼

🟠 物理信息机器学习的应用领域

物理信息机器学习正在对众多领域产生深远影响,包括:

  • 定量系统药理学(Quantitative Systems Pharmacology, QSP):物理信息机器学习模型能够将机制方程与灵活的机器学习模块相结合,使研究人员既能表达已被充分理解的生物过程,也能捕捉数据驱动的动态变化。这些方法有助于从实验数据中识别或完善控制方程,从而建立更准确、稳健的药物药代动力学模型,以及药代动力学与药效动力学之间关系的模型。

  • 虚拟传感器:在工程领域,物理信息模型(如热神经网络)将特定热传导模型的结构与神经网络相结合,用于捕捉复杂或未知效应。这种混合方法能提供比黑盒模型(如长短期记忆神经网络)更具可解释性的准确预测,可应用于预测电机温度分布等任务,减少对昂贵物理传感器的依赖。

  • 偏微分方程(PDE)仿真:部分物理信息机器学习方法非常适合求解PDE,这类方程广泛应用于热传导、流体动力学、气候建模等领域。有些方法直接将物理定律嵌入模型,确保预测结果与已知方程一致;有的方法利用仿真数据,快速预测系统在不同条件和设计下的行为,实现高效的仿真和设计探索。

通过将数据驱动与基于物理的建模相结合,物理信息机器学习有望解决科学与工程领域日益复杂的挑战。

▼

🟠 总结

在本文中,我们介绍了物理信息机器学习——这一融合了物理洞见(如控制方程和守恒定律)与 AI 模型的新范式,同时也可以利用 AI 来增强传统的基于物理的建模。以钟摆为例,我们探讨了物理信息机器学习的主要目标:从数据中建模物理系统、发现潜在的物理方程,以及借助数据学习已知微分方程的解。

在后续文章中,我们将以钟摆为例,深入讲解具体的物理信息机器学习技术及其在 MATLAB 中的实现。如果你迫不及待想要实践,不妨访问 Scientific and Physics-Informed Machine Learning 库 [1],动手探索相关代码,开启实验之旅。



🤳 联系我们

如您有科研支持或课程开发需求,可扫码填表以获取 MathWorks 中国教育团队相应支持,您也可以在 MATLAB 公众号后台回复“人工客服”,即时获得我们的一对一解答:

Image

◆   ◆  ◆  ◆
获得文中提到的示例链接,请点击“阅读原文”,或者查阅以下列表:
[1] https://github.com/matlab-deep-learning/SciML-and-Physics-Informed-Machine-Learning-Examples
[2] https://www.mathworks.com/help/symbolic/simulate-physics-pendulum-swing.html
[3] https://blogs.mathworks.com/deep-learning/2024/05/30/building-confidence-in-ai-with-constrained-deep-learning/?from=cn
[4] https://www.mathworks.com/videos/estimating-nonlinear-black-box-models-68897.html
[5] https://www.mathworks.com/discovery/physics-informed-neural-networks.html
[6] https://github.com/matlab-deep-learning/constrained-deep-learning

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