5003.大模型-架构-Diffusion-1.前向扩散与变分下界

去噪扩散概率模型(Denoising Diffusion Probabilistic Model,DDPM)(Ho et al., 2020)把生成建模拆成两个马尔可夫链:前向链固定、把数据渐变为高斯噪声;逆向链参数化、从噪声恢复数据。本文在变分推断(Variational Inference,VI)框架下推导 证据下界(Evidence Lower Bound,ELBO),说明为何「预测噪声 (\epsilon)」的 MSE 损失是合理训练目标,并给出离散时间采样算法——这是阅读蛋白质结构扩散、分子 3D 生成等论文的数学基础。

段末注释:VI 用易处理分布近似难采样的后验;ELBO 为 (\log p(x)) 的可优化下界;DDPM 为离散时间高斯扩散的标准表述。

前置阅读5003.大模型-架构-Diffusion-0.概述与生物信息学应用全景Diffusion-Math-0 概率与扩散数学基础


1. 问题设定

给定独立同分布数据集 ({x_0^{(i)}} \sim q(x_0)),目标是学习生成分布 (p_\theta(x_0)) 以便采样新样本(如蛋白质骨架坐标、配体构象、表达谱向量)。

引入潜变量 (x_{1:T} = (x_1,\ldots,x_T)),构造联合分布:

[
p_\theta(x_{0:T}) = p(x_T),\prod_{t=1}^{T} p_\theta(x_{t-1}\mid x_t),
\quad p(x_T) = \mathcal{N}(0, \mathbf{I}).
]

生成即:采样 (x_T),依次逆向采样 (x_{T-1},\ldots,x_0)。

概念锚点 · 随机变量:(x_0^{(i)} \in \mathbb{R}^d) 是 (d) 维数据向量(蛋白坐标、像素等),(q(x_0)) 为数据分布;潜变量 (x_{1:T}) 构成扩散轨迹(Math-0 §2)。

概念图 随机变量 \(X\) 将样本映射到 \(\mathbb{R}^d\) 数据向量


2. 前向扩散过程(固定)

前向链是马尔可夫链:(q(x_t \mid x_{t-1}, x_{t-2}, \ldots, x_0) = q(x_t \mid x_{t-1}))(Math-0 §7)。对每个 (t=1,\ldots,T),定义条件高斯转移:

[
q(x_t \mid x_{t-1}) = \mathcal{N}\big(x_t;,\sqrt{1-\beta_t},x_{t-1},,\beta_t \mathbf{I}\big),
]

(\beta_t \in (0,1)) 为噪声方差日程。令 (\alpha_t = 1-\beta_t),(\bar\alpha_t = \prod_{s=1}^{t}\alpha_s)。

概念图 马尔可夫链无记忆结构

关键性质(重参数化):可一步从 (x_0) 采样 (x_t):

[
q(x_t \mid x_0) = \mathcal{N}\big(x_t;,\sqrt{\bar\alpha_t},x_0,,(1-\bar\alpha_t)\mathbf{I}\big),
]

等价写法(后续训练最常用):

[
x_t = \sqrt{\bar\alpha_t},x_0 + \sqrt{1-\bar\alpha_t},\epsilon,
\quad \epsilon \sim \mathcal{N}(0, \mathbf{I}).
]

概念锚点 · 重参数化:上式把采样 (x_t) 拆成确定性缩放 + 标准高斯 (\epsilon),使梯度可穿过 (x_0) 与 (t);这是训练时随机构造 (x_t) 的标准做法(Math-0 §8)。

概念图 重参数化 \(x = \mu + \sigma\epsilon\)

当 (T\to\infty) 且 (\beta_t) 足够小,(x_T) 近似标准高斯——前向过程无需训练

2.1 噪声日程的选择

日程 定义 特点
线性 (\beta_t) 从 (\beta_1) 线性增至 (\beta_T) DDPM 原文默认;高 (t) 时信噪比下降快
余弦(cosine) (\bar\alpha_t = \cos^2!\big(\frac{t/T+s}{1+s}\cdot\frac{\pi}{2}\big)) Nichol & Dhariwal;低频信息保留更好,图像/结构常用

