PINN 讲义第 2 章:微分方程、边界条件与数值近似

3320 字
17 分钟
PINN 讲义第 2 章:微分方程、边界条件与数值近似

本文属于“PINN 入门讲义”系列:第 2 章。如果你是第一次阅读,建议先从 总目录 开始。

阅读说明#

这份讲义面向希望系统理解 Physics-Informed Neural Networks 的读者,尽量从微分方程、数值近似和神经网络函数表示的基本语言讲起,再逐步进入 PINN 的残差构造与训练过程。

上一章讨论了函数、导数和偏导数。本章要把这些语言组织成真正的科学计算问题。微分方程不是孤立的公式,它通常和初值条件、边界条件、区域以及物理参数一起出现。只有这些信息共同给定时,“求解一个方程”才成为一个明确的问题。

这一章还要完成从微分方程到 PINN 的第二个关键过渡:为什么需要近似解,以及如何判断一个候选函数是否近似满足方程。传统数值方法通过网格和差分把连续问题转化为有限维代数问题;PINN 则用神经网络表示候选函数,并通过残差衡量它对方程的违反程度。两者实现方式不同,但都离不开同一个基本思想:真实解难以直接得到时,我们构造一个近似对象,并检查它满足原问题的程度。

2.1 微分方程给出的是变化规律#

一个普通代数方程通常要求解一个数。例如 x+1=3x+1=3 的未知量是 xx,解是 x=2x=2。微分方程则不同,它的未知量通常是函数,并且方程中出现这个函数的导数。导数描述变化率,所以微分方程描述的是函数必须满足的变化规律。

最简单的例子是指数衰减方程:

dudt=ku.\frac{du}{dt}=-ku.

这里 u(t)u(t) 是未知函数,tt 表示时间,k>0k>0 是给定常数。方程的含义是:某一时刻的变化率 dudt\frac{du}{dt} 与当前量 u(t)u(t) 成正比,并且方向相反。若 u(t)u(t) 表示某种物质的剩余量,这个方程表达的是“剩得越多,衰减得越快;但总是在减少”。

只看这个方程,还不能唯一确定一个具体函数。函数

u(t)=Cektu(t)=Ce^{-kt}

对任意常数 CC 都满足方程。不同的 CC 对应不同的初始量。若进一步给出

u(0)=u0,u(0)=u_0,

就能确定 C=u0C=u_0,从而得到

u(t)=u0ekt.u(t)=u_0e^{-kt}.

这说明微分方程本身给出变化规律,初值条件则告诉我们系统从哪里开始。二者合在一起,才形成一个初值问题。OpenStax 的微分方程教材也采用这种表述:微分方程配合一个或多个初始值,构成 initial-value problem。对初学者来说,重要的不是记住英文术语,而是理解“方程 + 初始状态”共同决定演化过程。

并不是所有问题都以初始时刻为核心。有些问题关心的是空间区间或区域内部的函数,并在边界上给定条件。考虑区间 0x10\le x\le 1 上的方程

u(x)=f(x).-u''(x)=f(x).

如果再给出

u(0)=0,u(1)=0,u(0)=0,\qquad u(1)=0,

这就是一个边值问题。方程规定区间内部的变化关系,边界条件规定函数在区间两端的取值。Britannica 对 boundary value problem 的解释也强调:除了满足微分方程,解还必须满足给定边界值。对 PINN 而言,这一点非常重要,因为边界条件将来会变成损失函数中的边界误差项。

2.2 从常微分方程到偏微分方程#

若未知函数只依赖一个自变量,方程中只出现普通导数,称为常微分方程。指数衰减方程就是典型例子。若未知函数依赖多个自变量,并且方程中出现偏导数,就得到偏微分方程。科学计算中大量重要模型都属于偏微分方程。

以一维热方程为例:

ut=αuxx.u_t=\alpha u_{xx}.

