这是一份针对PINN的讨论班的介绍,每个部分包括PPT的正文和讲解这段PPT的文案 总时长为3h左右,针对的内容为数学专业高年级本科生,对于深度神经网络大多有基础的了解程度。 PPT的正文要求简洁明了 更多的解释安排入文档
PINN讨论班
0 引入部分
PPT正文
PINN的现状:
AI4PDE的象征
PINN的优势:
- 操作简单
- 能求解高维问题
- 能求解反问题
文案:
大家好,今天我们将介绍AI4PDE领域最富盛名的PINN方法,通俗来讲,他就是使用神经网络来作为基函数,在由方程和边界范数度量意义下接近真解。
在正式引入这种方法之前,我不得不提到,自从Rassi发明这种方法后,一方面,他被百般质疑,此事不仅是学术上,就连知乎都有不少的质疑声音;另一方面,针对PINN的改进方法更是如雨后春笋般出现,可谓是层出不穷的改造理论。
而今天,我既不会为他正名,也不会对其批驳。只是向大家展示我作为一个尚年轻的人,对于这个还年轻的方法的一些认识。
1 基础知识——PINN 能解吗?
PPT 正文
为什么要做误差分解?
| 传统数值方法(FDM/FEM/FVM) | PINN | |
|---|---|---|
| 收敛性 | 已知能收敛 | 缺乏理论保证 |
| 收敛阶 | 清晰可分析 | 难以定量估计 |
误差分解框架:
其中 \(u\) 为真解,\(u_\theta\) 为网络输出,\(u^*\) 为网络空间中的最优近似。
三个误差的来源:
| 误差类型 | 来源 | 对应 PINN 哪一步 |
|---|---|---|
| 逼近误差 | 神经网络空间不够大 | 网络结构设计 |
| 优化误差 | 梯度下降停在"差不多"的地方 | 优化算法 |
| 样本误差 | 离散的配置点不能完全代表连续方程 | 配置点选取 |
文案
作为一种求解方法,任凭你再怎么天花乱坠,它至少得能够求解。微分方程的求解理论,前人之述备矣。以 FDM、FVM、FEM 三大方法为例,不但知道能够收敛,而且收敛阶的分析也相当清晰。反观 PINN,虽然从实际效果来看是能够求解的,但仍然缺乏定量的理论分析。
我们今天不会进行全部的讲解,只选取三个核心部分来叙述。
第一个框架叫做误差分解。我们把真解 \(u\) 和网络输出 \(u_\theta\) 之间的误差,分成三个部分:逼近误差,是真解本身能不能被神经网络空间所逼近的问题;优化误差,是找到了最优逼近但梯度下降停在了半路的问题;样本误差,是损失函数在离散配置点上为零但连续方程并不精确满足的问题。接下来我们逐个来看。
1.1 样本误差:损失降到零之后就是真解了吗?
PPT 正文
稳定性估计(Stability Estimate):
对于椭圆型 PDE:\(Lu = f\)(\(L\) 为椭圆算子),真解与网络输出的误差可以被 PDE 残差和边界残差所控制:
损失函数与样本误差的关系:
当损失函数 \(L(\theta)\) 在配置点上为零时,有
这意味着在离散的 \(N_r + N_b\) 个点上方程被精确满足。
泛化误差:更多的配置点能弥补吗?
由大数定律和中心极限定理,当配置点数量趋于无穷时,样本误差的期望可以收敛到真实 \(L^2\) 误差——但收敛速度是 \(O(1/\sqrt{N})\) 的量级。
文案
首先我们要问一个问题:损失降到零之后,我们求出来的就是真解了吗?
准确来说,在数学的意义下,几乎不可能。损失为零只意味着在离散的 \(N_r + N_b\) 个配置点上,PDE 残差和边界残差恰好为零。这和一连串线性算子在连续区域上精确为零是两回事。
但这并不意味着 PINN 就不能用。稳定性估计告诉我们:对于椭圆型 PDE,误差可以被 PDE 残差和边界残差所控制。也就是说,只要这两个残差都很小,误差就小。
进一步,泛化误差分析表明,只要配置点足够多并且均匀分布,由大数定律保证,样本误差可以收敛到真实误差,但这个收敛速度只有 \(O(1/\sqrt{N})\)——换句话说,为了把误差减半,你需要把配置点数量翻四倍,这是一个不小的代价。
1.2 逼近误差:神经网络空间够"大"吗?
PPT 正文
引理 2-1:万能逼近定理(Universal Approximation Theorem)
任意一个 \(C^k\) 连续函数都可以被一个单隐层神经网络以任意精度逼近。
引理 2-2:Sobolev 空间中的逼近
Sobolev 空间 \(H^s(\Omega)\) 上的任意函数可以被 \(C^k\) 连续函数任意程度地逼近(Sobolev 嵌入定理)。
综合结论:
定义 2-3:Barron 空间(刻画神经网络易逼近的函数)
若函数 \(u: \mathbb{R}^d \to \mathbb{R}\) 满足
则 \(u \in \mathcal{B^s}_d\)(Barron 空间),其中 \(\hat{u}\) 为 \(u\) 的傅里叶变换。
Barron 空间的重要性质(收敛速率):
在谱 Barron 空间中,两层神经网络可以达到 与维度无关 的最优逼近速率。 设:
-
目标函数 $\(f \in \mathcal{F}^{1/2}(\mathbb{R}^d)\)$(即 $\(s=1/2\)$)
-
网络宽度 $\(N\)$(神经元个数)
-
激活函数为常用的 ReLU / 平滑激活
则 $\(L^2\)$ / $\(L^p\)$ 逼近误差 满足:
就在最近,深度神经网络和一般的s的情况也被证明了,收敛速度为$\(O(N^{-sL})\)$,其中 \(s\) 是函数的光滑度,\(L\) 是神经网络隐藏层深度,N为单隐藏层深度。
Barron Space与Sobolev Space的嵌入关系: s< k-d/2时,$\(\mathcal{B}^s_d \subset H^k(\Omega)\)$ s> 2k时,$\(H^k(\Omega) \subset \mathcal{B}^s_d\)$ 对于一个2d椭圆方程,可以选取s=1/2,弱解处于Barron空间,则其在Sobolev空间。可以使用
文案
逼近误差问的是:神经网络够大吗?换句话说,神经网络空间里到底能不能包含我们的真解?
经典的万能逼近定理告诉我们,任何连续函数都可以被单隐层神经网络以任意精度逼近。结合 Sobolev 嵌入定理,对于高可微的 PDE 解,理论上存在一个网络可以无限接近真解。
但这还不够——我们想知道逼近的速度,即需要多少个神经元才能达到给定的精度。
Barron 空间给出了回答。Barron 空间的定义涉及傅里叶变换的加权可积性,听起来有点抽象,但它的意义很清晰:它刻画的就是神经网络容易高效逼近的那类函数。
Barron 空间固定下来后,其收敛速率只与神经网络的宽度有关。如果 PDE 的解恰好属于 Barron 空间,那么宽度为 \(N\) 的网络就能以 \(O(1/\sqrt{N})\) 的速率逼近它。
这与统计学习中经典的速率是一致的——某种意义上,PINN 求解 PDE 和用神经网络做回归是同一个问题的两个侧面。
1.3 优化误差:到什么时候是"差不多了"?
PPT 正文
三、优化部分
3.1 自动微分(Autograd)在 PINN 中的作用
PINN 的核心是计算 PDE 残差:
这需要求一阶导数 \(\nabla u_\theta\)、二阶导数 \(\Delta u_\theta\) 和更高阶导数。
自动微分做了什么?
通过链式法则在计算图上的精确传播,自动微分计算:
👉 这是解析形式的计算,但以数值方式执行。
3.2 它是数值微分还是符号微分?
结论:
自动微分 = 解析链式法则的数值执行
不是: - ❌ 有限差分(不是数值微分)—— 存在截断误差 - ❌ 完整符号表达式(不是 CAS)—— 无法处理复杂网络结构
而是: - ✔ 在计算图上逐层应用链式法则 - ✔ 得到机器精度下的"精确导数"
举例:
网络:\(u_\theta(x) = \sigma(W_2 \sigma(W_1 x))\)
链式法则:
👉 自动微分忠实执行了上式的数值计算。
3.3 在 PINN 中的重要性
- ✔ 可以稳定计算高阶导数(有限差分在高阶导数上误差爆炸)
- ✔ 避免有限差分误差
- ✔ 支持复杂 PDE(如 Navier–Stokes)
3.4 ADAM 更新公式
梯度的一阶矩估计: $\(m_t = \beta_1 m_{t-1} + (1-\beta_1)g_t\)$
梯度的二阶矩估计: $\(v_t = \beta_2 v_{t-1} + (1-\beta_2)g_t^2\)$
参数更新: $\(\theta_{t+1} = \theta_t - \eta \frac{m_t}{\sqrt{v_t} + \epsilon}\)$
4.2 在 PINN 中的特点
PINN loss:
👉 多尺度、多项损失
常见问题:
- 梯度不平衡(Stiffness): PDE residual vs boundary loss 尺度差异大
- 梯度消失/爆炸: 高阶导数导致
- Loss landscape 复杂: 非凸 + 强耦合
4.3 ADAM 的优点
- ✔ 自适应学习率(自动调整每个参数的学习率)
- ✔ 对噪声鲁棒(适合随机配置点采样)
- ✔ 前期收敛快
4.4 但在 PINN 中的局限
❗ 常见现象:ADAM 收敛到"假解"——PDE 满足但边界不准,或反之。
4.5 常见改进策略
- ✔ Adam + L-BFGS: Adam 快速下降 → L-BFGS 精细收敛
- ✔ Loss reweighting: \(\lambda_r, \lambda_b, \lambda_i\) 动态调整
- ✔ Gradient normalization: 解决不同项尺度不一致
- ✔ Curriculum learning: 逐步增加 PDE 难度
文案
最后是优化误差。误差分解的最后一项问的是:就算网络理论上能逼近真解,梯度下降真的能找到它吗?
这就要从 PINN 的核心技术——自动微分说起。PINN 需要计算 PDE 残差 \(Nu_\theta(x) = Lu_\theta(x) - f(x)\),这涉及对神经网络 \(u_\theta\) 求一阶甚至高阶导数。
这里要澄清一个常见的误解:自动微分既不是数值微分(有限差分),也不是符号微分(Mathematica 那样的完整符号计算)。它是在计算图上逐层应用链式法则,最终在机器精度下得到精确的导数值。这正是 PINN 能够稳定处理高阶导数的关键原因。
说到优化器,PINN 的损失函数是一个多目标的形式,包含 PDE 残差项、边界条件项和初值条件项。这些项的梯度尺度往往差异巨大——这就是所谓的梯度不平衡(stiffness)问题。结果就是,ADAM 常常收敛到一个"假解",即 PDE 残差几乎为零但边界条件偏差很大的解。
常用的改进策略包括先用 ADAM 快速下降,再用 L-BFGS 做精细收敛;或者对不同损失项做动态加权;以及 curriculum learning,先从简单问题开始逐步增加难度。这些都是工程上绕过优化困难的有效手段。
2 网络构造——PINN 的正式框架
PPT 正文
2.1 PINN 的核心思想
将 PDE "嵌入"损失函数,通过无监督学习求解。
对于一般 PDE:
构造残差:
损失函数:
其中
文案
在介绍了神经网络求解偏微分方程的可行性之后,我们正式介绍 PINN 的内容。
通俗来讲,PINN 就是将偏微分方程"嵌入"网络损失函数,通过无监督学习来求解。相比于过去把神经网络当黑箱使用,在 PINN 方法中,我们对神经网络函数 \(u_\theta\) 关于时间和空间进行自动微分,然后将 PDE 残差作为损失函数的一项。
这是一种无监督学习——我们不需要标签数据,只需要方程本身和边界条件。方程的离散和配置点的选取被巧妙地打包进了损失函数之中。
2.2 神经网络架构
PPT 正文
常见配置:
- 网络类型:全连接网络(Fully Connected)
- 激活函数:tanh、sin、sigmoid、ReLU 等
- 网络宽度:通常 32–256
- 网络深度:通常 2–8 层
激活函数的选择:
- tanh:最常用,梯度平滑
- sin:对于周期解或振荡解效果显著(傅里叶特性天然契合)
- ReLU:计算快,但可能导致梯度消失
文案
PINN 通常采用全连接网络架构。输入是多维的时空坐标 \((x,t)\),输出是标量 \(u\) 或复数的实部/虚部。
值得注意的是,对于具有周期性的解,比如我们刚才看到的薛定谔方程,用 sin 函数作为激活函数往往效果更好——这在某种意义上是因为正弦函数天然就是傅里叶基的组成部分,和周期解的频谱结构高度契合。
2.3 连续时间算例:一维薛定谔方程
PPT 正文
方程:
初边值条件:
(周期性边界条件,\(h(t,x)\) 为复值函数)
构造 PDE 残差:
损失函数:
- \(L_0\):初值损失(\(L^2\) 误差)
- \(L_b\):周期边界损失(函数值 + 导数值)
- \(L_f\):PDE 残差损失
实现细节:
- 神经网络输出为复数(双输出:实部 + 虚部,或用复数激活函数)
- 配置点 \((t_i, x_i)\) 在时空区域 \([0, \pi/2] \times [-5,5]\) 上随机采样
文案
我们以一维薛定谔方程作为连续时间 PINN 的经典算例。
这个方程的特点是:解 \(h(t,x)\) 是复值的,而且具有周期性边界条件。因此神经网络需要同时输出实部和虚部,并在损失函数中同时包含初值损失、周期边界损失和 PDE 残差损失三项。
时间在这个框架中只是作为额外的输入维度,神经网络同时学习空间和时间的依赖关系。这也是连续时间 PINN 的优势——不需要对时间做离散化,可以直接处理任意时空区域。
2.4 离散时间的 PINN
PPT 正文
RK方法格式: $$ u^{n+c_i} = u^n - \Delta t \sum_{j=1}^q a_{ij} \mathcal{N}[u^{n+c_j}] \quad (i=1,2,...,q) \ u^{n+1} = u^n - \Delta t \sum_{j=1}^q b_j \mathcal{N}[u^{n+c_j}]\ $$
核心思想:
将时间区间 \([0,T]\) 显式离散化为 \(N\) 个时间步:
每个时间步使用独立的神经网络 \(u^n(x, \theta^n)\)
训练策略:
- 逐层训练:先训练 \(u^0\),再依次训练 \(u^1, u^2, \ldots\)
- 或者**联合训练**:所有时间步网络一起训练,通过初始条件连接
连续 vs 离散时间 PINN 对比:
| 连续时间 PINN | 离散时间 PINN | |
|---|---|---|
| 时间处理 | 作为额外输入维度 | 显式时间步离散 |
| 网络结构 | 单个网络 | 每步独立网络 |
| 优点 | 灵活,无需时间步假设 | 每步问题更简单 |
| 缺点 | 长期时序问题训练困难 | 总计算量较大 |
文案
离散时间的 PINN 不同于连续时间的方法,实际上是一个监督学习的网络格式。首先从已有的初值和Runge-Kutta方法出发,得到每个离散时间间隔的预估函数。并且代入具体的点来构造“数据”。接下来,输入空间点坐标输出多个时间点对应的函数值,并通过损失函数来进行估计。这实际上类似于插值离散。
2.5 离散求解的算例——Allen-Chan方程
PPT正文
PDE形式:$\(u_t - 0.0001u_{xx} + 5u^3 -5u = 0\)$(非线性反应扩散方程)
- 输入:空间坐标$\(x\)$(1维);
-
隐藏层:4层,200个神经元/层,tanh激活函数;
-
输出:101个量(100个中间阶段$\(u^{0.1+c_j}(x)\)$ + 1个最终预测$\(u^{0.9}(x)\)$)。
-
构造100个中间约束:$\(u_i^{0.1} = u^{0.1}\)\((i=1,...,100),其中\)\(u_i^{0.1} = u^{0.1+c_i} + 0.8\sum_{j=1}^{100} a_{ij}\mathcal{N}[u^{0.1+c_j}]\)$;
-
损失函数:$\(SE = \sum_{j=1}^{100} \sum_{i=1}^{200} |u_j^{0.1}(x^{0.1,i}) - u^{0.1,i}|^2\)$;
-
优化器:L-BFGS,迭代40,000次。
文案
我们以Allen-Chan方程为例,作为一种非线性的扩散方程,其解的结果实际上是奇异性质的。但使用神经网络来作为一个逼近求解器,借助其非线性逼近的性质,就能取得良好的效果。
我们这里选取100个时间间隔,并通过R-K方法得到对应的函数,代入预期的200个离散点,就可以得到一系列的训练样本。接下来,使用神经网络单输入,100输出,这分别代表着100个间隔时间和最终时间的函数。接着,使用L2来作为损失函数
2.6反问题求解的 PINN
PPT 正文
正向问题 vs 反问题:
| 正向问题 | 反问题 | |
|---|---|---|
| 已知 | 方程 + 边界/初值条件 | 方程 + 部分观测数据 |
| 求解 | 解 \(u(x)\) | 未知的物理参数或源项 |
| 学习参数 | \(\theta\)(网络权重) | \(\theta\) + 物理参数 |
损失函数:
其中 \(L_{\text{data}} = \frac{1}{N_d}\sum_{i=1}^{N_d}|u(x_i, \theta) - u_{\text{obs}}(x_i)|^2\)
可学习的物理参数:
- 扩散系数 \(c(x)\)(参数化为小网络)
- 源项 \(f(x)\)
- 边界条件系数
- 初始条件
文案
PINN 的一大优势在于能够同时求解正问题和反问题。
在反问题中,我们不仅要求网络拟合方程和边界条件,还要拟合观测到的数据。通过将观测数据作为额外的损失项,PINN 可以同时反推未知的物理参数。
例如,在反演扩散系数问题时,扩散系数本身也可以参数化为一个小神经网络,从而实现空间依赖系数的学习——这在传统的数值方法中通常是非常困难的问题。
反问题求解的具体算例——2dN-S方程
PPT正文
方程形式: $$ u_t +\lambda_1(u u_x + v u_y) = -\frac{1}{\rho} p_x + \lambda_2 (u_{xx} + u_{yy}), \ v_t + \lambda_1(u v_x + v v_y) = -\frac{1}{\rho} p_y + \lambda_2 (v_{xx} + v_{yy}),\ u_x+v_y=0(流体的不可压缩性约束) $$
- 输入:时空坐标$\((t,x,y)\)$(需同时考虑时间演化和空间分布);
-
输出:物理量——决定扩散和黏性的两个系数\(\lambda_1,\lambda_2\)流函数$\(\psi\)\(、压力\)\(p\)$;
-
速度分量的计算:通过“自动微分”从流函数$\(\psi\)\(推导得到(\)\(u = \psi_y\)\(、\)\(v = -\psi_x\)$),无需直接逼近速度;
-
残差的计算:通过自动微分计算速度、压力的各阶导数(如$\(u_t\)\(、\)\(u_x\)\(、\)\(p_x\)\(等),代入\)\(f\)\(和\)\(g\)$的表达式,得到物理约束残差。
损失函数: $$ MSE := \frac{1}{N}\sum_{i=1}^N \left( |u(t^i,x^i,y^i) - u^i|^2 + |v(t^i,x^i,y^i) - v^i|^2 \right) + \frac{1}{N}\sum_{i=1}^N \left( |f(t^i,x^i,y^i)|^2 + |g(t^i,x^i,y^i)|^2 \right)\ f := u_t + \lambda_1(uu_x + vu_y) + p_x - \lambda_2(u_{xx} + u_{yy}), \ g := v_t + \lambda_1(uv_x + vv_y) + p_y - \lambda_2(v_{xx} + v_{yy}), \ $$
训练数据:9 层 ×20 神经元 N=5,000(1% 总数据)
求解目标: $$ \lambda_1,\lambda_2,p(t,x,y) $$ 文案: 首先明确目标,对于这个反问题,我们是已知一系列的已知点的速度信息,所要求解的是扩散系数和黏度系数这两个分量和未知的压强函数,这将作为训练数据。
其次,我们根据NS方程的流函数硬编码,使得解必然是满足守恒律的约束条件。接下来,我们根据训练数据和方程嵌入来构造得到损失函数。并且同步优化这些系数。
三、PINN-NTK:如何科学调参
引入文案: 由于PINN实在太过简单,以至于我们很快就能训练出一个结果来。然而,正如绝大多数训练过PINN方法的人都知道,这玩意儿训练过程中出现了不知多少问题。对于PINN进行更详细的理论分析是有必要的。而有一篇文章揭示了why and when PINN fails:通过使用NTK神经正切核的方法来
3.1 什么是NTK:无限宽神经网络与高斯过程
PPT内容: 无限宽极限(宽度 → ∞)下:
初始化时:神经网络 ≈ 高斯过程(GP) $$ f(x, \theta) \sim \mathcal{N}\,(0, \Sigma(x, x')) $$
训练时:神经网络 ≈ 核回归 $$ f_{NTK}(x) = K_{x, training} \cdot K_{training, training}^{-1} \cdot y $$
核心结论:NTK在训练过程中保持常数
文案: Jacot等人证明了一个深刻的结论:当神经网络的宽度趋向无穷大时,神经网络的行为可以用高斯过程来描述。神经网络的训练可以近似为一个核回归问题,而这个核(NTK)在训练过程中保持不变。
3.2 为什么要用NTK视角分析PINN?
PPT内容: 问题: - PINN训练为什么有时候会失败? - 为什么会出现梯度不平衡? - 如何科学地选择超参数?
NTK视角的优势: - 将无限宽神经网络的训练过程等价于核回归 - 可以分析收敛速度和谱特性 - 为调参提供理论指导
文案: NTK 理论为解答 PINN 训练的三大核心问题提供了严谨的理论分析框架,其以神经网络隐藏层宽度趋于无限为核心假设,将复杂的 PINN 训练转化为可解析的核回归问题,让收敛速率、谱特性等关键训练规律变得定量且明确。从 NTK 视角出发,我们能精准剖析 PINN 训练失败的根源、梯度不平衡的本质,并为超参数选择提供科学的理论依据,而非经验性试错。
3.3 谱偏差:为什么PINN学得慢?
PPT内容: NTK的特征值分布: $$ K = Q^T \Lambda Q, \quad \Lambda = \text{diag}(\lambda_1, \lambda_2, \ldots, \lambda_N) $$
训练误差衰减: $$ | \text{error}(t) | \approx | e^{-Kt} | $$
谱偏差现象: - 大特征值 → 快速收敛(低频成分) - 小特征值 → 缓慢收敛(高频成分) - 特征值快速衰减 → 高频成分难以学习
PPT图示(文字描述):
文案: NTK的特征值分解揭示了PINN训练困难的根本原因——谱偏差。较大的特征值对应的模式会快速收敛,而较小的特征值(通常对应高频成分)收敛极慢。这解释了为什么含有高频特征的解往往难以用PINN准确学习。
3.4 损失函数失衡:为什么收敛速度很慢
PPT内容: PINN的损失函数包含多个项: $$ \mathcal{L} = \lambda_b \mathcal{L}_b + \lambda_r \mathcal{L}_r $$
问题: - \(\mathcal{L}_b\) 和 \(\mathcal{L}_r\) 的收敛速度可能相差数十个数量级 - 导致某些项已收敛而另一些项仍很大 - 传统的固定权重无法解决
PPT图示:
文案: 除了谱偏差外,PINN的另一个核心问题是不同损失项之间的不平衡。边界条件和PDE残差的收敛速度可能差异巨大,导致训练过程中需要不断调整权重。
3.5 具体操作:计算PINNs的NTK
PPT内容: 考虑一般PDE问题: $$ \mathcal{L}\,u(x) = f(x), \quad x \in \Omega $$ $$ u(x) = g(x), \quad x \in \partial\Omega $$
定义PINN的损失函数: $$ \mathcal{L}\,(\theta) = \mathcal{L}_b(\theta) + \mathcal{L}_r(\theta) $$
其中边界损失:
$$
\mathcal{L}b(\theta) = \frac{1}{2N_b}\sum|u(x_i^b, \theta) - g(x_i^b)|^2 }^{N_b
$$
PDE残差损失: $$ \mathcal{L}r(\theta) = \frac{1}{2N_r}\sum\,u(x_i^r, \theta) - f(x_i^r)|^2 $$}^{N_r}|\mathcal{L
NTK矩阵定义: $$ K(t) = \begin{pmatrix} K_{uu}(t) & K_{ur}(t) \ K_{ru}(t) & K_{rr}(t) \end{pmatrix} $$
其中: $$ (K_{uu}){ij} = \frac{\partial u(x_i^b, \theta)}{\partial \theta} \cdot \frac{\partial u(x_j^b, \theta)}{\partial \theta} $$ $$ (K{rr})_{ij} = \frac{\partial \mathcal{L}\,u(x_i^r, \theta)}{\partial \theta} \cdot \frac{\partial \mathcal{L}\,u(x_j^r, \theta)}{\partial \theta} $$
文案: 我们将NTK的概念推广到PINN。关键的区别在于,PINN的输出不仅包括网络本身的值,还包括PDE残差。因此,PINN的NTK是一个分块矩阵,分别描述边界损失和PDE残差的梯度相关性。
3.7 自适应训练算法
PPT内容: 算法:动态权重调整
每 \(k\) 步更新权重: $$ \lambda_b^{(k+1)} = \lambda_b^{(k)} \cdot \frac{\text{tr}(K_{rr})}{\text{tr}(K_{uu})} $$ $$ \lambda_r^{(k+1)} = \lambda_r^{(k)} \cdot \frac{\text{tr}(K_{uu})}{\text{tr}(K_{rr})} $$
或者使用梯度归一化: $$ \tilde{g}b = \frac{g_b}{|g_b|}, \quad \tilde{g}_r = \frac{g_r}{|g_r|} $$ $$ \mathcal{L}_r $$} = \mathcal{L}_b + \mathcal{L
文案: 基于NTK分析,作者提出了一种自适应训练算法。核心思想是根据NTK特征值的trace来动态调整不同损失项的权重,使得不同组件的收敛速度达到平衡。
3.8 数值实验
PPT内容: 实验1:一维Poisson方程 $$ u_{xx} = f(x), \quad x \in [-1, 1] $$ $$ u(-1) = u(1) = 0 $$
真解:\(u(x) = \sin(\pi x)\)
结果对比: | 方法 | 相对L2误差 | |------|-----------| | 标准PINN | 1.2e-2 | | + 动态权重 | 3.1e-4 |
实验2:多尺度问题 高频解 \(u(x) = \sin(10\pi x)\)
| 方法 | 相对L2误差 |
|---|---|
| 标准PINN | 8.5e-1 |
| + 动态权重 | 2.3e-2 |
文案: 数值实验验证了NTK理论的分析和自适应算法的有效性。在高频和多尺度问题上,动态权重调整显著提升了PINN的性能。
3.9 小结
PPT内容: 1. 无限宽PINN的NTK是一个确定性核,且训练中保持常数 2. PINN存在谱偏差:高频成分收敛慢 3. 不同损失项的收敛速度可能相差巨大 4. 基于NTK的自适应算法可以有效改善训练
总结
PPT内容: 谢谢大家!欢迎提问!关注知乎浅草真纪