蛋白质坐标等连续变量,余弦日程常使中间步信噪比更均衡,有利于学习全局折叠。

概念图 噪声日程 \(\beta_t\) 与 \(\bar\alpha_t\) 曲线

概念图 信噪比 SNR 与 \(x_t\) 分解


3. 逆向过程(待学习)

真实逆向条件 (q(x_{t-1}\mid x_t)) 依赖整个数据集,不可闭式使用。设:

[
p_\theta(x_{t-1}\mid x_t) = \mathcal{N}\big(x_{t-1};,\mu_\theta(x_t, t),,\Sigma_\theta(x_t, t)\big).
]

DDPM固定方差 (\Sigma_\theta = \sigma_t^2 \mathbf{I})(常取 (\sigma_t^2 = \beta_t) 或 (\tilde\beta_t),见下),只学习均值 (\mu_\theta)。


4. 变分下界 ELBO 推导

最大化 (\mathbb{E}{q(x_0)}[\log p\theta(x_0)]),对 (x_{1:T}) 引入 (q(x_{1:T}\mid x_0)):

[
\log p_\theta(x_0) \geq \mathbb{E}{q(x{1:T}\mid x_0)}\Big[\log \frac{p_\theta(x_{0:T})}{q(x_{1:T}\mid x_0)}\Big] =: \mathcal{L}_{\mathrm{VLB}}.
]

概念锚点 · ELBO 与 KL:下式中每项 (L_{t-1}) 是 two Gaussians 之间的 KL 散度 (\mathrm{KL}(P|Q)),衡量真实后验与模型预测的差异(Math-0 §6、§12)。

概念图 KL 散度 \(\mathrm{KL}(P\|Q)\)

概念图 ELBO 分解与 \(\log p(x_0)\) 下界

展开(标准 VAE 技巧):

[
\mathcal{L}{\mathrm{VLB}} =
\underbrace{\mathrm{KL}\big(q(x_T\mid x_0),|,p(x_T)\big)}
{L_T}

  • \sum_{t=2}^{T} \underbrace{\mathbb{E}{q(x_t\mid x_0)}\Big[\mathrm{KL}\big(q(x{t-1}\mid x_t,x_0),|,p_\theta(x_{t-1}\mid x_t)\big)\Big]}{L{t-1}}
  • \underbrace{\mathbb{E}{q(x_1\mid x_0)}[\log p\theta(x_0\mid x_1)]}_{L_0}.
    ]

4.1 真实后验 (q(x_{t-1}\mid x_t, x_0))(Bayes 闭式)

概念锚点 · 条件分布:在已知「干净数据 (x_0)」与「当前 noisy (x_t)」时,贝叶斯公式给出最优一步去噪的后验——仍是高斯(Math-0 §4)。

概念图 条件分布 \(q(x_t \mid x_0)\) 与贝叶斯后验

前向为高斯马尔可夫链,后验仍是高斯:

[
q(x_{t-1}\mid x_t, x_0) = \mathcal{N}\big(x_{t-1};,\tilde\mu_t(x_t, x_0),,\tilde\beta_t \mathbf{I}\big),
]

其中:

[
\tilde\mu_t(x_t, x_0) = \frac{\sqrt{\bar\alpha_{t-1}},\beta_t}{1-\bar\alpha_t},x_0

  • \frac{\sqrt{\alpha_t}(1-\bar\alpha_{t-1})}{1-\bar\alpha_t},x_t,
    ]

[
\tilde\beta_t = \frac{1-\bar\alpha_{t-1}}{1-\bar\alpha_t},\beta_t.
]

直觉:若已知「最终要回到的 (x_0)」与「当前 noisy (x_t)」,最优一步去噪均值 (\tilde\mu_t) 是二者的加权平均。

4.2 用 (\epsilon) 参数化 (\mu_\theta)

由 (x_t = \sqrt{\bar\alpha_t},x_0 + \sqrt{1-\bar\alpha_t},\epsilon) 得 (x_0 = \frac{1}{\sqrt{\bar\alpha_t}}(x_t - \sqrt{1-\bar\alpha_t},\epsilon))。代入 (\tilde\mu_t),可写成:

[
\tilde\mu_t = \frac{1}{\sqrt{\alpha_t}}\Big(x_t - \frac{\beta_t}{\sqrt{1-\bar\alpha_t}},\epsilon\Big).
]

令 (\mu_\theta(x_t,t)) 同形,用网络 (\epsilon_\theta(x_t,t)) 替代未知 (\epsilon):

[
\mu_\theta(x_t,t) = \frac{1}{\sqrt{\alpha_t}}\Big(x_t - \frac{\beta_t}{\sqrt{1-\bar\alpha_t}},\epsilon_\theta(x_t,t)\Big).
]

对固定 (\Sigma_\theta = \tilde\beta_t \mathbf{I}),(L_{t-1}) 中的 KL 等价于:

[
\mathbb{E}{q(x_0,x_t)}\Big[\big|\epsilon - \epsilon\theta(x_t,t)\big|^2\Big] + \text{const}.
]


5. 简化训练目标 (\mathcal{L}_{\mathrm{simple}})

Ho et al. 发现对 (L_{t-1}) 加权求和不如去掉部分权重的简化损失有效:

[
\mathcal{L}{\mathrm{simple}} = \mathbb{E}{t,,x_0,,\epsilon}\Big[\big|\epsilon - \epsilon_\theta(x_t, t)\big|^2\Big],
]

其中 (t \sim \mathrm{Uniform}{1,\ldots,T}),(x_0 \sim q(x_0)),(\epsilon \sim \mathcal{N}(0,\mathbf{I})),(x_t = \sqrt{\bar\alpha_t}x_0 + \sqrt{1-\bar\alpha_t}\epsilon)。

训练算法(单步)

  1. 采样 minibatch (x_0);
  2. 采样 (t) 与 (\epsilon);
  3. 构造 (x_t);
  4. 最小化 (|\epsilon - \epsilon_\theta(x_t,t)|^2)。

数值手算例题(2 维玩具数据、逐步算 (x_t) 与损失):见 Diffusion-Example-0 前向训练数值例题

网络 (\epsilon_\theta) 常见骨干:U-Net(图像)、等变 Transformer(3D 点/原子)、纯 MLP(低维表达谱)。

5.1 等价参数化

预测目标 关系 备注
(\epsilon)-prediction 上式 最常用
(x_0)-prediction (\hat x_0 = f_\theta(x_t,t)),再转 (\epsilon) 有时直接约束物理量(坐标界)
v-prediction (v = \sqrt{\bar\alpha_t}\epsilon - \sqrt{1-\bar\alpha_t},x_0) Salimans & Ho;大 (t) 与小 (t) 梯度更均衡,视频/结构模型常用

5.2 时间步 (t):共享参数,非每档独立

所有 (t\in{1,\ldots,T}) 共用同一 (\epsilon_\theta)(同一套权重 (\theta))。(t) 不是「第 (t) 套网络」,而是条件输入

[
\epsilon_\theta(x_t,, t) ;\leftarrow; \text{共享 U-Net / Transformer} + \text{timestep embedding}(t).
]

训练时每步随机 (t \sim \mathrm{Uniform}{1,\ldots,T}),各 batch 样本可能对应不同 (t),但梯度更新同一 (\theta)。若改为每档独立 (\epsilon_{\theta_t}),参数量约为 (T) 倍((T=1000) 时不可行),且无法在相邻 (t) 间共享结构。

实现要点(Ho et al.):对 (t) 做正弦位置编码,经 MLP 后与 (x_t) 特征融合,或注入 AdaGN 调制各层。详见 Example-0 §6.3

段末注释:固定的是前向 (\beta_t);可学习的是逆向 (\theta),对所有 (t) 共享。


6. 逆向采样算法

学习 (\epsilon_\theta) 后,从 (x_T \sim \mathcal{N}(0,\mathbf{I})) 出发,对 (t = T,\ldots,1):

训练 vs 推理的 (t):训练时 (t) 随机(覆盖各档);推理时不抽 (t),从最大档 (t=T) 的纯噪 (x_T) 起,沿 (T!\to!1) 逐步去噪(Example-0 §10)。循环中每一步调用同一 (\epsilon_\theta(\cdot,t)),仅改变输入 (t) 的 embedding。