这里 u(x,t)u(x,t) 表示位置 xx、时间 tt 处的温度,utu_t 表示温度随时间的变化率,uxxu_{xx} 表示温度沿空间方向的二阶变化,α\alpha 是热扩散系数。这个方程说的是:温度随时间如何变化,由它在空间上的弯曲程度决定。若空间温度分布很平缓,uxxu_{xx} 较小,温度随时间变化也较弱;若某处温度分布弯曲明显,扩散效应会更强。

热方程通常还需要初值条件和边界条件。若空间区间为 0xL0\le x\le L,可以给出初值条件

u(x,0)=u0(x),u(x,0)=u_0(x),

表示初始时刻整根杆上的温度分布。若两端温度固定为零,则边界条件为

u(0,t)=0,u(L,t)=0.u(0,t)=0,\qquad u(L,t)=0.

于是完整问题由方程、空间区间、时间范围、初始温度和边界温度共同组成。少了其中任何一部分,问题都可能不完整。

再看两个常见 PDE。波动方程

utt=c2uxxu_{tt}=c^2u_{xx}

用于描述弦振动、声波等传播现象。它把时间二阶变化与空间二阶变化联系起来,通常需要给出初始位移、初始速度和边界条件。泊松方程

Δu=f-\Delta u=f

常用于稳态扩散、静电势和压力泊松问题。这里 Δ\Delta 是拉普拉斯算子,在二维中可写为

Δu=uxx+uyy.\Delta u=u_{xx}+u_{yy}.

泊松方程不描述时间演化,而是描述空间区域内的平衡关系,因此通常作为边值问题出现。

这些例子共同说明,微分方程不是孤立的求导练习。它们把函数、区域、导数、物理参数和条件组织成一个整体。PINN 后续要做的事情,就是用神经网络函数 uθu_\theta 去同时满足这些组成部分。

2.3 解析解、数值解与近似思想#

有些微分方程可以写出解析解,例如指数衰减方程的解是 u(t)=u0ektu(t)=u_0e^{-kt}。但在更多实际问题中,解析解很难得到,甚至根本无法用初等函数表达。复杂几何区域、非线性项、变系数、多维耦合以及复杂边界条件,都会使解析求解变得困难。

这时就需要数值解。数值解不是把函数写成一个漂亮公式,而是在有限的信息中构造一个近似对象。传统数值方法通常先把连续区域离散化。例如,在区间 [0,L][0,L] 上取网格点

xi=ih,i=0,1,,N,x_i=ih,\qquad i=0,1,\ldots,N,

其中 h=L/Nh=L/N 是网格步长。未知函数 u(x)u(x) 不再被整体处理,而是在这些网格点上用数值 uiu(xi)u_i\approx u(x_i) 表示。连续问题由此变成有限个未知数的问题。

有限差分方法是最容易理解的离散化方法之一。它用相邻点的函数值近似导数。例如,一阶导数可以用前向差分近似:

u(xi)u(xi+1)u(xi)h.u'(x_i)\approx \frac{u(x_{i+1})-u(x_i)}{h}.

如果要近似二阶导数,常用中心差分:

u(xi)u(xi1)2u(xi)+u(xi+1)h2.u''(x_i)\approx \frac{u(x_{i-1})-2u(x_i)+u(x_{i+1})}{h^2}.

这个公式来自 Taylor 展开,也可以直观理解为用相邻三个点的函数值衡量 uuxix_i 附近的弯曲程度。MIT 的数值 PDE 课程把有限差分作为理解 PDE 数值方法的基本入口,原因也正在这里:它直接展示了如何把导数换成网格点上的代数表达式。

例 2.1
考虑边值问题

u(x)=f(x),0<x<1,-u''(x)=f(x),\qquad 0<x<1,

并给定

u(0)=0,u(1)=0.u(0)=0,\qquad u(1)=0.

取均匀网格 xi=ihx_i=ih,在内部点 xix_i 上用中心差分近似二阶导数,可得

ui12ui+ui+1h2=f(xi).-\frac{u_{i-1}-2u_i+u_{i+1}}{h^2}=f(x_i).

