PDE与机器学习(八):反应扩散系统与GNN
深层 GNN 之所以崩溃,是因为它就是图上的扩散方程;图灵 1952 年的反应扩散理论告诉我们如何修好它——也为整个八章 PDE+ML 系列收尾。
本文你会学到
把 32 层 GCN 堆在一张引文网络上,准确率从 81% 跌到 20%,每个节点的特征向量都收敛到同一个点。这就是过度平滑——GNN 版本的"热寂",而病因来自 PDE 教科书的第一章:一层 GCN 就是图上热方程的一步显式 Euler,热方程只有一个不动点:常数。解药 1952 年就有了。Alan Turing 证明,给一个扩散方程加上一个反应项,原本均匀的稳态可以自发地长出条纹、斑点、迷宫——同样的把戏(一个学得到的反应项)也能让深层 GNN 活下来。
这同时是 PDE+机器学习 系列的第 8 章,也是终章。前 7 章我们一直在论证"几乎每一种现代神经网络架构都是某个 PDE 的离散化"。反应扩散 + GNN 把这条线收尾:它是其中最显式的 PDE 形态,也让我们可以站在终点回望整套系列。
本文目录
- 连续空间上的反应扩散方程——Gray-Scott、FitzHugh-Nagumo、它们能造出哪些模式;
- 图灵不稳定性——线性稳定性分析告诉我们扩散为什么能"创造"结构;
- 图拉普拉斯——$\nabla^2$ 的离散版本,以及它的谱为何决定 GNN 的命运;
- GCN $=$ 离散图扩散——过度平滑的谱证明;
- 反应扩散 GNN(GRAND、GRAND++、RDGNN)——加上一个反应项;
- 整个 PDE+ML 系列的回顾。
前置知识:线性代数(特征分解)、基本 PDE 概念(扩散方程)、消息传递 GNN。

