try ai
科普
编辑
分享
反馈
  • 物理信息神经网络

物理信息神经网络

SciencePedia玻尔百科
核心要点
  • PINNs 将物理定律(如偏微分方程)直接整合到神经网络的损失函数中,确保解在物理上是一致的。
  • 通过自动微分,PINNs 能够计算网络输出的精确导数,从而可以精确评估物理方程的残差。
  • 除了模拟,PINNs 还擅长解决逆问题,方法是将未知的物理参数视为可训练变量,并从稀疏数据中推断它们。
  • 该框架可以使用 XPINNs 和贝叶斯 PINNs 等扩展来为复杂的耦合多物理场系统建模,并量化解的不确定性。

引言

对自然界的复杂现象(从流体动力学到量子力学)进行建模,传统上依赖于将空间和时间离散化的数值方法。这些方法虽然强大,但在处理复杂几何形状、高维问题以及其潜在物理定律不完全已知的情景时可能会遇到困难。本文介绍了一种处于机器学习与计算科学交叉领域的革命性方法:物理信息神经网络(PINN)。PINN 通过将物理学的基本定律直接嵌入到学习过程中,解决了传统求解器和纯数据驱动模型的局限性。在接下来的章节中,您将了解驱动这些网络的核心机制,并探索它们的变革性应用。第一章“原理与机制”将揭示神经网络如何被教会“说”物理学的语言。随后的“应用与跨学科联系”将展示这一强大框架如何被用于解决以前难以处理的问题,并推动不同领域的科学发现。

原理与机制

想象一下,你有一块神奇的黏土,可以塑造成任何形状。但它不仅仅是普通的黏土,而是“智能黏土”。你可以告诉它:“我希望你形成一个描述机翼上空气流动的形状,并且这个形状必须遵守 Navier-Stokes 方程。”然后,这块黏土会扭动和变形,直到稳定成正确的形式,完美地满足你设定的物理定律。这就是物理信息神经网络的精髓。神经网络就是我们那块神奇的、无限柔韧的黏土,而物理定律就是我们给它的指令。

但这魔法究竟是如何运作的呢?当然,这不是魔法,而是微积分、优化和计算机科学的美妙交响。让我们来层层揭开它的面纱。

一个可微的宇宙

每个现代神经网络的核心都是一个简单的思想:它是一个函数。你从一端输入数字,从另一端得到数字。对于一个图像分类器,你输入一张猫的图片的像素值,然后会得到标签“猫”的高概率。我们可以将其写为 output=fθ(input)\text{output} = f_{\theta}(\text{input})output=fθ​(input),其中 θ\thetaθ 代表网络中所有在训练期间进行调整的内部旋钮和拨盘——即其“权重”和“偏置”。

PINN 的突破在于,它不把网络看作一个分类器,而是看作一个逼近物理场的连续函数。例如,我们可以说,空间中任意点 x\boldsymbol{x}x 和时间 ttt 的温度 TTT 可由一个神经网络近似:T(x,t)≈Tθ(x,t)T(\boldsymbol{x}, t) \approx T_{\theta}(\boldsymbol{x}, t)T(x,t)≈Tθ​(x,t)。我们网络的输入现在是坐标 (x,t)(\boldsymbol{x}, t)(x,t),输出则是物理场的值,即温度。

仅此一点并不新鲜;几十年来,科学家们一直将网络用作通用的函数逼近器。革命性的一步在于接下来的内容。物理定律以偏微分方程(PDEs)的形式表达,其中涉及导数——即变化率。例如,热方程涉及像 ∂T∂t\frac{\partial T}{\partial t}∂t∂T​ 和 ∇2T\nabla^2 T∇2T 这样的导数。如果我们的近似 TθT_{\theta}Tθ​ 是一个神经网络,我们到底该如何计算它的导数呢?

