前置

1. DDPM 的两条链

设数据 服从 。DDPM
(Ho et al., 2020) 用固定的非齐次高斯马尔可夫链逐步加噪:

其中给定噪声日程 ,

记

则一步重参数化为

逆向生成链由模型给出:

这里 是已知前向核, 是学习得到的逆向核,二者不能混写。过程可概括为:


图意:DDPM 扩散模型。 上行逐步加噪,下行用参数化逆向核去噪。

flowchart LR
    x0["x_0:数据"] -->|"q(x_1|x_0)"| x1["x_1"]
    x1 -->|"q(x_2|x_1)"| x2["⋯"]
    x2 -->|"q(x_T|x_{T-1})"| xT["x_T:噪声"]
    xT -->|"p_θ(x_{T-1}|x_T)"| x2
    x2 -->|"p_θ(x_1|x_2)"| x1
    x1 -->|"p_θ(x_0|x_1)"| x0

2. 任意时刻的闭式扰动核

反复代入一步递推可得

各 独立且服从标准高斯,所以上式噪声项仍是高斯。其协方差系数满足

因此存在 使

以及

这使训练时能直接抽取任意时刻的 ,无需模拟前 步。

“终端接近标准高斯”需要 足够小;并非只要步数大就自动成立。对无限日程,

而在常见的小 条件下,这近似等价于
。有限 时通常只有
,近似质量还取决于数据尺度是否已标准化。

3. 精确一步后验

训练逆向模型所需的可解后验是

而不是 。由

与 的高斯乘积,得到

其中

且

由扰动表示

后验均值也可写为

完整的一般线性高斯后验及 Tweedie 公式见
线性高斯扩散。

4. 逆向模型的参数化

常用高斯逆向核为

4.1 预测噪声

让神经网络预测前向扰动中的噪声
,并定义

将其代入精确后验均值,得到

4.2 模型方差

原始 DDPM 可固定

对 可取 或
;两者是不同的设计选择,不能把精确后验方差
直接改写成 。也可学习方差,例如在
与 之间插值。无论采用何种选择,
的方差都属于生成模型参数化,不改变上节 后验的
。

对连续数据,若要把 当作普通
Lebesgue 密度并使用下面的精确 ELBO,末步应采用 proper Gaussian
或另行定义离散化解码器。令 会得到 Dirac 核,
它一般不支配真实连续条件律;此时确定性末步只能视为另一种生成约定或采样
启发式,不能同时沿用普通连续密度的 ELBO。

5. ELBO 与简化目标

由 Jensen 不等式,

记

则它分解为

当模型方差固定时,第 个 KL 项关于均值是带时间权重的平方误差。
令 是 上处处为正的时间采样分布。采用噪声参数化后,
内部 KL 项之和可写成

其中在 固定时

而 只包含这些内部 KL 中与 无关的项。
与 仍须在完整 ELBO 中单独保留;尤其
通常依赖 ,不能吸收到常数中。若 均匀,
是报告 ELBO 数值时不能漏掉的全局因子;只比较内部 KL
最优均值时可省略。原始 DDPM 的常用简化目标进一步把 纳入统一的
噪声预测训练,并去掉解析时间权重:

简化目标通常更易优化,但它不是逐项保持原 ELBO 权重后的同一个标量目标。它与分数参数化的精确权重关系见
分数匹配。

6. 训练算法

一次训练迭代:

  1. 采样 ;
  2. 采样 ;
  3. 采样 ;
  4. 构造
  5. 最小化

    或相应的 ELBO 加权项。

7. 采样算法

先采样

然后对 :

  1. 计算
  2. 若 ,采样
    并令
  3. 若 且模型声明 proper Gaussian 方差 ,精确采样仍为 常见实现令 ,把均值直接作为输出;这是一种确定性末步
    启发式,除非模型本身就定义成 Dirac 解码器,否则它不是从所声明
    的精确采样。

若使用学习方差,应使用模型给出的标准差;若对内部步固定为精确后验方差,
则仅对 取 ,末步解码器需另行定义。

8. 独立高斯递推公式

更一般地,若

则归纳得到

噪声和的协方差为

若每一步满足 ,则

从而

DDPM 对应
、
。

Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. Advances in Neural Information Processing Systems, 33, 6840–6851.