1. 连续空间上的反应扩散
1.1 一般形式
$$ \frac{\partial \mathbf{u}}{\partial t} = \mathbf{D}\,\nabla^2\mathbf{u} + \mathbf{R}(\mathbf{u}). \tag{1} $$- 扩散项 $\mathbf{D}\nabla^2\mathbf{u}$ 是线性且抹平的——它永远在缩小梯度。
- 反应项 $\mathbf{R}(\mathbf{u})$ 是局部(不带空间导数)且非线性的——它可以加强也可以对抗扩散。
两种视角都有用。物理上,$\mathbf{u}$ 是一组浓度,扩散是 Fick 定律,反应是局部速率方程;数学上,(1) 是一个半线性抛物 PDE——就是我们在第 7 章见过的热方程加上一个逐点非线性源项。
Turing 的洞察在于:这两项的竞争可以让一个均匀初值自发演化成稳定的、非平凡的空间模式。这种现象被称为扩散驱动的不稳定性(diffusion-driven instability)。
1.2 Gray-Scott 模型
$$ \partial_t u = D_u \nabla^2 u - u v^2 + F(1-u),\qquad \partial_t v = D_v \nabla^2 v + u v^2 - (F+k)\,v. $$- $u$ 是按速率 $F$ 注入的底物,$v$ 是消耗 $u$ 的自催化剂(反应 $u + 2v \to 3v$),并以速率 $k$ 衰减。
- 当 $D_u > D_v$(底物比催化剂扩散得快),$v$ 的小斑块就能稳定下来,演化出图 1 中的各种形态。
同一个方程,换不同的 $(F, k)$,可以得到斑点、条纹、迷宫、孔洞、移动斑点,甚至自复制斑点——Pearson (1993) 一口气分类出十几种相区。
1.3 FitzHugh-Nagumo 模型
$$ \partial_t v = D \nabla^2 v + v - \tfrac{v^3}{3} - w + I,\qquad \partial_t w = \varepsilon\,(v + \beta - \gamma w),\quad \varepsilon \ll 1. $$- $v$ 是快变量(膜电位),$w$ 是慢恢复变量。
- 三次非线性让 $v$ 具有激发性:超过阈值的扰动会触发一个标志化脉冲,慢变量 $w$ 随后把它复位。
二维下你会看到螺旋波和靶心波——这正是心脏纤颤时的电波形态、也是发育中视网膜上看到的图样(见 §6 图 6)。
2. 图灵不稳定性:从均匀生出模式
2.1 问题
挑一个均匀稳态 $\bar{\mathbf{u}}$,满足 $\mathbf{R}(\bar{\mathbf{u}}) = \mathbf{0}$,并且在去掉扩散的纯局部系统中是稳定的。把扩散加回来,能否让这个稳态失稳?
直觉上不能——扩散只会"抹平",怎么会让东西更"乱"?Turing (1952) 证明了直觉是错的。
2.2 推导
$$ \sigma\,\mathbf{q} \;=\; \underbrace{\bigl(\mathbf{J} - |\mathbf{k}|^2\,\mathbf{D}\bigr)}_{\mathbf{A}(|\mathbf{k}|^2)}\,\mathbf{q},\qquad \mathbf{J} = \nabla_{\mathbf{u}}\mathbf{R}(\bar{\mathbf{u}}). \tag{2} $$当 $\mathbf{A}(|\mathbf{k}|^2)$ 有正实部特征值时,模式 $\mathbf{q}\,e^{i\mathbf{k}\cdot\mathbf{x}}$ 增长。完整的图灵条件是四条不等式(图 2 右):
- $\mathrm{tr}\,\mathbf{J} < 0$ 且 $\det\,\mathbf{J} > 0$——纯局部系统稳定;
- Jacobian 具有激活-抑制结构:$f_u > 0,\;g_v < 0,\;f_v g_u < 0$;
- 扩散不对称性:$D_v \gg D_u$——抑制剂扩散得远比激活剂快;
- 存在某个 $|\mathbf{k}|^2$ 使 $\det\,\mathbf{A}(|\mathbf{k}|^2) < 0$,即一个不稳定波数。
前三条是关于动力学的代数事实,第四条是真正的机制:一段波数变得不稳定,其中最不稳定的模 $|\mathbf{k}_*|$ 决定了模式的特征长度 $\ell \sim 2\pi/|\mathbf{k}_*|$。

2.3 直觉:短程激活、长程抑制
为什么不对称扩散能"破坏"一个原本稳定的稳态?想象一个微小的局部凸起(多了点激活剂)。局部上,激活剂正反馈、自我放大;同时它会生成抑制剂,但抑制剂跑得快,所以局部抑制剂浓度仍然偏低,远处抑制剂浓度则迅速堆高,把别处可能形成的凸起摁住。这就是短程激活、长程抑制——动物斑纹、植被条带、沙波纹背后的通用配方,也是后面 §5 深层 GNN 架构背后的同一个东西。
3. 从网格到图
3.1 为什么要图
有限差分(FDM)和有限元(FEM)在规则网格或精心剖分的网格上离散 PDE。对简单几何很好用。但分子结构、社交网络、引文图、路网、脑连接组没有自然的"网格"——连接关系本身就是几何。
图 $G = (V, E)$ 是统一的:一组节点加上节点间的关系。GNN 在解一个图上的"PDE"。本节就是把这个 PDE 写出来。

