交 互 讲 义 · A MATHEMATICAL INTRODUCTION

扩散模型的数学入门

从经典采样动力学到现代扩散采样器:一条贯穿始终的数学主线——朗之万、分数、反向 SDE、概率流 ODE,以及它们的误差分析。
\(\mathrm{d}X_t=f_t(X_t)\,\mathrm{d}t+g_t\,\mathrm{d}B_t\;\;\Longrightarrow\;\;\mathrm{d}Y_s=\bigl[-f_{T-s}+g_{T-s}^2\,\nabla\log p_{T-s}\bigr]\mathrm{d}s+g_{T-s}\,\mathrm{d}\bar B_s\)
朗之万动力学分数估计Tweedie 恒等式反向 SDE概率流 ODE误差分析
▼ 向下滚动
OVERVIEW

这份讲义讲什么,怎么读

本页是 Jianfeng Lu 在 SLMath Tukey 暑期学校(2026)讲义 A Mathematical Introduction to Diffusion Models(arXiv:2607.01693)的可视化改写:定理与恒等式忠于原文,配上可以直接动手的演示。讲义的出发点是——

“采样就是产生看起来像是从给定分布中抽出的随机点。这话说起来简单,做起来常常很难……我们的策略是间接的:与其一次性从困难的目标分布中采样,不如构造一个易于模拟的随机过程,让其分布逐渐漂移向目标。”—— 讲义 §1.1(意译)

五幕全书的结构

采样语言与朗之万工具箱

目标分布与各种差异度、马尔可夫核、Fokker–Planck 方程、熵耗散;朗之万扩散、ULA 与 MALA 的收敛保证。

连续时间分数扩散

高斯加噪、Tweedie 恒等式、反向时间 SDE、概率流 ODE;随机定位与 Polchinski 流的对偶视角。

离散化:DDPM 采样器

把连续动力学离散成可实现的更新:精确与高斯反向核、去噪–分数等价。

误差分析

把采样误差拆成早停、KL 望远镜求和与分数误差三部分;Euler–Maruyama、Hessian 控制与一阶拒绝采样(FORS)。

推理时控制

不重训模型,在推理时操纵采样路径:guidance、奖励倾斜、路径空间控制与推理时强化学习。

三层材料的深度分层

核心定义与恒等式完整证明:Fokker–Planck 与熵耗散、Tweedie 恒等式与反向 SDE、概率流 ODE、去噪–分数等价……
代表估计在简化假设下证明机制的最干净形态:对数 Sobolev 下的 KL 压缩、高斯目标下 ULA 偏差的精确计算……
研究级定理以简化形式陈述并给出证明路线图:ULA/MALA 收敛保证、FORS 高精度采样、离散扩散的误差分析……

记号贯穿全文的符号

符号含义
p_data, X₀数据分布与干净样本,X₀ ~ p_data
X_t, p_t前向加噪后的随机变量及其密度
a_t, σ_t高斯通道参数:X_t | X₀ ~ N(a_tX₀, σ_t²I)
s*_t, s_t真分数 ∇log p_t 与学习到的分数
Y_s, Z_s反向 SDE 与反向概率流 ODE 的样本路径
π ∝ e^(−U)以势能 U 表示的目标分布
ε²_score均方分数误差 E‖s − s*‖²
SECTION 1

采样问题:怎样才算“像从 π 里抽的”

设 π 是 ℝ^d 上的一个概率分布。多数情形里我们拿不到它的精确样本,只能拿到三种间接信息之一:未归一化的密度 \(\pi(x)\propto e^{-U(x)}\);梯度 \(\nabla\log\pi=-\nabla U\);或者一堆相关的样本。目标于是变成:构造随机变量 \(\hat X\),其分布 \(\hat\pi\) 满足 \(D(\hat\pi,\pi)\le\varepsilon\)。这里 \(D\) 的选择本身就是一个数学问题——不同距离“看”到的东西完全不同。

定义 · 三种基本差异度

总变差(每个事件的概率是否差不多):$$d_{\mathrm{TV}}(\mu,\nu)=\sup_A\big|\mu(A)-\nu(A)\big|=\frac12\int\Big|\frac{d\mu}{d\lambda}-\frac{d\nu}{d\lambda}\Big|\,d\lambda$$

Wasserstein-2(概率质量能否被短距离搬运):$$W_2^2(\mu,\nu)=\inf_{\gamma\in\Pi(\mu,\nu)}\int\|x-y\|^2\,\gamma(dx,dy)$$ 其中 \(\Pi(\mu,\nu)\) 是全部耦合(边缘分别为 μ、ν 的联合分布)的集合。

KL 散度(用 ν 作参考能否高效编码 μ):$$D_{\mathrm{KL}}(\mu\Vert\nu)=\int\log\frac{d\mu}{d\nu}\,d\mu$$ 当 μ 不绝对连续于 ν 时为 +∞。注意 KL 不对称,不是度量。