答案是驱动每个 PINN 的引擎:​​自动微分(AD)​​。与你在微积分课上可能学到的数值近似(如有限差分)不同,AD 是一种计算技术,它能计算出由网络所表示函数的精确导数,直至计算机精度的极限。它通过在网络的每个简单操作上细致地应用链式法则来做到这一点。AD 是我们的魔杖;有了它,我们可以用我们的神经网络 Tθ(x,t)T_{\theta}(\boldsymbol{x}, t)Tθ​(x,t) 瞬间得到 ∂Tθ∂t\frac{\partial T_{\theta}}{\partial t}∂t∂Tθ​​、∂Tθ∂x\frac{\partial T_{\theta}}{\partial x}∂x∂Tθ​​、∂2Tθ∂x2\frac{\partial^2 T_{\theta}}{\partial x^2}∂x2∂2Tθ​​ 等表达式。我们现在有了一个可以直接代入物理方程的函数逼近器。

物理信息损失函数:现实的记分卡

现在我们有了物理场的“可微”近似,我们如何强制它遵守物理定律呢?我们创建一个记分卡,一个告诉网络它做得怎么样的数学函数。在机器学习中,这个记分卡被称为​​损失函数​​。训练的目标是调整网络的参数 θ\thetaθ,使损失尽可能小。

让我们继续以热方程为例,将所有项移到一边后,可以写成一个​​残差​​ RRR:

R=ρcp∂T∂t−∇⋅(k∇T)−q=0R = \rho c_p \frac{\partial T}{\partial t} - \nabla \cdot (k \nabla T) - q = 0R=ρcp​∂t∂T​−∇⋅(k∇T)−q=0

对于一个完美的解,这个残差在任何地方都为零。对于我们的网络近似 TθT_{\theta}Tθ​,残差一开始很可能不为零:

Rθ(x,t)=ρcp∂Tθ∂t−∇⋅(k∇Tθ)−qR_{\theta}(\boldsymbol{x}, t) = \rho c_p \frac{\partial T_{\theta}}{\partial t} - \nabla \cdot (k \nabla T_{\theta}) - qRθ​(x,t)=ρcp​∂t∂Tθ​​−∇⋅(k∇Tθ​)−q

我们现在可以在大量随机选择的空间和时间点(称为​​配置点​​)上评估这个残差。一个好的网络应该在所有这些点上都使残差很小。因此,我们损失函数的一个核心部分是所有这些点上残差平方的均值:

LPDE(θ)=1Npde∑i=1Npde∣Rθ(xi,ti)∣2\mathcal{L}_{PDE}(\theta) = \frac{1}{N_{pde}} \sum_{i=1}^{N_{pde}} |R_{\theta}(\boldsymbol{x}_i, t_i)|^2LPDE​(θ)=Npde​1​i=1∑Npde​​∣Rθ​(xi​,ti​)∣2

这个简单的思想将 PINN 构建为对一种称为​​配置法​​的经典数值技术的现代演绎。但有一个关键区别。在经典方法中,基函数(如多项式或正弦函数)是固定的。而在 PINN 中,“基函数”——由网络隐藏层创建的特征——是在训练过程中自适应的。这就好比网络不仅在寻找基函数的最佳组合,更是在为手头的问题发明最佳的基函数。

当然,偏微分方程只是故事的一部分。一个物理问题还由其边界条件(例如,一堵墙上的温度固定在 100∘C100^\circ\text{C}100∘C)和初始条件(t=0t=0t=0 时各处的温度)定义。我们向损失函数中添加项来惩罚任何对这些条件的偏离。如果我们有一些真实的传感器测量数据,我们还可以添加一个数据失配项。总损失函数变成了一个加权和,它根据网络的总体物理一致性对其进行评分:

L(θ)=wPDELPDE+wBCLBC+wICLIC+wdataLdata\mathcal{L}(\theta) = w_{PDE} \mathcal{L}_{PDE} + w_{BC} \mathcal{L}_{BC} + w_{IC} \mathcal{L}_{IC} + w_{data} \mathcal{L}_{data}L(θ)=wPDE​LPDE​+wBC​LBC​+wIC​LIC​+wdata​Ldata​