3.2 图拉普拉斯
带权无向图,邻接矩阵 $\mathbf{A}$,度矩阵 $\mathbf{D} = \mathrm{diag}(d_i)$:
| 变体 | 公式 | 谱所在 |
|---|---|---|
| 组合型 | $\mathbf{L} = \mathbf{D} - \mathbf{A}$ | $[0, 2 d_{\max}]$ |
| 对称归一 | $\mathbf{L}_{\text{sym}} = \mathbf{I} - \mathbf{D}^{-1/2}\mathbf{A}\mathbf{D}^{-1/2}$ | $[0, 2]$ |
| 随机游走 | $\mathbf{L}_{\text{rw}} = \mathbf{I} - \mathbf{D}^{-1}\mathbf{A}$ | $[0, 2]$ |
图拉普拉斯就是 $-\nabla^2$ 的离散版:它对梯度的平方做积分。它对称半正定,谱分解 $\mathbf{L} = \mathbf{U}\boldsymbol{\Lambda}\mathbf{U}^{\!\top}$,特征值 $0 = \lambda_1 \leq \lambda_2 \leq \cdots \leq \lambda_n$。
最小特征值恒为 0,对应常向量 $\mathbf{1}$;第二小的 $\lambda_2$(代数连通度)刻画图的连通强度。
3.3 图上的热方程
$$ \frac{d\mathbf{X}}{dt} = -\mathbf{L}\mathbf{X}. \tag{4} $$$$ \hat x_k(t) = e^{-\lambda_k t}\,\hat x_k(0),\qquad \hat x_k = \mathbf{u}_k^{\!\top}\mathbf{X}(0). $$每个模都按各自速率 $\lambda_k$ 指数衰减——除了 $\lambda_1 = 0$,那个常数模永远活着。$t \to \infty$ 时只剩常数。

这就是最纯粹的过度平滑,我们甚至还没提神经网络。
4. GCN 就是热方程
4.1 等价关系
$$ \mathbf{H}^{(\ell+1)} = \sigma\bigl(\tilde{\mathbf{A}}\,\mathbf{H}^{(\ell)}\,\mathbf{W}^{(\ell)}\bigr), \qquad \tilde{\mathbf{A}} = \tilde{\mathbf{D}}^{-1/2}(\mathbf{A} + \mathbf{I})\tilde{\mathbf{D}}^{-1/2}. $$$$ \mathbf{H}^{(\ell+1)} = \tilde{\mathbf{A}}\,\mathbf{H}^{(\ell)} \;=\; \bigl(\mathbf{I} - \tilde{\mathbf{L}}_{\text{sym}}\bigr)\mathbf{H}^{(\ell)}. \tag{5} $$这正是图热方程 $\dot{\mathbf{H}} = -\tilde{\mathbf{L}}_{\text{sym}}\mathbf{H}$ 的显式 Euler,步长 $h = 1$。“加自环” $\mathbf{A} + \mathbf{I}$ 是标准的 FDM 稳定化技巧——把 $\tilde{\mathbf{L}}_{\text{sym}}$ 的谱压进 $[0, 2)$,让显式格式仍然稳定。
4.2 过度平滑的谱证明
$$ \mathbf{H}^{(L)} = \tilde{\mathbf{A}}^L\,\mathbf{H}^{(0)}. $$$$ \tilde{\mathbf{A}}^L \xrightarrow[L \to \infty]{} \pi_{\text{const}}. $$所有节点特征坍缩到同一个向量。这不是 GCN 的怪癖,是任何低通滤波器迭代后的定理。加上 ReLU 和可学习权重只能延缓这个过程:Oono & Suzuki (2020) 证明,对任意奇异值有界的权重序列,GCN 特征仍然收敛到一个低维子空间。
4.3 连续深度 GNN
$$ \frac{d\mathbf{X}}{dt} = -\mathcal{L}_\theta(\mathbf{X})\,\mathbf{X},\qquad \mathbf{X}(T) = \text{输出}. $$$\mathcal{L}_\theta$ 是带学习注意力的拉普拉斯,积分用现成的 ODE solver(Dormand-Prince 等)。这并不能根治过度平滑——更精确地解一个热方程,依然在解一个热方程。GRAND++(Thorpe et al., 2022)加了一个源项;RDGNN(Eliasof et al., 2024 等)则加上了完整的反应项。下一节我们造出后者。
5. RDGNN:反应扩散图神经网络
5.1 架构
$$ \frac{d\mathbf{H}}{dt} = -\epsilon_d\,\mathbf{L}\,\mathbf{H} \;+\; \epsilon_r\,R_\theta(\mathbf{H}, \mathbf{H}^{(0)}). \tag{6} $$$$ \boxed{\;\mathbf{H}^{(\ell+1)} = \mathbf{H}^{(\ell)} \;-\; \epsilon_d\,\mathbf{L}\,\mathbf{H}^{(\ell)} \;+\; \epsilon_r\,R_\theta\bigl(\mathbf{H}^{(\ell)},\,\mathbf{H}^{(0)}\bigr).\;} \tag{7} $$三个分支(图 5):
- 扩散 $-\epsilon_d \mathbf{L}\mathbf{H}^{(\ell)}$:标准的图平滑。步长约束 $\epsilon_d < 1/\lambda_{\max}(\mathbf{L})$,保证显式 Euler 稳定。
- 反应 $\epsilon_r R_\theta(\mathbf{H}^{(\ell)}, \mathbf{H}^{(0)})$:可学习的、严格逐节点的变换——通常是一个小 MLP 在节点上单独跑。条件化在 $\mathbf{H}^{(0)}$ 上相当于 ResNet 的 input-skip,防止漂移。
- 跳过项 $\mathbf{H}^{(\ell)}$:让动力学贴近恒等,正是大 $L$ 时数值稳定的关键。

