Score-Based Generative Modeling through Stochastic Differential Equations
论文的核心贡献
- 提出连续时间的统一 SDE 框架: 作者用前向 SDE(添加连续噪声)和逆向 SDE(连续去噪)取代离散马尔可夫链,并说明先前的 SMLD 和 DDPM 可以看作方差爆炸(VE)和方差保持(VP)两类 SDE 的特定离散化近似。这重要之处在于,它把原本分散的 score matching、Langevin dynamics 和 diffusion probabilistic modeling 放进同一个连续时间框架中讨论。
- 引入 Predictor-Corrector (PC) 混合采样器: 在求解逆向 SDE 生成数据时,论文结合通用数值 SDE 求解器(Predictor,先沿逆向动力学推进)和基于分数的 MCMC 方法(Corrector,在当前噪声尺度校正分布误差)。这种做法针对单纯离散求解器的截断误差累积问题,用局部校正提高样本质量;论文报告其在 CIFAR-10 上取得当时很强的 FID 和 Inception Score。
- 推导 Probability Flow ODE 支持似然计算: 论文证明每个 SDE 都有一个对应的确定性常微分方程,二者在任意时间具有相同的边缘概率密度。这个 ODE 视角允许使用黑盒 ODE 求解器采样,并可结合瞬时变量替换公式计算对数似然,补上早期分数生成模型难以直接评估 likelihood 的短板。
- 实现免重训的条件/逆问题生成: 利用逆向 SDE 的分析形式,作者将条件信息写进逆向过程,展示图像修复、上色和类别条件生成等任务。这意味着可以从一个无条件 score model 出发,在采样阶段引入观测约束,而不是为每个逆问题重新训练完整生成模型。
复杂 Pipeline 深度解析