训练 PINN 现在是一个优化问题:找到使这个总损失最小化的参数 θ\thetaθ,从而找到一个同时满足控制偏微分方程、边界和初始条件以及任何可用实验数据的函数。

驾驭边界:硬约束与软约束

施加边界条件是如此关键,值得我们更深入地探讨。上面描述的“软”惩罚方法很简单,但有一个缺点:它是一种协商。通过调整权重 wBCw_{BC}wBC​,我们告诉优化器满足边界条件相对于满足偏微分方程的重要性。如果我们将 wBCw_{BC}wBC​ 设置得太高,优化器可能会过分关注边界,导致一个病态的、难以训练的过程。

有一种更优雅、更严谨的方法:​​硬施加​​。我们可以设计网络的输出,使其通过构造就满足边界条件。想象一下,我们需要解决一个长度为 LLL 的杆上的问题,其中位移 u(x)u(x)u(x) 必须满足 u(0)=Au(0)=Au(0)=A 和 u(L)=Bu(L)=Bu(L)=B。我们可以取一个神经网络的原始输出 u^θ(x)\hat{u}_{\theta}(x)u^θ​(x),并对其进行变换:

uθ(x)=A(1−xL)+B(xL)⏟A line that fits the boundaries+x(L−x)⏟Vanishes at boundariesu^θ(x)u_{\theta}(x) = \underbrace{A\left(1 - \frac{x}{L}\right) + B\left(\frac{x}{L}\right)}_{\text{A line that fits the boundaries}} + \underbrace{x(L-x)}_{\text{Vanishes at boundaries}} \hat{u}_{\theta}(x)uθ​(x)=A line that fits the boundariesA(1−Lx​)+B(Lx​)​​+Vanishes at boundariesx(L−x)​​u^θ​(x)

仔细看这个构造。第一部分只是一条通过 (0,A)(0, A)(0,A) 和 (L,B)(L, B)(L,B) 的直线方程。第二部分包含一个项 x(L−x)x(L-x)x(L−x),它保证在 x=0x=0x=0 和 x=Lx=Lx=L 处为零。这意味着无论网络学习到什么样的函数 u^θ(x)\hat{u}_{\theta}(x)u^θ​(x),总表达式 uθ(x)u_{\theta}(x)uθ​(x) 都将永远完美地满足边界条件!优化过程现在从担忧边界的束缚中解放出来,可以将其全部精力集中在满足内部区域的偏微分方程上。这是一个将数学结构直接融入网络架构的绝佳例子。

真正的力量:揭示未知

这就是 PINN 从一个聪明的 PDE 求解器转变为一个名副其实的科学发现工具的地方。到目前为止,我们都假设完全了解 PDE。但如果我们不了解呢?如果我们有一些来自新型材料的温度传感器数据,但我们不知道其热导率 kkk 怎么办?

我们可以将 kkk 视为另一个可训练参数,就像网络权重 θ\thetaθ 一样。我们用一个随机猜测来初始化 kkk,然后让优化器找到 kkk 的值以及温度场 Tθ(x,t)T_{\theta}(x,t)Tθ​(x,t),它们共同在与热方程的一般形式保持一致的同时,最好地解释传感器数据。损失函数中的物理定律充当了一个极其强大的正则化器,用一个物理上合理的解来填补我们稀疏测量数据之间的巨大空白。

