作者: Chieh-Hsin Lai(索尼 AI) Yang Song(OpenAI) Dongjun Kim(斯坦福大学) Yuki Mitsufuji(索尼公司、索尼 AI) Stefano Ermon(斯坦福大学)
arXiv : 2510.21890v1 [cs.LG] 2025年10月24日
本专著聚焦于塑造扩散模型发展的原理,追溯其起源,并展示不同表述如何从共同的数学思想中产生。
扩散建模始于设定一个前向破坏过程 ,逐步将数据变为噪声。该前向过程通过定义一族连续的中间分布,将数据分布与简单的噪声分布联系起来。扩散模型的核心目标是构造另一个反向过程 ,在将噪声转化为数据的同时,恢复由前向破坏过程定义的同一组中间分布。
我们从三个互补的角度形式化这一思想:
变分视角 (受变分自编码器启发):将扩散视为逐步学习去噪,通过一系列小规模去噪目标,共同教会模型把噪声变回数据。基于分数的视角 (源于能量模型):学习演化中数据分布的梯度,该梯度指示如何将样本推向更可能的区域。基于流的视角 (与归一化流相关):将生成视为沿一条光滑路径运动,在学到的速度场下将样本从噪声运送到数据。这些视角共享一个共同骨架:一个学到的、依赖时间的速度场 ,其流将简单先验输运到数据。在此基础上,采样等价于求解一个微分方程,沿连续的生成轨迹将噪声演化为数据。本专著在此之上讨论了可控生成的引导 、高效采样的高级数值求解器 ,以及沿该轨迹在任意时刻之间学习直接映射的、由扩散启发的流映射模型 。
本专著面向具备基础深度学习背景、希望清晰、概念化且数学严谨地理解扩散模型的读者。它厘清理论基础、解释多种表述背后的推理,并为在这一快速发展的领域进一步学习与研究提供稳固的立足点;既可作研究者的原理性参考,也可作学习者的入门读物。
作者衷心感谢首尔大学及韩国高等研究院的 Dohyun Kwon 教授在本工作中付出的时间与精力。他仔细审阅了第 7 章部分内容,帮助保证陈述与证明的正确性,并参与了多次有价值的讨论,使表述更加清晰。除技术建议外,他的细致反馈与乐于分享的视角在撰写过程中给予了我们持续鼓励。我们诚挚感谢他的支持与协作精神,使最终版本更加完善。
扩散模型已迅速成为生成建模的核心范式,大量工作涵盖机器学习、计算机视觉、自然语言处理等领域。相关文献分散于不同社区,并从不同维度推进:涉及建模原理、训练目标、采样器设计及其背后数学思想的理论基础 ;涵盖工程实践与架构选择的实现进展 ;将模型适配到特定领域或任务的实际应用 ;以及提升计算、内存与部署效率的系统级优化 。
本专著旨在提供扩散模型的原理性基础 ,围绕以下主题展开:
呈现支撑扩散模型研究的核心概念与表述,使读者具备把握更广泛文献所需的核心理解。我们不做所有变体或领域应用的全面综述,而是建立一个稳固的概念基础,以便理解此类发展。 与学习从噪声到数据的直接映射的经典生成模型不同,扩散模型将生成视为随时间逐步的变换,从粗糙结构细化到精细细节。这一核心思想通过三种主要视角发展:变分 、基于分数 与基于流 的方法,为理解与实现扩散建模提供了互补的途径。我们聚焦于这些表述的核心原理与基础,追溯其关键思想的起源、厘清不同表述之间的关系,并形成将直观洞察与严格数学表述联系起来的连贯理解。 在此基础之上,我们探讨扩散模型如何进一步发展,以更高效地生成样本、对生成过程提供更强控制,并催生以扩散原理为基础的独立生成建模形式。 本专著面向对深度学习(例如神经网络是什么、训练如何工作)或更具体地说是深度生成建模有基本了解的研究者、研究生与实践者,希望超越表面了解而深入掌握扩散模型。阅读后,读者将对扩散建模的基础有原理性理解、能在统一框架下解读不同表述,并具备既有信心应用现有模型又开展新研究方向的背景。
本专著系统介绍扩散模型的基础,并追溯至其核心原理。
建议阅读路径。 建议按本书顺序阅读以建立全面理解。标为「可选」的章节可被已熟悉基础的读者跳过。例如,熟悉深度生成模型(DGM)的读者可跳过第 1 章概述;若已掌握变分自编码器(2.1 节)、能量模型(3.1 节)或归一化流(5.1 节),可跳过相应入门小节。其他可选部分提供更深入或专题性的见解,可按需查阅。
全书分为四个主要部分。
Part A 与 B:扩散模型的基础。 通过回顾塑造该领域的三种基础视角,追溯扩散模型的起源。
Part A:深度生成建模(DGM)导论。 第 1 章回顾深度生成建模的基本目标:从一组数据样本出发,目标是构建能产生看起来来自同一潜在且通常未知数据分布的新样本的模型。许多方法通过显式概率模型或隐式学习变换来学习数据分布。我们说明这类模型如何用神经网络表示数据分布、如何从样本中学习、如何生成新样本,并以主要生成框架的分类作结,突出其核心思想与关键区别。
Part B:扩散模型的核心视角。 在概述深度生成建模的一般目标与机制后,我们转向扩散模型——一类将生成实现为从噪声到数据的逐步变换 的方法。我们考察三个相互关联的框架,均以逐步加噪的前向过程 和由一系列执行逐步去噪的模型近似的反向过程 为特征:
变分视角(第 2 章) :源于变分自编码器(VAE),将扩散框定为通过变分目标学习去噪过程,产生去噪扩散概率模型(DDPM)。基于分数的视角(第 3 章) :植根于能量模型(EBM),发展为噪声条件分数网络(NCSN),学习对数数据密度的梯度(分数函数),指导如何逐步从样本中去除噪声。在连续时间下,第 4 章介绍分数 SDE 框架,将该去噪过程描述为随机微分方程(SDE)及其确定性对应——常微分方程(ODE),将扩散建模与经典微分方程理论联系起来。基于流的视角(第 5 章) :建立在归一化流之上,由流匹配(Flow Matching)推广,将生成建模为在 ODE 定义的速度场下、将样本从简单先验连续运送到数据分布的变换。第 6 章表明,这些视角虽初看不同,实则紧密相连:均采用某种条件策略将学习目标转化为可处理的回归问题;在更深层次上,它们描述的是同一概率分布随时间的演化(从先验到数据),该演化由福克–普朗克方程 支配,可视为密度在连续时间下的变量变换,保证随机与确定性表述的一致性。
第 7 章(可选)将扩散模型视为将一种分布运送到另一种分布的方法,发展其与经典最优传输及薛定谔桥(带熵正则的最优传输)的联系。
Part C 与 D:控制与加速扩散采样。 在基础统一之后,转向高效利用扩散模型的实践方面。从扩散模型采样对应于求解微分方程,但通常计算昂贵。Part C 与 D 关注通过改进采样与学习型加速技术提升生成质量、可控性与效率。
Part C:从扩散模型采样。
引导生成(第 8 章) :分类器引导与无分类器引导等技术使生成过程能够以用户定义的目标或属性为条件;进而讨论如何用偏好数据进一步对齐扩散模型。数值求解器加速(第 9 章) :采用高级数值求解器用更少步数近似反向过程,在保持质量的同时显著加速采样。Part D:学习快速生成模型。
基于蒸馏的方法(第 10 章) :训练学生模型模仿已训练慢扩散模型(教师)的行为,用极少积分步(甚至一步)复现其采样轨迹或输出分布。从零学习(第 11 章) :将扩散模型中的采样视为求解 ODE,直接学习解映射(流映射),无需教师,实现从噪声到数据或沿解轨迹的任意时刻到任意时刻的跳跃。附录。 附录 A 提供扩散模型所依赖的微分方程速成;附录 B 介绍变量变换公式、福克–普朗克方程与连续性方程等概念;附录 C 介绍伊藤公式与吉尔萨诺夫定理;附录 D 汇集正文中命题与定理的证明。
涵盖与未涵盖内容。 我们追求持久性 :从自上而下的角度,本书从单一原理出发——构造将简单先验运送到数据分布的连续时间动力学,并保证每一时刻的边际分布与从数据到噪声的给定前向过程所诱导的边际一致。由此发展出支持采样的随机与确定性流、引导轨迹的方法(引导)以及加速采样的方法(数值求解器),进而讨论扩散启发的快速生成器(蒸馏与流映射模型)。我们不 试图全面综述扩散模型文献,也不罗列架构、训练实践、超参数、方法间的经验比较、数据集与排行榜、领域或模态应用、系统级部署、大规模训练配方或硬件工程;这些主题变化快,更适合由专题综述、开源仓库与实现指南承担。
a a a 标量a \mathbf{a} a 列向量(如 a ∈ R D \mathbf{a} \in \mathbb{R}^D a ∈ R D )A A A 矩阵(如 A ∈ R m × n A \in \mathbb{R}^{m \times n} A ∈ R m × n )A ⊤ A^\top A ⊤ A A A 的转置T r ( A ) \mathrm{Tr}(A) Tr ( A ) A A A 的迹I D I_D I D D × D D\times D D × D 单位矩阵I I I 单位矩阵(维数由上下文给出)d i a g ( a ) \mathrm{diag}(\mathbf{a}) diag ( a ) 对角元为 a \mathbf{a} a 的对角矩阵ϕ , θ \phi, \theta ϕ , θ 可学习神经网络参数ϕ × , θ × \phi^\times, \theta^\times ϕ × , θ × 训练后的参数(推理时固定)ϕ ∗ , θ ∗ \phi^*, \theta^* ϕ ∗ , θ ∗ 优化问题的最优参数∂ y ∂ x \frac{\partial y}{\partial x} ∂ x ∂ y y y y 对 x x x 的偏导(按分量)d y d x \frac{dy}{dx} d x d y 或 D y ( x ) Dy(x) Dy ( x ) y y y 对 x x x 的(Fréchet)全导数∇ x y \nabla_x y ∇ x y 标量 y : R D → R y:\mathbb{R}^D\to\mathbb{R} y : R D → R 的梯度(R D \mathbb{R}^D R D 中的列向量)∂ F ∂ x \frac{\partial F}{\partial x} ∂ x ∂ F 或 ∇ x F \nabla_x F ∇ x F F : R n → R m F:\mathbb{R}^n\to\mathbb{R}^m F : R n → R m 的雅可比矩阵(形状 m × n m\times n m × n )∇ ⋅ y \nabla\cdot y ∇ ⋅ y 向量场 y : R D → R D y:\mathbb{R}^D\to\mathbb{R}^D y : R D → R D 的散度(标量)∇ x 2 f ( x ) \nabla_x^2 f(x) ∇ x 2 f ( x ) 或 H ( f ) ( x ) H(f)(x) H ( f ) ( x ) f : R D → R f:\mathbb{R}^D\to\mathbb{R} f : R D → R 的 Hessian(形状 D × D D\times D D × D )∫ f ( x ) d x \int f(x)\,dx ∫ f ( x ) d x f f f 在 x x x 定义域上的积分p ( a ) p(a) p ( a ) 连续向量 a a a 上的密度/分布p d a t a p_{\mathrm{data}} p data 数据分布p p r i o r p_{\mathrm{prior}} p prior 先验分布(如标准正态)p s r c p_{\mathrm{src}} p src 源分布p t g t p_{\mathrm{tgt}} p tgt 目标分布a ∼ p a \sim p a ∼ p 随机向量 a a a 服从分布 p p p E x ∼ p [ f ( x ) ] \mathbb{E}_{x\sim p}[f(x)] E x ∼ p [ f ( x )] f ( x ) f(x) f ( x ) 在 p ( x ) p(x) p ( x ) 下的期望E [ f ( x ) ∣ z ] \mathbb{E}[f(x)|z] E [ f ( x ) ∣ z ] 或 E x ∼ p ( ⋅ ∣ z ) [ f ( x ) ] \mathbb{E}_{x\sim p(\cdot|z)}[f(x)] E x ∼ p ( ⋅ ∣ z ) [ f ( x )] 给定 z z z 时 f ( x ) f(x) f ( x ) 的条件期望V a r ( f ( x ) ) \mathrm{Var}(f(x)) Var ( f ( x )) 在 p ( x ) p(x) p ( x ) 下的方差C o v ( f ( x ) , g ( x ) ) \mathrm{Cov}(f(x),g(x)) Cov ( f ( x ) , g ( x )) 在 p ( x ) p(x) p ( x ) 下的协方差D K L ( p ∥ q ) D_{\mathrm{KL}}(p\|q) D KL ( p ∥ q ) 从 q q q 到 p p p 的 Kullback–Leibler 散度ϵ ∼ N ( 0 , I ) \epsilon \sim \mathcal{N}(0,I) ϵ ∼ N ( 0 , I ) 标准正态样本N ( x ; μ , Σ ) \mathcal{N}(x;\mu,\Sigma) N ( x ; μ , Σ ) 均值为 μ \mu μ 、协方差为 Σ \Sigma Σ 的关于 x x x 的高斯分布约定 :随机向量与其实现值使用同一符号;在深度学习和生成建模中常见,以保持记号简洁。含义由上下文确定。例如在 p ( x ) p(x) p ( x ) 中,x x x 为哑变量,表示作为输入函数的分布或密度,故 p ( x ) p(x) p ( x ) 指函数形式而非在某个具体样本处的取值;若指在给定点处的取值,则另行说明。条件表达式 p ( x ∣ y ) p(x|y) p ( x ∣ y ) 等依上下文理解(固定 y y y 则为 x x x 的密度,固定 x x x 则为 y y y 的函数)。条件期望 E [ f ( x ) ∣ z ] \mathbb{E}[f(x)|z] E [ f ( x ) ∣ z ] 表示关于 z z z 的函数;对具体取值写作 E [ f ( x ) ∣ Z = z ] \mathbb{E}[f(x)|Z=z] E [ f ( x ) ∣ Z = z ] 或 E x ∼ p ( ⋅ ∣ z ) [ f ( x ) ] \mathbb{E}_{x\sim p(\cdot|z)}[f(x)] E x ∼ p ( ⋅ ∣ z ) [ f ( x )] 。
凡我不能创造的,我就不能理解。 ——理查德·费曼
深度生成模型(DGM)是学习高维数据(如图像、文本、音频)上概率分布的神经网络,从而能生成与数据集相似的新样本。我们用 p ϕ p_\phi p ϕ 表示模型分布,p d a t a p_{\mathrm{data}} p data 表示数据分布。给定有限数据集,通过最小化衡量 p ϕ p_\phi p ϕ 与 p d a t a p_{\mathrm{data}} p data 差距的损失来拟合 ϕ \phi ϕ 。训练后,生成即运行模型的采样过程得到 x ∼ p ϕ x \sim p_\phi x ∼ p ϕ (密度 p ϕ ( x ) p_\phi(x) p ϕ ( x ) 是否可直接计算取决于模型类型)。模型质量由生成样本及其统计量与 p d a t a p_{\mathrm{data}} p data 的匹配程度以及任务或感知指标来评判。
本章建立这些思想背后的数学与概念基础:1.1 节形式化问题,1.2 节介绍代表性模型类,1.3 节给出实用分类。
DGM 的输入是来自未知且复杂分布 p d a t a p_{\mathrm{data}} p data 的大量真实样本(如图像、文本),输出是参数化近似分布 p ϕ p_\phi p ϕ 的已训练神经网络。目标有二:
逼真生成 :生成与真实数据难以区分的新颖、逼真样本。可控生成 :对生成过程实现细粒度、可解释的控制。本节介绍 DGM 的基本概念与动机,为后续数学框架与实践应用的深入讨论做准备。
假设我们能获得从潜在复杂数据分布 p d a t a ( x ) p_{\mathrm{data}}(x) p data ( x ) 中独立同分布(i.i.d.)抽取的有限样本集。
DGM 的目标。 主要目标是从有限数据集中学习一个可处理的概率分布。这些数据点被视为从未知且复杂的真实分布 p d a t a ( x ) p_{\mathrm{data}}(x) p data ( x ) 中抽样得到;由于 p d a t a ( x ) p_{\mathrm{data}}(x) p data ( x ) 形式未知,无法直接从中采样。因此核心挑战是构建一个足够近似该分布的模型,以支持生成新的逼真样本。为此,DGM 用深度神经网络参数化模型分布 p ϕ ( x ) p_\phi(x) p ϕ ( x ) ,其中 ϕ \phi ϕ 为可训练参数。训练目标是找到最优参数 ϕ ∗ \phi^* ϕ ∗ ,使模型分布 p ϕ ( x ) p_\phi(x) p ϕ ( x ) 与真实数据分布 p d a t a ( x ) p_{\mathrm{data}}(x) p data ( x ) 之间的散度最小。概念上:
p ϕ ∗ ( x ) ≈ p d a t a ( x ) .
p_{\phi^*}(x) \approx p_{\mathrm{data}}(x).
p ϕ ∗ ( x ) ≈ p data ( x ) . 当 p ϕ ∗ ( x ) p_{\phi^*}(x) p ϕ ∗ ( x ) 充分近似 p d a t a ( x ) p_{\mathrm{data}}(x) p data ( x ) 时,可作为生成新样本和评估概率值的代理。该模型 p ϕ ( x ) p_\phi(x) p ϕ ( x ) 常被称为生成模型 。
DGM 的能力。 一旦有了数据分布的代理 p ϕ ( x ) p_\phi(x) p ϕ ( x ) ,即可通过从 p ϕ ( x ) p_\phi(x) p ϕ ( x ) 的蒙特卡洛采样等方法生成任意数量的新数据点,并可对任意给定样本 x ′ x' x ′ 计算 p ϕ ( x ′ ) p_\phi(x') p ϕ ( x ′ ) 作为其概率(或似然)。
DGM 的训练。 通过最小化散度 D ( p d a t a , p ϕ ) D(p_{\mathrm{data}}, p_\phi) D ( p data , p ϕ ) 学习模型族 { p ϕ } \{p_\phi\} { p ϕ } 的参数 ϕ \phi ϕ ,即:
ϕ ∗ ∈ arg min ϕ D ( p d a t a , p ϕ ) . (1.1.1)
\phi^* \in \arg\min_\phi D(p_{\mathrm{data}}, p_\phi). \tag{1.1.1}
ϕ ∗ ∈ arg ϕ min D ( p data , p ϕ ) . ( 1.1.1 ) 由于 p d a t a p_{\mathrm{data}} p data 未知,实用的 D D D 必须能从 p d a t a p_{\mathrm{data}} p data 的 i.i.d. 样本高效估计。在容量足够时,p ϕ ∗ p_{\phi^*} p ϕ ∗ 可充分近似 p d a t a p_{\mathrm{data}} p data 。
前向 KL 与极大似然估计(MLE)。 常用选择是(前向)Kullback–Leibler 散度:
D K L ( p d a t a ∥ p ϕ ) : = ∫ p d a t a ( x ) log p d a t a ( x ) p ϕ ( x ) d x = E x ∼ p d a t a [ log p d a t a ( x ) p ϕ ( x ) ] ,
D_{\mathrm{KL}}(p_{\mathrm{data}} \| p_\phi) := \int p_{\mathrm{data}}(x) \log \frac{p_{\mathrm{data}}(x)}{p_\phi(x)}\,dx = \mathbb{E}_{x\sim p_{\mathrm{data}}}\left[\log \frac{p_{\mathrm{data}}(x)}{p_\phi(x)}\right],
D KL ( p data ∥ p ϕ ) := ∫ p data ( x ) log p ϕ ( x ) p data ( x ) d x = E x ∼ p data [ log p ϕ ( x ) p data ( x ) ] , 它不对称,即 D K L ( p d a t a ∥ p ϕ ) ≠ D K L ( p ϕ ∥ p d a t a ) D_{\mathrm{KL}}(p_{\mathrm{data}}\|p_\phi) \neq D_{\mathrm{KL}}(p_\phi\|p_{\mathrm{data}}) D KL ( p data ∥ p ϕ ) = D KL ( p ϕ ∥ p data ) 。最小化 D K L ( p d a t a ∥ p ϕ ) D_{\mathrm{KL}}(p_{\mathrm{data}}\|p_\phi) D KL ( p data ∥ p ϕ ) 会促使模式覆盖 :若存在正测度集 A A A 满足 p d a t a ( A ) > 0 p_{\mathrm{data}}(A)>0 p data ( A ) > 0 但对 x ∈ A x\in A x ∈ A 有 p ϕ ( x ) = 0 p_\phi(x)=0 p ϕ ( x ) = 0 ,则被积函数在 A A A 上含 log ( p d a t a ( x ) / 0 ) = + ∞ \log(p_{\mathrm{data}}(x)/0)=+\infty log ( p data ( x ) /0 ) = + ∞ ,故 D K L = + ∞ D_{\mathrm{KL}}=+\infty D KL = + ∞ 。因此最小化前向 KL 会迫使模型在数据有支撑的地方都赋予概率。
尽管数据密度 p d a t a ( x ) p_{\mathrm{data}}(x) p data ( x ) 无法显式计算,前向 KL 可分解为:
D K L ( p d a t a ∥ p ϕ ) = − E x ∼ p d a t a [ log p ϕ ( x ) ] + H ( p d a t a ) ,
D_{\mathrm{KL}}(p_{\mathrm{data}} \| p_\phi) = -\mathbb{E}_{x\sim p_{\mathrm{data}}}[\log p_\phi(x)] + H(p_{\mathrm{data}}),
D KL ( p data ∥ p ϕ ) = − E x ∼ p data [ log p ϕ ( x )] + H ( p data ) , 其中 H ( p d a t a ) : = − E x ∼ p d a t a [ log p d a t a ( x ) ] H(p_{\mathrm{data}}) := -\mathbb{E}_{x\sim p_{\mathrm{data}}}[\log p_{\mathrm{data}}(x)] H ( p data ) := − E x ∼ p data [ log p data ( x )] 为数据分布的熵,与 ϕ \phi ϕ 无关。因此有:
引理 1.1.1(最小化 KL ⇔ MLE)
min ϕ D K L ( p d a t a ∥ p ϕ ) ⟺ max ϕ E x ∼ p d a t a [ log p ϕ ( x ) ] . (1.1.2)
\min_\phi D_{\mathrm{KL}}(p_{\mathrm{data}} \| p_\phi) \;\Longleftrightarrow\; \max_\phi \mathbb{E}_{x\sim p_{\mathrm{data}}}[\log p_\phi(x)]. \tag{1.1.2}
ϕ min D KL ( p data ∥ p ϕ ) ⟺ ϕ max E x ∼ p data [ log p ϕ ( x )] . ( 1.1.2 ) 实践中用来自 p d a t a p_{\mathrm{data}} p data 的 i.i.d. 样本 { x ( i ) } i = 1 N \{x^{(i)}\}_{i=1}^N { x ( i ) } i = 1 N 的蒙特卡洛估计代替总体期望,得到经验 MLE 目标:
L ^ M L E ( ϕ ) : = − 1 N ∑ i = 1 N log p ϕ ( x ( i ) ) ,
\hat{L}_{\mathrm{MLE}}(\phi) := -\frac{1}{N}\sum_{i=1}^N \log p_\phi(x^{(i)}),
L ^ MLE ( ϕ ) := − N 1 i = 1 ∑ N log p ϕ ( x ( i ) ) , 通过小批量随机梯度优化;不需要计算 p d a t a ( x ) p_{\mathrm{data}}(x) p data ( x ) 。
Fisher 散度。 Fisher 散度是(基于分数的)扩散建模中的重要概念(见第 3 章)。对两分布 p p p 与 q q q ,定义为:
D F ( p ∥ q ) : = E x ∼ p [ ∥ ∇ x log p ( x ) − ∇ x log q ( x ) ∥ 2 2 ] . (1.1.3)
D_F(p \| q) := \mathbb{E}_{x\sim p}\left[\|\nabla_x \log p(x) - \nabla_x \log q(x)\|_2^2\right]. \tag{1.1.3}
D F ( p ∥ q ) := E x ∼ p [ ∥ ∇ x log p ( x ) − ∇ x log q ( x ) ∥ 2 2 ] . ( 1.1.3 ) 它衡量分数函数 ∇ x log p ( x ) \nabla_x \log p(x) ∇ x log p ( x ) 与 ∇ x log q ( x ) \nabla_x \log q(x) ∇ x log q ( x ) (指向更高概率区域的向量场)之间的差异。简言之,D F ( p ∥ q ) ≥ 0 D_F(p\|q)\geq 0 D F ( p ∥ q ) ≥ 0 ,当且仅当 p = q p=q p = q 几乎处处成立时取等。它对归一化常数不变(分数只依赖对数密度的梯度),并构成分数匹配(见式 (3.1.3)(3.2.1))的基础:一种学习对数密度梯度以用于生成(基于分数的模型)的方法。此时数据分布 p = p d a t a p=p_{\mathrm{data}} p = p data 为目标,模型 q = p ϕ q=p_\phi q = p ϕ 被训练使其分数场与数据一致。
除 KL 之外。 尽管 KL 散度是最常用的分布差异度量,还有其他选择。不同散度对应不同的几何或统计差异概念,进而影响学习算法的优化动态。一大类是 f f f -散度(Csiszár, 1963):
D f ( p ∥ q ) = ∫ q ( x ) f ( p ( x ) q ( x ) ) d x , f ( 1 ) = 0 , (1.1.4)
D_f(p \| q) = \int q(x) f\left(\frac{p(x)}{q(x)}\right) dx,\quad f(1)=0, \tag{1.1.4}
D f ( p ∥ q ) = ∫ q ( x ) f ( q ( x ) p ( x ) ) d x , f ( 1 ) = 0 , ( 1.1.4 ) 其中 f : R + → R f:\mathbb{R}_+\to\mathbb{R} f : R + → R 为凸函数。例如:f ( u ) = u log u f(u)=u\log u f ( u ) = u log u 对应前向 KL;f ( u ) = 1 2 [ u log u − ( u + 1 ) log 1 + u 2 ] f(u)=\frac{1}{2}[u\log u - (u+1)\log\frac{1+u}{2}] f ( u ) = 2 1 [ u log u − ( u + 1 ) log 2 1 + u ] 对应 Jensen–Shannon 散度 D J S D_{\mathrm{JS}} D JS ;f ( u ) = 1 2 ∣ u − 1 ∣ f(u)=\frac{1}{2}|u-1| f ( u ) = 2 1 ∣ u − 1∣ 对应全变差 D T V D_{\mathrm{TV}} D TV 。直观上,JS 散度给出对称、平滑的度量并避免 KL 的无界惩罚(后面会看到它有助于理解 GAN);全变差则刻画两分布间可能的最大概率差。另一视角来自最优传输(第 7 章),其代表是 Wasserstein 距离:衡量将概率质量从一分布搬到另一分布的最小成本,依赖样本空间几何,在 p p p 与 q q q 支撑不交时仍有意义。
为建模复杂数据分布,可用参数为 ϕ \phi ϕ 的神经网络参数化概率密度 p d a t a p_{\mathrm{data}} p data ,得到模型 p ϕ p_\phi p ϕ 。要使 p ϕ p_\phi p ϕ 为合法概率密度,需满足:(i) 非负性 p ϕ ( x ) ≥ 0 p_\phi(x)\geq 0 p ϕ ( x ) ≥ 0 ;(ii) 归一化 ∫ p ϕ ( x ) d x = 1 \int p_\phi(x)\,dx=1 ∫ p ϕ ( x ) d x = 1 。网络可对输入 x x x 输出实标量 E ϕ ( x ) ∈ R E_\phi(x)\in\mathbb{R} E ϕ ( x ) ∈ R 。要将其解释为密度,需经变换满足 (i)(ii)。一种做法是视 E ϕ : R D → R E_\phi:\mathbb{R}^D\to\mathbb{R} E ϕ : R D → R 定义未归一化密度,再显式施加这两条性质。
第一步:保证非负。 对网络输出施加正函数(如指数)得到 p ~ ϕ ( x ) = exp ( E ϕ ( x ) ) \tilde{p}_\phi(x)=\exp(E_\phi(x)) p ~ ϕ ( x ) = exp ( E ϕ ( x )) 。第二步:归一化。 除以全空间积分得到 p ϕ ( x ) = p ~ ϕ ( x ) / Z ( ϕ ) p_\phi(x)=\tilde{p}_\phi(x)/Z(\phi) p ϕ ( x ) = p ~ ϕ ( x ) / Z ( ϕ ) ,其中 Z ( ϕ ) : = ∫ exp ( E ϕ ( x ′ ) ) d x ′ Z(\phi):=\int \exp(E_\phi(x'))\,dx' Z ( ϕ ) := ∫ exp ( E ϕ ( x ′ )) d x ′ 为归一化常数(配分函数)。对多数高维问题,计算 Z ( ϕ ) Z(\phi) Z ( ϕ ) 的积分是难解的,这一难解性是推动多种深度生成模型发展的核心问题。下面介绍几种主流 DGM,它们各自以不同方式规避或降低计算归一化常数的成本。
生成建模的核心挑战是学习能捕捉高维数据丰富结构的表达概率模型。不同建模策略在可处理性、表达力与训练效率之间做出不同权衡。
能量模型(EBM)。 EBM 通过能量函数 E ϕ ( x ) E_\phi(x) E ϕ ( x ) 定义分布:p ϕ ( x ) : = 1 Z ( ϕ ) exp ( − E ϕ ( x ) ) p_\phi(x) := \frac{1}{Z(\phi)}\exp(-E_\phi(x)) p ϕ ( x ) := Z ( ϕ ) 1 exp ( − E ϕ ( x )) ,Z ( ϕ ) = ∫ exp ( − E ϕ ( x ) ) d x Z(\phi)=\int \exp(-E_\phi(x))\,dx Z ( ϕ ) = ∫ exp ( − E ϕ ( x )) d x 。训练通常最大化数据对数似然,但需处理配分函数难解带来的计算问题。后续章节将看到,扩散模型通过从对数密度的梯度生成数据,不依赖归一化常数,从而绕过配分函数计算。
自回归模型(AR)。 深度自回归模型用概率链式法则将联合分布分解为条件概率的乘积:p d a t a ( x ) = ∏ i = 1 D p ϕ ( x i ∣ x < i ) p_{\mathrm{data}}(x)=\prod_{i=1}^D p_\phi(x_i|x_{<i}) p data ( x ) = ∏ i = 1 D p ϕ ( x i ∣ x < i ) 。每个条件 p ϕ ( x i ∣ x < i ) p_\phi(x_i|x_{<i}) p ϕ ( x i ∣ x < i ) 由神经网络(如 Transformer)参数化;每项本身已归一化,故全局归一化平凡。训练通过最大化精确似然(或等价地最小化负对数似然)进行。AR 具有强密度估计与精确似然,但顺序结构限制采样速度与顺序灵活性。
变分自编码器(VAE)。 VAE 引入潜变量 z z z 捕捉数据 x x x 的隐藏结构,学习编码器 q θ ( z ∣ x ) q_\theta(z|x) q θ ( z ∣ x ) 与解码器 p ϕ ( x ∣ z ) p_\phi(x|z) p ϕ ( x ∣ z ) ,并最大化对数似然的可处理下界——证据下界(ELBO):L E L B O = E q θ ( z ∣ x ) [ log p ϕ ( x ∣ z ) ] − D K L ( q θ ( z ∣ x ) ∥ p p r i o r ( z ) ) L_{\mathrm{ELBO}} = \mathbb{E}_{q_\theta(z|x)}[\log p_\phi(x|z)] - D_{\mathrm{KL}}(q_\theta(z|x)\|p_{\mathrm{prior}}(z)) L ELBO = E q θ ( z ∣ x ) [ log p ϕ ( x ∣ z )] − D KL ( q θ ( z ∣ x ) ∥ p prior ( z )) 。第一项促进重建,第二项使潜变量接近简单先验。VAE 为结合神经网络与潜变量模型提供了原理性方法,但也存在样本模糊、编码器忽略潜变量等训练问题,并为后来的扩散模型奠定了基础。
归一化流(NF)。 经典流模型(如 NF、神经 ODE)旨在通过可逆映射 f ϕ f_\phi f ϕ 在简单潜分布 z z z 与复杂数据分布 x x x 之间建立双射,并利用密度的变量变换公式 实现 MLE:log p ϕ ( x ) = log p ( z ) + log ∣ det ∂ f ϕ − 1 ( x ) ∂ x ∣ \log p_\phi(x)=\log p(z)+\log\left|\det\frac{\partial f_\phi^{-1}(x)}{\partial x}\right| log p ϕ ( x ) = log p ( z ) + log det ∂ x ∂ f ϕ − 1 ( x ) 。NF 通过可逆变换与可处理雅可比行列式显式建模归一化密度。但 NF 常需苛刻的架构以保证双射,神经 ODE 则可能因求解 ODE 的开销而训练低效。
生成对抗网络(GAN)。 GAN 由生成器 G ϕ G_\phi G ϕ 与判别器 D ζ D_\zeta D ζ 对抗。目标为 min G ϕ max D ζ E x ∼ p d a t a [ log D ζ ( x ) ] + E z ∼ p p r i o r [ log ( 1 − D ζ ( G ϕ ( z ) ) ) ] \min_{G_\phi}\max_{D_\zeta} \mathbb{E}_{x\sim p_{\mathrm{data}}}[\log D_\zeta(x)] + \mathbb{E}_{z\sim p_{\mathrm{prior}}}[\log(1-D_\zeta(G_\phi(z)))] min G ϕ max D ζ E x ∼ p data [ log D ζ ( x )] + E z ∼ p prior [ log ( 1 − D ζ ( G ϕ ( z )))] 。GAN 不定义显式密度,完全绕过似然估计。在散度视角下,最优判别器下生成器最小化的是 2 D J S ( p d a t a ∥ p G ϕ ) − log 4 2D_{\mathrm{JS}}(p_{\mathrm{data}}\|p_{G_\phi})-\log 4 2 D JS ( p data ∥ p G ϕ ) − log 4 。GAN 训练以不稳定著称,但后来作为辅助组件被用于增强扩散模型等。
DGM 的建模策略范围很广。一个基本区分在于模型如何参数化数据分布——是显式 还是隐式 指定 p ϕ ( x ) p_\phi(x) p ϕ ( x ) ,与训练目标无关。
显式模型 :通过可处理或近似可处理的密度/质量函数直接参数化 p ϕ ( x ) p_\phi(x) p ϕ ( x ) ,如 AR、NF、VAE、DM(或可处理界)。隐式模型 :仅通过采样过程指定分布,通常为 x = G ϕ ( z ) x=G_\phi(z) x = G ϕ ( z ) ,z ∼ p p r i o r z\sim p_{\mathrm{prior}} z ∼ p prior ,此时 p ϕ ( x ) p_\phi(x) p ϕ ( x ) 无闭式甚至未定义。显式 隐式 精确似然 / 近似似然(可处理界) 不直接建模 / 难解 目标:MLE / ELBO 对抗 例子:NF、AR / VAE、DM GAN
与扩散模型的联系。 这些经典 DGM 族展示了建模复杂分布的互补策略,也为理解扩散模型提供了指导。扩散方法从多种视角继承思想:通过变分训练目标与 VAE 相连,通过学习对数密度梯度(与能量函数紧密相关)的分数匹配与 EBM 相连,通过连续时间变换与 NF 相连。为后续扩散方法打基础,我们将重点放在三个核心范式:VAE(2.1 节)、EBM(3.1 节)、NF(5.1 节)。
本章建立了深度生成建模的基础概念:目标是学习可处理的模型分布 p ϕ p_\phi p ϕ 以近似未知的复杂数据分布 p d a t a p_{\mathrm{data}} p data ;核心难点是归一化常数 Z ( ϕ ) Z(\phi) Z ( ϕ ) 的计算难解。为规避此问题,发展了多种 DGM(EBM、AR、VAE、NF、GAN),可分为显式(定义可处理密度)与隐式(仅通过采样定义分布)。其中 VAEs、EBMs 与 NFs 是本书关注的扩散模型的三个概念起源:Part B 将从变分视角(第 2 章,VAE → DDPM)、基于分数的视角(第 3–4 章,EBM → NCSN → Score SDE)、基于流的视角(第 5 章,NF → Flow Matching)追溯扩散模型的演化,并在第 6 章统一这些表述。
本章从变分视角看待扩散模型。我们从变分自编码器(VAE)出发:用潜变量表示数据,通过最大化对数似然的可处理下界(ELBO)训练;编码器将观测映射到潜变量,解码器将潜变量映射回观测。在此基础上,层次化 VAE(HVAE)堆叠多层潜变量以捕捉多尺度结构。去噪扩散概率模型(DDPM)沿用同一模板:编码器固定为将数据逐步变为噪声的前向加噪过程 ,训练只学习在逐步去噪中反转这条路径的解码器 。因此,VAE、层次 VAE 与扩散模型都在由变分界定义的似然代理上优化,为本章方法提供了共同基础。
编解码的概率构造。 VAE 区分观测变量 x x x 与潜变量 z z z ,假设每个观测 x x x 由从简单先验 z ∼ p p r i o r : = N ( 0 , I ) z\sim p_{\mathrm{prior}}:=\mathcal{N}(0,I) z ∼ p prior := N ( 0 , I ) 采样的 z z z 生成,并定义解码器分布 p ϕ ( x ∣ z ) p_\phi(x|z) p ϕ ( x ∣ z ) 将 z z z 映射回数据。边际似然为 p ϕ ( x ) = ∫ p ϕ ( x ∣ z ) p ( z ) d z p_\phi(x)=\int p_\phi(x|z)p(z)\,dz p ϕ ( x ) = ∫ p ϕ ( x ∣ z ) p ( z ) d z 。对表达力强的非线性解码器,对 z z z 的积分难解,故直接 MLE 不可行。给定观测 x x x ,后验 p ϕ ( z ∣ x ) = p ϕ ( x ∣ z ) p ( z ) / p ϕ ( x ) p_\phi(z|x)=p_\phi(x|z)p(z)/p_\phi(x) p ϕ ( z ∣ x ) = p ϕ ( x ∣ z ) p ( z ) / p ϕ ( x ) 的分母含 p ϕ ( x ) p_\phi(x) p ϕ ( x ) ,同样难解。VAE 的「变分」做法是用可学习的编码器 q θ ( z ∣ x ) q_\theta(z|x) q θ ( z ∣ x ) 作为后验的可处理近似:q θ ( z ∣ x ) ≈ p ϕ ( z ∣ x ) q_\theta(z|x)\approx p_\phi(z|x) q θ ( z ∣ x ) ≈ p ϕ ( z ∣ x ) 。
ELBO 训练。 对任意 x x x ,有 log p ϕ ( x ) ≥ L E L B O ( θ , ϕ ; x ) \log p_\phi(x) \geq L_{\mathrm{ELBO}}(\theta,\phi;x) log p ϕ ( x ) ≥ L ELBO ( θ , ϕ ; x ) ,其中:
L E L B O = E z ∼ q θ ( z ∣ x ) [ log p ϕ ( x ∣ z ) ] ⏟ 重建项 − D K L ( q θ ( z ∣ x ) ∥ p ( z ) ) ⏟ 潜变量正则 .
L_{\mathrm{ELBO}} = \underbrace{\mathbb{E}_{z\sim q_\theta(z|x)}[\log p_\phi(x|z)]}_{\text{重建项}} - \underbrace{D_{\mathrm{KL}}(q_\theta(z|x)\|p(z))}_{\text{潜变量正则}}.
L ELBO = 重建项 E z ∼ q θ ( z ∣ x ) [ log p ϕ ( x ∣ z )] − 潜变量正则 D KL ( q θ ( z ∣ x ) ∥ p ( z )) . 重建项鼓励从 z z z 准确恢复 x x x ;KL 项使 q θ ( z ∣ x ) q_\theta(z|x) q θ ( z ∣ x ) 接近先验 p ( z ) p(z) p ( z ) ,使潜空间光滑、便于从先验采样后解码。信息论上,log p ϕ ( x ) − L E L B O = D K L ( q θ ( z ∣ x ) ∥ p ϕ ( z ∣ x ) ) \log p_\phi(x)-L_{\mathrm{ELBO}}=D_{\mathrm{KL}}(q_\theta(z|x)\|p_\phi(z|x)) log p ϕ ( x ) − L ELBO = D KL ( q θ ( z ∣ x ) ∥ p ϕ ( z ∣ x )) ,即推理误差;最大化 ELBO 即减小该误差。
高斯 VAE。 常用设定为编码器 q θ ( z ∣ x ) = N ( z ; μ θ ( x ) , d i a g ( σ θ 2 ( x ) ) ) q_\theta(z|x)=\mathcal{N}(z;\mu_\theta(x),\mathrm{diag}(\sigma_\theta^2(x))) q θ ( z ∣ x ) = N ( z ; μ θ ( x ) , diag ( σ θ 2 ( x ))) ,解码器 p ϕ ( x ∣ z ) = N ( x ; μ ϕ ( z ) , σ 2 I ) p_\phi(x|z)=\mathcal{N}(x;\mu_\phi(z),\sigma^2 I) p ϕ ( x ∣ z ) = N ( x ; μ ϕ ( z ) , σ 2 I ) 。此时 ELBO 中的重建项化为 E q θ ( z ∣ x ) [ log p ϕ ( x ∣ z ) ] = − 1 2 σ 2 E q θ ( z ∣ x ) [ ∥ x − μ ϕ ( z ) ∥ 2 ] + C \mathbb{E}_{q_\theta(z|x)}[\log p_\phi(x|z)] = -\frac{1}{2\sigma^2}\mathbb{E}_{q_\theta(z|x)}[\|x-\mu_\phi(z)\|^2]+C E q θ ( z ∣ x ) [ log p ϕ ( x ∣ z )] = − 2 σ 2 1 E q θ ( z ∣ x ) [ ∥ x − μ ϕ ( z ) ∥ 2 ] + C ,KL 项因高斯假设有闭式,训练等价于最小化带正则的重建损失。
标准 VAE 的缺陷。 典型问题是生成模糊。在固定高斯编码器下,优化 ELBO 等价于最小化 E [ ∥ x − μ ( z ) ∥ 2 ] \mathbb{E}[\|x-\mu(z)\|^2] E [ ∥ x − μ ( z ) ∥ 2 ] ,最优解码器为 μ ∗ ( z ) = E q e n c ( x ∣ z ) [ x ] \mu^*(z)=\mathbb{E}_{q_{\mathrm{enc}}(x|z)}[x] μ ∗ ( z ) = E q enc ( x ∣ z ) [ x ] 。当不同 x ≠ x ′ x\neq x' x = x ′ 被映射到潜空间重叠区域时,μ ∗ ( z ) \mu^*(z) μ ∗ ( z ) 会对多个不同输入取平均,导致模糊。
(可选)从标准 VAE 到层次 VAE。 层次 VAE(HVAE)引入多层潜变量 z 1 , … , z L z_1,\ldots,z_L z 1 , … , z L ,联合分布为 p ϕ ( x , z 1 : L ) = p ϕ ( x ∣ z 1 ) ∏ i = 2 L p ϕ ( z i − 1 ∣ z i ) p ( z L ) p_\phi(x,z_{1:L})=p_\phi(x|z_1)\prod_{i=2}^L p_\phi(z_{i-1}|z_i)p(z_L) p ϕ ( x , z 1 : L ) = p ϕ ( x ∣ z 1 ) ∏ i = 2 L p ϕ ( z i − 1 ∣ z i ) p ( z L ) ,编码器采用自底向上的马尔可夫分解 q θ ( z 1 : L ∣ x ) = q θ ( z 1 ∣ x ) ∏ i = 2 L q θ ( z i ∣ z i − 1 ) q_\theta(z_{1:L}|x)=q_\theta(z_1|x)\prod_{i=2}^L q_\theta(z_i|z_{i-1}) q θ ( z 1 : L ∣ x ) = q θ ( z 1 ∣ x ) ∏ i = 2 L q θ ( z i ∣ z i − 1 ) 。层次 ELBO 包含重建项与各层生成条件与变分近似之间的 KL。堆叠层次使模型能由粗到细逐步生成,更易捕捉高维数据的复杂结构。单纯加深平坦 VAE 的网络无法解决两方面的根本限制:变分族仍为单峰高斯,无法匹配多峰后验;解码器过强时易出现后验坍塌(q θ ( z ∣ x ) → p ( z ) q_\theta(z|x)\to p(z) q θ ( z ∣ x ) → p ( z ) ,z z z 与 x x x 无关)。层次化通过在各层对齐推理与生成条件、分散信息惩罚与局部化学习信号来改善。扩散模型继承 HVAE 的渐进结构,但固定编码器 、只学习生成反转,从而获得更好的稳定性与生成质量。
去噪扩散概率模型(DDPM)是扩散建模的基石,同样在变分框架下运作,但做了关键改进:
前向过程(固定编码器) :通过转移核 p ( x i ∣ x i − 1 ) p(x_i|x_{i-1}) p ( x i ∣ x i − 1 ) 在多步中逐步注入高斯噪声,将数据腐蚀为各向同性高斯(纯噪声);编码器固定、不学习。反向去噪过程(可学习解码器) :神经网络学习参数化分布 p ϕ ( x i − 1 ∣ x i ) p_\phi(x_{i-1}|x_i) p ϕ ( x i − 1 ∣ x i ) 逐步去噪,从纯噪声出发迭代去噪生成逼真样本。每一步去噪是比一步从零生成更易处理的任务。通过固定编码器并将学习集中在渐进生成轨迹上,DDPM 取得了很好的稳定性与表达力。
前向过程(固定编码器)。 前向为固定的高斯转移核:
p ( x i ∣ x i − 1 ) : = N ( x i ; 1 − β i 2 x i − 1 , β i 2 I ) ,
p(x_i|x_{i-1}) := \mathcal{N}(x_i; \sqrt{1-\beta_i^2}\,x_{i-1}, \beta_i^2 I),
p ( x i ∣ x i − 1 ) := N ( x i ; 1 − β i 2 x i − 1 , β i 2 I ) , 即 x i = α i x i − 1 + β i ϵ i x_i = \alpha_i x_{i-1} + \beta_i \epsilon_i x i = α i x i − 1 + β i ϵ i ,α i = 1 − β i 2 \alpha_i=\sqrt{1-\beta_i^2} α i = 1 − β i 2 ,ϵ i ∼ N ( 0 , I ) \epsilon_i\sim\mathcal{N}(0,I) ϵ i ∼ N ( 0 , I ) 。{ β i } i = 1 L \{\beta_i\}_{i=1}^L { β i } i = 1 L 为预设的单调递增噪声调度。由递推可得给定 x 0 x_0 x 0 时 x i x_i x i 的分布:
p i ( x i ∣ x 0 ) = N ( x i ; α ˉ i x 0 , ( 1 − α ˉ i 2 ) I ) , α ˉ i = ∏ k = 1 i α k ,
p_i(x_i|x_0) = \mathcal{N}(x_i; \bar{\alpha}_i x_0, (1-\bar{\alpha}_i^2)I),\quad \bar{\alpha}_i = \prod_{k=1}^i \alpha_k,
p i ( x i ∣ x 0 ) = N ( x i ; α ˉ i x 0 , ( 1 − α ˉ i 2 ) I ) , α ˉ i = k = 1 ∏ i α k , 因此可直接从 x 0 x_0 x 0 采样 x i x_i x i :x i = α ˉ i x 0 + 1 − α ˉ i 2 ϵ x_i = \bar{\alpha}_i x_0 + \sqrt{1-\bar{\alpha}_i^2}\,\epsilon x i = α ˉ i x 0 + 1 − α ˉ i 2 ϵ ,ϵ ∼ N ( 0 , I ) \epsilon\sim\mathcal{N}(0,I) ϵ ∼ N ( 0 , I ) 。
反向去噪过程(可学习解码器)。 核心问题是:能否精确计算或有效近似反向转移核 p ( x i − 1 ∣ x i ) p(x_{i-1}|x_i) p ( x i − 1 ∣ x i ) ?我们引入可学习模型 p ϕ ( x i − 1 ∣ x i ) p_\phi(x_{i-1}|x_i) p ϕ ( x i − 1 ∣ x i ) ,目标是最小化 E p i ( x i ) [ D K L ( p ( x i − 1 ∣ x i ) ∥ p ϕ ( x i − 1 ∣ x i ) ) ] \mathbb{E}_{p_i(x_i)}[D_{\mathrm{KL}}(p(x_{i-1}|x_i)\|p_\phi(x_{i-1}|x_i))] E p i ( x i ) [ D KL ( p ( x i − 1 ∣ x i ) ∥ p ϕ ( x i − 1 ∣ x i ))] 。直接计算 p ( x i − 1 ∣ x i ) p(x_{i-1}|x_i) p ( x i − 1 ∣ x i ) 需贝叶斯公式中的边际 p i ( x i ) p_i(x_i) p i ( x i ) 、p i − 1 ( x i − 1 ) p_{i-1}(x_{i-1}) p i − 1 ( x i − 1 ) ,它们依赖未知的 p d a t a p_{\mathrm{data}} p data ,故难解。
通过条件化克服难解性。 DDPM 的关键思路是:对干净数据样本 x 0 x_0 x 0 做条件化,将难解核变为可处理的:
p ( x i − 1 ∣ x i , x 0 ) = p ( x i ∣ x i − 1 ) p ( x i − 1 ∣ x 0 ) p ( x i ∣ x 0 ) .
p(x_{i-1}|x_i, x_0) = \frac{p(x_i|x_{i-1})\,p(x_{i-1}|x_0)}{p(x_i|x_0)}.
p ( x i − 1 ∣ x i , x 0 ) = p ( x i ∣ x 0 ) p ( x i ∣ x i − 1 ) p ( x i − 1 ∣ x 0 ) . 由前向的马尔可夫性与高斯性,p ( x i − 1 ∣ x i , x 0 ) p(x_{i-1}|x_i,x_0) p ( x i − 1 ∣ x i , x 0 ) 为高斯且有闭式(见下文引理 2.2.2)。定理 2.2.1 表明:最小化边际 KL 与最小化该条件 KL 在 ϕ \phi ϕ 上等价(差一与 ϕ \phi ϕ 无关的常数),且最优 p ∗ ( x i − 1 ∣ x i ) = p ( x i − 1 ∣ x i ) p^*(x_{i-1}|x_i)=p(x_{i-1}|x_i) p ∗ ( x i − 1 ∣ x i ) = p ( x i − 1 ∣ x i ) 。
引理 2.2.2(反向条件转移核)。 p ( x i − 1 ∣ x i , x 0 ) p(x_{i-1}|x_i,x_0) p ( x i − 1 ∣ x i , x 0 ) 为高斯:
p ( x i − 1 ∣ x i , x 0 ) = N ( x i − 1 ; μ ( x i , x 0 , i ) , σ 2 ( i ) I ) ,
p(x_{i-1}|x_i,x_0) = \mathcal{N}(x_{i-1}; \mu(x_i,x_0,i), \sigma^2(i)I),
p ( x i − 1 ∣ x i , x 0 ) = N ( x i − 1 ; μ ( x i , x 0 , i ) , σ 2 ( i ) I ) , 其中 μ ( x i , x 0 , i ) : = α ˉ i − 1 β i 2 1 − α ˉ i 2 x 0 + ( 1 − α ˉ i − 1 2 ) α i 1 − α ˉ i 2 x i \mu(x_i,x_0,i) := \frac{\bar{\alpha}_{i-1}\beta_i^2}{1-\bar{\alpha}_i^2}x_0 + \frac{(1-\bar{\alpha}_{i-1}^2)\alpha_i}{1-\bar{\alpha}_i^2}x_i μ ( x i , x 0 , i ) := 1 − α ˉ i 2 α ˉ i − 1 β i 2 x 0 + 1 − α ˉ i 2 ( 1 − α ˉ i − 1 2 ) α i x i ,σ 2 ( i ) : = 1 − α ˉ i − 1 2 1 − α ˉ i 2 β i 2 \sigma^2(i) := \frac{1-\bar{\alpha}_{i-1}^2}{1-\bar{\alpha}_i^2}\beta_i^2 σ 2 ( i ) := 1 − α ˉ i 2 1 − α ˉ i − 1 2 β i 2 。
反向核的建模与损失。 DDPM 设 p ϕ ( x i − 1 ∣ x i ) : = N ( x i − 1 ; μ ϕ ( x i , i ) , σ 2 ( i ) I ) p_\phi(x_{i-1}|x_i) := \mathcal{N}(x_{i-1}; \mu_\phi(x_i,i), \sigma^2(i)I) p ϕ ( x i − 1 ∣ x i ) := N ( x i − 1 ; μ ϕ ( x i , i ) , σ 2 ( i ) I ) ,扩散损失为:
L d i f f u s i o n ( x 0 ; ϕ ) : = ∑ i = 1 L E p ( x i ∣ x 0 ) [ D K L ( p ( x i − 1 ∣ x i , x 0 ) ∥ p ϕ ( x i − 1 ∣ x i ) ) ] .
\mathcal{L}_{\mathrm{diffusion}}(x_0;\phi) := \sum_{i=1}^L \mathbb{E}_{p(x_i|x_0)}\bigl[D_{\mathrm{KL}}(p(x_{i-1}|x_i,x_0)\|p_\phi(x_{i-1}|x_i))\bigr].
L diffusion ( x 0 ; ϕ ) := i = 1 ∑ L E p ( x i ∣ x 0 ) [ D KL ( p ( x i − 1 ∣ x i , x 0 ) ∥ p ϕ ( x i − 1 ∣ x i )) ] . 因两者均为高斯且方差固定,可简化为 L d i f f u s i o n = ∑ i 1 2 σ 2 ( i ) ∥ μ ϕ ( x i , i ) − μ ( x i , x 0 , i ) ∥ 2 2 + C \mathcal{L}_{\mathrm{diffusion}} = \sum_i \frac{1}{2\sigma^2(i)}\|\mu_\phi(x_i,i)-\mu(x_i,x_0,i)\|_2^2 + C L diffusion = ∑ i 2 σ 2 ( i ) 1 ∥ μ ϕ ( x i , i ) − μ ( x i , x 0 , i ) ∥ 2 2 + C 。对数据求平均并略去常数得 DDPM 训练目标 L D D P M ( ϕ ) \mathcal{L}_{\mathrm{DDPM}}(\phi) L DDPM ( ϕ ) 。
ε-预测与简化损失。 前向有 x i = α ˉ i x 0 + 1 − α ˉ i 2 ϵ x_i = \bar{\alpha}_i x_0 + \sqrt{1-\bar{\alpha}_i^2}\,\epsilon x i = α ˉ i x 0 + 1 − α ˉ i 2 ϵ 。将真实均值 μ ( x i , x 0 , i ) \mu(x_i,x_0,i) μ ( x i , x 0 , i ) 用 ϵ \epsilon ϵ 表示后,可改用网络 ϵ ϕ ( x i , i ) \epsilon_\phi(x_i,i) ϵ ϕ ( x i , i ) 直接预测噪声,即:
μ ϕ ( x i , i ) = 1 α i ( x i − 1 − α i 2 1 − α ˉ i 2 ϵ ϕ ( x i , i ) ) ,
\mu_\phi(x_i,i) = \frac{1}{\alpha_i}\left(x_i - \frac{\sqrt{1-\alpha_i^2}}{\sqrt{1-\bar{\alpha}_i^2}}\epsilon_\phi(x_i,i)\right),
μ ϕ ( x i , i ) = α i 1 ( x i − 1 − α ˉ i 2 1 − α i 2 ϵ ϕ ( x i , i ) ) , 则 ∥ μ ϕ − μ ∥ 2 ∝ ∥ ϵ ϕ − ϵ ∥ 2 \|\mu_\phi-\mu\|^2 \propto \|\epsilon_\phi-\epsilon\|^2 ∥ μ ϕ − μ ∥ 2 ∝ ∥ ϵ ϕ − ϵ ∥ 2 。实践中常去掉权重,得到广泛使用的简化损失 :
L s i m p l e ( ϕ ) : = E i E x ∼ p d a t a , ϵ ∼ N ( 0 , I ) [ ∥ ϵ ϕ ( x i , i ) − ϵ ∥ 2 2 ] ,
\mathcal{L}_{\mathrm{simple}}(\phi) := \mathbb{E}_i \mathbb{E}_{x\sim p_{\mathrm{data}},\epsilon\sim\mathcal{N}(0,I)}\bigl[\|\epsilon_\phi(x_i,i)-\epsilon\|_2^2\bigr],
L simple ( ϕ ) := E i E x ∼ p data , ϵ ∼ N ( 0 , I ) [ ∥ ϵ ϕ ( x i , i ) − ϵ ∥ 2 2 ] , 其中 x i = α ˉ i x 0 + 1 − α ˉ i 2 ϵ x_i = \bar{\alpha}_i x_0 + \sqrt{1-\bar{\alpha}_i^2}\,\epsilon x i = α ˉ i x 0 + 1 − α ˉ i 2 ϵ 。L D D P M \mathcal{L}_{\mathrm{DDPM}} L DDPM 与 L s i m p l e \mathcal{L}_{\mathrm{simple}} L simple 具有相同的最优解:ϵ ∗ ( x i , i ) = E [ ϵ ∣ x i ] \epsilon^*(x_i,i)=\mathbb{E}[\epsilon|x_i] ϵ ∗ ( x i , i ) = E [ ϵ ∣ x i ] 。x-预测 是另一种等价参数化:网络 x ϕ ( x i , i ) x_\phi(x_i,i) x ϕ ( x i , i ) 预测干净样本 x 0 x_0 x 0 ,最优解为 x ∗ ( x i , i ) = E [ x 0 ∣ x i ] x^*(x_i,i)=\mathbb{E}[x_0|x_i] x ∗ ( x i , i ) = E [ x 0 ∣ x i ] ;与 ε-预测通过前向关系 x i = α ˉ i x ϕ + 1 − α ˉ i 2 ϵ ϕ x_i = \bar{\alpha}_i x_\phi + \sqrt{1-\bar{\alpha}_i^2}\,\epsilon_\phi x i = α ˉ i x ϕ + 1 − α ˉ i 2 ϵ ϕ 相联系。
DDPM 的 ELBO。 生成联合分布为 p ϕ ( x 0 , x 1 : L ) : = p ϕ ( x 0 ∣ x 1 ) ⋯ p ϕ ( x L − 1 ∣ x L ) p p r i o r ( x L ) p_\phi(x_0,x_{1:L}) := p_\phi(x_0|x_1)\cdots p_\phi(x_{L-1}|x_L)p_{\mathrm{prior}}(x_L) p ϕ ( x 0 , x 1 : L ) := p ϕ ( x 0 ∣ x 1 ) ⋯ p ϕ ( x L − 1 ∣ x L ) p prior ( x L ) ,数据边际为 p ϕ ( x 0 ) = ∫ p ϕ ( x 0 , x 1 : L ) d x 1 : L p_\phi(x_0)=\int p_\phi(x_0,x_{1:L})\,dx_{1:L} p ϕ ( x 0 ) = ∫ p ϕ ( x 0 , x 1 : L ) d x 1 : L 。定理 2.2.3 :− log p ϕ ( x 0 ) ≤ − L E L B O ( x 0 ; ϕ ) : = L p r i o r + L r e c o n . + L d i f f u s i o n -\log p_\phi(x_0) \leq -L_{\mathrm{ELBO}}(x_0;\phi) := L_{\mathrm{prior}} + L_{\mathrm{recon.}} + \mathcal{L}_{\mathrm{diffusion}} − log p ϕ ( x 0 ) ≤ − L ELBO ( x 0 ; ϕ ) := L prior + L recon. + L diffusion 。其中 L p r i o r = D K L ( p ( x L ∣ x 0 ) ∥ p p r i o r ) L_{\mathrm{prior}}=D_{\mathrm{KL}}(p(x_L|x_0)\|p_{\mathrm{prior}}) L prior = D KL ( p ( x L ∣ x 0 ) ∥ p prior ) ,可通过噪声调度使其近似为 0;L r e c o n . L_{\mathrm{recon.}} L recon. 可用蒙特卡洛估计;L d i f f u s i o n \mathcal{L}_{\mathrm{diffusion}} L diffusion 即各步条件匹配。从数据处理不等式角度,D K L ( p d a t a ( x 0 ) ∥ p ϕ ( x 0 ) ) ≤ D K L ( p ( x 0 , x 1 : L ) ∥ p ϕ ( x 0 , x 1 : L ) ) D_{\mathrm{KL}}(p_{\mathrm{data}}(x_0)\|p_\phi(x_0)) \leq D_{\mathrm{KL}}(p(x_0,x_{1:L})\|p_\phi(x_0,x_{1:L})) D KL ( p data ( x 0 ) ∥ p ϕ ( x 0 )) ≤ D KL ( p ( x 0 , x 1 : L ) ∥ p ϕ ( x 0 , x 1 : L )) 。扩散的变分视角符合 HVAE 模板:编码器为固定前向加噪链,潜变量 x 1 : T x_{1:T} x 1 : T 与数据同维,无逐层 KL,目标分解为从大到小噪声(由粗到细)的良态去噪子问题。
采样。 训练得到 ϵ ϕ × ( x i , i ) \epsilon_{\phi^\times}(x_i,i) ϵ ϕ × ( x i , i ) 后,从 x L ∼ p p r i o r = N ( 0 , I ) x_L\sim p_{\mathrm{prior}}=\mathcal{N}(0,I) x L ∼ p prior = N ( 0 , I ) 出发,对 i = L , … , 1 i=L,\ldots,1 i = L , … , 1 按:
x i − 1 ← 1 α i ( x i − 1 − α i 2 1 − α ˉ i 2 ϵ ϕ × ( x i , i ) ) + σ ( i ) ϵ i , ϵ i ∼ N ( 0 , I ) ,
x_{i-1} \leftarrow \frac{1}{\alpha_i}\left(x_i - \frac{\sqrt{1-\alpha_i^2}}{\sqrt{1-\bar{\alpha}_i^2}}\epsilon_{\phi^\times}(x_i,i)\right) + \sigma(i)\epsilon_i,\quad \epsilon_i\sim\mathcal{N}(0,I),
x i − 1 ← α i 1 ( x i − 1 − α ˉ i 2 1 − α i 2 ϵ ϕ × ( x i , i ) ) + σ ( i ) ϵ i , ϵ i ∼ N ( 0 , I ) , 递归采样直至得到 x 0 x_0 x 0 。等价地可先得到干净预测 x ϕ × ( x i , i ) = ( x i − 1 − α ˉ i 2 ϵ ϕ × ) / α ˉ i x_{\phi^\times}(x_i,i) = (x_i - \sqrt{1-\bar{\alpha}_i^2}\,\epsilon_{\phi^\times})/\bar{\alpha}_i x ϕ × ( x i , i ) = ( x i − 1 − α ˉ i 2 ϵ ϕ × ) / α ˉ i ,再在干净预测与 x i x_i x i 之间插值并加噪声。即使 x ϕ × x_{\phi^\times} x ϕ × 为最优去噪器(条件期望),也只能预测给定 x i x_i x i 下的平均干净样本,高噪声时易模糊。扩散采样从高噪声到低噪声逐步细化;DDPM 采样慢是因为需要 O ( L ) O(L) O ( L ) 步顺序网络评估(常需约 1000 步),第 4 章将从微分方程角度给出更原理性的加速思路。
本章从变分视角追溯扩散模型的起源:从 VAE(通过 ELBO 学习数据与潜空间之间的概率映射)到层次 VAE(多层潜变量、由粗到细生成),再到 DDPM。DDPM 将编码器固定为逐步加噪过程、只学习反向去噪,从而规避 HVAE 的训练不稳定,并通过条件化策略 将难解的边际目标转化为可处理的条件目标。下一章将转向基于能量模型的分数视角 :从学习去噪转移概率 p ϕ ( x i − 1 ∣ x i ) p_\phi(x_{i-1}|x_i) p ϕ ( x i − 1 ∣ x i ) 转为直接学习数据对数密度的梯度(分数函数);该视角源于 EBM,催生 NCSN,并揭示 DDPM 的 ε-预测与分数函数之间的深刻数学等价性,为后续统一连续时间框架奠定另一块基石。
前文从变分角度追溯了扩散模型;本章转向第二个同样根本的视角:能量模型(EBM) 。EBM 用能量景观表示分布——数据处能量低、其余处高。采样通常依赖朗之万动力学 ,沿该景观的梯度将样本推向高密度区域;该梯度场即分数 ,指向概率更高的方向。
核心观察是:仅掌握分数就足以做生成 ——无需计算难解的归一化常数即可将样本推向高概率区域。基于分数的扩散模型直接建立在这一思想上:不仅考虑干净数据分布,而是考虑一族经高斯噪声扰动后的分布,其分数更易近似;学习这些分数得到一族向量场,逐步将带噪样本引导回数据,从而把生成变成渐进去噪。
用能量函数建模分布。 对 x ∈ R D x\in\mathbb{R}^D x ∈ R D ,EBM 通过能量函数 E ϕ ( x ) E_\phi(x) E ϕ ( x ) 定义密度:
p ϕ ( x ) : = exp ( − E ϕ ( x ) ) Z ϕ , Z ϕ : = ∫ R D exp ( − E ϕ ( x ) ) d x .
p_\phi(x) := \frac{\exp(-E_\phi(x))}{Z_\phi},\quad Z_\phi := \int_{\mathbb{R}^D} \exp(-E_\phi(x))\,dx.
p ϕ ( x ) := Z ϕ exp ( − E ϕ ( x )) , Z ϕ := ∫ R D exp ( − E ϕ ( x )) d x . 能量越低概率越高;Z ϕ Z_\phi Z ϕ 为配分函数保证归一化。训练时在“坏”数据处提高能量、在“好”数据处降低能量,概率质量在全空间重新分配。
MLE 训练的困难。 理论上可用极大似然训练(式 (1.1.2)),但高维下计算 log Z ϕ \log Z_\phi log Z ϕ 及其梯度难解,因此需要要么近似该项(如对比散度),要么通过分数匹配 完全避开配分函数。
分数的定义与动机。 对密度 p ( x ) p(x) p ( x ) ,分数函数 为 s ( x ) : = ∇ x log p ( x ) s(x) := \nabla_x \log p(x) s ( x ) := ∇ x log p ( x ) 。它构成指向高概率区域的向量场。建模分数而非密度的好处:(1) 与归一化常数无关 :∇ x log p = ∇ x log p ~ \nabla_x \log p = \nabla_x \log \tilde{p} ∇ x log p = ∇ x log p ~ (Z Z Z 与 x x x 无关);(2) 完整表示 :分数唯一决定分布(差常数),且对生成建模往往更易处理。
分数匹配训练 EBM。 分数匹配通过对齐模型分数与数据分数来训练,而不需要 Z ϕ Z_\phi Z ϕ :
L S M ( ϕ ) = 1 2 E p d a t a ( x ) ∥ ∇ x log p ϕ ( x ) − ∇ x log p d a t a ( x ) ∥ 2 2 .
L_{\mathrm{SM}}(\phi) = \frac{1}{2}\mathbb{E}_{p_{\mathrm{data}}(x)}\|\nabla_x \log p_\phi(x) - \nabla_x \log p_{\mathrm{data}}(x)\|_2^2.
L SM ( ϕ ) = 2 1 E p data ( x ) ∥ ∇ x log p ϕ ( x ) − ∇ x log p data ( x ) ∥ 2 2 . 数据分数虽不可得,但分部积分可得到仅含能量及其导数的等价形式(见命题 3.2.1):
L S M ( ϕ ) = E p d a t a ( x ) [ T r ( ∇ x 2 E ϕ ( x ) ) + 1 2 ∥ ∇ x E ϕ ( x ) ∥ 2 2 ] + C .
L_{\mathrm{SM}}(\phi) = \mathbb{E}_{p_{\mathrm{data}}(x)}\left[\mathrm{Tr}(\nabla_x^2 E_\phi(x)) + \frac{1}{2}\|\nabla_x E_\phi(x)\|_2^2\right] + C.
L SM ( ϕ ) = E p data ( x ) [ Tr ( ∇ x 2 E ϕ ( x )) + 2 1 ∥ ∇ x E ϕ ( x ) ∥ 2 2 ] + C . 缺点是需要二阶导数,高维时计算昂贵;本章后面会讨论如何缓解。
用分数做朗之万采样。 离散时间朗之万更新为
x n + 1 = x n + η ∇ x log p ϕ ( x n ) + 2 η ϵ n , ϵ n ∼ N ( 0 , I ) .
x_{n+1} = x_n + \eta \nabla_x \log p_\phi(x_n) + \sqrt{2\eta}\,\epsilon_n,\quad \epsilon_n\sim\mathcal{N}(0,I).
x n + 1 = x n + η ∇ x log p ϕ ( x n ) + 2 η ϵ n , ϵ n ∼ N ( 0 , I ) . 步长 η → 0 \eta\to 0 η → 0 时收敛到连续时间朗之万 SDE:
d x ( t ) = ∇ x log p ϕ ( x ( t ) ) d t + 2 d w ( t ) ,
dx(t) = \nabla_x \log p_\phi(x(t))\,dt + \sqrt{2}\,dw(t),
d x ( t ) = ∇ x log p ϕ ( x ( t )) d t + 2 d w ( t ) , 其中 w ( t ) w(t) w ( t ) 为标准布朗运动。在适当正则性下,x ( t ) x(t) x ( t ) 的分布会指数收敛到 p ϕ p_\phi p ϕ ,因此可通过模拟该 SDE 采样。朗之万采样在复杂多峰高维分布上混合慢,这促使需要更结构化、带引导的采样方法(如多噪声水平的分数网络)。
既然朗之万采样只需要分数,可以用神经网络直接学习分数场 s ϕ ( x ) ≈ ∇ x log p d a t a ( x ) s_\phi(x)\approx \nabla_x \log p_{\mathrm{data}}(x) s ϕ ( x ) ≈ ∇ x log p data ( x ) ,而不必通过能量和配分函数。
分数匹配。 为从 p d a t a p_{\mathrm{data}} p data 的样本近似分数函数 s ( x ) = ∇ x log p d a t a ( x ) s(x)=\nabla_x \log p_{\mathrm{data}}(x) s ( x ) = ∇ x log p data ( x ) ,直接用神经网络参数化的向量场 s ϕ ( x ) s_\phi(x) s ϕ ( x ) 近似:s ϕ ( x ) ≈ s ( x ) s_\phi(x)\approx s(x) s ϕ ( x ) ≈ s ( x ) 。分数匹配通过最小化真实分数与估计分数之间的均方误差来拟合该向量场:
L S M ( ϕ ) : = 1 2 E x ∼ p d a t a [ ∥ s ϕ ( x ) − s ( x ) ∥ 2 2 ] . (3.2.1)
L_{\mathrm{SM}}(\phi) := \frac{1}{2}\mathbb{E}_{x\sim p_{\mathrm{data}}}\left[\|s_\phi(x)-s(x)\|_2^2\right]. \tag{3.2.1}
L SM ( ϕ ) := 2 1 E x ∼ p data [ ∥ s ϕ ( x ) − s ( x ) ∥ 2 2 ] . ( 3.2.1 ) 可处理的分数匹配。 该目标看似不可行,因为作为回归目标的真实分数 s ( x ) s(x) s ( x ) 未知。Hyvärinen 与 Dayan (2005) 证明:通过分部积分可得到仅依赖模型 s ϕ s_\phi s ϕ 与数据样本的等价目标,无需真实分数。这一关键结果即:
命题 3.2.1(Hyvärinen 的可处理分数匹配形式) L S M ( ϕ ) = L ~ S M ( ϕ ) + C L_{\mathrm{SM}}(\phi) = \tilde{L}_{\mathrm{SM}}(\phi) + C L SM ( ϕ ) = L ~ SM ( ϕ ) + C ,其中
L ~ S M ( ϕ ) : = E x ∼ p d a t a ( x ) [ T r ( ∇ x s ϕ ( x ) ) + 1 2 ∥ s ϕ ( x ) ∥ 2 2 ] , (3.2.2)
\tilde{L}_{\mathrm{SM}}(\phi) := \mathbb{E}_{x\sim p_{\mathrm{data}}(x)}\left[\mathrm{Tr}(\nabla_x s_\phi(x)) + \frac{1}{2}\|s_\phi(x)\|_2^2\right], \tag{3.2.2}
L ~ SM ( ϕ ) := E x ∼ p data ( x ) [ Tr ( ∇ x s ϕ ( x )) + 2 1 ∥ s ϕ ( x ) ∥ 2 2 ] , ( 3.2.2 ) C C C 为与 ϕ \phi ϕ 无关的常数;最优解为 s ∗ ( ⋅ ) = ∇ x log p ( ⋅ ) s^*(\cdot)=\nabla_x \log p(\cdot) s ∗ ( ⋅ ) = ∇ x log p ( ⋅ ) 。
用式 (3.2.2) 的等价目标即可仅从 p d a t a p_{\mathrm{data}} p data 的观测样本训练分数模型 s ϕ ( x ) s_\phi(x) s ϕ ( x ) ,无需真实分数函数。
式 (3.2.2) 的直观。 替代目标 L ~ S M ( ϕ ) \tilde{L}_{\mathrm{SM}}(\phi) L ~ SM ( ϕ ) 可由两项理解:范数项 1 2 ∥ s ϕ ( x ) ∥ 2 \frac{1}{2}\|s_\phi(x)\|^2 2 1 ∥ s ϕ ( x ) ∥ 2 在 p d a t a p_{\mathrm{data}} p data 大的区域压制分数,使这些点成为驻点;散度项 T r ( ∇ x s ϕ ( x ) ) \mathrm{Tr}(\nabla_x s_\phi(x)) Tr ( ∇ x s ϕ ( x )) 倾向于取负值,使这些驻点成为吸引子(汇)。两者共同将高密度区域塑造成分数场的稳定收缩点。更具体地:(1) 范数项导致驻点 :期望在 p d a t a p_{\mathrm{data}} p data 下取,故高密度区域对损失贡献最大,范数项在这些高概率区域驱动 s ϕ ( x ) → 0 s_\phi(x)\to 0 s ϕ ( x ) → 0 ,即这些位置成为驻点。(2) 场近似为梯度时的凹性 :若 s ϕ = ∇ x u s_\phi=\nabla_x u s ϕ = ∇ x u (u : R D → R u:\mathbb{R}^D\to\mathbb{R} u : R D → R ),则 ∇ ⋅ s ϕ = T r ( ∇ x 2 u ) \nabla\cdot s_\phi=\mathrm{Tr}(\nabla_x^2 u) ∇ ⋅ s ϕ = Tr ( ∇ x 2 u ) 。在驻点 x ∗ x^* x ∗ 处若 Hessian ∇ x 2 u ( x ∗ ) \nabla_x^2 u(x^*) ∇ x 2 u ( x ∗ ) 负定,则 u u u 在 x ∗ x^* x ∗ 局部凹、对数密度在该处取严格局部极大;此时 T r ( ∇ x 2 u ) < 0 \mathrm{Tr}(\nabla_x^2 u)<0 Tr ( ∇ x 2 u ) < 0 ,学到的场具负散度,驻点为汇,小扰动被拉回 x ∗ x^* x ∗ 。
最小化式 (3.2.2) 训练得到分数模型 s ϕ × ( x ) s_{\phi^\times}(x) s ϕ × ( x ) 后,可用其替代真实分数进行朗之万采样:
x n + 1 = x n + η s ϕ × ( x n ) + 2 η ϵ n , ϵ n ∼ N ( 0 , I ) , (3.2.3)
x_{n+1} = x_n + \eta s_{\phi^\times}(x_n) + \sqrt{2\eta}\,\epsilon_n,\quad \epsilon_n\sim\mathcal{N}(0,I), \tag{3.2.3}
x n + 1 = x n + η s ϕ × ( x n ) + 2 η ϵ n , ϵ n ∼ N ( 0 , I ) , ( 3.2.3 ) n = 0 , 1 , 2 , … n=0,1,2,\ldots n = 0 , 1 , 2 , … ,从 x 0 x_0 x 0 初始化。与 EBM 情形式 (3.1.6) 一样,该递推正是连续时间朗之万 SDE d x ( t ) = s ϕ × ( x ( t ) ) d t + 2 d w ( t ) dx(t)=s_{\phi^\times}(x(t))\,dt+\sqrt{2}\,dw(t) d x ( t ) = s ϕ × ( x ( t )) d t + 2 d w ( t ) 的 Euler–Maruyama 离散化;步长足够小时离散与连续形式一致,实践中可运行离散采样器或直接模拟 SDE。
本章余下部分考察分数函数在现代扩散模型中的基础作用:分数函数最初为高效训练 EBM 而引入,已演变为新一代生成模型的核心组件。在此基础上,我们将探讨分数函数如何指导基于分数的扩散模型的理论表述与实现,为通过随机过程进行数据生成提供原理性框架。
式 (3.2.2) 的替代目标 L ~ S M ( ϕ ) = E x ∼ p d a t a [ T r ( ∇ x s ϕ ( x ) ) + 1 2 ∥ s ϕ ( x ) ∥ 2 2 ] \tilde{L}_{\mathrm{SM}}(\phi)=\mathbb{E}_{x\sim p_{\mathrm{data}}}[\mathrm{Tr}(\nabla_x s_\phi(x))+\frac{1}{2}\|s_\phi(x)\|_2^2] L ~ SM ( ϕ ) = E x ∼ p data [ Tr ( ∇ x s ϕ ( x )) + 2 1 ∥ s ϕ ( x ) ∥ 2 2 ] 虽更可处理,仍需要计算雅可比矩阵的迹 T r ( ∇ x s ϕ ( x ) ) \mathrm{Tr}(\nabla_x s_\phi(x)) Tr ( ∇ x s ϕ ( x )) ,最坏复杂度为 O ( D 2 ) O(D^2) O ( D 2 ) ,限制了在高维数据上的可扩展性。
切片分数匹配与 Hutchinson 估计。 切片分数匹配用沿随机“切片”方向的方向导数平均替代迹;利用 Hutchinson 恒等式 T r ( A ) = E u [ u ⊤ A u ] \mathrm{Tr}(A)=\mathbb{E}_u[u^\top A u] Tr ( A ) = E u [ u ⊤ A u ] 可得仅用 JVP/VJP 即可高效计算的等价形式,无需显式大雅可比或 Hessian 矩阵。
从切片到去噪分数匹配。 切片分数匹配虽绕过雅可比,仍依赖原始数据分布;对位于低维流形上的数据(如图像),∇ x log p d a t a ( x ) \nabla_x \log p_{\mathrm{data}}(x) ∇ x log p data ( x ) 可能未定义或不稳定,且仅在观测点约束向量场,在邻域内控制较弱。更稳健的做法是去噪分数匹配(DSM) (Vincent, 2011),提供原理性且可扩展的解决方案。
考虑式 (3.2.1) 的分数匹配损失,难点在于 ∇ x log p d a t a ( x ) \nabla_x \log p_{\mathrm{data}}(x) ∇ x log p data ( x ) 不可得。Vincent (2011) 的做法是条件化 :通过已知的条件分布 p σ ( x ~ ∣ x ) p_\sigma(\tilde{x}|x) p σ ( x ~ ∣ x ) (尺度 σ \sigma σ )向数据 x ∼ p d a t a x\sim p_{\mathrm{data}} x ∼ p data 注入噪声,训练网络 s ϕ ( x ~ ; σ ) s_\phi(\tilde{x};\sigma) s ϕ ( x ~ ; σ ) 近似扰动边际分布 p σ ( x ~ ) = ∫ p σ ( x ~ ∣ x ) p d a t a ( x ) d x p_\sigma(\tilde{x})=\int p_\sigma(\tilde{x}|x)p_{\mathrm{data}}(x)\,dx p σ ( x ~ ) = ∫ p σ ( x ~ ∣ x ) p data ( x ) d x 的分数,即最小化
L S M ( ϕ ; σ ) : = 1 2 E x ~ ∼ p σ [ ∥ s ϕ ( x ~ ; σ ) − ∇ x ~ log p σ ( x ~ ) ∥ 2 2 ] . (3.3.1)
L_{\mathrm{SM}}(\phi;\sigma) := \frac{1}{2}\mathbb{E}_{\tilde{x}\sim p_\sigma}\left[\|s_\phi(\tilde{x};\sigma) - \nabla_{\tilde{x}}\log p_\sigma(\tilde{x})\|_2^2\right]. \tag{3.3.1}
L SM ( ϕ ; σ ) := 2 1 E x ~ ∼ p σ [ ∥ s ϕ ( x ~ ; σ ) − ∇ x ~ log p σ ( x ~ ) ∥ 2 2 ] . ( 3.3.1 ) 虽然 ∇ x ~ log p σ ( x ~ ) \nabla_{\tilde{x}}\log p_\sigma(\tilde{x}) ∇ x ~ log p σ ( x ~ ) 一般难解,但对 x ∼ p d a t a x\sim p_{\mathrm{data}} x ∼ p data 做条件化可得到等价的、可处理的目标——去噪分数匹配(DSM)损失 :
L D S M ( ϕ ; σ ) : = 1 2 E x ∼ p d a t a , x ~ ∼ p σ ( ⋅ ∣ x ) [ ∥ s ϕ ( x ~ ; σ ) − ∇ x ~ log p σ ( x ~ ∣ x ) ∥ 2 2 ] . (3.3.2)
L_{\mathrm{DSM}}(\phi;\sigma) := \frac{1}{2}\mathbb{E}_{x\sim p_{\mathrm{data}},\tilde{x}\sim p_\sigma(\cdot|x)}\left[\|s_\phi(\tilde{x};\sigma) - \nabla_{\tilde{x}}\log p_\sigma(\tilde{x}|x)\|_2^2\right]. \tag{3.3.2}
L DSM ( ϕ ; σ ) := 2 1 E x ∼ p data , x ~ ∼ p σ ( ⋅ ∣ x ) [ ∥ s ϕ ( x ~ ; σ ) − ∇ x ~ log p σ ( x ~ ∣ x ) ∥ 2 2 ] . ( 3.3.2 ) 式 (3.3.2) 的最优解 s ∗ s^* s ∗ 满足 s ∗ ( x ~ ; σ ) = ∇ x ~ log p σ ( x ~ ) s^*(\tilde{x};\sigma)=\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}) s ∗ ( x ~ ; σ ) = ∇ x ~ log p σ ( x ~ ) ,也是式 (3.3.1) 的最优解。
定理 3.3.1(LSM 与 LDSM 的等价性) 对任意固定噪声尺度 σ > 0 \sigma>0 σ > 0 ,有 L S M ( ϕ ; σ ) = L D S M ( ϕ ; σ ) + C L_{\mathrm{SM}}(\phi;\sigma)=L_{\mathrm{DSM}}(\phi;\sigma)+C L SM ( ϕ ; σ ) = L DSM ( ϕ ; σ ) + C ,C C C 与 ϕ \phi ϕ 无关;且两损失的最优解均满足 s ∗ ( x ~ ; σ ) = ∇ x ~ log p σ ( x ~ ) s^*(\tilde{x};\sigma)=\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}) s ∗ ( x ~ ; σ ) = ∇ x ~ log p σ ( x ~ ) (几乎处处)。这与 DDPM 中的定理 2.2.1 一样,体现了条件化技巧 :通过条件化将难解损失变为可蒙特卡洛估计的可处理目标;类似思想也出现在基于流的视角(如 Flow Matching,5.2 节)。
特例:加性高斯噪声。 设对 x ∼ p d a t a x\sim p_{\mathrm{data}} x ∼ p data 加方差 σ 2 \sigma^2 σ 2 的高斯噪声:x ~ = x + σ ϵ \tilde{x}=x+\sigma\epsilon x ~ = x + σ ϵ ,ϵ ∼ N ( 0 , I ) \epsilon\sim\mathcal{N}(0,I) ϵ ∼ N ( 0 , I ) ,即 p σ ( x ~ ∣ x ) = N ( x ~ ; x , σ 2 I ) p_\sigma(\tilde{x}|x)=\mathcal{N}(\tilde{x};x,\sigma^2 I) p σ ( x ~ ∣ x ) = N ( x ~ ; x , σ 2 I ) 。此时条件分数有闭式:
∇ x ~ log p σ ( x ~ ∣ x ) = x − x ~ σ 2 ,
\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}|x) = \frac{x-\tilde{x}}{\sigma^2},
∇ x ~ log p σ ( x ~ ∣ x ) = σ 2 x − x ~ , 故 DSM 损失简化为:
L D S M ( ϕ ; σ ) = 1 2 E x , x ~ ∣ x [ ∥ s ϕ ( x ~ ; σ ) − x − x ~ σ 2 ∥ 2 2 ] = 1 2 E x , ϵ [ ∥ s ϕ ( x + σ ϵ ; σ ) + ϵ σ ∥ 2 2 ] , (3.3.4)
L_{\mathrm{DSM}}(\phi;\sigma) = \frac{1}{2}\mathbb{E}_{x,\tilde{x}|x}\left[\left\|s_\phi(\tilde{x};\sigma) - \frac{x-\tilde{x}}{\sigma^2}\right\|_2^2\right] = \frac{1}{2}\mathbb{E}_{x,\epsilon}\left[\left\|s_\phi(x+\sigma\epsilon;\sigma) + \frac{\epsilon}{\sigma}\right\|_2^2\right], \tag{3.3.4}
L DSM ( ϕ ; σ ) = 2 1 E x , x ~ ∣ x [ s ϕ ( x ~ ; σ ) − σ 2 x − x ~ 2 2 ] = 2 1 E x , ϵ [ s ϕ ( x + σ ϵ ; σ ) + σ ϵ 2 2 ] , ( 3.3.4 ) ϵ ∼ N ( 0 , I ) \epsilon\sim\mathcal{N}(0,I) ϵ ∼ N ( 0 , I ) 。该目标构成(基于分数的)扩散模型的核心。σ \sigma σ 较小时,高斯平滑边际 p σ ≈ p d a t a ∗ N ( 0 , σ 2 I ) p_\sigma\approx p_{\mathrm{data}}*\mathcal{N}(0,\sigma^2 I) p σ ≈ p data ∗ N ( 0 , σ 2 I ) ,高分区域与分数近似一致;σ \sigma σ 较大时平滑会过度简化景观、丢失局部模式。注入噪声还带来两点好处:梯度有良好定义 (噪声使支撑充满 R D \mathbb{R}^D R D ,分数处处有定义);改善覆盖 (噪声平滑模式间稀疏区域,增强训练信号并便于朗之万穿越低密度区)。
在噪声水平 σ \sigma σ 下得到训练好的分数模型 s ϕ × ( x ~ ; σ ) s_{\phi^\times}(\tilde{x};\sigma) s ϕ × ( x ~ ; σ ) 后,用其替代真实分数进行朗之万采样,更新规则为:
x ~ n + 1 = x ~ n + η s ϕ × ( x ~ n ; σ ) + 2 η ϵ n , ϵ n ∼ N ( 0 , I ) , (3.3.5)
\tilde{x}_{n+1} = \tilde{x}_n + \eta\, s_{\phi^\times}(\tilde{x}_n;\sigma) + \sqrt{2\eta}\,\epsilon_n,\quad \epsilon_n\sim\mathcal{N}(0,I), \tag{3.3.5}
x ~ n + 1 = x ~ n + η s ϕ × ( x ~ n ; σ ) + 2 η ϵ n , ϵ n ∼ N ( 0 , I ) , ( 3.3.5 ) 从初值 x ~ 0 \tilde{x}_0 x ~ 0 出发迭代。若 σ \sigma σ 足够小且迭代足够多,x ~ n \tilde{x}_n x ~ n 可近似 p d a t a p_{\mathrm{data}} p data 的样本。
引理 3.3.2(Tweedie 公式) 设 x ∼ p d a t a x\sim p_{\mathrm{data}} x ∼ p data ,在给定 x x x 下 x ~ ∼ N ( ⋅ ; α x , σ 2 I ) \tilde{x}\sim\mathcal{N}(\cdot;\alpha x,\sigma^2 I) x ~ ∼ N ( ⋅ ; αx , σ 2 I ) ,α ≠ 0 \alpha\neq 0 α = 0 。则 Tweedie 公式给出:
α E x ∼ p ( x ∣ x ~ ) [ x ∣ x ~ ] = x ~ + σ 2 ∇ x ~ log p σ ( x ~ ) , (3.3.6)
\alpha\,\mathbb{E}_{x\sim p(x|\tilde{x})}[x\mid\tilde{x}] = \tilde{x} + \sigma^2\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}), \tag{3.3.6}
α E x ∼ p ( x ∣ x ~ ) [ x ∣ x ~ ] = x ~ + σ 2 ∇ x ~ log p σ ( x ~ ) , ( 3.3.6 ) 其中期望对给定 x ~ \tilde{x} x ~ 的后验 p ( x ∣ x ~ ) p(x|\tilde{x}) p ( x ∣ x ~ ) 取。因此去噪器 (从 x ~ \tilde{x} x ~ 估计的干净信号的条件期望)可由分数表出:
E [ x ∣ x ~ ] = 1 α ( x ~ + σ 2 ∇ x ~ log p σ ( x ~ ) ) .
\mathbb{E}[x|\tilde{x}] = \frac{1}{\alpha}\left(\tilde{x} + \sigma^2\nabla_{\tilde{x}}\log p_\sigma(\tilde{x})\right).
E [ x ∣ x ~ ] = α 1 ( x ~ + σ 2 ∇ x ~ log p σ ( x ~ ) ) . 特别地,在带噪对数似然上沿分数方向、步长 σ 2 \sigma^2 σ 2 做一步梯度上升,即得到去噪估计(条件平均干净信号)。若 s ϕ ( x ~ ) ≈ ∇ x ~ log p σ ( x ~ ) s_\phi(\tilde{x})\approx\nabla_{\tilde{x}}\log p_\sigma(\tilde{x}) s ϕ ( x ~ ) ≈ ∇ x ~ log p σ ( x ~ ) 由 DSM 训练得到,则 1 α ( x ~ + σ 2 s ϕ ( x ~ ) ) \frac{1}{\alpha}(\tilde{x}+\sigma^2 s_\phi(\tilde{x})) α 1 ( x ~ + σ 2 s ϕ ( x ~ )) 即为去噪器。Tweedie 公式在扩散模型中起核心作用,在 DDPM 等多层噪声设定下,通过分数从带噪观测估计干净样本,建立分数预测与去噪之间的基本联系。
(可选)高阶 Tweedie、SURE 与广义分数匹配。 高阶 Tweedie 公式用 log p σ ( x ~ ) \log p_\sigma(\tilde{x}) log p σ ( x ~ ) 的高阶导数表示后验协方差及更高阶累积量;SURE(Stein 无偏风险估计)允许在仅有带噪数据时估计去噪器的 MSE,且最小化 SURE 与在噪声水平 σ \sigma σ 下最小化 Hyvärinen 的替代分数匹配目标等价,两者共享同一最优解(即 Tweedie 给出的去噪器)。广义分数匹配对线性算子 L L L 定义广义 Fisher 散度,通过“分部积分”使损失仅依赖 s ϕ s_\phi s ϕ ;L = ∇ L=\nabla L = ∇ 时还原经典分数匹配,适当选取 L L L 可还原去噪分数匹配或高阶目标,并推广到离散设定(如语言建模)。
仅用单一固定方差的高斯噪声在单一噪声水平上训练基于分数的模型存在明显局限:低噪声时朗之万在低密度区梯度消失,难以穿越多峰分布的模式;高噪声时采样虽易,但模型只学到粗糙结构,样本模糊、缺乏细节。高维下朗之万收敛慢甚至失败,不良初始化(如平台区或鞍点附近)会阻碍探索或使采样陷于单峰。
Song 与 Ermon (2019) 提出在多个噪声水平 上向数据注入高斯噪声,并联合训练噪声条件分数网络(NCSN) ,在一系列噪声尺度上估计分数函数。生成时采用噪声退火 的朗之万动力学:从高噪声水平开始做粗探索,逐步降至低噪声水平以恢复细节。
选取一列 L L L 个噪声水平 { σ i } i = 1 L \{\sigma_i\}_{i=1}^L { σ i } i = 1 L ,满足 0 < σ 1 < σ 2 < ⋯ < σ L 0<\sigma_1<\sigma_2<\cdots<\sigma_L 0 < σ 1 < σ 2 < ⋯ < σ L :σ 1 \sigma_1 σ 1 足够小以保留数据细节,σ L \sigma_L σ L 足够大以充分平滑分布、便于训练。对干净样本 x ∼ p d a t a x\sim p_{\mathrm{data}} x ∼ p data 构造带噪样本 x σ = x + σ ϵ x_\sigma = x + \sigma\epsilon x σ = x + σ ϵ ,ϵ ∼ N ( 0 , I ) \epsilon\sim\mathcal{N}(0,I) ϵ ∼ N ( 0 , I ) ,即扰动核 p σ ( x σ ∣ x ) : = N ( x σ ; x , σ 2 I ) p_\sigma(x_\sigma|x):=\mathcal{N}(x_\sigma;x,\sigma^2 I) p σ ( x σ ∣ x ) := N ( x σ ; x , σ 2 I ) ,对应边际分布 p σ ( x σ ) = ∫ p σ ( x σ ∣ x ) p d a t a ( x ) d x p_\sigma(x_\sigma)=\int p_\sigma(x_\sigma|x)p_{\mathrm{data}}(x)\,dx p σ ( x σ ) = ∫ p σ ( x σ ∣ x ) p data ( x ) d x (高斯平滑的数据分布)。
NCSN 的训练目标。 目标是训练噪声条件分数网络 s ϕ ( x , σ ) s_\phi(x,\sigma) s ϕ ( x , σ ) ,对所有 σ ∈ { σ i } i = 1 L \sigma\in\{\sigma_i\}_{i=1}^L σ ∈ { σ i } i = 1 L 估计分数 ∇ x log p σ ( x ) \nabla_x\log p_\sigma(x) ∇ x log p σ ( x ) 。通过在所有噪声水平上最小化 DSM 目标实现:
L N C S N ( ϕ ) : = ∑ i = 1 L λ ( σ i ) L D S M ( ϕ ; σ i ) , (3.4.1)
L_{\mathrm{NCSN}}(\phi) := \sum_{i=1}^L \lambda(\sigma_i)\,L_{\mathrm{DSM}}(\phi;\sigma_i), \tag{3.4.1}
L NCSN ( ϕ ) := i = 1 ∑ L λ ( σ i ) L DSM ( ϕ ; σ i ) , ( 3.4.1 ) 其中 L D S M ( ϕ ; σ ) = 1 2 E x , x ~ ∣ x [ ∥ s ϕ ( x ~ , σ ) − ( x − x ~ ) / σ 2 ∥ 2 2 ] L_{\mathrm{DSM}}(\phi;\sigma)=\frac{1}{2}\mathbb{E}_{x,\tilde{x}|x}[\|s_\phi(\tilde{x},\sigma) - (x-\tilde{x})/\sigma^2\|_2^2] L DSM ( ϕ ; σ ) = 2 1 E x , x ~ ∣ x [ ∥ s ϕ ( x ~ , σ ) − ( x − x ~ ) / σ 2 ∥ 2 2 ] ,λ ( σ i ) > 0 \lambda(\sigma_i)>0 λ ( σ i ) > 0 为各尺度的权重。最小化该目标得到的分数模型 s ∗ ( x , σ ) s^*(x,\sigma) s ∗ ( x , σ ) 在每个噪声水平上恢复真实分数:s ∗ ( ⋅ , σ ) = ∇ x log p σ ( ⋅ ) s^*(\cdot,\sigma)=\nabla_x\log p_\sigma(\cdot) s ∗ ( ⋅ , σ ) = ∇ x log p σ ( ⋅ ) 。
与 DDPM 损失的关系。 令 x σ = x + σ ϵ x_\sigma=x+\sigma\epsilon x σ = x + σ ϵ ,p σ p_\sigma p σ 为边际。由 Tweedie 公式,∇ x σ log p σ ( x σ ) = − 1 σ E [ ϵ ∣ x σ ] \nabla_{x_\sigma}\log p_\sigma(x_\sigma)=-\frac{1}{\sigma}\mathbb{E}[\epsilon|x_\sigma] ∇ x σ log p σ ( x σ ) = − σ 1 E [ ϵ ∣ x σ ] 。故 NCSN 的最优为真实分数 s ∗ ( x σ , σ ) = ∇ x σ log p σ ( x σ ) s^*(x_\sigma,\sigma)=\nabla_{x_\sigma}\log p_\sigma(x_\sigma) s ∗ ( x σ , σ ) = ∇ x σ log p σ ( x σ ) ,而 DDPM 损失式 (2.2.10) 下的贝叶斯最优噪声预测为 ϵ ∗ ( x σ , σ ) = E [ ϵ ∣ x σ ] \epsilon^*(x_\sigma,\sigma)=\mathbb{E}[\epsilon|x_\sigma] ϵ ∗ ( x σ , σ ) = E [ ϵ ∣ x σ ] ,两者通过 s ∗ ( x σ , σ ) = − 1 σ ϵ ∗ ( x σ , σ ) s^*(x_\sigma,\sigma)=-\frac{1}{\sigma}\epsilon^*(x_\sigma,\sigma) s ∗ ( x σ , σ ) = − σ 1 ϵ ∗ ( x σ , σ ) 等价。在 DDPM 的离散指标扰动 x i = α ˉ i x 0 + 1 − α ˉ i 2 ϵ x_i=\bar{\alpha}_i x_0+\sqrt{1-\bar{\alpha}_i^2}\,\epsilon x i = α ˉ i x 0 + 1 − α ˉ i 2 ϵ 下,同样有 s ∗ ( x i , i ) = − 1 σ i E [ ϵ ∣ x i ] s^*(x_i,i)=-\frac{1}{\sigma_i}\mathbb{E}[\epsilon|x_i] s ∗ ( x i , i ) = − σ i 1 E [ ϵ ∣ x i ] ,故最小化式 (2.2.10) 学习的正是噪声水平 i i i 下真实分数的缩放参数化。第 6 章将系统比较并总结这类参数化的等价性。
在多个噪声水平上得到训练好的分数网络 s ϕ × ( ⋅ , σ 1 ) , … , s ϕ × ( ⋅ , σ L ) s_{\phi^\times}(\cdot,\sigma_1),\ldots,s_{\phi^\times}(\cdot,\sigma_L) s ϕ × ( ⋅ , σ 1 ) , … , s ϕ × ( ⋅ , σ L ) 后,采用退火朗之万动力学 (Song and Ermon, 2019)从高噪声水平 σ L \sigma_L σ L 逐步去噪到低噪声水平 σ 1 ≈ 0 \sigma_1\approx 0 σ 1 ≈ 0 生成数据。
从 x σ L ∼ N ( 0 , I ) x_{\sigma_L}\sim\mathcal{N}(0,I) x σ L ∼ N ( 0 , I ) 出发,在每个水平 σ ℓ \sigma_\ell σ ℓ 上运行朗之万动力学以近似从扰动分布 p σ ℓ ( x ) p_{\sigma_\ell}(x) p σ ℓ ( x ) 采样;该水平的输出作为下一更低水平 σ ℓ − 1 \sigma_{\ell-1} σ ℓ − 1 的更好初始化。每水平上的朗之万更新为:
x ~ n + 1 = x ~ n + η ℓ s ϕ × ( x ~ n , σ ℓ ) + 2 η ℓ ϵ n , ϵ n ∼ N ( 0 , I ) ,
\tilde{x}_{n+1} = \tilde{x}_n + \eta_\ell\, s_{\phi^\times}(\tilde{x}_n,\sigma_\ell) + \sqrt{2\eta_\ell}\,\epsilon_n,\quad \epsilon_n\sim\mathcal{N}(0,I),
x ~ n + 1 = x ~ n + η ℓ s ϕ × ( x ~ n , σ ℓ ) + 2 η ℓ ϵ n , ϵ n ∼ N ( 0 , I ) , 从 x ~ 0 : = x σ ℓ \tilde{x}_0:=x_{\sigma_\ell} x ~ 0 := x σ ℓ 开始。步长通常按噪声水平缩放:η ℓ = δ ⋅ σ ℓ 2 / σ 1 2 \eta_\ell = \delta\cdot\sigma_\ell^2/\sigma_1^2 η ℓ = δ ⋅ σ ℓ 2 / σ 1 2 (δ > 0 \delta>0 δ > 0 固定)。退火直至最低水平 σ 1 \sigma_1 σ 1 ,得到最终样本 x σ 1 x_{\sigma_1} x σ 1 。用上一水平的输出作为下一水平的初始化,能更有效探索并更好覆盖复杂数据分布。
NCSN 采样慢的原因。 NCSN 在多个尺度 { σ i } i = 1 L \{\sigma_i\}_{i=1}^L { σ i } i = 1 L 上使用退火 MCMC(通常为朗之万)。每个 σ i \sigma_i σ i 需进行 K K K 次“用分数 s ϕ × ( x ~ n , σ i ) s_{\phi^\times}(\tilde{x}_n,\sigma_i) s ϕ × ( x ~ n , σ i ) 更新再加小随机扰动”的迭代,每次需一次分数网络前向。两因素导致需要较大的 L × K L\times K L × K :(i) 局部精度与稳定性 :学到的分数仅对小扰动可靠,需要小步长和每水平多次迭代;(ii) 高维混合慢 :局部 MCMC 在多峰高维目标上探索低效,需要大量迭代才能到达典型数据区域。更新严格顺序且每次需昂贵网络计算,总成本为 O ( L K ) O(LK) O ( L K ) 次顺序网络前向,采样计算缓慢。
NCSN 与 DDPM 的图模型和流程可对比概括如下(见原书 Table 3.1):
方面 NCSN DDPM x i + 1 ∥ x i x_{i+1}\|x_i x i + 1 ∥ x i 由 x i + 1 = x i + σ i + 1 2 − σ i 2 ϵ x_{i+1}=x_i+\sqrt{\sigma_{i+1}^2-\sigma_i^2}\,\epsilon x i + 1 = x i + σ i + 1 2 − σ i 2 ϵ 推导 定义为 1 − β i x i + β i ϵ \sqrt{1-\beta_i}x_i+\sqrt{\beta_i}\epsilon 1 − β i x i + β i ϵ x i ∥ x x_i\|x x i ∥ x 定义为 x i = x + σ i 2 ϵ x_i=x+\sigma_i^2\epsilon x i = x + σ i 2 ϵ 由 x i = α ˉ i x + 1 − α ˉ i 2 ϵ x_i=\bar{\alpha}_i x+\sqrt{1-\bar{\alpha}_i^2}\,\epsilon x i = α ˉ i x + 1 − α ˉ i 2 ϵ 推导 先验 N ( 0 , σ L 2 I ) \mathcal{N}(0,\sigma_L^2 I) N ( 0 , σ L 2 I ) N ( 0 , I ) \mathcal{N}(0,I) N ( 0 , I ) 损失 E i E x , ϵ [ ∥ s ϕ ( x i , σ i ) + ϵ / σ i ∥ 2 2 ] \mathbb{E}_i\mathbb{E}_{x,\epsilon}[\|s_\phi(x_i,\sigma_i)+\epsilon/\sigma_i\|_2^2] E i E x , ϵ [ ∥ s ϕ ( x i , σ i ) + ϵ / σ i ∥ 2 2 ] E i E x , ϵ [ ∥ ϵ ϕ ( x i , i ) − ϵ ∥ 2 2 ] \mathbb{E}_i\mathbb{E}_{x,\epsilon}[\|\epsilon_\phi(x_i,i)-\epsilon\|_2^2] E i E x , ϵ [ ∥ ϵ ϕ ( x i , i ) − ϵ ∥ 2 2 ] 采样 每层朗之万,输出初始化下一层 沿马尔可夫链用 p ϕ × ( x i − 1 ∥ x i ) p_{\phi^\times}(x_{i-1}\|x_i) p ϕ × ( x i − 1 ∥ x i ) 遍历
共同瓶颈。 尽管表述不同,NCSN 与 DDPM 都依赖稠密时间离散化,导致采样常需数百甚至数千步迭代,生成慢且计算量大。如何加速扩散模型采样将在第 9 章与第 10 章进一步讨论。
本章勾勒了通向扩散模型的第二条主要路径——植根于能量模型(EBM)的基于分数的视角 。我们从 EBM 的核心难点(难解的配分函数)出发,引入分数函数 ∇ x log p ( x ) \nabla_x\log p(x) ∇ x log p ( x ) 作为完全绕过该问题的工具。
从经典分数匹配到更可扩展、更稳健的去噪分数匹配(DSM) :通过对数据加噪,再次利用条件化策略 得到简单的回归目标。通过 Tweedie 公式 建立了分数估计与去噪行为之间的深刻联系——分数给出了从带噪观测估计干净信号所需的方向。
将这一原理从单一噪声水平推广到噪声条件分数网络(NCSN) :在多个噪声尺度上条件化、用单一分数模型学习,并通过退火朗之万动力学生成样本。至此可见,NCSN 与变分视角下的 DDPM 虽起源不同,却具有极为相似的结构和共同瓶颈:慢速、顺序的采样 。
这种收敛并非偶然,它暗示了更深层、统一的数学结构。这些离散时间模型的局限促使我们需要更一般的框架。下一章将迈出关键一步:(1) 进入连续时间视角 ,表明 DDPM 与 NCSN 均可统一为同一由随机微分方程(SDE)描述的过程的不同离散化;(2) 该分数 SDE 框架 将形式化地连接变分视角与基于分数的视角,把生成问题重述为求解微分方程。这一统一视角不仅带来理论上的清晰,也将为应对慢采样这一根本挑战的高级数值方法打开大门。
表述定律只有一种精确方式,那就是微分方程。它们既根本,就我们目前所知,又精确。 ——理查德·费曼
前文已从变分视角与基于分数的视角研究扩散模型。本章进入连续时间框架 :其核心是分数 SDE ,即 DDPM 与 NCSN 的连续极限统一形式。该视角将离散更新扩展为以微分方程(DE)为基础的清晰、原理性描述;在此视角下,生成归结为随时间求解一个 DE,从而可直接运用数值分析工具(如基本 Euler 法或更高级的求解器)。连续时间还带来更丰富的数学结构,为理解、分析与改进扩散模型提供统一基础。
4.1.1 动机:从离散到连续时间过程
NCSN 使用递增噪声水平序列 { σ i } i = 1 L \{\sigma_i\}_{i=1}^L { σ i } i = 1 L ,每步 x σ i = x + σ i ϵ i x_{\sigma_i}=x+\sigma_i\epsilon_i x σ i = x + σ i ϵ i ;DDPM 用方差调度 { β i } \{\beta_i\} { β i } 逐步加噪:x i = 1 − β i 2 x i − 1 + β i ϵ i x_i=\sqrt{1-\beta_i^2}x_{i-1}+\beta_i\epsilon_i x i = 1 − β i 2 x i − 1 + β i ϵ i 。在离散时间格上,从 x t x_t x t 到 x t + Δ t x_{t+\Delta t} x t + Δ t 的更新可统一写成:
x t + Δ t ≈ x t + f ( x t , t ) Δ t + g ( t ) Δ t ϵ t , (4.1.1)
x_{t+\Delta t} \approx x_t + f(x_t,t)\Delta t + g(t)\sqrt{\Delta t}\,\epsilon_t, \tag{4.1.1}
x t + Δ t ≈ x t + f ( x t , t ) Δ t + g ( t ) Δ t ϵ t , ( 4.1.1 ) 其中 NCSN:f ( x , t ) = 0 f(x,t)=0 f ( x , t ) = 0 ,g ( t ) = d σ 2 ( t ) / d t g(t)=\sqrt{d\sigma^2(t)/dt} g ( t ) = d σ 2 ( t ) / d t ;DDPM:f ( x , t ) = − 1 2 β ( t ) x f(x,t)=-\frac{1}{2}\beta(t)x f ( x , t ) = − 2 1 β ( t ) x ,g ( t ) = β ( t ) g(t)=\sqrt{\beta(t)} g ( t ) = β ( t ) 。对应的高斯转移为 p ( x t + Δ t ∣ x t ) : = N ( x t + Δ t ; x t + f ( x t , t ) Δ t , g 2 ( t ) Δ t I ) p(x_{t+\Delta t}|x_t) := \mathcal{N}(x_{t+\Delta t}; x_t+f(x_t,t)\Delta t, g^2(t)\Delta t\,I) p ( x t + Δ t ∣ x t ) := N ( x t + Δ t ; x t + f ( x t , t ) Δ t , g 2 ( t ) Δ t I ) 。当 Δ t → 0 \Delta t\to 0 Δ t → 0 时,离散过程收敛到连续时间前向 SDE:
d x ( t ) = f ( x ( t ) , t ) d t + g ( t ) d w ( t ) , (4.1.3)
dx(t) = f(x(t),t)\,dt + g(t)\,dw(t), \tag{4.1.3}
d x ( t ) = f ( x ( t ) , t ) d t + g ( t ) d w ( t ) , ( 4.1.3 ) 其中 w ( t ) w(t) w ( t ) 为标准维纳过程(布朗运动)。漂移 f f f 与扩散系数 g g g 一旦给定,前向 SDE 自动诱导一个反向时间 SDE ,将终端噪声分布运回数据分布;反向动力学中唯一的未知量正是各连续时间水平上的分数函数 。因此训练目标就是分数匹配;学得分数后,采样即用学到的分数数值积分该反向 SDE。
4.1.2 前向时间 SDE:从数据到噪声
在区间 [ 0 , T ] [0,T] [ 0 , T ] 上,前向 SDE 定义为式 (4.1.3),初始条件 x ( 0 ) ∼ p 0 = p d a t a x(0)\sim p_0=p_{\mathrm{data}} x ( 0 ) ∼ p 0 = p data 。f ( ⋅ , t ) : R D → R D f(\cdot,t):\mathbb{R}^D\to\mathbb{R}^D f ( ⋅ , t ) : R D → R D 为漂移,g ( t ) ∈ R g(t)\in\mathbb{R} g ( t ) ∈ R 为标量扩散系数。由此诱导两类对象:
扰动核 p t ( x t ∣ x 0 ) p_t(x_t|x_0) p t ( x t ∣ x 0 ) :描述干净样本 x 0 ∼ p d a t a x_0\sim p_{\mathrm{data}} x 0 ∼ p data 在时刻 t t t 的带噪版本 x t x_t x t 。若漂移为仿射 f ( x , t ) = f ( t ) x f(x,t)=f(t)x f ( x , t ) = f ( t ) x (f ( t ) f(t) f ( t ) 通常非正),过程每时每刻保持高斯,条件分布有闭式(通过均值–方差 ODE 求得):p t ( x t ∣ x 0 ) = N ( x t ; m ( t ) , P ( t ) I D ) p_t(x_t|x_0)=\mathcal{N}(x_t; m(t), P(t)I_D) p t ( x t ∣ x 0 ) = N ( x t ; m ( t ) , P ( t ) I D ) ,其中 m ( t ) = exp ( ∫ 0 t f ( u ) d u ) x 0 m(t)=\exp(\int_0^t f(u)du)x_0 m ( t ) = exp ( ∫ 0 t f ( u ) d u ) x 0 ,P ( t ) = ∫ 0 t exp ( 2 ∫ s t f ( u ) d u ) g 2 ( s ) d s P(t)=\int_0^t \exp(2\int_s^t f(u)du)g^2(s)ds P ( t ) = ∫ 0 t exp ( 2 ∫ s t f ( u ) d u ) g 2 ( s ) d s ,故可无需数值积分 SDE 直接采样 x t x_t x t (simulation-free)。NCSN 与 DDPM 均属此类仿射漂移设定。边际密度 p t ( x t ) : = ∫ p t ( x t ∣ x 0 ) p d a t a ( x 0 ) d x 0 p_t(x_t):=\int p_t(x_t|x_0)p_{\mathrm{data}}(x_0)dx_0 p t ( x t ) := ∫ p t ( x t ∣ x 0 ) p data ( x 0 ) d x 0 ,p 0 = p d a t a p_0=p_{\mathrm{data}} p 0 = p data 。适当选取 f ( t ) f(t) f ( t ) 、g ( t ) g(t) g ( t ) 可使前向过程逐渐加噪,最终 p T ( x T ) ≈ p p r i o r p_T(x_T)\approx p_{\mathrm{prior}} p T ( x T ) ≈ p prior (通常为高斯),为反转与生成提供便利起点。4.1.3 反向时间随机过程与生成
直观上,从噪声生成数据可通过“反转”前向过程实现:从先验采样一点,沿时间反向演化得到生成样本。对 ODE 而言时间反转自然;对 SDE,单条轨迹不可逆,但 Anderson (1982) 表明:前向过程式 (4.1.3) 的时间反转过程 { x ˉ ( t ) } t ∈ [ 0 , T ] \{\bar{x}(t)\}_{t\in[0,T]} { x ˉ ( t ) } t ∈ [ 0 , T ] 本身由一 SDE 支配,从 T T T 到 0 0 0 演化,动力学为:
d x ˉ ( t ) = [ f ( x ˉ ( t ) , t ) − g 2 ( t ) ∇ x log p t ( x ˉ ( t ) ) ] d t + g ( t ) d w ˉ ( t ) , x ˉ ( T ) ∼ p p r i o r ≈ p T . (4.1.6)
d\bar{x}(t) = \bigl[f(\bar{x}(t),t) - g^2(t)\nabla_x\log p_t(\bar{x}(t))\bigr]dt + g(t)\,d\bar{w}(t),\quad \bar{x}(T)\sim p_{\mathrm{prior}}\approx p_T. \tag{4.1.6}
d x ˉ ( t ) = [ f ( x ˉ ( t ) , t ) − g 2 ( t ) ∇ x log p t ( x ˉ ( t )) ] d t + g ( t ) d w ˉ ( t ) , x ˉ ( T ) ∼ p prior ≈ p T . ( 4.1.6 ) 这里 w ˉ ( t ) : = w ( T − t ) − w ( T ) \bar{w}(t):=w(T-t)-w(T) w ˉ ( t ) := w ( T − t ) − w ( T ) 为反向时间标准维纳过程。随机性 (g ≠ 0 g\neq 0 g = 0 ) 引入的修正项 − g 2 ( t ) ∇ x log p t ( x ˉ ( t ) ) -g^2(t)\nabla_x\log p_t(\bar{x}(t)) − g 2 ( t ) ∇ x log p t ( x ˉ ( t )) 体现扩散效应,保证反向动力学的边际与前向 SDE 诱导的边际一致。分数 s ( x , t ) : = ∇ x log p t ( x ) s(x,t):=\nabla_x\log p_t(x) s ( x , t ) := ∇ x log p t ( x ) 自然出现在式 (4.1.6) 中:一旦前向系数 f ( t ) f(t) f ( t ) 、g ( t ) g(t) g ( t ) 给定,分数是反向动力学中唯一的未知量 ;学得分数后,采样即数值积分式 (4.1.6)。反向过程为何能恢复结构化数据?分数项将轨迹拉向高密度区,噪声项提供受控随机性便于探索;沿反向时间 g ( t ) g(t) g ( t ) 通常逐渐减小,后期分数主导,轨迹集中在数据流形附近。
4.1.4 确定性过程:概率流 ODE(PF-ODE)
Song et al. (2020c) 还引入与式 (4.1.3) 具有相同边际分布族 的确定性 ODE——概率流 ODE(PF-ODE) :
d d t x ~ ( t ) = f ( x ~ ( t ) , t ) − 1 2 g 2 ( t ) ∇ x log p t ( x ~ ( t ) ) . (4.1.7)
\frac{d}{dt}\tilde{x}(t) = f(\tilde{x}(t),t) - \frac{1}{2}g^2(t)\nabla_x\log p_t(\tilde{x}(t)). \tag{4.1.7}
d t d x ~ ( t ) = f ( x ~ ( t ) , t ) − 2 1 g 2 ( t ) ∇ x log p t ( x ~ ( t )) . ( 4.1.7 ) 用学到的分数替代真实分数,从 t = T t=T t = T 积分到 t = 0 t=0 t = 0 (初值 x ~ ( T ) ∼ p p r i o r \tilde{x}(T)\sim p_{\mathrm{prior}} x ~ ( T ) ∼ p prior )即可生成样本。PF-ODE 并非简单去掉式 (4.1.6) 的扩散项;漂移中的系数 1 2 \frac{1}{2} 2 1 有原理性来源(见下节)。相比反向 SDE,PF-ODE 可沿时间正反两向积分,且能利用成熟的 ODE 数值求解器。
4.1.5 前向/反向 SDE 与 PF-ODE 的边际一致:福克–普朗克方程
定理 4.1.1(福克–普朗克方程保证边际一致) 设 { x ( t ) } \{x(t)\} { x ( t )} 满足前向 SDE 式 (4.1.3),初值 x ( 0 ) ∼ p 0 = p d a t a x(0)\sim p_0=p_{\mathrm{data}} x ( 0 ) ∼ p 0 = p data ,则其边际密度 p t p_t p t 满足福克–普朗克方程:
∂ t p t ( x ) = − ∇ x ⋅ [ f ( x , t ) p t ( x ) ] + 1 2 g 2 ( t ) Δ x p t ( x ) = − ∇ x ⋅ [ v ( x , t ) p t ( x ) ] ,
\partial_t p_t(x) = -\nabla_x\cdot[f(x,t)p_t(x)] + \frac{1}{2}g^2(t)\Delta_x p_t(x) = -\nabla_x\cdot[v(x,t)p_t(x)],
∂ t p t ( x ) = − ∇ x ⋅ [ f ( x , t ) p t ( x )] + 2 1 g 2 ( t ) Δ x p t ( x ) = − ∇ x ⋅ [ v ( x , t ) p t ( x )] , 其中 v ( x , t ) = f ( x , t ) − 1 2 g 2 ( t ) ∇ x log p t ( x ) v(x,t)=f(x,t)-\frac{1}{2}g^2(t)\nabla_x\log p_t(x) v ( x , t ) = f ( x , t ) − 2 1 g 2 ( t ) ∇ x log p t ( x ) 。进而:(i) PF-ODE d x ~ ( t ) d t = v ( x ~ ( t ) , t ) \frac{d\tilde{x}(t)}{dt}=v(\tilde{x}(t),t) d t d x ~ ( t ) = v ( x ~ ( t ) , t ) 从 x ~ ( 0 ) ∼ p 0 \tilde{x}(0)\sim p_0 x ~ ( 0 ) ∼ p 0 正向或 x ~ ( T ) ∼ p T \tilde{x}(T)\sim p_T x ~ ( T ) ∼ p T 反向积分,均有 x ~ ( t ) ∼ p t \tilde{x}(t)\sim p_t x ~ ( t ) ∼ p t ;(ii) 反向时间 SDE 式 (4.1.6) 从 x ˉ ( T ) ∼ p T \bar{x}(T)\sim p_T x ˉ ( T ) ∼ p T 出发(沿时间从 T T T 积到 0 0 0 ),有边际 x ˉ ( t ) ∼ p T − t \bar{x}(t)\sim p_{T-t} x ˉ ( t ) ∼ p T − t 。
因此,多种过程可产生同一边际序列 ;真正重要的是满足福克–普朗克方程。流映射 Ψ s → t ( x s ) = x s + ∫ s t v ( x τ , τ ) d τ \Psi_{s\to t}(x_s)=x_s+\int_s^t v(x_\tau,\tau)d\tau Ψ s → t ( x s ) = x s + ∫ s t v ( x τ , τ ) d τ 在适当光滑性下为光滑双射;无穷多条件 Q t ( x t ∣ x 0 ) Q_t(x_t|x_0) Q t ( x t ∣ x 0 ) 都可给出同一 p t ( x t ) p_t(x_t) p t ( x t ) (例如随机核 p t ( x t ∣ x 0 ) p_t(x_t|x_0) p t ( x t ∣ x 0 ) 、确定性 δ ( x t − Ψ t → 0 ( x 0 ) ) \delta(x_t-\Psi_{t\to 0}(x_0)) δ ( x t − Ψ t → 0 ( x 0 )) 或二者混合)。该思想在第 5.2、9.2.3 节会再现。
4.1.6 可计算例子:高斯动力学的演化
当 p d a t a p_{\mathrm{data}} p data 为高斯(或高斯混合)时,分数有闭式,可直接用初等微积分与线性代数推导反向 SDE 与 PF-ODE,无需 Anderson 的一般理论。一维情形:前向单步 x t + Δ t ∣ x t ∼ N ( a x t , r 2 ) x_{t+\Delta t}|x_t\sim\mathcal{N}(ax_t,r^2) x t + Δ t ∣ x t ∼ N ( a x t , r 2 ) ,当前边际 x t ∼ N ( m t , s t 2 ) x_t\sim\mathcal{N}(m_t,s_t^2) x t ∼ N ( m t , s t 2 ) ;由贝叶斯法则 p ( x t ∣ x t + Δ t ) p(x_t|x_{t+\Delta t}) p ( x t ∣ x t + Δ t ) 为高斯,均值与方差在 Δ t → 0 \Delta t\to 0 Δ t → 0 时展开可得反向 SDE 漂移,并可用高斯分数的闭式 − x − m t s t 2 -\frac{x-m_t}{s_t^2} − s t 2 x − m t 写成 f ( t ) x + g 2 ( t ) ∂ x log p t ( x ) f(t)x+g^2(t)\partial_x\log p_t(x) f ( t ) x + g 2 ( t ) ∂ x log p t ( x ) 的形式,与式 (4.1.6) 一致。PF-ODE 也可在高斯假设下直接推导:要求每步保持高斯,可得到速度场必须为仿射 v t ( x ) = a t x + b t v_t(x)=a_t x+b_t v t ( x ) = a t x + b t ,与均值/方差 ODE 匹配即得 x ′ ( t ) = f ( t ) x ( t ) − 1 2 g 2 ( t ) ∂ x log p t ( x ( t ) ) x'(t)=f(t)x(t)-\frac{1}{2}g^2(t)\partial_x\log p_t(x(t)) x ′ ( t ) = f ( t ) x ( t ) − 2 1 g 2 ( t ) ∂ x log p t ( x ( t )) 。
4.2.1 训练
用时间条件的神经网络 s ϕ ( x , t ) s_\phi(x,t) s ϕ ( x , t ) 近似真实分数 ∇ x log p t ( x ) \nabla_x\log p_t(x) ∇ x log p t ( x ) ,最小化加权分数匹配目标(式 (3.2.1) 的连续时间版)。为避开难解的真实分数,采用 DSM:在条件 x 0 ∼ p d a t a x_0\sim p_{\mathrm{data}} x 0 ∼ p data 下使用可处理的条件分数 ∇ x t log p t ( x t ∣ x 0 ) \nabla_{x_t}\log p_t(x_t|x_0) ∇ x t log p t ( x t ∣ x 0 ) ,损失为:
L D S M ( ϕ ; ω ( ⋅ ) ) : = 1 2 E t E x 0 E p t ( x t ∣ x 0 ) [ ω ( t ) ∥ s ϕ ( x t , t ) − ∇ x t log p t ( x t ∣ x 0 ) ∥ 2 2 ] , (4.2.1)
L_{\mathrm{DSM}}(\phi;\omega(\cdot)) := \frac{1}{2}\mathbb{E}_t\mathbb{E}_{x_0}\mathbb{E}_{p_t(x_t|x_0)}\left[\omega(t)\,\|s_\phi(x_t,t) - \nabla_{x_t}\log p_t(x_t|x_0)\|_2^2\right], \tag{4.2.1}
L DSM ( ϕ ; ω ( ⋅ )) := 2 1 E t E x 0 E p t ( x t ∣ x 0 ) [ ω ( t ) ∥ s ϕ ( x t , t ) − ∇ x t log p t ( x t ∣ x 0 ) ∥ 2 2 ] , ( 4.2.1 ) x 0 ∼ p d a t a x_0\sim p_{\mathrm{data}} x 0 ∼ p data 。命题 4.2.1 :式 (4.2.1) 的最小元 s ∗ s^* s ∗ 满足 s ∗ ( x t , t ) = E x 0 ∼ p ( ⋅ ∣ x t ) [ ∇ x t log p t ( x t ∣ x 0 ) ] = ∇ x t log p t ( x t ) s^*(x_t,t)=\mathbb{E}_{x_0\sim p(\cdot|x_t)}[\nabla_{x_t}\log p_t(x_t|x_0)]=\nabla_{x_t}\log p_t(x_t) s ∗ ( x t , t ) = E x 0 ∼ p ( ⋅ ∣ x t ) [ ∇ x t log p t ( x t ∣ x 0 )] = ∇ x t log p t ( x t ) (几乎处处)。
4.2.2 采样与推断
将学到的 s ϕ × ( x , t ) s_{\phi^\times}(x,t) s ϕ × ( x , t ) 代入反向时间 SDE 式 (4.1.6) 与 PF-ODE 式 (4.1.7),即得可用于生成的经验反向 SDE 与经验 PF-ODE 。生成时从 x T ∼ p p r i o r x_T\sim p_{\mathrm{prior}} x T ∼ p prior 出发,用 Euler–Maruyama(反向 SDE)或 Euler 法(PF-ODE)从 t = T t=T t = T 积分到 t = 0 t=0 t = 0 ,得到 x 0 x_0 x 0 的近似样本。洞察 4.2.1 :从扩散模型采样本质上等价于求解相应的概率流 ODE 或反向时间 SDE;这解释了扩散采样慢的原因——数值求解这些微分方程本身是迭代的,常需大量步数。PF-ODE 还可用于反转 (编码):正向积分将数据映射为各时刻的带噪表示;以及精确对数似然 :通过变量变换公式,沿 PF-ODE 轨迹积分散度 ∇ ⋅ v ϕ × \nabla\cdot v_{\phi^\times} ∇ ⋅ v ϕ × 可得 log p ϕ × O D E ( x 0 ; 0 ) \log p_{\phi^\times}^{\mathrm{ODE}}(x_0;0) log p ϕ × ODE ( x 0 ; 0 ) (见式 (4.2.7))。
VE SDE(方差爆炸) :f = 0 f=0 f = 0 ,g ( t ) = d σ 2 ( t ) / d t g(t)=\sqrt{d\sigma^2(t)/dt} g ( t ) = d σ 2 ( t ) / d t ,即 d x ( t ) = d σ 2 ( t ) / d t d w ( t ) dx(t)=\sqrt{d\sigma^2(t)/dt}\,dw(t) d x ( t ) = d σ 2 ( t ) / d t d w ( t ) 。扰动核 p t ( x t ∣ x 0 ) = N ( x t ; x 0 , ( σ 2 ( t ) − σ 2 ( 0 ) ) I ) p_t(x_t|x_0)=\mathcal{N}(x_t;x_0,(\sigma^2(t)-\sigma^2(0))I) p t ( x t ∣ x 0 ) = N ( x t ; x 0 , ( σ 2 ( t ) − σ 2 ( 0 )) I ) ,先验 p p r i o r : = N ( 0 , σ 2 ( T ) I ) p_{\mathrm{prior}}:=\mathcal{N}(0,\sigma^2(T)I) p prior := N ( 0 , σ 2 ( T ) I ) 。NCSN 的几何噪声调度即 VE SDE 的离散化。
VP SDE(方差保持) :f ( x , t ) = − 1 2 β ( t ) x f(x,t)=-\frac{1}{2}\beta(t)x f ( x , t ) = − 2 1 β ( t ) x ,g ( t ) = β ( t ) g(t)=\sqrt{\beta(t)} g ( t ) = β ( t ) ,即 d x ( t ) = − 1 2 β ( t ) x ( t ) d t + β ( t ) d w ( t ) dx(t)=-\frac{1}{2}\beta(t)x(t)dt+\sqrt{\beta(t)}\,dw(t) d x ( t ) = − 2 1 β ( t ) x ( t ) d t + β ( t ) d w ( t ) 。扰动核为 p t ( x t ∣ x 0 ) = N ( x t ; x 0 e − 1 2 ∫ 0 t β ( τ ) d τ , ( 1 − e − ∫ 0 t β ( τ ) d τ ) I ) p_t(x_t|x_0)=\mathcal{N}(x_t; x_0 e^{-\frac{1}{2}\int_0^t\beta(\tau)d\tau}, (1-e^{-\int_0^t\beta(\tau)d\tau})I) p t ( x t ∣ x 0 ) = N ( x t ; x 0 e − 2 1 ∫ 0 t β ( τ ) d τ , ( 1 − e − ∫ 0 t β ( τ ) d τ ) I ) ,先验 p p r i o r : = N ( 0 , I ) p_{\mathrm{prior}}:=\mathcal{N}(0,I) p prior := N ( 0 , I ) 。DDPM 的线性 β ( t ) \beta(t) β ( t ) 调度即 VP SDE 的离散化。
4.3.3(可选)扰动核 p t ( x t ∣ x 0 ) p_t(x_t|x_0) p t ( x t ∣ x 0 ) 的推导 当漂移为 f ( x , t ) = f ( t ) x f(x,t)=f(t)x f ( x , t ) = f ( t ) x 时,前向 SDE 为线性,条件过程保持高斯;均值 m ( t ) m(t) m ( t ) 与(标量)方差 P ( t ) P(t) P ( t ) 满足 ODE:d m d t = f ( t ) m \frac{dm}{dt}=f(t)m d t d m = f ( t ) m ,d P d t = 2 f ( t ) P + g 2 ( t ) \frac{dP}{dt}=2f(t)P+g^2(t) d t d P = 2 f ( t ) P + g 2 ( t ) ,由积分因子法可得闭式(式 (4.3.4)),从而 p t ( x t ∣ x 0 ) p_t(x_t|x_0) p t ( x t ∣ x 0 ) 有闭式。
实践中损失(如式 (2.2.8)、式 (4.2.1))更直接依赖的是从数据出发的累积转移核 p t ( x t ∣ x 0 ) p_t(x_t|x_0) p t ( x t ∣ x 0 ) ,而非单步 p ( x t ∣ x t − Δ t ) p(x_t|x_{t-\Delta t}) p ( x t ∣ x t − Δ t ) 。一般仿射前向过程 定义为 p t ( x t ∣ x 0 ) : = N ( x t ; α t x 0 , σ t 2 I ) p_t(x_t|x_0):=\mathcal{N}(x_t;\alpha_t x_0,\sigma_t^2 I) p t ( x t ∣ x 0 ) := N ( x t ; α t x 0 , σ t 2 I ) ,即 x t = α t x 0 + σ t ϵ x_t=\alpha_t x_0+\sigma_t\epsilon x t = α t x 0 + σ t ϵ ,ϵ ∼ N ( 0 , I ) \epsilon\sim\mathcal{N}(0,I) ϵ ∼ N ( 0 , I ) ,涵盖 VE(NCSN)、VP(DDPM)及 Flow Matching 的线性插值(如 α t = 1 − t \alpha_t=1-t α t = 1 − t ,σ t = t \sigma_t=t σ t = t )。引理 4.4.1 表明:给定该扰动核,存在唯一的线性 SDE d x ( t ) = f ( t ) x ( t ) d t + g ( t ) d w ( t ) dx(t)=f(t)x(t)dt+g(t)dw(t) d x ( t ) = f ( t ) x ( t ) d t + g ( t ) d w ( t ) 使其成立,系数 f ( t ) f(t) f ( t ) 、g 2 ( t ) g^2(t) g 2 ( t ) 可由 α t \alpha_t α t 、σ t \sigma_t σ t 解析表出(式 (4.4.2))。引理 4.4.2 给出一般 α t \alpha_t α t 、σ t \sigma_t σ t 下的反向条件转移核 p ( x t ∣ x s , x ) p(x_t|x_s,x) p ( x t ∣ x s , x ) 的闭式(式 (4.4.4)),进而可得到与 DDPM 类似的扩散损失(x-预测/ε-预测)及采样格式(式 (4.4.8))。
4.5.1 从转移核的边际化得到福克–普朗克方程 由 Chapman–Kolmogorov 与变量替换、Taylor 展开(含 Taylor–Gaussian 平滑公式),可启发式得到 p t p_t p t 满足的福克–普朗克方程。4.5.2 反向时间 SDE 的形式从何而来 用贝叶斯公式写出 p ( x t ∣ x t + Δ t ) p(x_t|x_{t+\Delta t}) p ( x t ∣ x t + Δ t ) ,对 log p t + Δ t ( x t + Δ t ) \log p_{t+\Delta t}(x_{t+\Delta t}) log p t + Δ t ( x t + Δ t ) 做一阶 Taylor 展开并配方,可得反向一步转移近似为高斯,均值为 x t + Δ t − [ f ( x t + Δ t , t + Δ t ) − g 2 ( t + Δ t ) s ( x t + Δ t , t + Δ t ) ] Δ t x_{t+\Delta t}-[f(x_{t+\Delta t},t+\Delta t)-g^2(t+\Delta t)s(x_{t+\Delta t},t+\Delta t)]\Delta t x t + Δ t − [ f ( x t + Δ t , t + Δ t ) − g 2 ( t + Δ t ) s ( x t + Δ t , t + Δ t )] Δ t ,方差 g 2 ( t + Δ t ) Δ t I g^2(t+\Delta t)\Delta t\,I g 2 ( t + Δ t ) Δ t I ;令 Δ t → 0 \Delta t\to 0 Δ t → 0 即得式 (4.1.6)。
本章将变分与基于分数的离散时间扩散过程统一到连续时间分数 SDE 框架 。DDPM 与 NCSN 可视为具有不同漂移/扩散系数的 SDE 的离散化。核心是反向时间 SDE 的存在性,其漂移仅依赖一个未知量:各时刻边际的分数 ∇ x log p t ( x ) \nabla_x\log p_t(x) ∇ x log p t ( x ) 。此外引入了概率流 ODE(PF-ODE) ,与 SDE 共享同一边际族 { p t } \{p_t\} { p t } ,由福克–普朗克方程保证。因此,生成在本质上等价于求解微分方程:训练即学习定义该方程向量场的分数,采样即数值积分。PF-ODE 这一确定性流为下一章的基于流的视角 架起桥梁。
万物皆流。 ——赫拉克利特
变量变换公式 (式 (5.0.1):p ( x ) = p p r i o r ( z ) ∣ det ∂ f − 1 ( x ) ∂ x ∣ p(x)=p_{\mathrm{prior}}(z)\left|\det\frac{\partial f^{-1}(x)}{\partial x}\right| p ( x ) = p prior ( z ) det ∂ x ∂ f − 1 ( x ) ,z = f − 1 ( x ) z=f^{-1}(x) z = f − 1 ( x ) )在现代生成建模中焕发新生。分数 SDE 通过福克–普朗克方程用微分方程连接数据与先验;从本质上看,这种连续演化仍是同一基本原理的动态形式。本章在这一原理之上探讨流匹配(Flow Matching, FM) :从(连续)归一化流自然延伸,将扩散理解为一种密度输运过程。
5.1.1 归一化流(NF) NF 通过可逆映射 f ϕ : R D → R D f_\phi:\mathbb{R}^D\to\mathbb{R}^D f ϕ : R D → R D (x = f ϕ ( z ) x=f_\phi(z) x = f ϕ ( z ) ,z ∼ p p r i o r z\sim p_{\mathrm{prior}} z ∼ p prior )建模 p d a t a ( x ) p_{\mathrm{data}}(x) p data ( x ) ,利用变量变换公式得 log p ϕ ( x ) = log p p r i o r ( z ) + log ∣ det ∂ f ϕ − 1 ( x ) ∂ x ∣ \log p_\phi(x)=\log p_{\mathrm{prior}}(z)+\log\left|\det\frac{\partial f_\phi^{-1}(x)}{\partial x}\right| log p ϕ ( x ) = log p prior ( z ) + log det ∂ x ∂ f ϕ − 1 ( x ) 。训练目标为 MLE:L N F ( ϕ ) = E x ∼ p d a t a [ log p ϕ ( x ) ] \mathcal{L}_{\mathrm{NF}}(\phi)=\mathbb{E}_{x\sim p_{\mathrm{data}}}[\log p_\phi(x)] L NF ( ϕ ) = E x ∼ p data [ log p ϕ ( x )] 。雅可比行列式一般 O ( D 3 ) O(D^3) O ( D 3 ) ;NF 采用一系列可逆映射 f ϕ = f L − 1 ∘ ⋯ ∘ f 0 f_\phi=f_{L-1}\circ\cdots\circ f_0 f ϕ = f L − 1 ∘ ⋯ ∘ f 0 ,每层雅可比易算(如 Planar Flow、Residual Flow 等),采样即 x 0 ∼ p p r i o r x_0\sim p_{\mathrm{prior}} x 0 ∼ p prior ,x = f ϕ ( x 0 ) x=f_\phi(x_0) x = f ϕ ( x 0 ) 。
5.1.2 神经 ODE(NODE) 将离散 NF 的每层 x k + 1 = x k + v ϕ k ( x k , k ) x_{k+1}=x_k+v_{\phi k}(x_k,k) x k + 1 = x k + v ϕ k ( x k , k ) 视为 ODE d x ( t ) d t = v ϕ ( x ( t ) , t ) \frac{dx(t)}{dt}=v_\phi(x(t),t) d t d x ( t ) = v ϕ ( x ( t ) , t ) 的 Euler 离散;层数无穷、步长趋于零时得到神经 ODE / 连续归一化流(CNF) 。NODE 从 x ( 0 ) ∼ p p r i o r x(0)\sim p_{\mathrm{prior}} x ( 0 ) ∼ p prior 出发,沿学到的速度场演化,使终端分布 p ϕ ( ⋅ , T ) ≈ p d a t a p_\phi(\cdot,T)\approx p_{\mathrm{data}} p ϕ ( ⋅ , T ) ≈ p data 。瞬时变量变换公式 (引理 5.1.1):∂ log p ( z ( t ) , t ) ∂ t = − ∇ z ⋅ F ( z ( t ) , t ) \frac{\partial\log p(z(t),t)}{\partial t}=-\nabla_z\cdot F(z(t),t) ∂ t ∂ l o g p ( z ( t ) , t ) = − ∇ z ⋅ F ( z ( t ) , t ) ,即连续性方程的特例。因此 log p ϕ ( x ( T ) , T ) = log p p r i o r ( x ( 0 ) , 0 ) − ∫ 0 T ∇ x ⋅ v ϕ ( x ( t ) , t ) d t \log p_\phi(x(T),T)=\log p_{\mathrm{prior}}(x(0),0)-\int_0^T \nabla_x\cdot v_\phi(x(t),t)dt log p ϕ ( x ( T ) , T ) = log p prior ( x ( 0 ) , 0 ) − ∫ 0 T ∇ x ⋅ v ϕ ( x ( t ) , t ) d t ,可精确计算似然并做 MLE 训练;梯度可通过伴随灵敏度法计算,但训练中每步都需数值积分,成本高。
分数 SDE 与 NODE 都将生成视为学习一条连续时间流(随机或确定),将简单先验运送到数据。流匹配(FM) 将这一思想推广:学习任意两个端点分布 p s r c p_{\mathrm{src}} p src 与 p t g t p_{\mathrm{tgt}} p tgt 之间的流;生成任务是特例(p s r c p_{\mathrm{src}} p src 为高斯先验,p t g t = p d a t a p_{\mathrm{tgt}}=p_{\mathrm{data}} p tgt = p data )。当 p s r c p_{\mathrm{src}} p src 为高斯时称为高斯流匹配 。
5.2.1 从基于分数方法得到的启示 扩散模型通过前向条件路径 p t ( x t ∣ x 0 ) = N ( x t ; α t x 0 , σ t 2 I ) p_t(x_t|x_0)=\mathcal{N}(x_t;\alpha_t x_0,\sigma_t^2 I) p t ( x t ∣ x 0 ) = N ( x t ; α t x 0 , σ t 2 I ) 隐式定义边际 p t p_t p t ,其演化由速度场 v t ( x ) = f ( t ) x − 1 2 g 2 ( t ) ∇ x log p t ( x ) v_t(x)=f(t)x-\frac{1}{2}g^2(t)\nabla_x\log p_t(x) v t ( x ) = f ( t ) x − 2 1 g 2 ( t ) ∇ x log p t ( x ) (PF-ODE)支配。学习目标是对齐边际分数,但边际分数难解;通过对 x 0 x_0 x 0 条件化,用条件分数 ∇ x t log p t ( x t ∣ x 0 ) \nabla_{x_t}\log p_t(x_t|x_0) ∇ x t log p t ( x t ∣ x 0 ) 作为代理目标(L S M = L D S M + C L_{\mathrm{SM}}=L_{\mathrm{DSM}}+C L SM = L DSM + C ),最小元 s ∗ ( x t , t ) = ∇ x t log p t ( x t ) s^*(x_t,t)=\nabla_{x_t}\log p_t(x_t) s ∗ ( x t , t ) = ∇ x t log p t ( x t ) 。底层规则仍是福克–普朗克方程。
5.2.2 流匹配框架 (1) 定义条件路径与边际 :设 p 0 = p s r c p_0=p_{\mathrm{src}} p 0 = p src ,p 1 = p t g t p_1=p_{\mathrm{tgt}} p 1 = p tgt ;通过潜变量 z ∼ π ( z ) z\sim\pi(z) z ∼ π ( z ) 与条件分布 p t ( x t ∣ z ) p_t(x_t|z) p t ( x t ∣ z ) 定义 p t ( x t ) = ∫ p t ( x t ∣ z ) π ( z ) d z p_t(x_t)=\int p_t(x_t|z)\pi(z)dz p t ( x t ) = ∫ p t ( x t ∣ z ) π ( z ) d z ,满足端点条件。(2) 速度场 :目标是找到 v t ( x ) v_t(x) v t ( x ) 使 ODE d x ( t ) d t = v t ( x ( t ) ) \frac{dx(t)}{dt}=v_t(x(t)) d t d x ( t ) = v t ( x ( t )) 产生的 x ( t ) x(t) x ( t ) 的边际为 p t p_t p t ;这由连续性方程 ∂ t p t + ∇ ⋅ ( v t p t ) = 0 \partial_t p_t+\nabla\cdot(v_t p_t)=0 ∂ t p t + ∇ ⋅ ( v t p t ) = 0 刻画。v t v_t v t 一般不唯一(无穷多流可诱导同一 p t p_t p t )。(3) 通过条件策略学习 :边际速度 v t ( x ) v_t(x) v t ( x ) 难解,引入条件速度 v t ( x ∣ z ) v_t(x|z) v t ( x ∣ z ) ,使 v t ( x ) = E z ∼ p ( ⋅ ∣ x t ) [ v t ( x ∣ z ) ] v_t(x)=\mathbb{E}_{z\sim p(\cdot|x_t)}[v_t(x|z)] v t ( x ) = E z ∼ p ( ⋅ ∣ x t ) [ v t ( x ∣ z )] (式 (5.2.10))。训练目标 L F M ( ϕ ) = E t , x t ∼ p t [ ∥ v ϕ ( x t , t ) − v t ( x t ) ∥ 2 ] L_{\mathrm{FM}}(\phi)=\mathbb{E}_{t,x_t\sim p_t}[\|v_\phi(x_t,t)-v_t(x_t)\|^2] L FM ( ϕ ) = E t , x t ∼ p t [ ∥ v ϕ ( x t , t ) − v t ( x t ) ∥ 2 ] 等价于条件流匹配 L C F M ( ϕ ) = E t , z ∼ π , x t ∼ p t ( ⋅ ∣ z ) [ ∥ v ϕ ( x t , t ) − v t ( x t ∣ z ) ∥ 2 ] + C L_{\mathrm{CFM}}(\phi)=\mathbb{E}_{t,z\sim\pi,x_t\sim p_t(\cdot|z)}[\|v_\phi(x_t,t)-v_t(x_t|z)\|^2]+C L CFM ( ϕ ) = E t , z ∼ π , x t ∼ p t ( ⋅ ∣ z ) [ ∥ v ϕ ( x t , t ) − v t ( x t ∣ z ) ∥ 2 ] + C (定理 5.2.1 )。要使 L C F M L_{\mathrm{CFM}} L CFM 可做 simulation-free 训练,需:(i) 能从 p t ( ⋅ ∣ z ) p_t(\cdot|z) p t ( ⋅ ∣ z ) 容易采样;(ii) v t ( ⋅ ∣ z ) v_t(\cdot|z) v t ( ⋅ ∣ z ) 有简单闭式。第 5.3 节给出具体构造。
5.2.3 扩散模型、一般流匹配与 NODE 的比较 扩散(或高斯 FM)与一般 FM 在源/目标分布、潜变量、条件路径、条件速度及学习目标上对应关系见原书 Table 5.1;底层规则均为连续性方程/福克–普朗克。FM 可视为 NODE 的 simulation-free 替代:在给定边际路径下,无需在训练中精确模拟 ODE,而是直接对给定的条件速度做回归。
5.2.4(可选)底层规则:质量守恒 定理 5.2.2 :流诱导的密度 p t f w d = Ψ 0 → t # p s r c p_t^{\mathrm{fwd}}=\Psi_{0\to t\#}p_{\mathrm{src}} p t fwd = Ψ 0 → t # p src 与给定路径 p t p_t p t 一致,当且仅当 ( p t , v t ) (p_t,v_t) ( p t , v t ) 满足连续性方程 ∂ t p t + ∇ x ⋅ ( p t v t ) = 0 \partial_t p_t+\nabla_x\cdot(p_t v_t)=0 ∂ t p t + ∇ x ⋅ ( p t v t ) = 0 。命题 5.2.3 :若每个条件速度 v t ( ⋅ ∣ z ) v_t(\cdot|z) v t ( ⋅ ∣ z ) 诱导的条件密度路径与 p t ( ⋅ ∣ z ) p_t(\cdot|z) p t ( ⋅ ∣ z ) 一致,则由式 (5.2.10) 定义的边际速度 v t v_t v t 诱导的边际路径与 p t p_t p t 一致。
5.3.1 关键特例:高斯到高斯桥 当 p s r c p_{\mathrm{src}} p src 、p t g t p_{\mathrm{tgt}} p tgt 均为高斯时,取 p t ( x t ) = N ( x t ; μ ( t ) , σ 2 ( t ) I ) p_t(x_t)=\mathcal{N}(x_t;\mu(t),\sigma^2(t)I) p t ( x t ) = N ( x t ; μ ( t ) , σ 2 ( t ) I ) ,一种简单实现为 Ψ 0 → t ( x ) : = μ ( t ) + σ ( t ) x − μ ( 0 ) σ ( 0 ) \Psi_{0\to t}(x):=\mu(t)+\sigma(t)\frac{x-\mu(0)}{\sigma(0)} Ψ 0 → t ( x ) := μ ( t ) + σ ( t ) σ ( 0 ) x − μ ( 0 ) 。命题 5.3.1 :该高斯路径对应的唯一速度场为 v t ( x ) = σ ′ ( t ) σ ( t ) ( x − μ ( t ) ) + μ ′ ( t ) v_t(x)=\frac{\sigma'(t)}{\sigma(t)}(x-\mu(t))+\mu'(t) v t ( x ) = σ ( t ) σ ′ ( t ) ( x − μ ( t )) + μ ′ ( t ) 。
5.3.2 条件“概率路径优先”构造 先设计条件密度路径 p t ( ⋅ ∣ z ) p_t(\cdot|z) p t ( ⋅ ∣ z ) ,再由命题 5.3.1 等得到 v t ( ⋅ ∣ z ) v_t(\cdot|z) v t ( ⋅ ∣ z ) 。(i) 双侧 z = ( x 0 , x 1 ) z=(x_0,x_1) z = ( x 0 , x 1 ) :π ( z ) = p s r c ( x 0 ) p t g t ( x 1 ) \pi(z)=p_{\mathrm{src}}(x_0)p_{\mathrm{tgt}}(x_1) π ( z ) = p src ( x 0 ) p tgt ( x 1 ) ,p t ( x t ∣ z ) = N ( x t ; a t x 0 + b t x 1 , σ 2 I ) p_t(x_t|z)=\mathcal{N}(x_t;a_t x_0+b_t x_1,\sigma^2 I) p t ( x t ∣ z ) = N ( x t ; a t x 0 + b t x 1 , σ 2 I ) ,取 a t = 1 − t a_t=1-t a t = 1 − t ,b t = t b_t=t b t = t 得 v t ( x ∣ z ) = a t ′ x 0 + b t ′ x 1 v_t(x|z)=a_t' x_0+b_t' x_1 v t ( x ∣ z ) = a t ′ x 0 + b t ′ x 1 。(ii) 单侧 z = x 1 ∼ p d a t a z=x_1\sim p_{\mathrm{data}} z = x 1 ∼ p data :p t ( x t ∣ x 1 ) = N ( x t ; b t x 1 , a t 2 I ) p_t(x_t|x_1)=\mathcal{N}(x_t;b_t x_1,a_t^2 I) p t ( x t ∣ x 1 ) = N ( x t ; b t x 1 , a t 2 I ) ,a 0 = 1 , b 0 = 0 a_0=1,b_0=0 a 0 = 1 , b 0 = 0 ,a 1 = 0 , b 1 = 1 a_1=0,b_1=1 a 1 = 0 , b 1 = 1 ,边际化得 p 0 = N ( 0 , I ) p_0=\mathcal{N}(0,I) p 0 = N ( 0 , I ) ,p 1 = p d a t a p_1=p_{\mathrm{data}} p 1 = p data ;v t ( x ∣ x 1 ) = b t ′ x 1 + a t ′ a t ( x − b t x 1 ) v_t(x|x_1)=b_t' x_1+\frac{a_t'}{a_t}(x-b_t x_1) v t ( x ∣ x 1 ) = b t ′ x 1 + a t a t ′ ( x − b t x 1 ) 。单侧与双侧 CFM 在适当配对下共享同一最小元。高斯 FM = 扩散模型 :在 a t = 1 − t a_t=1-t a t = 1 − t 、b t = t b_t=t b t = t 等约定下,高斯 FM 与预测速度的扩散模型等价(第 6 章详述)。
5.3.3 条件“流优先”构造 直接定义条件仿射流 Ψ 0 → t ( x 0 ; z ) : = μ t ( z ) + A t ( z ) x 0 \Psi_{0\to t}(x_0;z):=\mu_t(z)+A_t(z)x_0 Ψ 0 → t ( x 0 ; z ) := μ t ( z ) + A t ( z ) x 0 ,则 p t ( ⋅ ∣ z ) = ( Ψ 0 → t ( ⋅ ; z ) ) # p s r c p_t(\cdot|z)=(\Psi_{0\to t}(\cdot;z))_{\#}p_{\mathrm{src}} p t ( ⋅ ∣ z ) = ( Ψ 0 → t ( ⋅ ; z ) ) # p src ,v t ( x ∣ z ) = d d t Ψ 0 → t ( Ψ t → 0 ( x ; z ) ; z ) = μ t ′ ( z ) + A t ′ ( z ) A t ( z ) − 1 ( x − μ t ( z ) ) v_t(x|z)=\frac{d}{dt}\Psi_{0\to t}(\Psi_{t\to 0}(x;z);z)=\mu_t'(z)+A_t'(z)A_t(z)^{-1}(x-\mu_t(z)) v t ( x ∣ z ) = d t d Ψ 0 → t ( Ψ t → 0 ( x ; z ) ; z ) = μ t ′ ( z ) + A t ′ ( z ) A t ( z ) − 1 ( x − μ t ( z )) 。单侧 z = x 1 z=x_1 z = x 1 取 μ t ( z ) = b t z \mu_t(z)=b_t z μ t ( z ) = b t z 、A t ( z ) = a t I A_t(z)=a_t I A t ( z ) = a t I 即得 x t = a t x 0 + b t x 1 x_t=a_t x_0+b_t x_1 x t = a t x 0 + b t x 1 ,v t ( x t ∣ x 1 ) = a t ′ x 0 + b t ′ x 1 v_t(x_t|x_1)=a_t' x_0+b_t' x_1 v t ( x t ∣ x 1 ) = a t ′ x 0 + b t ′ x 1 ,与路径优先构造一致。
5.3.4 概率路径优先 vs 流优先 路径优先(欧拉视角)先给定 p t ( ⋅ ∣ z ) p_t(\cdot|z) p t ( ⋅ ∣ z ) (常取高斯/仿射),再求 v t ( ⋅ ∣ z ) v_t(\cdot|z) v t ( ⋅ ∣ z ) ;流优先(拉格朗日视角)先给定 Ψ 0 → t ( ⋅ ∣ z ) \Psi_{0\to t}(\cdot|z) Ψ 0 → t ( ⋅ ∣ z ) ,再对时间求导得 v t ( ⋅ ∣ z ) v_t(\cdot|z) v t ( ⋅ ∣ z ) 。两者在正则性下等价,但在唯一性、闭式与端点约束上各有特点(见原书表格)。
5.4(可选)典范仿射流的性质 线性插值 x t = ( 1 − t ) x 0 + t x 1 x_t=(1-t)x_0+tx_1 x t = ( 1 − t ) x 0 + t x 1 (a t = 1 − t a_t=1-t a t = 1 − t ,b t = t b_t=t b t = t )对应训练目标 E t , x 0 , x 1 [ ∥ v ϕ ( x t , t ) − ( x 1 − x 0 ) ∥ 2 ] \mathbb{E}_{t,x_0,x_1}[\|v_\phi(x_t,t)-(x_1-x_0)\|^2] E t , x 0 , x 1 [ ∥ v ϕ ( x t , t ) − ( x 1 − x 0 ) ∥ 2 ] 。Rectify :用已训练扩散模型 v ϕ × v_{\phi^\times} v ϕ × 作为 PF-ODE 漂移,从 z 0 ∼ p s r c z_0\sim p_{\mathrm{src}} z 0 ∼ p src 积分得 z ^ 1 = z ( 1 ) \hat{z}_1=z(1) z ^ 1 = z ( 1 ) ,得到依赖耦合 ( z 0 , z ^ 1 ) (z_0,\hat{z}_1) ( z 0 , z ^ 1 ) 替代独立配对,使轨迹更平滑。Reflow :反复应用 Rectify,重新拟合流并生成新耦合 π ( k + 1 ) \pi^{(k+1)} π ( k + 1 ) ,逐步拉直轨迹。命题 5.4.1–5.4.2 :Rectify 不增加运输成本;Reflow 使路径“直率”下降。直线耦合不一定是最优传输意义下的最优(见第 7 章)。
本章阐述了扩散模型的第三个基础视角——基于确定性流的视角 。从利用变量变换公式的归一化流 ,到神经 ODE 中由速度场支配的连续时间变换,再到流匹配 :通过预设概率路径与满足连续性方程的速度场,将难解的边际速度匹配转化为对已知条件速度的简单回归,再次运用条件化技巧 ,训练完全 simulation-free。扩散模型本身可视为学习从高斯先验到数据分布的确定性流的特例。三个视角(变分、分数、流)都收敛于连续时间生成过程,并依赖条件化策略实现可处理学习。下一章将把这三条线统一到一个框架下,并说明福克–普朗克方程是如何作为普适规律统摄所有视角的。
数学是给不同事物以同一名字的艺术。 ——庞加莱
本章在统一图景下连接变分、基于分数与基于流的视角。尽管动机不同,这些方法都收敛于同一核心机制:定义一条前向破坏过程以勾画边际路径,然后学习一个依赖时间的向量场 ,将简单先验沿该路径运送到数据分布。条件化技巧 (6.1 节)是各视角的共同要素,将难解的边际目标转化为可处理的条件目标。
三种视角的原始目标(固定 t t t )分别为:
变分 :最小化 J K L ( ϕ ) : = E p t ( x t ) [ D K L ( p ( x t − Δ t ∣ x t ) ∥ p ϕ ( x t − Δ t ∣ x t ) ) ] J_{\mathrm{KL}}(\phi):=\mathbb{E}_{p_t(x_t)}[D_{\mathrm{KL}}(p(x_{t-\Delta t}|x_t)\|p_\phi(x_{t-\Delta t}|x_t))] J KL ( ϕ ) := E p t ( x t ) [ D KL ( p ( x t − Δ t ∣ x t ) ∥ p ϕ ( x t − Δ t ∣ x t ))] ;分数 :J S M ( ϕ ) : = E p t ( x t ) [ ∥ s ϕ ( x t , t ) − ∇ x log p t ( x t ) ∥ 2 2 ] J_{\mathrm{SM}}(\phi):=\mathbb{E}_{p_t(x_t)}[\|s_\phi(x_t,t)-\nabla_x\log p_t(x_t)\|_2^2] J SM ( ϕ ) := E p t ( x t ) [ ∥ s ϕ ( x t , t ) − ∇ x log p t ( x t ) ∥ 2 2 ] ;流 :J F M ( ϕ ) : = E p t ( x t ) [ ∥ v ϕ ( x t , t ) − v t ( x t ) ∥ 2 2 ] J_{\mathrm{FM}}(\phi):=\mathbb{E}_{p_t(x_t)}[\|v_\phi(x_t,t)-v_t(x_t)\|_2^2] J FM ( ϕ ) := E p t ( x t ) [ ∥ v ϕ ( x t , t ) − v t ( x t ) ∥ 2 2 ] 。三者都依赖不可知的真实量。条件化于数据 x 0 x_0 x 0 将每一项都改写为在已知高斯条件 p t ( x t ∣ x 0 ) p_t(x_t|x_0) p t ( x t ∣ x 0 ) 下的期望,得到梯度等价、闭式可算的回归目标:J K L = J C K L + C J_{\mathrm{KL}}=J_{\mathrm{CKL}}+C J KL = J CKL + C ,J S M = J D S M + C J_{\mathrm{SM}}=J_{\mathrm{DSM}}+C J SM = J DSM + C ,J F M = J C F M + C J_{\mathrm{FM}}=J_{\mathrm{CFM}}+C J FM = J CFM + C 。最小元唯一且与真实目标一致(式 (6.1.1)):p ∗ ( x t − Δ t ∣ x t ) = p ( x t − Δ t ∣ x t ) p^*(x_{t-\Delta t}|x_t)=p(x_{t-\Delta t}|x_t) p ∗ ( x t − Δ t ∣ x t ) = p ( x t − Δ t ∣ x t ) ,s ∗ ( x t , t ) = ∇ x t log p t ( x t ) s^*(x_t,t)=\nabla_{x_t}\log p_t(x_t) s ∗ ( x t , t ) = ∇ x t log p t ( x t ) ,v ∗ ( x t , t ) = v t ( x t ) v^*(x_t,t)=v_t(x_t) v ∗ ( x t , t ) = v t ( x t ) 。因此变分扩散、分数 SDE 与流匹配是同一原理的不同侧面 。
6.2.1 四种常见参数化 设前向扰动核 p t ( x t ∣ x 0 ) = N ( x t ; α t x 0 , σ t 2 I ) p_t(x_t|x_0)=\mathcal{N}(x_t;\alpha_t x_0,\sigma_t^2 I) p t ( x t ∣ x 0 ) = N ( x t ; α t x 0 , σ t 2 I ) ,x 0 ∼ p d a t a x_0\sim p_{\mathrm{data}} x 0 ∼ p data 。四种参数化及其最优解与损失为:
ε-预测(噪声) :ϵ ϕ ( x t , t ) ≈ E [ ϵ ∣ x t ] = ϵ ∗ ( x t , t ) \epsilon_\phi(x_t,t)\approx\mathbb{E}[\epsilon|x_t]=\epsilon^*(x_t,t) ϵ ϕ ( x t , t ) ≈ E [ ϵ ∣ x t ] = ϵ ∗ ( x t , t ) ,损失 L n o i s e ( ϕ ) = E t [ ω ( t ) E x 0 , ϵ [ ∥ ϵ ϕ ( x t , t ) − ϵ ∥ 2 2 ] ] \mathcal{L}_{\mathrm{noise}}(\phi)=\mathbb{E}_t[\omega(t)\,\mathbb{E}_{x_0,\epsilon}[\|\epsilon_\phi(x_t,t)-\epsilon\|_2^2]] L noise ( ϕ ) = E t [ ω ( t ) E x 0 , ϵ [ ∥ ϵ ϕ ( x t , t ) − ϵ ∥ 2 2 ]] 。x-预测(干净) :x ϕ ( x t , t ) ≈ E [ x 0 ∣ x t ] = x ∗ ( x t , t ) x_\phi(x_t,t)\approx\mathbb{E}[x_0|x_t]=x^*(x_t,t) x ϕ ( x t , t ) ≈ E [ x 0 ∣ x t ] = x ∗ ( x t , t ) ,损失 L c l e a n ( ϕ ) = E t [ ω ( t ) E x 0 , ϵ [ ∥ x ϕ ( x t , t ) − x 0 ∥ 2 2 ] ] \mathcal{L}_{\mathrm{clean}}(\phi)=\mathbb{E}_t[\omega(t)\,\mathbb{E}_{x_0,\epsilon}[\|x_\phi(x_t,t)-x_0\|_2^2]] L clean ( ϕ ) = E t [ ω ( t ) E x 0 , ϵ [ ∥ x ϕ ( x t , t ) − x 0 ∥ 2 2 ]] 。分数预测 :s ϕ ( x t , t ) ≈ ∇ x t log p t ( x t ) = s ∗ ( x t , t ) s_\phi(x_t,t)\approx\nabla_{x_t}\log p_t(x_t)=s^*(x_t,t) s ϕ ( x t , t ) ≈ ∇ x t log p t ( x t ) = s ∗ ( x t , t ) ,条件分数 ∇ x t log p t ( x t ∣ x 0 ) = − 1 σ t ϵ \nabla_{x_t}\log p_t(x_t|x_0)=-\frac{1}{\sigma_t}\epsilon ∇ x t log p t ( x t ∣ x 0 ) = − σ t 1 ϵ 。v-预测(速度) :v ϕ ( x t , t ) ≈ E [ d x t / d t ∣ x t ] = v ∗ ( x t , t ) v_\phi(x_t,t)\approx\mathbb{E}[dx_t/dt|x_t]=v^*(x_t,t) v ϕ ( x t , t ) ≈ E [ d x t / d t ∣ x t ] = v ∗ ( x t , t ) ,条件速度 v t ( x t ∣ x 0 , ϵ ) = α t ′ x 0 + σ t ′ ϵ v_t(x_t|x_0,\epsilon)=\alpha_t' x_0+\sigma_t'\epsilon v t ( x t ∣ x 0 , ϵ ) = α t ′ x 0 + σ t ′ ϵ 。6.2.2 训练目标的解耦 扩散训练目标普遍具有形式(式 (6.2.5)):
L ( ϕ ) : = E x 0 , ϵ E p t i m e ( t ) [ ω ( t ) ∥ N N ϕ ( x t , t ) − ( A t x 0 + B t ϵ ) ∥ 2 2 ] .
L(\phi) := \mathbb{E}_{x_0,\epsilon}\mathbb{E}_{p_{\mathrm{time}}(t)}\left[\omega(t)\,\|NN_\phi(x_t,t) - (A_t x_0 + B_t \epsilon)\|_2^2\right].
L ( ϕ ) := E x 0 , ϵ E p time ( t ) [ ω ( t ) ∥ N N ϕ ( x t , t ) − ( A t x 0 + B t ϵ ) ∥ 2 2 ] . 四个设计维度为:(A) 噪声调度 α t \alpha_t α t 、σ t \sigma_t σ t ;(B) 预测类型与回归目标 A t x 0 + B t ϵ A_t x_0+B_t \epsilon A t x 0 + B t ϵ (见表 6.1);(C) 时间分布 p t i m e ( t ) p_{\mathrm{time}}(t) p time ( t ) ;(D) 时间权重 ω ( t ) \omega(t) ω ( t ) 。不同选择在理论上可归结为对时间加权的不同影响。
6.3.1 四种预测类型等价 命题 6.3.1 :噪声、干净、分数、速度四种参数化的最优解满足(式 (6.3.1)):
ϵ ∗ = − σ t s ∗ , x ∗ = 1 α t x t + σ t 2 α t s ∗ , v ∗ = α t ′ x ∗ + σ t ′ ϵ ∗ = f ( t ) x t − 1 2 g 2 ( t ) s ∗ .
\epsilon^*=-\sigma_t s^*,\quad x^*=\frac{1}{\alpha_t}x_t+\frac{\sigma_t^2}{\alpha_t}s^*,\quad v^*=\alpha_t' x^*+\sigma_t'\epsilon^*=f(t)x_t-\frac{1}{2}g^2(t)s^*.
ϵ ∗ = − σ t s ∗ , x ∗ = α t 1 x t + α t σ t 2 s ∗ , v ∗ = α t ′ x ∗ + σ t ′ ϵ ∗ = f ( t ) x t − 2 1 g 2 ( t ) s ∗ . 因此四种参数化可通过简单代数互相转换;实践中通常只训练一种(如 ϵ ϕ \epsilon_\phi ϵ ϕ ),其余由上式事后得到。
6.3.2 不同参数化下的 PF-ODE 命题 6.3.2 :经验 PF-ODE 在四种参数化下可分别写成用 ϵ ∗ \epsilon^* ϵ ∗ 、x ∗ x^* x ∗ 、s ∗ s^* s ∗ 、v ∗ v^* v ∗ 表示的形式(式 (6.3.2));在引理 4.4.1 的 f ( t ) f(t) f ( t ) 、g ( t ) g(t) g ( t ) 下即熟悉的分数形式 d x d t = f ( t ) x − 1 2 g 2 ( t ) s ∗ ( x ( t ) , t ) \frac{dx}{dt}=f(t)x-\frac{1}{2}g^2(t)s^*(x(t),t) d t d x = f ( t ) x − 2 1 g 2 ( t ) s ∗ ( x ( t ) , t ) 。
6.3.3 所有仿射流等价 命题 6.3.3 :设典范路径 x t F M = ( 1 − t ) x 0 + t ϵ x_t^{\mathrm{FM}}=(1-t)x_0+t\epsilon x t FM = ( 1 − t ) x 0 + t ϵ ,任意仿射路径 x t = α t x 0 + σ t ϵ x_t=\alpha_t x_0+\sigma_t\epsilon x t = α t x 0 + σ t ϵ 在 c ( t ) : = α t + σ t ≠ 0 c(t):=\alpha_t+\sigma_t\neq 0 c ( t ) := α t + σ t = 0 、τ ( t ) : = σ t / ( α t + σ t ) \tau(t):=\sigma_t/(\alpha_t+\sigma_t) τ ( t ) := σ t / ( α t + σ t ) 下满足 x t = c ( t ) x τ ( t ) F M x_t=c(t)x_{\tau(t)}^{\mathrm{FM}} x t = c ( t ) x τ ( t ) FM ,速度由链式法则与 v F M v^{\mathrm{FM}} v FM 联系。因此所有仿射插值在时间重参数化与空间缩放意义下等价 。
无论是变分(离散时间去噪)、基于分数(SDE 表述)还是基于流(ODE 表述),所构造的生成器的边际都服从同一种密度演化 。福克–普朗克方程 是三者共同遵守的普适约束;差异仅体现在参数化与训练目标上。该方程源于概率密度的基本变量变换公式(附录 B),在 5.2 节及全书反复出现。
本章将变分、分数与流三种视角纳入统一框架:共同点是前向破坏过程 + 学习时间依赖的向量场;条件化技巧将边际目标转为条件回归;四种参数化(噪声/干净/分数/速度)在梯度意义下等价;所有仿射前向流在时间与空间变换下等价;福克–普朗克方程(及其确定性特例连续性方程)是统摄密度演化的普遍规律。由此得到对现代扩散范式的完整、系统理解。
将一种分布映射到另一种(生成作为特例)是核心问题。流匹配通过学习时间依赖的速度场将质量从源运到目标,自然与传输理论相连:经典最优传输(OT)寻求分布间成本最小的路径,其熵正则化形式——薛定谔桥(SB)——则选择相对于参考(如布朗运动)最可能的受控扩散。
本章回顾最优传输、熵正则最优传输(EOT)与薛定谔桥作为分布到分布问题的表述,并探讨:扩散模型在何种意义下实现这类最优传输?扩散模型有两种视角:由前向与反向 SDE 定义的随机过程,以及由 PF-ODE 给出的确定性过程。随机视角与熵正则最优传输直接对应;PF-ODE 一般不对应任何已知的传输目标,因此「在何种条件下扩散模型的 PF-ODE 可视为求解最优传输问题」仍是开放问题。
扩散模型将终端分布固定为标准高斯 p p r i o r p_{\mathrm{prior}} p prior 。许多应用需要分布到分布的翻译:将源分布 p s r c p_{\mathrm{src}} p src 变为目标 p t g t p_{\mathrm{tgt}} p tgt (如草图转写实、风格迁移)。单端点方法(如 SDEdit)从源图在 t = 0 t=0 t = 0 出发,扩散到中间步 t t t ,再用目标域预训练扩散模型反向生成;双端点方法(如 Dual Diffusion Bridge)通过共享潜分布(通常 t = 1 t=1 t = 1 处高斯)连接两域,前向概率流 ODE 将样本从 p s r c p_{\mathrm{src}} p src 运到潜空间,反向 ODE 再映射到 p t g t p_{\mathrm{tgt}} p tgt 。流匹配(5.2 节)则直接学习从 p s r c p_{\mathrm{src}} p src 到 p t g t p_{\mathrm{tgt}} p tgt 的 ODE 流。
核心问题:给定两个概率分布,在最小化总成本的意义下,将一者变为另一者的最有效方式是什么? 成本 c ( x , y ) c(x,y) c ( x , y ) 常用平方距离 ∥ x − y ∥ 2 \|x-y\|^2 ∥ x − y ∥ 2 。本章简要厘清扩散方法(含流匹配)与经典及正则化最优传输的关系。
最优传输(OT)
Monge–Kantorovich 静态形式:在满足边际约束的耦合 γ ∈ Γ ( p s r c , p t g t ) \gamma \in \Gamma(p_{\mathrm{src}}, p_{\mathrm{tgt}}) γ ∈ Γ ( p src , p tgt ) 上最小化 ∫ c ( x , y ) d γ ( x , y ) \int c(x,y)\,\mathrm{d}\gamma(x,y) ∫ c ( x , y ) d γ ( x , y ) (式 (7.2.1))。 二次成本 c ( x , y ) = ∥ x − y ∥ 2 c(x,y)=\|x-y\|^2 c ( x , y ) = ∥ x − y ∥ 2 对应 Wasserstein-2 距离 W 2 2 W_2^2 W 2 2 ;在适当条件下 Brenier 定理保证最优耦合由确定性映射 T ∗ T^* T ∗ (Monge 映射)实现。 Benamou–Brenier 动态形式:在满足连续性方程 ∂ t p t + ∇ ⋅ ( p t v t ) = 0 \partial_t p_t + \nabla\cdot(p_t v_t)=0 ∂ t p t + ∇ ⋅ ( p t v t ) = 0 及端点约束下,最小化动能 ∫ 0 1 ∫ ∥ v t ( x ) ∥ 2 p t ( x ) d x d t \int_0^1\int \|v_t(x)\|^2 p_t(x)\,\mathrm{d}x\,\mathrm{d}t ∫ 0 1 ∫ ∥ v t ( x ) ∥ 2 p t ( x ) d x d t (式 (7.2.3));最优流为 McCann 位移插值。 熵正则最优传输(EOT) 在 OT 目标上加 KL 正则项 ε D K L ( γ ∥ M ) \varepsilon D_{\mathrm{KL}}(\gamma\|M) ε D KL ( γ ∥ M ) (式 (7.2.5)),M M M 常取 p s r c ⊗ p t g t p_{\mathrm{src}}\otimes p_{\mathrm{tgt}} p src ⊗ p tgt 。熵正则带来唯一解、Sinkhorn 形式及可扩展算法;ε → 0 \varepsilon\to 0 ε → 0 时趋于经典 OT。
薛定谔桥(SB) 在参考扩散(如 SDE d x t = f ( x t , t ) d t + g ( t ) d w t dx_t=f(x_t,t)dt+g(t)dw_t d x t = f ( x t , t ) d t + g ( t ) d w t )的路径律 R R R 下,寻找满足端点边际 P 0 = p s r c P_0=p_{\mathrm{src}} P 0 = p src 、P T = p t g t P_T=p_{\mathrm{tgt}} P T = p tgt 且与 R R R 的 KL 最小的路径律 P P P (式 (7.2.7))。等价于受控扩散中最小化控制能量(式 (7.2.8));当参考为布朗运动时与 EOT 相联系。
OT 产生满足连续性方程的确定性流;SB/EOT 产生受控扩散,边际由福克–普朗克方程演化。ε → 0 \varepsilon\to 0 ε → 0 时 SB 与经典 OT 在适当条件下一致。
标准扩散模型的前向加噪 SDE 是选定的参考扩散,其前向/反向 SDE 一般不强制端点精确匹配任意给定的 p s r c p_{\mathrm{src}} p src 、p t g t p_{\mathrm{tgt}} p tgt ,因此本身不是 连接任意两端的薛定谔桥;它是单端锚定的半桥问题的最优解。若显式求解以该两端为约束的 SB,则得到熵正则 OT 意义下的最优。
生成设定下 p s r c = p p r i o r p_{\mathrm{src}}=p_{\mathrm{prior}} p src = p prior (高斯)、p t g t = p d a t a p_{\mathrm{tgt}}=p_{\mathrm{data}} p tgt = p data 。PF-ODE 按构造给出将 p p r i o r p_{\mathrm{prior}} p prior 运到 p d a t a p_{\mathrm{data}} p data 的确定性映射,但该流一般不是 给定传输成本(如二次 W 2 W_2 W 2 )下的 OT 映射:它只是众多容许确定性耦合之一,并不最小化 Benamou–Brenier 作用。Rectify flow(5.4.1 节)等能否得到 OT 映射在一般情况下尚无理论保证;扩散模型 PF-ODE 与 OT 的精确刻画仍是未解决问题。
从扩散模型采样对应于求解微分方程,但通常计算昂贵。Part C 仅包含两章:第 8 章 引导与可控生成,第 9 章 快速采样的高级求解器(数值求解器加速)。
本章介绍如何通过条件信息(类别、文本、图像等)引导扩散模型,实现可控生成。主要内容包括:分类器引导、无分类器引导(CFG)、(可选)训练无关引导、从强化学习到 DPO 的模型对齐,以及小结。
扩散模型在无条件建模之外,常需根据用户指定条件(如文本描述、类别标签)生成内容。引导(guidance)即在采样时放大或注入条件信息,使样本更符合条件分布或更高质量。引导可在训练阶段设计(如条件扩散、CFG),也可在推理阶段施加(如分类器引导、训练无关引导)。
在已训练的无条件扩散模型基础上,利用一个在噪声数据上训练的分类器 p ψ ( c ∣ x t , t ) p_\psi(c|x_t,t) p ψ ( c ∣ x t , t ) 提供条件梯度,在采样时沿 ∇ x t log p ψ ( c ∣ x t , t ) \nabla_{x_t}\log p_\psi(c|x_t,t) ∇ x t log p ψ ( c ∣ x t , t ) 方向修正分数,从而得到条件分布 p ( x t ∣ c ) p(x_t|c) p ( x t ∣ c ) 的近似采样。优点是无需重新训练扩散模型;缺点是需要额外分类器且易受分类器在分布外噪声上的泛化影响。
无分类器引导在训练时同时训练条件与无条件模型(或同一网络的条件/空条件分支),采样时用外推形式组合两者,例如(式 (8.3.3)):
ϵ ~ ( x t , t , c ) = ( 1 + ω ) ϵ ϕ ( x t , t , c ) − ω ϵ ϕ ( x t , t , ∅ ) ,
\tilde{\epsilon}(x_t,t,c) = (1+\omega)\,\epsilon_\phi(x_t,t,c) - \omega\,\epsilon_\phi(x_t,t,\varnothing),
ϵ ~ ( x t , t , c ) = ( 1 + ω ) ϵ ϕ ( x t , t , c ) − ω ϵ ϕ ( x t , t , ∅ ) , 其中 ω \omega ω 为引导强度。CFG 无需分类器,且在同一网络中实现,稳定性好,被广泛采用(如 Stable Diffusion)。大 ω \omega ω 可增强条件一致性但可能过饱和或失真;实践中需在质量与多样性之间折中。
在不修改已训练模型参数的前提下,仅通过采样时的计算实现引导,例如:用辅助网络估计条件分数或能量、用检索或编辑约束等。这类方法灵活但通常效果与可控性弱于 CFG。
为使人机偏好一致,可将生成模型与奖励或偏好数据对齐。传统做法是强化学习(如 RLHF):用奖励模型训练策略。直接偏好优化(DPO)等无需显式奖励模型,直接在偏好对上优化,形式更简单且常更稳定。本节简述从 RL 到 DPO 的思路及其与扩散/生成模型的结合。
引导与可控生成是扩散模型走向应用的关键:分类器引导提供早期方案;无分类器引导成为主流;对齐方法(如 DPO)将扩散模型与人类偏好结合。后续章节中的快速采样(第 9–11 章)常与 CFG 配合使用。
本章针对扩散模型采样慢的瓶颈,介绍不改变已训练模型 、仅通过更好的数值求解 PF-ODE 实现加速的一类方法。核心是:利用 PF-ODE 的半线性结构(线性项 + 非线性项),用指数积分因子精确处理线性部分,仅对非线性积分做离散近似,从而用更少步数(NFE)达到高质量采样。
概率流 ODE(PF-ODE)可写成(式 (6.3.2))
d x d t = f ( t ) x − 1 2 g 2 ( t ) ∇ x log p t ( x ) = f ( t ) x + N ( x , t ) ,
\frac{\mathrm{d}x}{\mathrm{d}t} = f(t)x - \frac{1}{2}g^2(t)\nabla_x\log p_t(x) = f(t)x + N(x,t),
d t d x = f ( t ) x − 2 1 g 2 ( t ) ∇ x log p t ( x ) = f ( t ) x + N ( x , t ) , 其中 N ( x , t ) N(x,t) N ( x , t ) 为非线性项。在 ( f ( t ) , g ( t ) ) (f(t),g(t)) ( f ( t ) , g ( t )) 与扰动核 x t ∣ x 0 ∼ N ( ⋅ ; α t x 0 , σ t 2 I ) x_t|x_0\sim\mathcal{N}(\cdot;\alpha_t x_0,\sigma_t^2 I) x t ∣ x 0 ∼ N ( ⋅ ; α t x 0 , σ t 2 I ) 的对应关系下(f ( t ) = α t ′ / α t f(t)=\alpha_t'/\alpha_t f ( t ) = α t ′ / α t 等),解可写为指数积分形式(式 (9.1.6)):
x ~ t = E ( s ⇝ t ) x ~ s + ∫ t s g 2 ( τ ) 2 σ τ E ( τ ⇝ t ) ϵ ϕ × ( x ~ τ , τ ) d τ ,
\tilde{x}_t = E(s\rightsquigarrow t)\tilde{x}_s + \int_t^s \frac{g^2(\tau)}{2\sigma_\tau} E(\tau\rightsquigarrow t)\, \epsilon_\phi^\times(\tilde{x}_\tau,\tau)\,\mathrm{d}\tau,
x ~ t = E ( s ⇝ t ) x ~ s + ∫ t s 2 σ τ g 2 ( τ ) E ( τ ⇝ t ) ϵ ϕ × ( x ~ τ , τ ) d τ , 其中 E ( s ⇝ t ) = e ∫ t s f ( u ) d u = α t / α s E(s\rightsquigarrow t) = e^{\int_t^s f(u)\,\mathrm{d}u} = \alpha_t/\alpha_s E ( s ⇝ t ) = e ∫ t s f ( u ) d u = α t / α s 。DDIM 相当于在该积分式中将被积函数在 s s s 处取为常数,即单步指数欧拉(exponential-Euler),得到更新(式 (9.2.2)):
x ~ t = α t α s x ~ s − α t ( σ s α s − σ t α t ) ϵ ϕ × ( x ~ s , s ) .
\tilde{x}_t = \frac{\alpha_t}{\alpha_s}\tilde{x}_s - \alpha_t\left(\frac{\sigma_s}{\alpha_s}-\frac{\sigma_t}{\alpha_t}\right)\epsilon_\phi^\times(\tilde{x}_s,s).
x ~ t = α s α t x ~ s − α t ( α s σ s − α t σ t ) ϵ ϕ × ( x ~ s , s ) . DEIS 利用半线性结构,用过去多步的拉格朗日多项式近似非线性积分(多步指数积分),在每步仅需一次新模型调用的前提下提高阶数。DPM-Solver 族 引入半对数信噪比时间 λ t : = 1 2 log ( α t 2 / σ t 2 ) \lambda_t := \frac{1}{2}\log(\alpha_t^2/\sigma_t^2) λ t := 2 1 log ( α t 2 / σ t 2 ) ,将非线性项变为指数加权积分,再用 λ \lambda λ 的泰勒展开得到高阶单步或多步格式;DPM-Solver++ 改用 x-预测与(可选)动态阈值,在大引导强度下更稳定;DPM-Solver-v3 将参数化与步长选择形式化为最小化局部误差的优化。ParaDiGMS 将 ODE 解写成不动点形式,在不同时间区间上并行计算积分,与具体单步格式(Euler、DEIS、DPM 等)兼容。
实践中,真实成本由函数求值次数 NFE = m×N 主导(N N N 为步数,m m m 为每步调用次数);多步法在预热后可使 m ≈ 1 m\approx 1 m ≈ 1 。无分类器引导会使每步调用约加倍。
命题 9.2.1 :将欧拉法应用于指数积分形式 (9.1.6) 得到的更新即为 DDIM(式 (9.2.2))。在不同参数化下(推论 9.2.1),DDIM 可写成 ϵ ∗ \epsilon^* ϵ ∗ 、x ∗ x^* x ∗ 、s ∗ s^* s ∗ 、v ∗ v^* v ∗ 的形式;其中 v-预测时 普通欧拉即等于 DDIM,ϵ \epsilon ϵ /x/s-预测时 需用指数欧拉才等于 DDIM,普通欧拉只近似线性项且可能不稳定。DDIM 也可理解为:从 x ~ s \tilde{x}_s x ~ s 出发,用估计的「干净」α t x ∗ ( x ~ s , s ) \alpha_t x^*(\tilde{x}_s,s) α t x ∗ ( x ~ s , s ) 与「噪声」σ t ϵ ∗ ( x ~ s , s ) \sigma_t \epsilon^*(\tilde{x}_s,s) σ t ϵ ∗ ( x ~ s , s ) 按系数 ( α t , σ t ) (\alpha_t,\sigma_t) ( α t , σ t ) 插值得到 x ~ t \tilde{x}_t x ~ t 。一阶欧拉全局误差为 O ( h ) O(h) O ( h ) ,步长 h h h 大时精度下降;高阶格式可减少达到相同质量所需的 NFE。
(可选)变分视角 :DDIM 从边际一致性出发,构造非马尔可夫的反向核 π ( x t ∣ x s , x 0 ) \pi(x_t|x_s,x_0) π ( x t ∣ x s , x 0 ) ,使 ∫ π ( x t ∣ x s , x 0 ) p s ( x s ∣ x 0 ) d x s = p t ( x t ∣ x 0 ) \int \pi(x_t|x_s,x_0)p_s(x_s|x_0)\,\mathrm{d}x_s = p_t(x_t|x_0) ∫ π ( x t ∣ x s , x 0 ) p s ( x s ∣ x 0 ) d x s = p t ( x t ∣ x 0 ) ;取 c t , s = 0 c_{t,s}=0 c t , s = 0 得确定性 DDIM,c t , s = η ( σ s / σ t ) σ t ∣ s c_{t,s}=\eta(\sigma_s/\sigma_t)\sigma_{t|s} c t , s = η ( σ s / σ t ) σ t ∣ s 在 η ∈ [ 0 , 1 ] \eta\in[0,1] η ∈ [ 0 , 1 ] 内插值于 DDPM 与 DDIM。DDIM 与条件流匹配 :确定性 DDIM 的切线场与 CFM 的条件速度一致,其边际化得到 PF-ODE 漂移,v-预测下的普通欧拉即 DDIM。
DEIS 用指数积分因子精确处理线性项,对非线性积分用过去若干节点上的拉格朗日插值多项式 近似,实现高阶多步法;每步仅需一次新模型评估。与 DDIM 的单步、一阶相比,DEIS 通过复用历史提高单步精度,从而在相同 NFE 下获得更好样本。
在 log-SNR 时间 λ t = log ( α t / σ t ) \lambda_t = \log(\alpha_t/\sigma_t) λ t = log ( α t / σ t ) 下,PF-ODE 变为 d x ^ λ / d λ = ( α λ ′ / α λ ) x ^ λ − σ λ ϵ ^ ϕ × ( x ^ λ , λ ) \mathrm{d}\hat{x}_\lambda/\mathrm{d}\lambda = (\alpha_\lambda'/\alpha_\lambda)\hat{x}_\lambda - \sigma_\lambda \hat{\epsilon}_\phi^\times(\hat{x}_\lambda,\lambda) d x ^ λ / d λ = ( α λ ′ / α λ ) x ^ λ − σ λ ϵ ^ ϕ × ( x ^ λ , λ ) 。DPM-Solver 在该形式下对积分做 λ \lambda λ 的泰勒展开,得到高阶单步格式(如 2 阶为指数 Heun);推论 :v-预测下 Heun = DPM-Solver-2,ϵ \epsilon ϵ /x/s-预测下 exp-Heun = DPM-Solver-2 ≠ 普通 Heun。
针对大 CFG 系数时高阶求解器不稳定,DPM-Solver++ 采用 (1) x-预测 与 (2) 动态阈值 等,将精确解用 x-预测写成 Ψ ~ s → t ( x s ) = σ t σ s x s + σ t ∫ λ s λ t e λ x ^ ϕ × ( x ^ λ , λ ) d λ \tilde{\Psi}_{s\to t}(x_s) = \frac{\sigma_t}{\sigma_s}x_s + \sigma_t\int_{\lambda_s}^{\lambda_t} e^\lambda \hat{x}_\phi^\times(\hat{x}_\lambda,\lambda)\,\mathrm{d}\lambda Ψ ~ s → t ( x s ) = σ s σ t x s + σ t ∫ λ s λ t e λ x ^ ϕ × ( x ^ λ , λ ) d λ ,并给出单步泰勒(2S)与多步两锚点(2M)两种变体;2M 每步仅一次新调用,适合强引导。
DDIM 对应(v-预测)普通欧拉或(ϵ \epsilon ϵ /x/s-预测)指数欧拉;DEIS 为多步指数 Adams–Bashforth;DPM-Solver-n 为 log-SNR 下的单步指数 Runge–Kutta;DPM-Solver++ 2S/2M 分别为单步指数 RK 与多步指数 AB。CTM 与 MF 的等价性见第 11 章。
通过引入自由参数 ℓ λ \ell_\lambda ℓ λ 调整线性项、并在预训练模型上最小化离散化误差等目标,自动选择参数化与步长,在少步与大引导下提升质量。
将 ODE 解写成 x ∗ ( t ) = L [ x ∗ ( ⋅ ) ] ( t ) x^*(t)=L[x^*(\cdot)](t) x ∗ ( t ) = L [ x ∗ ( ⋅ )] ( t ) 的不动点,用 Picard 迭代;离散时在 T → 0 T\to 0 T → 0 的网格上用滑动窗口、左端点求积与前缀和做并行求值,窗口内可替换为梯形或 DPM 类高阶格式,实现与求解器无关的时间并行加速。
本章通过 DDIM、DEIS、DPM-Solver 族与 ParaDiGMS 等,将高质量采样所需 NFE 从数百上千降至约 10–20。这些均为训练无关 的求解器改进;若要进一步做到一步或极少步生成,需要基于训练 的加速,即第 10 章(蒸馏)与第 11 章(从零学习快速生成器)。
本章介绍基于训练 的加速:让快速的学生生成器从慢速、预训练的扩散模型(教师)中学习,用一步或少量步数产生与教师采样质量相当的样本。核心思想是蒸馏 ——不改变数值积分方案,而是训练一个新生成器走「捷径」。
扩散模型的一个瓶颈是采样慢:Tweedie 公式表明 x ϕ × ( x t , t ) ≈ E [ x 0 ∣ x t ] x_\phi^\times(x_t,t)\approx\mathbb{E}[x_0|x_t] x ϕ × ( x t , t ) ≈ E [ x 0 ∣ x t ] ,但若仅用少数去噪步会过于平滑、模糊。另一方面,沿 ODE/SDE 的长序列迭代能获得高保真样本,但步数多、NFE 大。蒸馏 假设已有训练好的扩散模型(教师),训练学生生成器在一或少量前向传播内复现其行为,从而在保持保真度的前提下大幅减少 NFE。
两种视角:分布级蒸馏 ——训练一步生成器 G θ ( z ) G_\theta(z) G θ ( z ) 使 p θ ( x ^ ) p_\theta(\hat{x}) p θ ( x ^ ) 逼近目标分布(常以教师分布 p ϕ × p_{\phi^\times} p ϕ × 为代理);流映射级蒸馏 ——训练学生近似教师 PF-ODE 的解映射 Ψ s → t \Psi_{s\to t} Ψ s → t ,从而用更少步数或一步完成 T → 0 T\to 0 T → 0 。
代表性工作包括 DMD、VSD、SiD 等,共同思想是:让学生生成器前向加噪后的边际 p t θ p_t^\theta p t θ 与教师的边际 p t p_t p t 对齐。以 VSD(变分分数蒸馏) 为例。
前向过程 :数据分布 p 0 = p d a t a p_0=p_{\mathrm{data}} p 0 = p data 经 x t = α t x 0 + σ t ϵ x_t=\alpha_t x_0+\sigma_t\epsilon x t = α t x 0 + σ t ϵ 得到 p t p_t p t ;学生一步生成 x ^ 0 = G θ ( z ) \hat{x}_0=G_\theta(z) x ^ 0 = G θ ( z ) ,z ∼ p p r i o r z\sim p_{\mathrm{prior}} z ∼ p prior ,再经同一核得到 x t θ = α t G θ ( z ) + σ t ϵ x_t^\theta=\alpha_t G_\theta(z)+\sigma_t\epsilon x t θ = α t G θ ( z ) + σ t ϵ ,其边际为 p t θ p_t^\theta p t θ 。
目标与梯度 :最小化 L V S D ( θ ) = E t [ ω ( t ) D K L ( p t θ ∥ p t ) ] L_{\mathrm{VSD}}(\theta)=\mathbb{E}_t[\omega(t)D_{\mathrm{KL}}(p_t^\theta\|p_t)] L VSD ( θ ) = E t [ ω ( t ) D KL ( p t θ ∥ p t )] 。对 θ \theta θ 求导可得(命题 10.2.1):
∇ θ L V S D ( θ ) = E t , z , ϵ [ ω ( t ) α t ( ∇ x log p t θ ( x ^ t ) − ∇ x log p t ( x ^ t ) ) ⊤ ∂ θ G θ ( z ) ] .
\nabla_\theta L_{\mathrm{VSD}}(\theta) = \mathbb{E}_{t,z,\epsilon}\left[ \omega(t)\alpha_t \bigl(\nabla_x\log p_t^\theta(\hat{x}_t) - \nabla_x\log p_t(\hat{x}_t)\bigr)^\top \partial_\theta G_\theta(z) \right].
∇ θ L VSD ( θ ) = E t , z , ϵ [ ω ( t ) α t ( ∇ x log p t θ ( x ^ t ) − ∇ x log p t ( x ^ t ) ) ⊤ ∂ θ G θ ( z ) ] . 因此需要学生侧分数 ∇ x log p t θ ( x ^ t ) \nabla_x\log p_t^\theta(\hat{x}_t) ∇ x log p t θ ( x ^ t ) 与教师侧分数 ∇ x log p t ( x ^ t ) \nabla_x\log p_t(\hat{x}_t) ∇ x log p t ( x ^ t ) 的近似。实践中采用双层优化:固定 θ \theta θ 时用 DSM 在 G θ G_\theta G θ 的加噪样本上训练分数网络 s ζ ( ⋅ , t ) ≈ ∇ x log p t θ s_\zeta(\cdot,t)\approx\nabla_x\log p_t^\theta s ζ ( ⋅ , t ) ≈ ∇ x log p t θ ;固定 ζ \zeta ζ 时用教师分数 s ϕ × ( x ^ t , t ) ≈ ∇ x log p t ( x ^ t ) s_{\phi^\times}(\hat{x}_t,t)\approx\nabla_x\log p_t(\hat{x}_t) s ϕ × ( x ^ t , t ) ≈ ∇ x log p t ( x ^ t ) 与学生分数 s ζ ( x ^ t , t ) s_\zeta(\hat{x}_t,t) s ζ ( x ^ t , t ) 的差作为梯度更新 θ \theta θ 。收敛时 p t θ ≈ p t ϕ × p_t^\theta\approx p_t^{\phi^\times} p t θ ≈ p t ϕ × ,由前向核可逆性得 p 0 θ ≈ p d a t a p_0^\theta\approx p_{\mathrm{data}} p 0 θ ≈ p data 。为何用 KL :前向 KL 的路径式梯度恰好化为仅依赖分数的形式,无需密度比或判别器,教师预训练扩散模型直接提供分数,易实现且稳定。VSD 也可用于仅用 2D 扩散教师做 3D 生成(SDS 为其 Dirac 生成器特例)。
思想 :在固定时间网格 t 0 = T > t 1 > ⋯ > t N = 0 t_0=T>t_1>\cdots>t_N=0 t 0 = T > t 1 > ⋯ > t N = 0 上,教师提供单步映射 T e a c h e r t k → t k + 1 \mathrm{Teacher}_{t_k\to t_{k+1}} Teacher t k → t k + 1 ;学生学习两步并一步 的映射,使
S t u d e n t t k → t k + 2 ≈ T e a c h e r t k + 1 → t k + 2 ∘ T e a c h e r t k → t k + 1 .
\mathrm{Student}_{t_k\to t_{k+2}} \approx \mathrm{Teacher}_{t_{k+1}\to t_{k+2}} \circ \mathrm{Teacher}_{t_k\to t_{k+1}}.
Student t k → t k + 2 ≈ Teacher t k + 1 → t k + 2 ∘ Teacher t k → t k + 1 . 用 DDIM(x-预测)时,可得到「两步并一步」目标 x ~ \tilde{x} x ~ 的闭式(引理 10.3.1):x ~ = σ s α t σ s − α s σ t x ~ t − σ t α t σ s − α s σ t x s \tilde{x} = \frac{\sigma_s}{\alpha_t\sigma_s-\alpha_s\sigma_t}\tilde{x}_t - \frac{\sigma_t}{\alpha_t\sigma_s-\alpha_s\sigma_t}x_s x ~ = α t σ s − α s σ t σ s x ~ t − α t σ s − α s σ t σ t x s ,其中 x ~ t \tilde{x}_t x ~ t 为教师从 s → u → t s\to u\to t s → u → t 两次 DDIM 的结果。学生 f θ ( x s , s ) f_\theta(x_s,s) f θ ( x s , s ) 用回归损失 E [ w ( λ s ) ∥ f θ ( x s , s ) − x ~ ∥ 2 2 ] \mathbb{E}[w(\lambda_s)\|f_\theta(x_s,s)-\tilde{x}\|_2^2] E [ w ( λ s ) ∥ f θ ( x s , s ) − x ~ ∥ 2 2 ] 拟合 x ~ \tilde{x} x ~ 。训练后学生只在 t 0 , t 2 , t 4 , … t_0,t_2,t_4,\ldots t 0 , t 2 , t 4 , … 上推进,步数减半;再以该学生为新教师重复,得到 N → N / 2 → N / 4 → ⋯ N\to N/2\to N/4\to\cdots N → N /2 → N /4 → ⋯ ,直至达到目标步数(如 1–4 步)。
与统一目标 (10.1.4) 的关系 :PD 用半群性质 Ψ s → t = Ψ u → t ∘ Ψ s → u \Psi_{s\to t}=\Psi_{u\to t}\circ\Psi_{s\to u} Ψ s → t = Ψ u → t ∘ Ψ s → u 的局部近似,用教师两段短步替代全程积分,对应式 (10.3.3) 的局部匹配。若使用其他求解器,可保持「两段复合 = 一段」的匹配思想;闭式伪目标依赖于单步、显式、仿射的更新(如 DDIM)。
带引导的 PD :Meng 等提出两阶段——(1) 将 CFG 蒸馏进单网络 x θ 1 ( x s , s , c , ω ) x_{\theta_1}(x_s,s,c,\omega) x θ 1 ( x s , s , c , ω ) ,以 ω \omega ω 为输入拟合 x ϕ ω ( x s , s , c ) x_\phi^\omega(x_s,s,c) x ϕ ω ( x s , s , c ) ;(2) 对该模型做渐进蒸馏得到 x θ 2 x_{\theta_2} x θ 2 ,步数逐轮减半。
分布级蒸馏(如 VSD)通过对齐分数在分布意义上对齐学生与教师;流映射级蒸馏(如 PD)通过逐步减半步数将长轨迹压成少步。两者都依赖预训练教师,形成「先训教师、再蒸馏学生」的两阶段流程。下一章讨论能否完全去掉教师 ,从零学习少步生成器。
本章讨论不依赖预训练模型 、从数据直接训练少步扩散式生成器的原则,核心是流映射模型 :用网络 G θ ( ⋅ , s , t ) G_\theta(\cdot,s,t) G θ ( ⋅ , s , t ) 近似 PF-ODE 的 oracle 流映射 Ψ s → t \Psi_{s\to t} Ψ s → t ,从而在单步或少量步内将 p p r i o r p_{\mathrm{prior}} p prior 运到 p d a t a p_{\mathrm{data}} p data ,并保持前向扩散给出的中间边际 p t p_t p t 。
统一目标为(式 (10.1.4)):
L o r a c l e ( θ ) : = E s , t E x s ∼ p s [ w ( s , t ) d ( G θ ( x s , s , t ) , Ψ s → t ( x s ) ) ] ,
\mathcal{L}_{\mathrm{oracle}}(\theta) := \mathbb{E}_{s,t}\mathbb{E}_{x_s\sim p_s}\bigl[ w(s,t)\, d(G_\theta(x_s,s,t), \Psi_{s\to t}(x_s)) \bigr],
L oracle ( θ ) := E s , t E x s ∼ p s [ w ( s , t ) d ( G θ ( x s , s , t ) , Ψ s → t ( x s )) ] , 其中 d d d 为差异度量(如 ℓ 2 \ell_2 ℓ 2 平方),Ψ s → t ( x s ) = x s + ∫ t s v ∗ ( x u , u ) d u \Psi_{s\to t}(x_s)=x_s+\int_t^s v^*(x_u,u)\,\mathrm{d}u Ψ s → t ( x s ) = x s + ∫ t s v ∗ ( x u , u ) d u ,v ∗ v^* v ∗ 为 oracle 速度(可等价地用 x/ϵ \epsilon ϵ /分数/速度参数化)。最优时 G θ = Ψ s → t G_\theta=\Psi_{s\to t} G θ = Ψ s → t 。因 Ψ s → t \Psi_{s\to t} Ψ s → t 无闭式,需用可计算代理:蒸馏 在训练中调用教师;从零训练 则构造自洽代理(如自一致性、单点速度估计)。
特殊流映射:一致性模型(CM) 学习映射到终点 Ψ s → 0 ( ⋅ ) \Psi_{s\to 0}(\cdot) Ψ s → 0 ( ⋅ ) ,即一致性函数 f ∗ ( ⋅ , s ) f^*(\cdot,s) f ∗ ( ⋅ , s ) ,满足轨迹上任意两点输出相同(自一致性)。实践中用 stop-gradient 目标 f θ − ( Ψ s → s − Δ s ( x s ) , s − Δ s ) f_{\theta^-}(\Psi_{s\to s-\Delta s}(x_s), s-\Delta s) f θ − ( Ψ s → s − Δ s ( x s ) , s − Δ s ) 近似 Ψ s → 0 ( x s ) \Psi_{s\to 0}(x_s) Ψ s → 0 ( x s ) ,其中 Ψ s → s − Δ s \Psi_{s\to s-\Delta s} Ψ s → s − Δ s 可由教师求解器或从零的单点估计近似。一般流映射 :CTM 学习任意 s → t s\to t s → t 的 Ψ s → t \Psi_{s\to t} Ψ s → t ,参数化为 G θ ( x s , s , t ) = t s x s + s − t s g θ ( x s , s , t ) G_\theta(x_s,s,t)=\frac{t}{s}x_s + \frac{s-t}{s}g_\theta(x_s,s,t) G θ ( x s , s , t ) = s t x s + s s − t g θ ( x s , s , t ) ;MF(Mean Flow) 学习区间平均漂移 h θ ( x s , s , t ) ≈ 1 t − s ∫ t s v ∗ ( x u , u ) d u h_\theta(x_s,s,t)\approx \frac{1}{t-s}\int_t^s v^*(x_u,u)\,\mathrm{d}u h θ ( x s , s , t ) ≈ t − s 1 ∫ t s v ∗ ( x u , u ) d u ,与 (10.1.4) 一致且与 CTM 在时间加权意义下等价。
半群性质 :Ψ u → t ∘ Ψ s → u = Ψ s → t \Psi_{u\to t}\circ\Psi_{s\to u}=\Psi_{s\to t} Ψ u → t ∘ Ψ s → u = Ψ s → t ,Ψ s → s = I \Psi_{s\to s}=I Ψ s → s = I 。由此可得全局一致性 f ∗ ( x ( s ) , s ) = x ( 0 ) f^*(x(s),s)=x(0) f ∗ ( x ( s ) , s ) = x ( 0 ) 、自一致性 f ∗ ( x ( s ) , s ) = f ∗ ( x ( u ) , u ) f^*(x(s),s)=f^*(x(u),u) f ∗ ( x ( s ) , s ) = f ∗ ( x ( u ) , u ) 及沿轨迹的局部一致性。CM 用 f θ ( x s , s ) ≈ Ψ s → 0 ( x s ) f_\theta(x_s,s)\approx\Psi_{s\to 0}(x_s) f θ ( x s , s ) ≈ Ψ s → 0 ( x s ) ,训练目标为 L o r a c l e - C M \mathcal{L}_{\mathrm{oracle}\text{-}\mathrm{CM}} L oracle - CM ;无教师时用 f θ − ( x s − Δ s v c o n d , s − Δ s ) f_{\theta^-}(x_s-\Delta s\, v_{\mathrm{cond}}, s-\Delta s) f θ − ( x s − Δ s v cond , s − Δ s ) 等自监督目标(CD 为蒸馏版,CT 为从零版)。采样时可多步(每步从 τ n \tau_n τ n 到 0)或一步(从 T T T 到 0)。
将时间连续化,用 ODE 的切线/法线方向与自适应权重 ω φ ( s ) \omega_\varphi(s) ω φ ( s ) 等,在连续 s s s 上约束一致性,提高稳定性和少步质量。
参数化 :G θ ( x s , s , t ) = t s x s + s − t s g θ ( x s , s , t ) G_\theta(x_s,s,t)=\frac{t}{s}x_s+\frac{s-t}{s}g_\theta(x_s,s,t) G θ ( x s , s , t ) = s t x s + s s − t g θ ( x s , s , t ) ,其中 g ∗ g^* g ∗ 满足 g ∗ ( x s , s , s ) = x s − s v ∗ ( x s , s ) g^*(x_s,s,s)=x_s-s v^*(x_s,s) g ∗ ( x s , s , s ) = x s − s v ∗ ( x s , s ) (命题 11.4.1),故学习 g θ g_\theta g θ 既可得到 Ψ s → t \Psi_{s\to t} Ψ s → t 又可恢复扩散速度/分数。一致性损失 :利用半群,让学生直接输出 G θ ( x s , s , t ) G_\theta(x_s,s,t) G θ ( x s , s , t ) 与「教师/自诱导 ODE 从 s → u s\to u s → u 再学生从 u → t u\to t u → t 」的 G θ − ( S o l v e r s → u ( x s ) , u , t ) G_{\theta^-}(\mathrm{Solver}_{s\to u}(x_s),u,t) G θ − ( Solver s → u ( x s ) , u , t ) 一致;教师可为预训练扩散或 CTM 自诱导的 g θ − g_{\theta^-} g θ − (式 (11.4.6))。辅助损失 :扩散/流匹配损失 L D M ( θ ) L_{\mathrm{DM}}(\theta) L DM ( θ ) 显式监督速度(一阶),提高 t ≈ s t\approx s t ≈ s 附近精度;可选 GAN 损失增强锐度。γ \gamma γ -采样 :在网格上交替「去噪」G θ ( x τ n , τ n , τ ~ n + 1 ) G_\theta(x_{\tau_n},\tau_n,\tilde{\tau}_{n+1}) G θ ( x τ n , τ n , τ ~ n + 1 ) 与「加噪」x τ n + 1 = x ~ τ ~ n + 1 + γ τ n + 1 ϵ x_{\tau_{n+1}}=\tilde{x}_{\tilde{\tau}_{n+1}}+\gamma\tau_{n+1}\epsilon x τ n + 1 = x ~ τ ~ n + 1 + γ τ n + 1 ϵ ;γ = 0 \gamma=0 γ = 0 为确定性 ODE 步进,γ = 1 \gamma=1 γ = 1 为 CM 式多步随机采样,0 < γ < 1 0<\gamma<1 0 < γ < 1 介于两者之间。CTM 因学习一般 Ψ s → t \Psi_{s\to t} Ψ s → t 可兼容扩散推理(似然、DDIM/DPM 等)。
MF 学习 h θ ( x s , s , t ) ≈ h ∗ ( x s , s , t ) = 1 t − s ∫ t s v ∗ ( x u , u ) d u h_\theta(x_s,s,t)\approx h^*(x_s,s,t)=\frac{1}{t-s}\int_t^s v^*(x_u,u)\,\mathrm{d}u h θ ( x s , s , t ) ≈ h ∗ ( x s , s , t ) = t − s 1 ∫ t s v ∗ ( x u , u ) d u 。对 ( t − s ) h ∗ (t-s)h^* ( t − s ) h ∗ 关于 s s s 求导得到自指关系,据此构造 stop-gradient 目标 h θ − t g t h^{\mathrm{tgt}}_{\theta^-} h θ − tgt (含 v ∗ v^* v ∗ 与 h θ − h_{\theta^-} h θ − 的 JVP);v ∗ v^* v ∗ 可由预训练扩散或从零的单点条件速度 α s ′ x 0 + σ s ′ ϵ \alpha_s' x_0+\sigma_s'\epsilon α s ′ x 0 + σ s ′ ϵ 近似。采样时 Ψ s → t ( x s ) ≈ x s + ( t − s ) h θ × ( x s , s , t ) \Psi_{s\to t}(x_s)\approx x_s+(t-s)h_{\theta^\times}(x_s,s,t) Ψ s → t ( x s ) ≈ x s + ( t − s ) h θ × ( x s , s , t ) ,可一步或多步;MF 与 CTM 在参数化与损失上等价(仅时间加权不同),详见式 (11.5.4)–(11.5.5)。
从零学习快速生成器通过统一目标 (10.1.4) 将 CM、CTM、MF 等纳入一帧:或学习到 0 的映射 Ψ s → 0 \Psi_{s\to 0} Ψ s → 0 (CM),或学习任意 s → t s\to t s → t 的 Ψ s → t \Psi_{s\to t} Ψ s → t (CTM、MF),并用半群、自监督或教师代理避免 oracle 不可算。附录 D.6 的 EDM 为 x-预测与网络设计提供系统参考。本书主体至此结束;以下为附录概要。
A.1 常微分方程(ODE)基础 ODE d x d t = v ( x ( t ) , t ) \frac{\mathrm{d}x}{\mathrm{d}t}=v(x(t),t) d t d x = v ( x ( t ) , t ) :向量场 v v v 给出每点瞬时变化;解为沿该场运动的轨迹。局部存在唯一性 (定理 A.1.1):若 v v v 关于 x x x 连续且 Lipschitz,则对任意初值存在唯一局部解;全局定理 (如 Carathéodory)在 Lipschitz 与线性增长条件下可延拓到 [ t 0 , T ] [t_0,T] [ t 0 , T ] 。唯一性蕴含解曲线不相交 (推论 A.1.1),对流映射模型(第 10–11 章)有重要含义。指数积分因子 :对半线性 ODE d x d t = L ( t ) x + N ( x , t ) \frac{\mathrm{d}x}{\mathrm{d}t}=L(t)x+N(x,t) d t d x = L ( t ) x + N ( x , t ) ,令 E ( s ⇝ t ) = exp ( ∫ t s L ( τ ) d τ ) E(s\rightsquigarrow t)=\exp(\int_t^s L(\tau)\,\mathrm{d}\tau) E ( s ⇝ t ) = exp ( ∫ t s L ( τ ) d τ ) ,则解为(式 A.1.4)x ( t ) = E ( s ⇝ t ) x ( s ) + ∫ t s E ( τ ⇝ t ) N ( x ( τ ) , τ ) d τ x(t)=E(s\rightsquigarrow t)x(s)+\int_t^s E(\tau\rightsquigarrow t)N(x(\tau),\tau)\,\mathrm{d}\tau x ( t ) = E ( s ⇝ t ) x ( s ) + ∫ t s E ( τ ⇝ t ) N ( x ( τ ) , τ ) d τ ,线性部分闭式、仅非线性项需离散,对应第 9 章指数积分器。数值方法 :欧拉(一阶)、Heun(二阶)、Runge–Kutta(如 RK4)、多步法(Adams–Bashforth 等)、Picard 迭代(第 9.8 节 ParaDiGMS 的不动点思想)。
A.2 SDE 与 PDE (书中另有小节):SDE 的 Itô 与 Stratonovich 形式、Fokker–Planck 方程(密度演化)、与扩散模型前向/反向 SDE 的联系。
概率密度 p t ( x ) p_t(x) p t ( x ) 在由 SDE 驱动的扩散过程下满足福克–普朗克方程 (Fokker–Planck equation);确定性流为其特例(连续性方程 ∂ t p t + ∇ ⋅ ( p t v t ) = 0 \partial_t p_t + \nabla\cdot(p_t v_t)=0 ∂ t p t + ∇ ⋅ ( p t v t ) = 0 )。本书第 4、5、6 章中,无论变分、分数还是流视角,边际演化均受同一 Fokker–Planck/连续性方程约束。
C.1 Itô 公式:随机过程的链式法则 :对适应过程与布朗运动 w t w_t w t 的 Itô 积分定义、Itô 公式(f ( X t ) f(X_t) f ( X t ) 的微分形式)。C.2 测度的变量变换:扩散模型中的 Girsanov 定理 :测度变换下漂移的改变;用于 SB 问题中受控扩散与参考律的 KL 表示为控制能量(式 (7.2.8))等。
D.1–D.4 :变分视角、分数视角、流视角及统一视角的理论补充与命题/定理证明。D.5 :学习快速扩散式生成器的理论补充(含 VSD 梯度推导、分布级蒸馏中 KL 与分数形式的细节)。D.6(可选)EDM(Elucidating Diffusion Model) :x-预测下的网络参数化、噪声调度与预处理等设计准则,为 CM/CTM 等模型提供常用基线。书中其余补充证明与参考文献以英文原书为准,此处不逐条翻译。
(说明:第 2–6 章为完整译文;第 7–11 章及附录已完整补充翻译或概要并追加至本文件。原书共 470 页,涵盖扩散模型的变分、分数、流与统一视角,以及最优传输、引导、快速求解器、蒸馏与从零学习快速生成器等内容;附录为微分方程、密度演化、Itô/Girsanov 及补充证明。)