图中元素对照解读
- 图中最左侧“Data”圆圈 x(0) 和左边竖向密度曲线 p0(x): 对应论文中的真实数据样本 $\mathbf{x}(0)$ 和数据分布 $p_0(x)$;它在 pipeline 中的作用是作为前向扩散过程的起点。
- 图中左上方“Forward SDE”标题、向右粗箭头和公式 $\mathrm{d}x=f(x,t)\mathrm{d}t+g(t)\mathrm{d}w$: 对应论文中的前向随机微分方程;它在 pipeline 中的作用是把数据连续加噪并推向简单先验分布。
- 图中左半部分紫色到黄色的热力图背景: 对应论文中的中间时刻边缘密度 $p_t(x)$;它在 pipeline 中的作用是显示数据分布如何随时间从多峰结构扩散成更宽、更简单的分布。
- 图中左半部分多条锯齿状彩色轨迹及图例“SDE”: 对应论文中的随机 SDE 样本路径;它在 pipeline 中的作用是强调前向或逆向演化包含布朗噪声,因此单个样本轨迹是随机的。
- 图中白色平滑曲线及图例“Probability Flow ODE”: 对应论文中的概率流 ODE;它在 pipeline 中的作用是用确定性路径表示与 SDE 共享相同边缘分布的替代生成/评估过程。
- 图中中央“Prior”圆圈 x(T) 和中间竖向单峰密度曲线 pT(x): 对应论文中的终止先验分布 $p_T(x)$;它在 pipeline 中的作用是连接前向加噪终点和逆向生成起点。
- 图中右上方“Reverse SDE”标题、向右粗箭头和含 $\nabla_x\log p_t(x)$ 的公式: 对应论文中的逆时间 SDE 与 score 项;它在 pipeline 中的作用是利用估计的分数场把先验噪声逐步去噪回数据分布。
- 图中最右侧“Data”圆圈 x(0) 和右边竖向密度曲线 p0(x): 对应论文中的生成样本及目标数据分布;它在 pipeline 中的作用是展示逆向 SDE 或 Probability Flow ODE 的输出应回到与真实数据相同的分布形态。
这篇论文的关键价值在于,它将基于分数的生成模型(如 SMLD 和 DDPM)从“离散的有限噪声尺度”推进到了“连续时间的随机微分方程(SDE)”框架。它不再受限于预设的离散马尔可夫链步数,而是用连续扩散方程描述数据分布平滑过渡到噪声分布的过程,从而统一旧有离散模型,并为似然计算、采样器设计和逆问题求解提供同一套数学接口。
论文的核心流程集中在 Figure 2: Overview of score-based generative modeling through SDEs。这张图展示的 pipeline 可以概括为:前向过程把数据连续扩散为简单先验,训练出的时间条件 score field 提供逆向去噪方向,生成时再通过逆向 SDE 或对应的 Probability Flow ODE 从噪声回到数据。
1. Forward SDE (data -> noise) / 数据前向扩散
- 输入: 真实数据样本 $\mathbf{x}(0)$,来自复杂数据分布 $p_0(\mathbf{x})$。
- 操作: 样本随连续时间 $t \in [0,T]$ 按 $\mathrm{d}\mathbf{x}=\mathbf{f}(\mathbf{x},t)\mathrm{d}t+g(t)\mathrm{d}\mathbf{w}$ 演化。漂移项和扩散项逐步破坏数据结构,把样本推向更高噪声状态。
- 输出: 终点分布 $p_T(\mathbf{x})$,通常设计成易采样的高斯先验。
- 作用: 负责建立从复杂数据分布到简单噪声分布的连续桥梁,也是统一 SMLD、DDPM 等离散噪声过程的基础。
2. Score Estimation / 分数估计
- 输入: 任意中间时刻的扰动样本 $\mathbf{x}(t)$ 和时间 $t$。
- 操作: 训练时间条件网络 $s_\theta(\mathbf{x},t)$,用 denoising score matching 目标拟合真实分数 $\nabla_{\mathbf{x}}\log p_t(\mathbf{x})$。
- 输出: 覆盖所有噪声水平的 score field。
- 作用: 分数场提供“往高概率区域移动”的局部方向。逆向生成并不需要显式知道 $p_t$ 的归一化常数,只需要知道每个位置的概率密度梯度。
3. Reverse SDE / 随机逆向生成
- 输入: 从先验 $p_T(\mathbf{x})$ 采样的噪声点 $\mathbf{x}(T)$,以及网络估计的 $s_\theta(\mathbf{x},t)$。
- 操作: 将前向 SDE 反转,得到包含 score 的逆向 SDE;数值求解器从 $T$ 倒推到 $0$。图中红色轨迹表示带随机项的 SDE 样本路径。
- 输出: 生成样本 $\mathbf{x}(0)$。
- 作用: 把纯噪声沿着估计分数场逐步拉回数据分布。PC sampler 在这一阶段加入 corrector 步骤,用 Langevin/MCMC 类更新修正离散化误差。
4. Probability Flow ODE / 确定性概率流
- 输入: 同样的先验样本和 score network。
- 操作: 使用与逆向 SDE 共享边缘分布的 ODE。图中白色轨迹表示确定性的概率流路径。
- 输出: 与 SDE 采样边缘分布一致的生成样本,同时保留确定性、可逆的轨迹结构。
- 作用: 使模型能够进行似然计算、潜空间插值和更高效的 ODE 求解器采样,是论文把 score-based model 和 continuous normalizing flow 思想连接起来的关键。
关键术语解析
- Stochastic Differential Equation (SDE): 在本文中,SDE 是定义扩散和生成过程的连续时间引擎。它把“固定若干噪声层”的离散设计转化为可任意离散化、可调用成熟数值求解器的连续动力系统。
- Score: 指 $\nabla_{\mathbf{x}}\log p_t(\mathbf{x})$,即当前噪声水平下对数密度对数据的梯度。它的功能不是直接给出样本概率,而是告诉采样器该往哪个方向移动才能更接近高概率数据区域。
- Reverse-time SDE: 前向扩散过程的时间反演形式。它依赖未知的真实 score,因此论文用神经网络估计 score,再把估计结果代入逆向方程生成样本。
- Probability Flow ODE: 与 SDE 共享时间边缘分布的确定性方程。它去掉随机布朗项,但通过修正漂移项保留相同的分布演化,因此可以支持确定性采样和 likelihood 评估。
- Predictor-Corrector Sampler: 一种混合采样范式。Predictor 用数值 SDE 求解器推进一步,Corrector 用当前时间的 score 执行 MCMC 校正,目标是在有限离散步数下减少偏离目标边缘分布的误差。
为什么 Figure 2 是论文核心
Figure 2 不是普通结果图,而是整篇论文的方法骨架。左半部分对应前向 SDE:数据被连续加噪并映射到先验;右半部分对应逆向生成:利用 score 反向求解 SDE 或 ODE,从先验回到数据。图中的红色随机路径和白色 ODE 路径同时串起采样质量、似然计算和可控逆问题求解这几条贡献线,因此它是本文最适合作为方法说明的 framework 图。