这里 uiu_i 近似 u(xi)u(x_i)。对所有内部网格点写出这样的方程,再加上边界条件 u0=0u_0=0uN=0u_N=0,就得到一个有限维线性方程组。求解这个线性方程组,便得到原边值问题在网格上的近似解。

这个例子揭示了传统数值方法的一般思路:把连续函数替换为有限个数,把导数替换为差分,把微分方程替换为代数方程组。这样做会引入近似误差,但也使问题变得可以计算。

2.4 残差:候选解对方程的违反程度#

无论采用传统数值方法还是 PINN,我们都需要判断一个候选函数是否满足方程。残差就是为此引入的概念。

先从简单 ODE 看起。设方程为

u(t)+u(t)=0.u'(t)+u(t)=0.

如果候选函数是 u~(t)\tilde{u}(t),把它代入方程左端,得到

r(t)=u~(t)+u~(t).r(t)=\tilde{u}'(t)+\tilde{u}(t).

r(t)=0r(t)=0 对所有 tt 都成立,则 u~\tilde{u} 精确满足方程。若 r(t)r(t) 不为零,则它衡量了 u~\tilde{u} 对方程的违反程度。残差越小,说明候选函数越接近满足方程。

例如,令

u~(t)=et.\tilde{u}(t)=e^{-t}.

由于 u~(t)=et\tilde{u}'(t)=-e^{-t},所以

u~(t)+u~(t)=et+et=0.\tilde{u}'(t)+\tilde{u}(t) =-e^{-t}+e^{-t} =0.

这个候选函数精确满足方程。若改取

u~(t)=et+0.1t,\tilde{u}(t)=e^{-t}+0.1t,

u~(t)+u~(t)=(et+0.1)+(et+0.1t)=0.1+0.1t.\tilde{u}'(t)+\tilde{u}(t) =(-e^{-t}+0.1)+(e^{-t}+0.1t) =0.1+0.1t.

残差不再为零,说明这个函数虽然可能在某些点上接近真实解,但并不严格满足方程。

对于 PDE,残差的思想完全类似。若方程写成抽象形式

N[u](x,t)=0,\mathcal{N}[u](x,t)=0,

其中 N\mathcal{N} 是包含导数的微分算子,那么候选函数 u~\tilde{u} 的残差为

r(x,t)=N[u~](x,t).r(x,t)=\mathcal{N}[\tilde{u}](x,t).

热方程的残差就是

r(x,t)=u~t(x,t)αu~xx(x,t).r(x,t)=\tilde{u}_t(x,t)-\alpha \tilde{u}_{xx}(x,t).

如果这个残差在区域内部处处为零,说明候选函数满足热方程。实际计算中我们通常无法检查所有连续点,只能在有限个点上检查残差,或者用某种积分意义衡量整体残差。这一点已经非常接近 PINN:PINN 也是在采样点上计算神经网络函数的 PDE 残差,并把残差平方加入损失函数。

2.5 从数值残差到 PINN 残差#

传统有限差分方法和 PINN 的外观不同,但都围绕“构造近似解并检查方程满足程度”展开。有限差分方法先选定网格,再把导数替换为差分表达式,最终求解代数方程组。PINN 则先选定神经网络 uθu_\theta,再用自动微分计算它的导数,并在采样点上计算 PDE 残差。

设热方程为

utαuxx=0.u_t-\alpha u_{xx}=0.

在有限差分方法中,我们可能在网格点上用时间差分和空间差分近似 utu_tuxxu_{xx}。在 PINN 中,我们直接把神经网络函数 uθ(x,t)u_\theta(x,t) 代入方程,并通过自动微分得到

rθ(x,t)=uθt(x,t)α2uθx2(x,t).r_\theta(x,t) = \frac{\partial u_\theta}{\partial t}(x,t) - \alpha \frac{\partial^2u_\theta}{\partial x^2}(x,t).

若选取一组内部采样点 (xi,ti)(x_i,t_i),PINN 可以定义 PDE 残差损失