5.2 为什么有效
两种角度。
谱视角。纯扩散把每个非常数模按 $e^{-\lambda_k t}$ 衰减;反应项不是 $\mathbf{L}$ 的函数,谱内容可以任意,特别可以把扩散正在杀掉的高频能量再灌回去。结果是能量在频率上有个非平凡的稳定分布。
图灵视角。如果 $R_\theta$ 学到了激活-抑制结构(一个表达力够的 MLP 完全可以),并且扩散强度 $\epsilon_d$ 选得让 $\mathbf{J} - \epsilon_d \lambda_k$ 在某些 $k$ 上不稳定,整个网络就会出现节点级别的图灵模式——不同节点收敛到不同的特征值,按图谱组织起来。这就是 GNN 版本的"鱼身上的条纹"。
5.3 PyTorch 实现
| |
整个架构非常精瘦:扩散用一个共享的 GCN,反应用 $L$ 个小 MLP,两端各一个线性投影。图 6c 的精度曲线显示,仅靠这点料就能把 Cora 准确率维持到 64 层——比 GCN 崩溃的那个深度还多了八倍。
6. 反应扩散已经胜出的地方
同一个方程,三个应用故事。

形态发生。Murray 的《Mathematical Biology》里用图灵机制拟合了大型猫科动物的斑纹相变:体型大的(美洲虎)出斑点、中等的(豹)出玫瑰花斑、尾巴(局部几何把 $|\mathbf{k}|$ 限住)出条纹——一套反应参数加上胚胎几何就能解释。同样的数学也预测了半干旱地带的植被条带(水当抑制剂、生物量当激活剂)和 Belousov-Zhabotinsky 化学振荡的螺旋臂。
神经发育。视网膜镶嵌形成时,相邻光感受器互斥分化为同一亚型,但远程通过扩散性形态发生素协助同型分化——这从数学上就是图灵系统,得到的视锥排列具有可测量的波长 $\ell \sim 2\pi/|\mathbf{k}_*|$。皮层电活动里的螺旋波(癫痫时是病理,发育时则参与连接组成型)就是 2D 可激发介质上的 FitzHugh-Nagumo 解。
深层 GNN。在标准基准上深度-精度的故事戏剧化(图 6c,复刻自 Eliasof et al. (2024) 的 Cora 实验):GCN/GAT 在 8 层后崩溃,跟谱证明的预测一致;纯扩散 GRAND 只是推迟了崩溃,因为它只是更精确地解同一个热方程;只有 RDGNN——显式反应项——能在 $L = 64$ 时维持精度。这种效应在异配图(邻居标签更倾向不同)上更明显,因为对异配图来说"平滑"本身就是有害的:反应项可以学着放大邻居之间的差异。
7. 系列收官:八章一念
我们到了 PDE+机器学习 系列的终点。退一步看。

