这份讲义讲什么,怎么读
本页是 Jianfeng Lu 在 SLMath Tukey 暑期学校(2026)讲义 A Mathematical Introduction to Diffusion Models(arXiv:2607.01693)的可视化改写:定理与恒等式忠于原文,配上可以直接动手的演示。讲义的出发点是——
“采样就是产生看起来像是从给定分布中抽出的随机点。这话说起来简单,做起来常常很难……我们的策略是间接的:与其一次性从困难的目标分布中采样,不如构造一个易于模拟的随机过程,让其分布逐渐漂移向目标。”—— 讲义 §1.1(意译)
五幕全书的结构
目标分布与各种差异度、马尔可夫核、Fokker–Planck 方程、熵耗散;朗之万扩散、ULA 与 MALA 的收敛保证。
高斯加噪、Tweedie 恒等式、反向时间 SDE、概率流 ODE;随机定位与 Polchinski 流的对偶视角。
把连续动力学离散成可实现的更新:精确与高斯反向核、去噪–分数等价。
把采样误差拆成早停、KL 望远镜求和与分数误差三部分;Euler–Maruyama、Hessian 控制与一阶拒绝采样(FORS)。
不重训模型,在推理时操纵采样路径:guidance、奖励倾斜、路径空间控制与推理时强化学习。
三层材料的深度分层
记号贯穿全文的符号
| 符号 | 含义 |
|---|---|
| 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*‖² |
采样问题:怎样才算“像从 π 里抽的”
设 π 是 ℝ^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}}\)。反过来,若无有界支撑或函数不等式假设,不存在普遍的反向比较——这正是下面这个例子要说明的。
取 \(\mu=\delta_0\),\(\nu=\delta_\varepsilon\)(两个只差 ε 的点质量)。因为支撑不相交,\(d_{\mathrm{TV}}=1\),\(D_{\mathrm{KL}}=\infty\)(两个方向都是);而 \(W_2=\varepsilon\)。也就是说:TV 与 KL 对“点质量的微小平移”过于严苛,Wasserstein 却看到它们几何上非常接近。
观察要点:① 让 δ、σ₂ 都很小(如 δ=0.05, σ₂=1)——W₂ 趋于 0 而 TV 仍可观;② 调大 σ₂ 使 ν 很宽——KL(μ‖ν) 与 KL(ν‖μ) 明显不对称;③ 切到点质量模式:TV=1、KL=∞,但 W₂=ε。条形图为 √ 缩放。
MCMC:把采样变成跑马尔可夫链
与其直接从 π 抽样,不如选一个转移规则,让它的反复使用以 π 为平衡态:马尔可夫核 \(P(x,\cdot)\) 把当前状态映成下一步的分布,链 \(X_{n+1}\sim P(X_n,\cdot)\) 跑得足够久后,希望 \(\mathrm{Law}(X_n)\to\pi\)。这一观点立刻把问题拆成两半。
π 称为 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 校正。朗之万动力学就是这条原则的典范。
过阻尼朗之万动力学
设 \(\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\)。
\(\mathcal{L}^*\pi=\nabla\cdot(\pi\nabla U+\nabla\pi)=0\)(用 \(\nabla\pi=-\pi\nabla U\))。于是 q₀=π 时 Fokker–Planck 的解恒为 π:π 是 (1.1) 的不变律。
取 π=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)$$ 均值指数收缩、方差填充到目标方差——值得记住的微观图像。
观察要点:① 金色粒子从角落的初始团流入并铺满三条高斯“薄片”——不是停在中心,这正是采样与优化的区别;② KL 曲线近似直线下降(对数轴),对应 §4 的指数熵耗散;③ 切换到“优化(去噪声)”:粒子坍缩到三个众数点,KL 卡在高处不再下降——一个没有噪声的“采样器”只学会了找众数。
熵耗散: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 的扩散误差分析,都是这个模板的变奏。
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) 的精确转移,一般不保持 π。混合误差随迭代减小,离散化偏差却焊死在转移规则里——跑再久也不消失。高斯目标上可以精确算出“偏差到底是多少”。
取 \(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) 的方差型偏差。
观察要点:① 小 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 / 等周不等式、光滑性与温启动。而真实数据分布可能多峰、奇异、只通过样本可得——这些假设不是自然起点。于是换一个问题:如果给的是数据而不是可求值的密度,如何设计算法生成新样本?
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)\)。
设 π ∝ 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 正是答案;只有数据时,就要换一条整条路——扩散模型。
前向加噪:把数据变成一条平滑的分布路径
扩散模型的出发点反转了前提:目标律由数据表示,没有可求值的密度。那就别在数据分布上直接跑朗之万,而是给它加噪声,得到一串更平滑的律: $$\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 平滑、接近简单参考律——反向采器的起点反而容易。
方差爆炸(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\)(单位尺度数据总方差不变)。
观察要点:① VE:结构原地“溶化”成大高斯云;VP:整团先收缩向原点再变成单位高斯——两种调度都能满足 (3.2),只是 \(a_t,\sigma_t\) 不同;② 信噪比条随 t 单调下跌:t 大时 p_t 接近简单参考律,反向采样器有好的起点;③ 切到“边际密度”看 p_t 的热图:平滑化从数据流形向外扩散。
分数与 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) 把两者精确锁定在一起:
等价地(\(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)目标。学习到的场因此天然带去噪解释:单次腐蚀的回归目标是随机的,但其条件平均指向干净样本的后验均值。
虚线圆 = 以 x 为中心、半径 σ_t 的噪声尺度。灰色小点是按后验权重 \(r_i(x)\) 抽到的干净数据点——它们的加权平均就是金色点 D*。
观察要点:① 金色箭头向量 = 青色箭头方向:Tweedie 恒等式 \(s_t^\star=(D_t^\star-x)/\sigma_t^2\) 的实时数值验证(见右侧面板);② t 小:后验样本集中在探针附近的流形段上,分数场把 x 拉向最近的数据结构;③ t 大:后验铺满整条螺旋,D* 趋向数据质心,场变得全局而平滑——扩散模型在不同噪声尺度上学的正是这一族场。
反向 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,读出:
漂移两块:\(-f_{T-s}\) 倒转前向的确定性输运;\(g_{T-s}^2s_{T-s}^\star\) 恰是 §8 的去噪方向——它修正扩散造成的密度演化,把样本推向加噪密度更高的区域,即干净样本的后验均值。把 \(s^\star\) 换成学习分数 \(s\),就得到分数反向 SDE 采样器;对它做 Euler–Maruyama 离散(沿去噪漂移推一步 + 注入合适方差的新鲜高斯噪声)就是 DDPM 采样器。
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 向原点的收缩,分数项补去噪修正。
观察要点:① 先用默认参数跑一次:噪声云在约一秒内“凝结”成螺旋,KL 曲线单调下降并停在网格分辨率地板上;② 离散化:把 N 调到 20 —— 粗网格让终点停留在仍带 √Δ 模糊的 \(p_\Delta\) 上,螺旋发虚;③ 分数误差:调大 ε——分数被随机扰动后,粒子无法精确贴回流形,KL 地板明显抬高;④ 早停:把 T 降到 0.6 —— 起点高斯与真实 \(p_T\) 形状不匹配(还没加够噪声),终点分布整体走样;⑤ 切换“概率流 ODE”(§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 随机迹估计近似。代价:学习分数替代真分数后,两台机器的边际都不再精确,误差来自分数误差加上数值积分误差。
误差分析:三个来源,一台望远镜
把连续动力学离散成可实现的 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 校正的水准而无需密度比值。
延伸主题:同一高斯通道的更多视角
讲义后半部分把同一套数学推向三个方向。它们与 §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 即可近似采样,无需重训);更一般地有路径空间控制与把采样器当策略的推理时强化学习——讲义的第五幕。
一条主线,五个变奏
回头看,整份讲义只反复做一件事:选一个差异度当李雅普诺夫函数,沿一个容易模拟的动力学求它的导数,再用目标律的结构不等式把耗散换成收敛速率。在朗之万一侧,结构不等式是 LSI,得到 \(e^{-2t/C_{\mathrm{LSI}}}\) 与 ULA 的 \(8C_{\mathrm{LSI}}L^2dh\) 偏差地板;在扩散一侧,同一模板经 KL 望远镜处理早停、离散化与分数误差三笔账;在离散与控制两幕里再度变奏。MALA 告诉我们密度比值何时够用,扩散模型告诉我们只有数据时该走的整条路。
参考文献
- J. Lu, A Mathematical Introduction to Diffusion Models. SLMath Tukey 暑期学校讲义, 2026. arXiv:2607.01693.(本页底本)
- J. Ho, A. Jain, P. Abbeel. Denoising Diffusion Probabilistic Models. NeurIPS 2020.(DDPM)
- Y. Song, S. Sohl-Dickstein, D. Kingma, A. Kumar, S. Ermon, B. Poole. Score-Based Generative Modeling through SDEs. ICLR 2021.
- Y. Song, C. Meng, S. Ermon. Denoising Diffusion Implicit Models. ICLR 2021.(DDIM)
- S. Vempala, A. Wibisono. Rapid Convergence of the Unadjusted Langevin Algorithm: Isoperimetry Suffices. NeurIPS 2019.
- S. Chewi. Log-concave Sampling. 书稿, 2024.(朗之万/对数凹采样标准参考)
- 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/温启动高精度图像)
- D. Bakry, I. Gentil, L. Ledoux, Analysis and Geometry of Markov Diffusion Operators;C. Villani, Optimal Transport.(LSI / 传输不等式)
- W. E, T. Li, E. Vanden-Eijnden, Applied Stochastic Analysis.(SDE 与 CTMC 的随机数值分析)