LPDE(θ)=1Nri=1Nrrθ(xi,ti)2.\mathcal{L}_{\mathrm{PDE}}(\theta) = \frac{1}{N_r} \sum_{i=1}^{N_r} \left|r_\theta(x_i,t_i)\right|^2.

这个损失项的含义非常直接:在这些采样点上,网络函数代入方程后越接近零,损失越小。与传统有限差分不同的是,PINN 不必把解只表示为网格点上的数值,而是用一个连续可求导的网络函数表示近似解。与普通神经网络拟合不同的是,PINN 的训练目标不只来自观测数据,还来自微分方程本身。

当然,这并不意味着 PINN 自动优于传统数值方法。有限差分、有限元和有限体积方法有成熟的误差分析、稳定性理论和高效求解器;PINN 的优势更多体现在某些数据稀缺、反问题、复杂约束融合或高维场景中,但它也会遇到优化困难、损失项不平衡和采样不足等问题。因此,本章引入残差不是为了否定传统数值方法,而是为了让读者看到:PINN 中的 PDE 损失其实继承了科学计算中非常基本的思想。

本章小结#

微分方程描述的是未知函数必须满足的变化规律。常微分方程处理单变量函数,偏微分方程处理多变量函数;初值条件给出系统的起始状态,边界条件给出区域边界上的约束。一个完整的求解问题通常由方程、区域、初值或边界条件以及物理参数共同构成。

由于实际方程往往无法写出解析解,数值方法通过离散化构造近似解。有限差分方法用相邻网格点上的函数值近似导数,从而把微分方程转化为代数方程组。残差则衡量一个候选函数代入方程后偏离零的程度。PINN 正是把这个残差思想与神经网络函数表示、自动微分和优化训练结合起来:用 uθu_\theta 表示候选解,用 rθ=N[uθ]r_\theta=\mathcal{N}[u_\theta] 衡量方程违反程度,并把残差写入损失函数。

习题#

  1. 对方程 dudt=2u\frac{du}{dt}=-2u,验证 u(t)=Ce2tu(t)=Ce^{-2t} 满足方程。若 u(0)=3u(0)=3,求 CC
  2. 写出热方程 ut=αuxxu_t=\alpha u_{xx} 在区间 0<x<L0<x<L 上的一个完整初边值问题,包括初值条件和两端边界条件。
  3. 用中心差分公式近似 u(xi)u''(x_i),说明公式中 ui1u_{i-1}uiu_iui+1u_{i+1} 分别表示什么。
  4. 对方程 u(t)+u(t)=0u'(t)+u(t)=0,计算候选函数 u~(t)=et+t2\tilde{u}(t)=e^{-t}+t^2 的残差。
  5. 解释有限差分残差和 PINN 残差的共同点与不同点。

延伸阅读#

  1. OpenStax, Calculus Volume 2, Section 4.1 “Basics of Differential Equations”: OpenStax Calculus Volume 2
  2. MIT OpenCourseWare, Differential Equations, lecture notes: 18.03 Differential Equations
  3. MIT OpenCourseWare, Advanced Partial Differential Equations with Applications, Lecture 01: 18.306 Advanced PDE
  4. MIT OpenCourseWare, Numerical Methods for Partial Differential Equations18.336 Numerical Methods for PDE
  5. Encyclopaedia Britannica, “Finite difference method”: Finite difference method
  6. Encyclopaedia Britannica, “Boundary value”: Boundary value

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

PINN 讲义第 2 章:微分方程、边界条件与数值近似
https://sciml.com.cn/posts/pinn-lecture-02/
作者
星飞帆
发布于
2026-06-24
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
星飞帆
西北工业大学24级研究生 | SciML · PINNs · 神经算子 · PDE 约束学习
欢迎
欢迎来到星飞帆的 SciML 研究笔记:这里记录论文阅读、数学推导、代码复现、实验踩坑,也分享研究生阶段可能用得上的资料。
分类
标签
站点统计
文章
21
分类
4
标签
69
总字数
70,675
运行时长
0
最后活动
0 天前

文章目录