这就提出了一个深刻的问题:这在什么时候是可能的?我们总能发现隐藏的参数吗?这就是​​可辨识性​​的问题。考虑在一个温度不再变化的稳态实验中,试图同时找出热导率 kkk 和一个均匀的内部热源 qqq。控制方程是 k∇2T+q=0k \nabla^2 T + q = 0k∇2T+q=0。注意到任何解 (T,k,q)(T, k, q)(T,k,q) 都可以被 (T,αk,αq)(T, \alpha k, \alpha q)(T,αk,αq) 替换(对于任意常数 α\alphaα),方程仍然成立。物理学本身存在模糊性!我们只能确定比率 q/kq/kq/k。然而,如果我们进行一个温度随时间变化的瞬态实验,完整的方程 ρcp∂T∂t=k∇2T+q\rho c_p \frac{\partial T}{\partial t} = k \nabla^2 T + qρcp​∂t∂T​=k∇2T+q 就起作用了。参数 kkk 和 ρcp\rho c_pρcp​ 以不同的方式控制着时间演化,使得优化器能够从时间序列数据中解开它们的各自的值。这揭示了一个深刻的真理:实验的设计决定了什么是可能被知道的。

现实的考验:前沿的挑战

到目前为止,这幅图景似乎好得令人难以置信,而在科学中,“好得令人难以置信”通常意味着我们还没有提出棘手的问题。PINN 尽管功能强大,但也有其独特的失效模式。

其中最引人入胜的一个是​​谱偏差​​。神经网络在使用标准的基于梯度的方法进行训练时,基本上是“懒惰的”。它们发现学习平滑的低频函数比学习快速振荡的高频函数要容易得多。如果你让一个 PINN 求解一个看起来像一个简单、平缓小山的解,它会很乐意地做到。但如果你让它求解一个高频波,比如对于大波数 kkk 的 Helmholtz 方程 u′′+k2u=0u'' + k^2 u = 0u′′+k2u=0 的解,网络通常会惨败。它会放弃并返回平凡解 u(x)=0u(x)=0u(x)=0,这也是方程的一个完美解,并且损失为零。网络选择了阻力最小的路径,而零频率的平直线解是所有路径中最容易的。

我们如何才能引导这个懒惰的网络学习这些更难的高频模式呢?我们可以给它一个更好的词汇库!我们可以不给网络输入原始坐标 xxx,而是给它一组​​傅里叶特征​​:[sin⁡(ω1x),cos⁡(ω1x),sin⁡(ω2x),cos⁡(ω2x),… ][\sin(\omega_1 x), \cos(\omega_1 x), \sin(\omega_2 x), \cos(\omega_2 x), \dots][sin(ω1​x),cos(ω1​x),sin(ω2​x),cos(ω2​x),…]。这预处理了输入,实质上是给了网络一组高频的构建模块。在这里,物理学可以再次为我们的选择提供信息。如果我们要解决一个我们知道具有特征厚度为 ℓ\ellℓ 的尖锐​​边界层​​的问题,我们应该选择量级为 1/ℓ1/\ell1/ℓ 的频率,以便为网络提供解决该特定特征所需的工具。这种美妙的协同作用——利用对问题的物理分析来设计机器学习架构——正是这个领域如此激动人心的原因。

当问题涉及激波或奇点时,会出现一个更严峻的挑战,例如超音速射流产生的激波,或材料中裂纹尖端的应力。在这些点上,解是不连续的,其导数是无限的或未定义的。逐点 PDE 残差的概念本身就失效了。一个标准的 PINN,试图评估一个无限的残差,将会完全迷失方向。

前进的道路是再次借鉴经典工程分析中的一个思想:如果你无法处理点,那就处理平均值。我们可以不要求 PDE 在离散点上成立(​​强形式​​),而是要求 PDE 的一个积分或平均版本在小体积内成立。这被称为​​弱形式​​。这种表述方式对不连续性和奇点具有天然的鲁棒性,因为积分过程会使它们平滑化。基于这些弱形式构建 PINN,使它们能够解决固体力学和流体动力学中一整类新的挑战性问题,从而推动了可能性的边界。

从可微函数的核心思想到处理边界的实际问题,再到处理激波和波的前沿挑战,PINN 的故事是一个构建桥梁的故事。它是一座连接机器学习的数据驱动世界与物理科学的原理驱动世界之间的桥梁,创造了一个比两者单独存在时更强大、更具洞察力的工具。