三者之间有单向的比较桥梁:Pinsker 不等式 \(d_{\mathrm{TV}}\le\sqrt{\tfrac12D_{\mathrm{KL}}}\),数据处理不等式 \(D_{\mathrm{KL}}(T_\#\mu\Vert T_\#\nu)\le D_{\mathrm{KL}}(\mu\Vert\nu)\),以及经由对数 Sobolev 不等式与 Otto–Villani 定理得到的传输–熵不等式 \(W_2^2\le 2C_{\mathrm{LSI}}D_{\mathrm{KL}}\)。反过来,若无有界支撑或函数不等式假设,不存在普遍的反向比较——这正是下面这个例子要说明的。

例子 · 三个距离看到三样东西(讲义 §1.1)

取 \(\mu=\delta_0\),\(\nu=\delta_\varepsilon\)(两个只差 ε 的点质量)。因为支撑不相交,\(d_{\mathrm{TV}}=1\),\(D_{\mathrm{KL}}=\infty\)(两个方向都是);而 \(W_2=\varepsilon\)。也就是说:TV 与 KL 对“点质量的微小平移”过于严苛,Wasserstein 却看到它们几何上非常接近。

演示 01 · 三种距离拖动滑块,观察每个度量各自如何反应;切换“点质量”复现上面的例子
TV 与 W₂ 取数值,KL 取公式精确值
对比高斯:W₂² = δ² + (1−σ₂)²
TV 的 Pinsker 上界 √(KL(μ‖ν)/2)
以金色刻度线标在 TV 一行

观察要点:① 让 δ、σ₂ 都很小(如 δ=0.05, σ₂=1)——W₂ 趋于 0 而 TV 仍可观;② 调大 σ₂ 使 ν 很宽——KL(μ‖ν) 与 KL(ν‖μ) 明显不对称;③ 切到点质量模式:TV=1、KL=∞,但 W₂=ε。条形图为 √ 缩放。

SECTION 2

MCMC:把采样变成跑马尔可夫链

与其直接从 π 抽样,不如选一个转移规则,让它的反复使用以 π 为平衡态:马尔可夫核 \(P(x,\cdot)\) 把当前状态映成下一步的分布,链 \(X_{n+1}\sim P(X_n,\cdot)\) 跑得足够久后,希望 \(\mathrm{Law}(X_n)\to\pi\)。这一观点立刻把问题拆成两半。

定义 1.1 · 不变性与可逆性

π 称为 P 的不变分布,若 \(\int\pi(dx)P(x,A)=\pi(A)\) 对一切可测集 A 成立;称为可逆,若细致平衡 $$\pi(dx)P(x,dy)=\pi(dy)P(y,dx)$$ 成立。对 x 积分即得不变性。

警示 · 不变性 ≠ 收敛

不变性只是不动点陈述,不保证从别的初始分布出发会收敛。恒等核 \(P(x,\cdot)=\delta_x\) 让每个分布都不变,却永远不混合;两点空间上确定性的翻转 0↔1 以均匀分布为不变律,但从 0 出发的链永远振荡。要把 MCMC 变成定理,还需要遍历性机制(有限状态的不可约+非周期,或一般状态的 Harris 条件),定量结果再叠加谱隙、压缩或函数不等式。

对真正的度量 D(TV、W₂),算法误差有经典三角分解 $$D\big(\mathrm{Law}(X_n),\pi\big)\;\le\;\underbrace{D\big(\mathrm{Law}(X_n),\pi_h\big)}_{\text{混合:没跑够}}\;+\;\underbrace{D(\pi_h,\pi)}_{\text{偏差:离散化}}$$ 其中 π_h 是可实现算法的不变律。KL 没有三角不等式,这正是后面(§6、§11)误差分析要走“望远镜求和”而不是“分项相加”的原因。

由此得到贯穿全书的设计原则:先设计一个以 π 为不变律、收敛机制可分析的连续时间过程,再离散化成可计算的链;若想抹掉离散化偏差,再加 Metropolis 校正。朗之万动力学就是这条原则的典范。

SECTION 3

过阻尼朗之万动力学

设 \(\pi(x)\propto e^{-U(x)}\),U 光滑。过阻尼朗之万扩散是 $$\mathrm{d}X_t=-\nabla U(X_t)\,\mathrm{d}t+\sqrt{2}\,\mathrm{d}B_t=\nabla\log\pi(X_t)\,\mathrm{d}t+\sqrt{2}\,\mathrm{d}B_t\tag{1.1}$$ 漂移 \(-\nabla U\) 像梯度下降一样把粒子拉向 π 更大的区域,布朗项的扩散系数则精确调到让系综保持 π 规定的散布。

要点 · 优化 ≠ 采样

优化要的是目标值小的一个点;采样要的是一个分布。若 π 双峰,各占一半质量,优化器返回任一个众数都算对,采样器却必须以正确频率访问两个峰。下面的演示里关掉噪声项,就能亲眼看到这条分界线。

3.1两种读法:随机路径 与 确定性 PDE

(1.1) 有两条互补的读法。路径层面:每个粒子沿势能面下滑,布朗运动维持系综散布,适合直觉与模拟。分布层面:密度 q_t 满足确定的偏微分方程——Fokker–Planck 方程 $$\partial_tq_t=\nabla\!\cdot\big(q_t\nabla U\big)+\Delta q_t=\nabla\!\cdot\Big(q_t\nabla\log\frac{q_t}{\pi}\Big)\tag{1.2}$$ 推导只需 Itô 公式加一次分部积分。

推导(Itô 公式 → Fokker–Planck,讲义 §1.3)

对 \(\mathrm{d}X_t=b(X_t)\mathrm{d}t+\sigma\mathrm{d}B_t\) 与光滑测试函数 φ,Itô 公式给 $$\mathrm{d}\varphi(X_t)=\langle\nabla\varphi,b\rangle\,\mathrm{d}t+\tfrac12\mathrm{Tr}\big(\sigma\sigma^\top\nabla^2\varphi\big)\,\mathrm{d}t+\langle\nabla\varphi,\sigma\,\mathrm{d}B_t\rangle$$ 末项是鞅增量,取期望后消失。代入 \(b=-\nabla U\),\(\sigma=\sqrt2I\) 得 \(\frac{\mathrm{d}}{\mathrm{d}t}\mathbb{E}[\varphi(X_t)]=\mathbb{E}[-\langle\nabla U,\nabla\varphi\rangle+\Delta\varphi]\),即无穷小生成元 \(\mathcal{L}\varphi=-\langle\nabla U,\nabla\varphi\rangle+\Delta\varphi\)。用密度写出弱形式并对 φ 的两项分别分部积分,即得 \(\partial_tq_t=\mathcal{L}^*q_t\),\(\mathcal{L}^*q=\nabla\cdot(q\nabla U)+\Delta q\)。

命题 1.2 · 平稳性

\(\mathcal{L}^*\pi=\nabla\cdot(\pi\nabla U+\nabla\pi)=0\)(用 \(\nabla\pi=-\pi\nabla U\))。于是 q₀=π 时 Fokker–Planck 的解恒为 π:π 是 (1.1) 的不变律。

例子 · Ornstein–Uhlenbeck 过程

取 π=N(0,I),即 \(U=\|x\|^2/2\):\(\mathrm{d}X_t=-X_t\mathrm{d}t+\sqrt2\,\mathrm{d}B_t\),显式解 $$X_t=e^{-t}X_0+\sqrt2\int_0^te^{-(t-s)}\,\mathrm{d}B_s,\qquad X_t\sim N\big(e^{-t}X_0,\,(1-e^{-2t})I\big)$$ 均值指数收缩、方差填充到目标方差——值得记住的微观图像。

演示 02 · 朗之万动力学与熵耗散1500 个粒子在三个各向异性高斯分量组成的 π 中运行(真实模拟 dX=∇logπ·dt+√2·dB)
模拟时间 t0.0
KL(q_t ‖ π)(网格估计)
KL(q_t‖π) · 对数纵轴 —— 熵耗散的实时曲线
朗之万粒子 目标密度 π

观察要点:① 金色粒子从角落的初始团流入并铺满三条高斯“薄片”——不是停在中心,这正是采样与优化的区别;② KL 曲线近似直线下降(对数轴),对应 §4 的指数熵耗散;③ 切换到“优化(去噪声)”:粒子坍缩到三个众数点,KL 卡在高处不再下降——一个没有噪声的“采样器”只学会了找众数。

SECTION 4

熵耗散:KL 是李雅普诺夫函数

沿 Fokker–Planck 流对 KL 求导,得到全书反复使用的基本恒等式: $$\frac{\mathrm{d}}{\mathrm{d}t}D_{\mathrm{KL}}(q_t\Vert\pi)=-\int\Big\|\nabla\log\frac{q_t}{\pi}\Big\|^2q_t\,\mathrm{d}x=-F(q_t\Vert\pi)\tag{1.3}$$ 其中 \(F\) 是相对 Fisher 信息。KL 是李雅普诺夫函数,Fisher 信息是它的耗散率。

证明(讲义 §1.4)

由 \(\int\partial_tq_t\,\mathrm{d}x=0\),\(\frac{\mathrm{d}}{\mathrm{d}t}D_{\mathrm{KL}}=\int\partial_tq_t\log\frac{q_t}{\pi}\,\mathrm{d}x\)。代入等价形式 \(\partial_tq_t=\nabla\cdot\big(q_t\nabla\log\frac{q_t}{\pi}\big)\) 并分部积分(边界项消失):\(\int\nabla\cdot(q_t\nabla\log\frac{q_t}{\pi})\log\frac{q_t}{\pi}\,\mathrm{d}x=-\int q_t\|\nabla\log\frac{q_t}{\pi}\|^2\mathrm{d}x\),即 −F。

把恒等式与目标的结构不等式结合,耗散就变成收敛速率。若 π 满足对数 Sobolev 不等式(LSI) $$D_{\mathrm{KL}}(q\Vert\pi)\le\frac{C_{\mathrm{LSI}}}{2}F(q\Vert\pi)$$ 则 Grönwall 得 $$D_{\mathrm{KL}}(q_t\Vert\pi)\le e^{-2t/C_{\mathrm{LSI}}}D_{\mathrm{KL}}(q_0\Vert\pi)$$ 特别地,若 U 是 m-强凸(\(\nabla^2U\succeq mI\)),Bakry–Émery 判据给 \(C_{\mathrm{LSI}}\le 1/m\),速率成为干净的 \(e^{-2mt}\)。同样的恒等式还有几何读法:过阻尼朗之万是 \(D_{\mathrm{KL}}(\cdot\Vert\pi)\) 的 W₂-梯度流,(1.3) 是其能量耗散恒等式(Otto–Villani / Ambrosio–Gigli–Savaré)。

方法论 · 采样论证的通用模板

① 选一个差异度当李雅普诺夫函数;② 沿动力学计算它的导数(耗散率);③ 用目标律的结构不等式(LSI、Talagrand……)把导数换成负的、与自身成比例的量。§6 的 ULA 定理与 §11 的扩散误差分析,都是这个模板的变奏。

SECTION 5

ULA 与 MALA:离散化之后还剩什么

对 (1.1) 做 Euler–Maruyama(步长 h>0)就得到未校正朗之万算法(ULA): $$X_{n+1}=X_n-h\nabla U(X_n)+\sqrt{2h}\,\xi_n,\qquad\xi_n\sim N(0,I)\tag{2.1}$$ 它简单、只用梯度,但 (2.1) 不是 (1.1) 的精确转移,一般不保持 π。混合误差随迭代减小,离散化偏差却焊死在转移规则里——跑再久也不消失。高斯目标上可以精确算出“偏差到底是多少”。

例子 · ULA 在标准高斯上的偏差(讲义 §2.1)

取 \(U(x)=x^2/2\)(一维,目标 π=N(0,1)),ULA 为 \(X_{n+1}=(1-h)X_n+\sqrt{2h}\,\xi_n\)。设平稳律是中心高斯、方差 \(v_h\),由平稳性 $$v_h=(1-h)^2v_h+2h\;\Longrightarrow\;v_h=\frac{2h}{1-(1-h)^2}=\frac{2}{2-h}$$ 于是 ULA 的不变律是 \(\pi_h=N(0,\,2/(2-h))\neq\pi\)(除非 h=0),且 $$D_{\mathrm{KL}}(\pi_h\Vert\pi)=\tfrac12\big(v_h-1-\log v_h\big),\quad W_2^2(\pi_h,\pi)=\big(\sqrt{v_h}-1\big)^2$$ 三个量都是 \(h^2/16+O(h^3)\):未校正离散化产生 O(h) 的方差型偏差。

演示 03 · ULA 的平稳偏差4000 条链在 π=N(0,1) 上运行;直方图收敛到的不是 π,而是 π_h=N(0, 2/(2−h))
单条链的轨迹 Xₙ(粒子 0)
目标 π = N(0,1) ULA 不变律 π_h = N(0, 2/(2−h)) 粒子直方图
v_h = 2/(2−h)
方差偏差 v_h − 1(=O(h))
W₂²(π_h, π) = (√v_h−1)²
KL(π_h‖π) = ½(v_h−1−ln v_h)
渐近主导项 h²/16

观察要点:① 小 h(0.05):两条曲线几乎重合,直方图收敛到 π;② h=1.0:v_h=2,直方图明显比 π 宽——收敛到的正是虚线 π_h;③ 调 h 时下方的公式数值同步更新,可验证三个量都是 h²/16 量级。

5.1MALA:一次密度比值检查,偏差归零

Metropolis 校正的朗之万算法(MALA)保留 ULA 提议、追加接受–拒绝:从 x 出发先抽 \(y\sim q_h(x,\cdot)=N\big(x-h\nabla U(x),\,2hI\big)\,再以概率 $$a_h(x,y)=1\wedge\frac{\pi(y)\,q_h(y,x)}{\pi(x)\,q_h(x,y)}\tag{2.4}$$ 接受;拒绝则原地不动。接受比 (2.4) 强制细致平衡,于是 π 被 MALA 精确保持——离散化偏差被抹掉,代价是需要密度比值 π(y)/π(x)。提议只用梯度、校正用密度:这一个比值检查把不变律从近似的 π_h 拉回精确的 π。

精确不变只是故事的一半;还要多少步才混合?现代高精度理论把问题拆成两半,都相对温启动(\( \| \mathrm{d}\mu_0/\mathrm{d}\pi \|_{L^\infty}\le M\))陈述:对 m-强凸、L-光滑目标(条件数 κ=L/m),MALA 在 \(\widetilde O(\kappa\sqrt d\log^3\max\{\kappa,d,M/\varepsilon\})\) 步内混合到 TV 精度 ε(Wu–Schmidler–Chen;Chen–Gatmiry 把图景推广到光滑+等周条件);温启动本身可由欠阻尼(动能)朗之万以同样的 \(\widetilde O(\sqrt d)\) 维度依赖制备(Altschuler–Chewi)。高精度图像:动能朗之万制备温启动,MALA 做精确校正采样。

局限 · 为什么还需要扩散模型

MALA 的尖锐保证依赖强对数凹性 / LSI / 等周不等式、光滑性与温启动。而真实数据分布可能多峰、奇异、只通过样本可得——这些假设不是自然起点。于是换一个问题:如果给的是数据而不是可求值的密度,如何设计算法生成新样本?

SECTION 6

ULA 的收敛定理:Girsanov 与望远镜

一步误差的标尺由 Girsanov 公式给出:在 [0,h] 上把 ULA 一步插值成冻结漂移的扩散 \(\mathrm{d}\hat X_s=-\nabla U(x)\,\mathrm{d}s+\sqrt2\,\mathrm{d}B_s\),与真朗之万(漂移场取 \(-\nabla U(\cdot)\))作路径空间 KL 比较,得 $$D_{\mathrm{KL}}\big(\hat P_h(x,\cdot)\Vert P_h(x,\cdot)\big)\le\frac{L^2}{4}\Big(dh^2+\frac{h^3}{3}\|\nabla U(x)\|^2\Big)\tag{2.2}$$ “冻结漂移一个短区间”的代价是 \(dh^2\) 阶——KL 版的局部截断误差。但要得到对 π 的定理,不能把它与 \(D_{\mathrm{KL}}(q_{kh}\Vert\pi)\) 相加(KL 无三角不等式),而要直接追踪目标相对量 \(D_{\mathrm{KL}}(\hat q_k\Vert\pi)\)。

定理 2.1 · ULA 的 KL 收敛(Vempala–Wibisono)

设 π ∝ e^(−U) 满足 LSI(常数 \(C_{\mathrm{LSI}}\),约定 \(D_{\mathrm{KL}}\le\frac{C_{\mathrm{LSI}}}2F\)),∇U 是 L-Lipschitz。ULA 取步长 \(0\lt h\le 1/(4C_{\mathrm{LSI}}L^2)\),则 $$D_{\mathrm{KL}}(\hat q_k\Vert\pi)\;\le\;e^{-kh/C_{\mathrm{LSI}}}\,D_{\mathrm{KL}}(\hat q_0\Vert\pi)\;+\;8\,C_{\mathrm{LSI}}L^2dh\tag{2.3}$$ 不假设任何凸性:LSI 提供全局混合机制,有界 Hessian 提供离散化所需的局部控制。要达到 \(D_{\mathrm{KL}}\le\varepsilon^2\),迭代复杂度为 \(\widetilde O\big(C_{\mathrm{LSI}}^2L^2d/\varepsilon^2\big)\);m-强凸时(\(C_{\mathrm{LSI}}\le1/m\))即 \(\widetilde O(\kappa^2d/\varepsilon^2)\)。

证明路线图(讲义 §2.3)
  • 一步插值:从 \(\hat q_k\) 出发跑冻结漂移扩散,其 s 时刻律 \(\nu_s\)(\(\nu_h=\hat q_{k+1}\));沿它对 KL 求导,得 −F 再加上冻结漂移的误差项。
  • Young 不等式把误差内积劈成两半:一半吸收进 F(用 LSI 化为压缩),一半用 L-光滑 \(\|\nabla U(\bar X_s)-\nabla U(\bar X_0)\|\le L\|\bar X_s-\bar X_0\|\) 控制。
  • 位移的二阶矩 \(\mathbb{E}\|\bar X_s-\bar X_0\|^2=s^2\mathbb{E}\|\nabla U\|^2+2ds\):布朗部分积分后给 \(dh^2\) 项;漂移部分用最优 W₂ 耦合 + 光滑不等式 + \(\mathbb{E}_\pi\|\nabla U\|^2\le Ld\)(分部积分)+ Talagrand \(W_2^2\le2C_{\mathrm{LSI}}D_{\mathrm{KL}}\) 化为被步长条件吸收的低阶项。
  • 得一步递推 \(D_{\mathrm{KL}}(\hat q_{k+1}\Vert\pi)\le e^{-h/C_{\mathrm{LSI}}}D_{\mathrm{KL}}(\hat q_k\Vert\pi)+6L^2dh^2\),对几何级数求和(望远镜)即 (2.3)。

读法:维度依赖是线性的,精度依赖是多项式的(要 KL 到 ε² 得 \(1/\varepsilon^2\) 步)——根源正是 Euler 离散 O(h) 的平稳偏差逼着小步长。于是自然要问:能不能保留朗之万提议、用精确校正消掉偏差?密度可求值时 MALA 正是答案;只有数据时,就要换一条整条路——扩散模型。

SECTION 7

前向加噪:把数据变成一条平滑的分布路径

扩散模型的出发点反转了前提:目标律由数据表示,没有可求值的密度。那就别在数据分布上直接跑朗之万,而是给它加噪声,得到一串更平滑的律: $$\mathrm{d}X_t=f_t(X_t)\,\mathrm{d}t+g_t\,\mathrm{d}B_t,\qquad X_0\sim p_{\mathrm{data}}\tag{3.1}$$ 大多数模型用线性高斯前向过程,对确定性的标量函数 \(a_t,\sigma_t\): $$X_t\mid X_0\sim N\big(a_tX_0,\,\sigma_t^2I\big)\tag{3.2}$$ 两个标量就是信噪比的完整描述:\(a_t\) 是原始样本在条件均值里剩多少,\(\sigma_t\) 是添加了多少独立高斯不确定度。早期 σ 小、分数反映数据精细结构;大噪声时 p_t 平滑、接近简单参考律——反向采器的起点反而容易。

两个常用调度(讲义 §3.1)

方差爆炸(VE,热流):\(X_t=X_0+\sqrt t\,Z\),即 \(p_t=p_{\mathrm{data}}*N(0,tI)\),\(a_t=1,\ \sigma_t=\sqrt t\)。

方差保持(VP,OU 流):\(\mathrm{d}X_t=-\tfrac12X_t\,\mathrm{d}t+\mathrm{d}B_t\),则 \(X_t|X_0\sim N\big(e^{-t/2}X_0,(1-e^{-t})I\big)\),且 \(a_t^2+\sigma_t^2=1\)(单位尺度数据总方差不变)。

演示 04 · 前向加噪650 个螺旋数据点:X_t = a_t·X₀ + σ_t·Z(每个点固定自己的 Z,拖动滑块看到连续的加噪轨迹)
a_t(保留信号)
σ_t(噪声水平)
信噪比 a²/σ²
信噪比(dB)

观察要点:① VE:结构原地“溶化”成大高斯云;VP:整团先收缩向原点再变成单位高斯——两种调度都能满足 (3.2),只是 \(a_t,\sigma_t\) 不同;② 信噪比条随 t 单调下跌:t 大时 p_t 接近简单参考律,反向采样器有好的起点;③ 切到“边际密度”看 p_t 的热图:平滑化从数据流形向外扩散。

SECTION 8

分数与 Tweedie:去噪就是学分数

最自然的“撤销加噪”是去噪:给定噪声观测 \(X_t=x\),估计产生它的干净样本 \(\mathbb{E}[X_0\mid X_t=x]\)。编码这件事的对象是加噪分布的分数 $$s_t^\star(x)=\nabla\log p_t(x)\tag{3.3}$$ 高斯边际公式 (3.2) 把两者精确锁定在一起:

恒等式 · 连续时间 Tweedie(讲义 §3.2)
$$s_t^\star(x)=\frac{1}{\sigma_t^2}\,\mathbb{E}\big[a_tX_0-X_t\mid X_t=x\big]\tag{3.4}$$

等价地(\(a_t\neq0\) 时),最优去噪器 \(D_t^\star(x):=\mathbb{E}[X_0\mid X_t=x]=a_t^{-1}\big(x+\sigma_t^2s_t^\star(x)\big)\);学习到的分数 \(s_t\) 同样决定学习到的去噪器 \(D_t=a_t^{-1}(x+\sigma_t^2s_t)\)。去噪与分数估计是同一份后验信息的两种写法。

证明思路

把 \(p_t(x)=\int\varphi_t(x\mid x_0)\,p_{\mathrm{data}}(\mathrm{d}x_0)\) 写成高斯混合;对固定 \(x_0\) 有 \(\nabla_x\varphi_t=\frac{a_tx_0-x}{\sigma_t^2}\varphi_t\),在积分号下求导得 \(\nabla p_t(x)=\frac1{\sigma_t^2}\int(a_tx_0-x)\varphi_t\,p_{\mathrm{data}}(\mathrm{d}x_0)\);除以 \(p_t(x)\),并用 Bayes 法则 \(P(X_0\in\mathrm{d}x_0\mid X_t=x)=\varphi_t(x\mid x_0)p_{\mathrm{data}}(\mathrm{d}x_0)/p_t(x)\) 把积分换成条件期望。

这也解释了分数为何可以从经验数据学出来:在 \(X_t=a_tX_0+\sigma_tZ\) 下,(3.4) 里的随机向量 \(\frac{a_tX_0-X_t}{\sigma_t^2}=-\frac{Z}{\sigma_t}\),其条件均值恰是 \(s_t^\star(x)\)。于是有回归型的总体损失 $$\mathbb{E}\Big\|s_t(a_tX_0+\sigma_tZ)+\frac{Z}{\sigma_t}\Big\|^2$$ 把期望换成经验平均、噪声重采样,就是去噪分数匹配(DSM)目标。学习到的场因此天然带去噪解释:单次腐蚀的回归目标是随机的,但其条件平均指向干净样本的后验均值。

演示 05 · 分数场、后验与 Tweedie 恒等式真实计算经验高斯混合 p_t = (1/N)Σ N(x; xᵢ, tI) 的分数:拖动白色探针,切换噪声水平 t
σ_t²
探针 x
后验均值 D*(x)=E[X₀|X_t=x]
分数 s*=(D*−x)/σ_t²
分数场 s*_t(长度∝σ_t²|s*|=|D*−x|) 探针 x → 后验均值 D* 后验样本 X₀ ~ P(·|X_t=x)

虚线圆 = 以 x 为中心、半径 σ_t 的噪声尺度。灰色小点是按后验权重 \(r_i(x)\) 抽到的干净数据点——它们的加权平均就是金色点 D*。

观察要点:① 金色箭头向量 = 青色箭头方向:Tweedie 恒等式 \(s_t^\star=(D_t^\star-x)/\sigma_t^2\) 的实时数值验证(见右侧面板);② t 小:后验样本集中在探针附近的流形段上,分数场把 x 拉向最近的数据结构;③ t 大:后验铺满整条螺旋,D* 趋向数据质心,场变得全局而平滑——扩散模型在不同噪声尺度上学的正是这一族场。

SECTION 9

反向 SDE:用分数把噪声倒着放回去

前向 SDE 把数据带向简单律。采样需要的不是布朗路径的逐点逆,而是一个边际倒序的马尔可夫过程:若前向边际是 \((p_t)_{0\le t\le T}\),反向采样器 \((Y_s^\leftarrow)_{0\le s\le T}\) 应满足 \(\mathrm{Law}(Y_s^\leftarrow)=p_{T-s}\)。这是刻意分布层面的要求——只要快照对了,不必重走前向路径。于是先匹配密度演化:令 \(q_s=p_{T-s}\),对前向 Fokker–Planck 换元 \(t=T-s\),再用恒等式 \(\Delta p_t=\nabla\cdot(p_t\nabla\log p_t)\)——正是分数登场——把方程重排成反向扩散的 Fokker–Planck,读出:

反向时间 SDE(讲义 §3.3)
$$\mathrm{d}Y_s^\leftarrow=\Big[-f_{T-s}\big(Y_s^\leftarrow\big)+g_{T-s}^2\,s_{T-s}^\star\big(Y_s^\leftarrow\big)\Big]\mathrm{d}s+g_{T-s}\,\mathrm{d}\bar B_s,\qquad Y_0^\leftarrow\sim p_T\tag{3.5}$$

漂移两块:\(-f_{T-s}\) 倒转前向的确定性输运;\(g_{T-s}^2s_{T-s}^\star\) 恰是 §8 的去噪方向——它修正扩散造成的密度演化,把样本推向加噪密度更高的区域,即干净样本的后验均值。把 \(s^\star\) 换成学习分数 \(s\),就得到分数反向 SDE 采样器;对它做 Euler–Maruyama 离散(沿去噪漂移推一步 + 注入合适方差的新鲜高斯噪声)就是 DDPM 采样器

两个调度的反向 SDE

VE:\(f=0,g=1\):\(\mathrm{d}Y_s^\leftarrow=s_{T-s}^\star(Y_s^\leftarrow)\,\mathrm{d}s+\mathrm{d}\bar B_s\)——整个漂移就是分数:从高噪声抽样出发,反复沿去噪方向走并注入新噪声。

VP:\(f=-\tfrac12x,g=1\):\(\mathrm{d}Y_s^\leftarrow=\big[\tfrac12Y_s^\leftarrow+s^\star_{T-s}(Y_s^\leftarrow)\big]\mathrm{d}s+\mathrm{d}\bar B_s\)——\(\tfrac12Y\) 项撤销 OU 向原点的收缩,分数项补去噪修正。

演示 06 · 反向采样器:SDE、ODE 与三种误差用真分数对螺旋数据跑完整的反向过程(VE 调度,Euler–Maruyama);三个滑块分别对应 §11 的三种误差来源
KL(样本分布 ‖ 数据分布) · 对数纵轴 —— 反向采样的实时误差曲线
反向时间 s(噪声 t:T → 0)
步长 Δ = T/N
当前 KL
终态 KL

观察要点:① 先用默认参数跑一次:噪声云在约一秒内“凝结”成螺旋,KL 曲线单调下降并停在网格分辨率地板上;② 离散化:把 N 调到 20 —— 粗网格让终点停留在仍带 √Δ 模糊的 \(p_\Delta\) 上,螺旋发虚;③ 分数误差:调大 ε——分数被随机扰动后,粒子无法精确贴回流形,KL 地板明显抬高;④ 早停:把 T 降到 0.6 —— 起点高斯与真实 \(p_T\) 形状不匹配(还没加够噪声),终点分布整体走样;⑤ 切换“概率流 ODE”(§10):确定性地传输同一族边际快照。

SECTION 10

概率流 ODE:确定性地运输同样的快照

存在一个确定性 ODE,其各时刻边际与 (3.1) 完全相同。定义速度场 $$v_t(x)=f_t(x)-\frac12g_t^2\,s_t^\star(x)=f_t(x)-\frac12g_t^2\nabla\log p_t(x)\tag{3.6}$$ 则概率流 ODE \(\frac{\mathrm{d}X_t}{\mathrm{d}t}=v_t(X_t)\)(\(X_0\sim p_0\))的解在每个 t 都有边际密度 \(p_t\)。

推导(连续性方程)

前向 Fokker–Planck \(\partial_tp_t=-\nabla\cdot(f_tp_t)+\tfrac12g_t^2\Delta p_t\);用 \(\Delta p_t=\nabla\cdot(p_t\nabla\log p_t)\) 把扩散项并进输运项:\(\partial_tp_t=-\nabla\cdot\big[(f_t-\tfrac12g_t^2s_t^\star)p_t\big]\)。这正是 \(v_t\) 的连续性方程 \(\partial_tp_t+\nabla\cdot(p_tv_t)=0\)——被确定性流 \(Ẋ_t=v_t(X_t)\) 推送的密度满足同一方程、同一初值,故边际相同。

两个例子:VE 有 \(v_t=-\tfrac12\nabla\log p_t\)(分数指向高密度,\(-\tfrac12\) 倍把它变成向外铺开质量,复现布朗平滑);VP 有 \(v_t=-\tfrac12x-\tfrac12\nabla\log p_t\)(OU 收缩 + 布朗平滑的传输表示)。采样时同样反向积分:从 \(Z_0^\leftarrow\sim p_T\) 出发沿 \(\frac{\mathrm{d}Z_s^\leftarrow}{\mathrm{d}s}=-v_{T-s}(Z_s^\leftarrow)\) 走到 s=T——与 (3.5) 的漂移相差一个系数:反向 SDE 是 \(-f+g^2s^\star\),反向 ODE 是 \(-f+\tfrac12g^2s^\star\)。DDIM 是这一侧的标准采样器:与 DDPM 共用同一个训练好的去噪模型,走确定性更新。

两台机器,同一组快照

分数精确时,SDE 与 ODE 产生相同的边际;但 SDE 不断注入随机性,ODE 确定性地运输(随机性只在初值)。路径层面的量(不是只看快照的分析)不能随意互换。确定性的回报是似然:沿 ODE 轨迹 $$\frac{\mathrm{d}}{\mathrm{d}t}\log p_t(X_t)=-\nabla\cdot v_t(X_t)\;\Longrightarrow\;\log p_0(X_0)=\log p_T(X_T)+\int_0^T\nabla\cdot v_t(X_t)\,\mathrm{d}t$$ 这就是连续归一化流(CNF)恒等式——实践中散度用自动微分或 Hutchinson 随机迹估计近似。代价:学习分数替代真分数后,两台机器的边际都不再精确,误差来自分数误差加上数值积分误差。

💻 动手:回到 演示 06,把采样器切到“概率流 ODE”——同一族边际快照,粒子轨迹变成确定性的传输。
SECTION 11

误差分析:三个来源,一台望远镜

把连续动力学离散成可实现的 DDPM 采样器后,终端误差可以拆成三个结构清晰的来源——每个都能在演示 06 里单独拨动:

  • 早停误差。 反向过程从参考律(如高斯)出发,但若停止时刻 T 不够大,\(p_T\) 本身还不是那个参考律:\(\mathrm{KL}(p_T\Vert p_{\mathrm{ref}})\) 直接进入终端误差。→ 对应滑块 T
  • 离散化误差。 Euler–Maruyama 的每步局部误差(KL 版截断误差,与 §6 的 (2.2) 同机制)沿时间用KL 望远镜求和累积;由于反向动力学带压缩结构(§4 的熵耗散的镜像),旧误差被指数遗忘。步数不足时终点停留在仍带 √Δ 模糊的 \(p_\Delta\)。→ 对应滑块 N
  • 分数误差。 学习分数与真分数的均方差 \(\varepsilon_{\mathrm{score}}^2=\mathbb{E}_{p_k}\|s_k-s_k^\star\|^2\) 作为输入进入每步界:粗略地,终端 KL ≲ 早停项 +(步长与 Δ 的离散项)+(\(\varepsilon_{\mathrm{score}}^2\) 的累积项,同样被压缩部分吸收)。→ 对应滑块 ε

离散世界里 Tweedie 以去噪–分数等价的形式回归:训练时学去噪器 \(\hat D_k\),采样时等价地使用分数 \(\hat s_k(x)=(a_k\hat D_k(x)-x)/\sigma_k^2\);DDPM 的高斯反向核正是把这个等价写成可实现的高斯转移(精确反向核由 Bayes 公式给出,高斯核是其分数近似)。研究级路线图上:Euler–Maruyama 的基本界之后,讲义讨论了 Hessian 控制(利用曲率改进漂移离散)与 FORS(first-order rejection sampling)——只用分数就能对高斯倾斜做一阶拒绝校正,把精度推进到接近 Metropolis 校正的水准而无需密度比值。

💻 动手:回到 演示 06——先各拨一个滑块单独看三种误差的指纹,再叠加:终态 KL 是三者的合并账单,而右侧曲线实时显示“压缩 + 残留地板”的形状。
SECTION 12

延伸主题:同一高斯通道的更多视角

讲义后半部分把同一套数学推向三个方向。它们与 §7–§9 共享出发点 \(X_t=X^\star+\sqrt t\,Z\)(此处取 VE),只是组织信息的方式不同:扩散模型强调反向时间采样,随机定位问贝叶斯问题,Polchinski 流问密度层面的问题。

随机定位

STOCHASTIC LOCALIZATION

随着噪声观测变精确,隐藏信号的后验律 \(\mathrm{Law}(X^\star\mid X_t)\) 如何演化?这条“后验聚焦”的动力学与扩散的反向 SDE 互为对偶视角,是研究高维采样(如玻璃态平均场问题)中由噪声驱动的算法成功的关键框架。

Polchinski 流

POLCHINSKI FLOW

换个层面:不追踪后验,而问噪声水平变化时平滑密度 \(p_t\) 与有效势 \(U_t=-\log p_t\) 如何流动。这来自构造量子场论的 Wilson 重整化群,与扩散模型在数学上共用同一条高斯通道。

离散扩散

DISCRETE DIFFUSION

数据在有限状态空间(文本 token!):加噪 SDE 换成连续时间马尔可夫链,反向核重写为有限状态转移。去噪–分数等价有精确的有限状态版本:学习“预测被腐蚀前的干净状态”等价于学习反向转移速率;误差分析与连续情形平行展开。

推理时控制

GUIDANCE · REWARD TILTING · INFERENCE-TIME RL

训练好的模型在推理时被“转向”:guidance 用条件信号偏置分数;奖励倾斜把目标换成 \(\pi_r\propto p_{\mathrm{data}}\,e^{\beta r}\)(分数加上 β∇r 即可近似采样,无需重训);更一般地有路径空间控制与把采样器当策略的推理时强化学习——讲义的第五幕。

EPILOGUE

一条主线,五个变奏

回头看,整份讲义只反复做一件事:选一个差异度当李雅普诺夫函数,沿一个容易模拟的动力学求它的导数,再用目标律的结构不等式把耗散换成收敛速率。在朗之万一侧,结构不等式是 LSI,得到 \(e^{-2t/C_{\mathrm{LSI}}}\) 与 ULA 的 \(8C_{\mathrm{LSI}}L^2dh\) 偏差地板;在扩散一侧,同一模板经 KL 望远镜处理早停、离散化与分数误差三笔账;在离散与控制两幕里再度变奏。MALA 告诉我们密度比值何时够用,扩散模型告诉我们只有数据时该走的整条路。

参考文献

  1. J. Lu, A Mathematical Introduction to Diffusion Models. SLMath Tukey 暑期学校讲义, 2026. arXiv:2607.01693.(本页底本)
  2. J. Ho, A. Jain, P. Abbeel. Denoising Diffusion Probabilistic Models. NeurIPS 2020.(DDPM)
  3. Y. Song, S. Sohl-Dickstein, D. Kingma, A. Kumar, S. Ermon, B. Poole. Score-Based Generative Modeling through SDEs. ICLR 2021.
  4. Y. Song, C. Meng, S. Ermon. Denoising Diffusion Implicit Models. ICLR 2021.(DDIM)
  5. S. Vempala, A. Wibisono. Rapid Convergence of the Unadjusted Langevin Algorithm: Isoperimetry Suffices. NeurIPS 2019.
  6. S. Chewi. Log-concave Sampling. 书稿, 2024.(朗之万/对数凹采样标准参考)
  7. J. Wu, C. Schmidler, Y. Chen. Mixing time of the Metropolis-adjusted Langevin algorithm;L. Chen, K. Gatmiry. Sampling without replacement…;J. Altschuler, S. Chewi.(MALA/温启动高精度图像)
  8. D. Bakry, I. Gentil, L. Ledoux, Analysis and Geometry of Markov Diffusion Operators;C. Villani, Optimal Transport.(LSI / 传输不等式)
  9. W. E, T. Li, E. Vanden-Eijnden, Applied Stochastic Analysis.(SDE 与 CTMC 的随机数值分析)