八章可以分成四对:
| 对 | 章节 | 背后的 PDE |
|---|---|---|
| 用 NN 解 PDE | 1 PINN,2 神经算子 | PDE 本身就是损失函数 |
| 变分视角 | 3 Deep Ritz,4 VI / Fokker-Planck | 损失 $=$ 自由能;梯度流 $=$ 连续性方程 |
| 保结构流 | 5 辛网络,6 Neural ODE / CNF | 网络尊重流的辛 / 体积 / 散度结构 |
| 生成 + 图 PDE | 7 扩散模型,8 RD + GNN | 正反向 Fokker-Planck;图上反应扩散 |
每一章背后都是同一句话:
一种神经架构是某个被离散化的 PDE。选架构 = 选 PDE。
具体来说:
- 想在训练分布外外推?——选算子学习的 PDE(第 2 章)。
- 想让网络尊重守恒量?——选辛积分器(第 5 章)。
- 想要可计算的似然?——选连续性方程,学它的漂移(第 6 章)。
- 想从复杂分布采样?——选 Fokker-Planck,学它的 score(第 7 章)。
- 想要不会塌的深层 GNN?——选反应扩散,而不是只有扩散(本章)。
PDE 视角不是看深度学习的唯一有用透镜,但它出乎意料地有生产力:每次我们问"对应的数值分析会怎么说?“都能换来一个具体的回报——一个稳定性界、一个步长约束、一个结构修复。这是物理范式给机器学习带来的红利,也是这两个领域之间的对话还远没说完的原因。
8. 习题
练习 1. 证明对连通图,$\mathbf{L}\mathbf{x} = \mathbf{0}$ 的唯一解是常向量。由此说明热方程把任何初值驱动到其均值。
解。 由 (3),$\mathbf{x}^\top\!\mathbf{L}\mathbf{x} = \tfrac{1}{2}\sum w_{ij}(x_i - x_j)^2 = 0$ 强制每条边两端 $x_i = x_j$;连通图上这意味着 $\mathbf{x}$ 是常向量。所以 $\mathbf{L}$ 的核是一维的,其余特征值严格为正,$e^{-\mathbf{L}t}$ 杀掉所有非常数分量并保住均值。$\blacksquare$
练习 2. 推导扩散步的显式 Euler 稳定性界 $\epsilon_d < 1/\lambda_{\max}(\mathbf{L})$。
解。 谱坐标下 Euler 更新为 $\hat{x}_k^{(\ell+1)} = (1 - \epsilon_d \lambda_k)\,\hat{x}_k^{(\ell)}$。要求每个 $k$ 都不增长 $|1 - \epsilon_d \lambda_k| \leq 1$,即 $0 \leq \epsilon_d \lambda_k \leq 2$,得 $\epsilon_d \leq 2/\lambda_{\max}$。要求单调衰减(不振荡)则更严格地要求 $\epsilon_d < 1/\lambda_{\max}$。$\blacksquare$
练习 3. 为什么 RDGNN 在异配图上特别有用?
解。 异配图上邻居标签倾向相反。纯扩散把邻居特征相加平均,这本身就在摧毁判别信号——层数越多越糟。反应项逐节点操作,并以 $\mathbf{H}^{(0)}$ 为条件,因此可以输出节点专属的更新,放大邻居之间的差异,恢复类间可分性。$\blacksquare$
练习 4. 证明 RDGNN 的离散更新 (7) 是连续 RD-GNN (6) 的一阶 Lie-Trotter 算子分裂离散。
解。 算子分裂把 $\dot{\mathbf{H}} = (\mathcal{D} + \mathcal{R})\,\mathbf{H}$ 分成两步交替的 Euler:先 $\mathbf{H}^{1/2} = \mathbf{H} + h\mathcal{D}\mathbf{H}$,再 $\mathbf{H}^{(\ell+1)} = \mathbf{H}^{1/2} + h\mathcal{R}\mathbf{H}^{1/2}$。在标准实现中两个算子都在同一个 $\mathbf{H}^{(\ell)}$ 上求值,结果就是 (7)。局部截断误差为 $\mathcal{O}(h^2[\mathcal{D}, \mathcal{R}])$,即一阶。$\blacksquare$
练习 5. 单条图灵不稳定性条件可以数值检验:取 Gray-Scott 的参数 $(D_u, D_v, F, k)$,在均匀稳态附近线性化,扫 $|\mathbf{k}|^2$ 看 $\det\,\mathbf{A}(|\mathbf{k}|^2)$ 何时变号。把这个写成代码,复现图 1 中的某一格。
解概要。 Gray-Scott 的均匀稳态满足 $u v^2 = F(1 - u)$ 且 $u v^2 = (F + k) v$。算这个稳态处的 $2\times 2$ Jacobian,构造 $\mathbf{A}(|\mathbf{k}|^2) = \mathbf{J} - |\mathbf{k}|^2 \mathrm{diag}(D_u, D_v)$,画 $\det\,\mathbf{A}$ vs $|\mathbf{k}|^2$。负的一段表示不稳定带,对应波长 $2\pi/|\mathbf{k}_*|$ 与模拟出来的模式可视尺度一致。$\blacksquare$
参考文献
[1] Turing, A. M. (1952). The chemical basis of morphogenesis. Phil. Trans. R. Soc. B, 237(641), 37-72.
[2] Pearson, J. E. (1993). Complex patterns in a simple system. Science, 261(5118), 189-192.
[3] Murray, J. D. (2003). Mathematical biology II: Spatial models and biomedical applications (3rd ed.). Springer.
[4] Kipf, T. N., & Welling, M. (2017). Semi-supervised classification with graph convolutional networks. ICLR. arXiv:1609.02907
[5] Oono, K., & Suzuki, T. (2020). Graph neural networks exponentially lose expressive power for node classification. ICLR. arXiv:1905.10947
[6] Chamberlain, B., Rowbottom, J., Gorinova, M., Webb, S., Rossi, E., & Bronstein, M. (2021). GRAND: Graph neural diffusion. ICML. arXiv:2106.10934
[7] Thorpe, M., Nguyen, T. M., Xia, H., Strohmer, T., Bertozzi, A., Osher, S., & Wang, B. (2022). GRAND++: Graph neural diffusion with a source term. ICLR.
[8] Eliasof, M., Haber, E., & Treister, E. (2021). PDE-GCN: Novel architectures for graph neural networks motivated by partial differential equations. NeurIPS. arXiv:2108.01938
[9] Di Giovanni, F., Rowbottom, J., Chamberlain, B., Markovich, T., & Bronstein, M. (2022). Graph neural networks as gradient flows. arXiv:2206.10991
[10] Choi, J., Hong, S., Park, N., & Cho, S.-B. (2023). GREAD: Graph neural reaction-diffusion networks. ICML. arXiv:2211.14208
[11] Eliasof, M., Haber, E., & Treister, E. (2024). Graph neural reaction-diffusion models. SIAM J. Sci. Comput. arXiv:2406.10871
系列导航
| 部分 | 主题 |
|---|---|
| 1 | 物理信息神经网络 |
| 2 | 神经算子理论 |
| 3 | 变分原理与优化 |
| 4 | 变分推断与Fokker-Planck方程 |
| 5 | 辛几何与保结构网络 |
| 6 | 连续归一化流与Neural ODE |
| 7 | 扩散模型与Score Matching |
| 8 | 反应扩散系统与GNN(本文,终章) |
感谢看到这里。