什么是物理信息神经网络呢?PINN

date
Apr 6, 2025
slug
whatispinn
status
Published
tags
神经网络
summary
介绍物理信息神经网络,这是将物理原理整合到机器学习中的一种强大方式。
type
Post
机器学习在科学界越来越受欢迎,但这些算法真的“理解”它们试图解决的科学问题吗?在本文中,我们将介绍物理信息神经网络,这是将物理原理整合到机器学习中的一种强大方式。

科学领域的机器学习革命

机器学习已经引起了科学方法的根本性转变。传统上,科学研究围绕理论和实验展开:一个人设计一个定义明确的理论,然后使用实验数据不断完善它并对其进行分析以做出新的预测。
但今天,随着机器学习领域的快速发展和科学数据量的急剧增加,数据驱动的方法越来越受欢迎。这里不需要现有的理论,而是可以使用机器学习算法来单独使用数据来分析科学问题。

学习对实验数据进行建模

让我们看看机器学习可用于科学研究的一种方式。想象一下,我们得到了一些实验数据点,这些数据点来自一些未知的物理现象,例如下面动画中的橙色点。
一个常见的科学任务是找到一个能够在给定这些数据的情况下准确预测新实验测量值的模型 
notion image
图 1:神经网络将模型拟合到一些实验数据的示例
使用机器学习实现此目的的一种流行方法是使用神经网络。给定数据点的位置作为 input (design  ) ,神经网络可用于输出其值 (designed  ) 的预测,如下图所示:
notion image
图 2:神经网络示意图
为了学习模型,我们尝试调整网络的自由参数(由上图中的  表示),以便网络的预测与可用的实验数据紧密匹配。这通常是通过最小化其预测和训练点之间的均方误差来完成的;
notion image
使用上面的实验数据训练这种神经网络的结果如动画所示。

纯粹数据驱动方法的“天真”

问题是,使用像这样的纯数据驱动方法可能会有很大的缺点。看看上面动画中用于生成实验数据的未知物理过程的实际值(灰线)。
你可以看到,虽然神经网络准确地模拟了实验数据附近的物理过程,但它无法从这些训练数据中推广出来。仅仅依靠这些数据,人们可以说它并没有真正“理解”科学问题。
notion image
图 3:一维阻尼谐振子
这是一个经典的物理问题,我们知道底层物理可以用以下微分方程来描述
notion image
其中  m是振荡器的质量,u  是摩擦系数, k 是弹簧常数。
鉴于上述“天真”机器学习方法的局限性,研究人员现在正在寻找方法,在蓬勃发展的科学机器学习 (SciML) 领域,将这种类型的先验科学知识纳入我们的机器学习工作流程中。

那么,什么是物理信息神经网络呢?

对于我们的问题,一种方法是使用物理信息神经网络 [1,2]。这个想法非常简单:在训练神经网络时,将已知的微分方程直接添加到损失函数中。
这是通过对一组输入训练位置 (  ) 进行采样并通过网络传递它们来完成的。接下来,在这些位置计算网络输出相对于其输入的梯度(对于大多数神经网络来说,这些梯度通常可用于分析,并且可以使用自动微分轻松计算)。最后,使用这些梯度计算基础微分方程的残差,并作为损失函数中的附加项添加。
notion image
图 4:物理信息神经网络示意图
让我们对上面的问题执行此作。这相当于使用以下损失函数来训练网络:
notion image
我们可以看到,损失函数中额外的 “physics loss” 试图确保网络学习的解与已知的物理学一致。
以下是我们训练物理信息网络时的结果:
notion image
图 5:一个基于物理信息的神经网络,学习对谐振子进行建模

言论

物理信息神经网络能够在远离实验数据点的地方预测解,因此性能比朴素网络好得多。有人可能会争辩说,这个网络确实对我们先前的物理原理有一些概念。
天真的网络表现不佳,因为我们正在“丢弃”我们现有的科学知识;手头只有数据,就像试图理解粒子对撞机生成的所有数据,而无需上过物理课!
虽然我们在这里关注的是特定的物理问题,但基于物理的神经网络也可以轻松应用于许多其他类型的微分方程,并且是将物理学纳入机器学习的通用工具。
我们已经看到,机器学习提供了一种进行科学研究的新方法,强调从数据中学习。通过将现有的物理原理整合到机器学习中,我们能够创建更强大的模型,这些模型可以从数据中学习并建立在我们现有的科学知识之上。