应用与跨学科联系

在了解了物理信息神经网络的原理之后,我们在某种意义上已经学会了一门新科学语言的语法。我们已经看到一个由简单互联节点构成的神经网络结构,如何被教会去遵守自然界的基本法则——那些支配着从池塘涟漪到行星轨道的万物的微分方程。但学习语法是一回事,写诗则是另一回事。现在,我们将看到诗篇。我们将探索这个框架如何超越一个纯粹的数学奇物,成为在众多学科中推动发现和创新的强大引擎。PINN 的真正美妙之处不仅在于它是一个“通用函数逼近器”,更在于它是一个通用的物理学习器。

新型模拟器:求解过去无法解决的问题

最直接地看,PINN 是一种革命性的新型模拟器。传统方法,如有限元或有限差分分析,已经为我们出色地服务了几十年。它们的工作方式是将问题的域——无论是一块钢还是一团空气——切成一个由微小、简单的单元组成的精细网格。然而,这个过程可能是一项艰巨的任务,特别是对于形状极其复杂的物体或在高维空间中演化的现象。

PINN 是无网格的,从而优雅地避开了这个瓶颈。想象一下,试图预测一根一维弹性杆在被敲击后传播的振动——一个由波动方程控制的经典问题。PINN 处理这个问题的方法不是将杆离散化为一系列点,而是假设存在一个单一的、连续的函数,即神经网络 N(x,t)\mathcal{N}(x, t)N(x,t),它给出任何点 xxx 在任何时间 ttt 的位移。然后,训练过程就变成了与物理学的一场对话。损失函数会问网络:“你提出的解是否在域内处处满足波动方程?它是否以正确的初始位移和速度开始?它是否遵守了边界(无论是固定的还是自由的)上的条件?”。通过最小化这场对话中的“误差”,网络学会了描述波在材料中传播的优雅舞蹈。

同样一个原理,以惊人的一致性,延伸到物理学的几乎每一个角落。那个模拟固体振动的框架,同样可以用来求解 Maxwell 方程,预测电流产生的复杂磁场模式。它可以模拟由 Navier-Stokes 方程描述的流体中复杂、旋转的涡流,或者热量在材料中温和的扩散。PINN 提供了一块统一的画布,宇宙中各种各样的定律都可以在上面描绘。

超越模拟:科学家的学徒

故事在这里发生了有趣的转折。如果我们的知识不完整怎么办?如果我们有实验数据,但不知道控制系统的确切物理常数怎么办?这就是逆问题的领域,也正是 PINN 从一个聪明的模拟器转变为一个名副其实的科学家学徒的地方。

考虑一个物质扩散和相互作用的化学反应,这个过程由一个反应扩散方程描述。这个方程中的一个关键参数是扩散系数 DDD,它决定了物质扩散的速度。在许多现实场景中——从生物组织中的药物输送到新材料的制造——这个系数是未知的,并且难以直接测量。

一个 PINN 可以被设置为解决这个谜题。我们可以给它输入来自空间和时间上几个点的稀疏化学浓度测量值。然后,我们将扩散系数 DDD 不视为一个固定的数字,而是视为另一个可训练的参数,就像网络的权重和偏置一样。在训练过程中,PINN 同时尝试拟合稀疏数据并满足反应扩散方程的结构。通过让优化器找到使数据和物理最相符的 DDD 值,PINN 可以推断出这个隐藏的参数。这是一个极其强大的概念。它使我们能够将机器学习装置转变为一个用于自动化科学发现的工具,直接从观测数据中提取隐藏的物理定律。

连接世界:跨学科科学的语言