[
x_{t-1} = \frac{1}{\sqrt{\alpha_t}}\Big(x_t - \frac{\beta_t}{\sqrt{1-\bar\alpha_t}},\epsilon_\theta(x_t,t)\Big) + \sigma_t z,
\quad z \sim \mathcal{N}(0,\mathbf{I}),
]

(\sigma_t) 常取 (\sqrt{\beta_t}) 或 0(确定性最后一步)。(t=1) 时可设 (\sigma_1=0) 得到最终 (x_0)。

图 1 DDPM 逆向采样迭代流程(从 x_T 逐步去噪至 x_0)

复杂度:每样本需 (T) 次网络前向;(T=1000) 时推理昂贵——系列第 3 篇讨论 DDIM 跳步。


7. 与得分匹配的联系(预告)

定义得分函数 (\nabla_{x_t}\log q(x_t))。对高斯 (q(x_t\mid x_0)) 可证:

[
\nabla_{x_t}\log q(x_t\mid x_0) = -\frac{\epsilon}{\sqrt{1-\bar\alpha_t}}.
]

故 (\epsilon)-prediction 等价于学习缩放得分;连续时间极限下得到 SDE 形式(系列第 2 篇)。

概念锚点 · 得分函数:(\nabla_{x_t}\log q(x_t) = -\epsilon/\sqrt{1-\bar\alpha_t}) 指向密度增大方向(Math-0 §11)。

概念图 得分函数 \(\nabla_x \log p(x)\) 与密度「上坡」方向


8. 生物信息学实现注意点

数据尺度

  • 蛋白质 (C_\alpha) 坐标常中心化(减质心)并归一化到 Å 或无量纲单位;否则 (\beta_t) 需与方差匹配。
  • 多链复合物:可对每条链分别中心化,或以复合物质心为原点。

损失加权

  • 对骨架原子、侧链、主链二面角可设异方差或分区域 MSE。
  • Rigid-body 块内扩散时,应在 SE(3) 流形上定义噪声(见第 5 篇),而非直接对全局坐标加各向同性高斯。

与 VAE 混合

  • 潜扩散(Latent Diffusion) 先在 VAE 潜空间 (z) 上跑 DDPM,降低维度——图像 Stable Diffusion 与部分分子 LDM 采用此路线。

9. 小结

DDPM 通过固定前向高斯链与可学习逆向高斯链,将生成转化为多步去噪回归ELBO 中每项 KL 在 (\epsilon)-参数化下化为 MSE。训练只需采样随机 (t) 与噪声;采样沿逆向马尔可夫链迭代。掌握 (\bar\alpha_t)、(\tilde\mu_t)、(\epsilon_\theta) 三者的代数关系,即可读懂结构扩散论文中的网络输入输出定义。

段末注释:SE(3) 为三维特殊欧氏群,描述刚体旋转与平移;在群上扩散需保持等变性而非欧氏空间各向同性噪声。


本篇数学概念索引

概念 出现章节 延伸阅读
随机变量 (x_0, x_{1:T}) §1 Math-0 §2
马尔可夫链 / 重参数化 / 噪声日程 / SNR §2 Math-0 §7–§10
KL 散度 / ELBO / 条件后验 §4 Math-0 §4、§6、§12
(\mathcal{L}_{\mathrm{simple}}) / 训练算法 §5 Example-0 数值例题
共享 (\theta) / timestep embedding §5.2 Example-0 §6.3
逆向采样 / 生成从 (t=T) §6 Example-0 §10
得分函数 §7 Math-0 §11Diffusion-2

参考与延伸阅读

  • Ho et al., Denoising Diffusion Probabilistic Models(NeurIPS 2020).
  • Sohl-Dickstein et al., Deep Unsupervised Learning using Nonequilibrium Thermodynamics(扩散思想早期工作).
  • Nichol & Dhariwal, Improved Denoising Diffusion Probabilistic Models(余弦日程、学习方差).
  • Salimans & Ho, Progressive Distillation for Fast Sampling of Diffusion Modelsv-prediction 等).
-------------本文结束感谢您的阅读-------------