现代科学中最艰巨的挑战往往位于不同领域的交叉点,那里多种物理现象错综复杂地耦合在一起。想一想半导体器件,所有现代电子设备的心脏。它的行为受制于奇特的量子力学定律,这些定律决定了电子波函数(Schrödinger 方程);同时又受制于经典电磁学,它描述了电子产生并于其中运动的静电势(Poisson 方程)。这两者被锁定在一个自洽的反馈回路中:电势影响波函数,而波函数反过来又决定了产生电势的电荷分布。

求解这类耦合系统是出了名的困难。然而,PINN 却能以非凡的优雅处理它。我们只需构建一个包含所有控制物理学残差的损失函数。其中一项惩罚对 Schrödinger 方程的违反,另一项惩罚对 Poisson 方程的违反,还有一些项强制执行像边界条件以及波函数的归一化和正交性等约束。通过最小化这个复合损失,PINN 为量子波函数和经典电势学到了一个单一的、自洽的解,在一个统一的框架内连接了两个不同的物理世界。

这种“作为物理契约的损失函数”的多功能性还不止于此。一些物理定律并非纯粹是微分的;它们涉及积分。一个典型的例子是辐射传输方程,它描述了光如何穿过像地球大气层或恒星内部这样的散射介质。PINN 可以通过在其损失函数内部使用数值积分来近似积分项,从而学会求解这些积分-微分方程。这表明 PINN 提供了一种灵活的语言,不仅可以描述局部相互作用(导数),还可以描述全局相互作用(积分),极大地扩展了其应用范围。

工程的未来:数字孪生与智能设计

当我们从理想化问题扩展到现实世界的工程时,新的挑战出现了。我们如何为一个由多种材料制成的复合材料飞机机翼建模?或者一座具有复杂几何形状的整座桥梁?扩展 PINN(XPINN)框架提供了一种“分而治之”的策略。我们可以为结构中每个不同的部分或材料分配不同的“专家”神经网络。关键在于教会这些网络如何在它们共享的界面上相互“交谈”。这再次通过损失函数来完成。我们添加项来强制执行物理连续性——确保位移在粘合界面的两侧是相同的,并且力(牵引力)根据牛顿第三定律处于平衡状态。通过这种方式,我们可以逐块构建真实世界系统的复杂多物理场“数字孪生”。

然而,没有对其可靠性的度量,一个预测的用处是有限的。一个真正的科学家或工程师必须总是问:“我对这个答案有多大的信心?”这个问题引导我们走向贝叶斯 PINN。通过用概率的语言来构建问题,我们可以训练一个网络,它不仅产生一个单一的答案,而且产生解的完整概率分布。输出不再仅仅是“位移是 555 毫米”,而是“位移很可能是 555 毫米,有 95% 的可能在 4.84.84.8 到 5.25.25.2 毫米之间。” 在这种情况下,损失函数变成了一个负对数后验,它平衡了观测到数据的可能性与关于物理参数的先验信念。这为我们提供了至关重要的不确定性图,突出了模型最不确定的问题区域。

最后,这将我们带到了一个真正具有未来感的应用:闭合模拟与现实之间的循环。来自贝叶斯 PINN 的不确定性图不是一个被动的产物;它是一个主动的指南。它告诉我们,我们在哪里最无知。想象一下,我们正在为一个物理系统构建数字孪生。不确定性图精确地告诉我们应该在哪里放置一个新的传感器,以收集最有信息量的数据,并最有效地减少模型的整体不确定性。这就创建了一个强大的、自主的学习循环:模型指导实验,而新的实验数据又反过来完善模型。这是“自驱动实验室”的基础,在这里,智能算法引导着科学发现过程本身。

从模拟基本的波现象到发现隐藏的物理定律,从为复杂的多物理场系统建模到指导自主实验,物理信息神经网络的应用与科学本身一样多种多样。它们不仅仅是一种新的数值方法;它们代表着向计算科学新范式迈出的一步——在这个范式中,物理定律、数据和机器智能的语言融合成一个统一、强大的工具,用于理解和改造我们的世界。