变分扩散模型中的 Evidence Lower Bound (ELBO) 详解

变分扩散模型中的 Evidence Lower Bound (ELBO) 详解

在变分扩散模型(Variational Diffusion Model)中,训练目标是通过最大化证据下界(Evidence Lower Bound, ELBO)来优化模型参数,从而实现从噪声中生成高质量数据。ELBO 的具体形式,这一表达式看似复杂,但其结构清晰,包含初始块、重构块和过渡块三个部分。本文将详细解析 ELBO 的每个组成部分及其数学意义,结合直观解释,帮助深度学习研究者理解其作用和推导过程。


ELBO 的总体形式

ELBO 的数学表达式为:

ELBO φ , θ ( x ) = E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] − E q φ ( x T − 1 ∣ x 0 ) [ D K L ( q φ ( x T ∣ x T − 1 ) ∥ p ( x T ) ) ] − ∑ t = 1 T − 1 E q φ ( x t − 1 , x t + 1 ∣ x 0 ) [ D K L ( q φ ( x t ∣ x t − 1 ) ∥ p θ ( x t ∣ x t + 1 ) ) ] \text{ELBO}_{φ,θ}(x) = \mathbb{E}_{q_φ(x_1|x_0)} \left[ \log p_θ(x_0|x_1) \right] - \mathbb{E}_{q_φ(x_{T-1}|x_0)} \left[ D_{KL}(q_φ(x_T|x_{T-1}) \| p(x_T)) \right] - \sum_{t=1}^{T-1} \mathbb{E}_{q_φ(x_{t-1}, x_{t+1}|x_0)} \left[ D_{KL}(q_φ(x_t|x_{t-1}) \| p_θ(x_t|x_{t+1})) \right] ELBOφ,θ(x)=Eqφ(x1x0)[logpθ(x0x1)]Eqφ(xT1x0)[DKL(qφ(xTxT1)p(xT))]t=1T1Eqφ(xt1,xt+1x0)[DKL(qφ(xtxt1)pθ(xtxt+1))]

其中:

  • ( x 0 = x x_0 = x x0=x ) 是输入数据。
  • ( x T ∼ N ( 0 , I ) x_T \sim \mathcal{N}(0, I) xTN(0,I) ) 是最终噪声分布。
  • ( φ φ φ ) 和 ( θ θ θ ) 分别是模型的变分参数和生成参数。

ELBO 由三部分组成,分别对应模型的不同阶段:初始重构、最终先验匹配和过渡一致性。让我们逐步拆解。


1. 初始块:重构项 ( E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] Eqφ(x1x0)[logpθ(x0x1)] )

数学意义

这一项衡量模型从第一步噪声 ( x 1 x_1 x1 ) 重构原始数据 ( x 0 x_0 x0 ) 的能力:

  • 对数似然 ( log ⁡ p θ ( x 0 ∣ x 1 ) \log p_θ(x_0|x_1) logpθ(x0x1) ) 表示给定 ( x 1 x_1 x1 ) 后,神经网络 ( p θ p_θ pθ ) 重建 ( x 0 x_0 x0 ) 的概率。
  • 期望 ( E q φ ( x 1 ∣ x 0 ) \mathbb{E}_{q_φ(x_1|x_0)} Eqφ(x1x0) ) 是对 ( q φ ( x 1 ∣ x 0 ) q_φ(x_1|x_0) qφ(x1x0) ) 分布中采样的 ( x 1 x_1 x1 ) 取平均,消除 ( x 1 x_1 x1 ) 的随机性。

直观解释

  • ( q φ ( x 1 ∣ x 0 ) q_φ(x_1|x_0) qφ(x1x0) ) 是从 ( x 0 x_0 x0 ) 向前传播一步得到的分布(例如 ( N ( x 1 ∣ α 1 x 0 , ( 1 − α 1 ) I ) \mathcal{N}(x_1 | \sqrt{α_1} x_0, (1 - α_1) I) N(x1α1 x0,(1α1)I) ))。
  • ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 是逆向过程,试图从 ( x 1 x_1 x1 ) 恢复 ( x 0 x_0 x0 )。这一项类似于 VAE 中的重构损失,衡量初始步骤的重建质量。
  • 期望的使用是因为 ( x 1 x_1 x1 ) 是随机变量,不同的 ( x 1 x_1 x1 ) 会导致不同的 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 值,平均后得到对 ( x 0 x_0 x0 ) 的整体评估。

为什么需要条件?

  • ( x 1 x_1 x1 ) 依赖于 ( x 0 x_0 x0 ),因此 ( q φ ( x 1 ∣ x 0 ) q_φ(x_1|x_0) qφ(x1x0) ) 是条件分布,确保重构与原始输入相关。

2. 最终块:先验匹配项 ( − E q φ ( x T − 1 ∣ x 0 ) [ D K L ( q φ ( x T ∣ x T − 1 ) ∥ p ( x T ) ) ] -\mathbb{E}_{q_φ(x_{T-1}|x_0)} [D_{KL}(q_φ(x_T|x_{T-1}) \| p(x_T))] Eqφ(xT1x0)[DKL(qφ(xTxT1)p(xT))])

数学意义

这一项通过 KL 散度 ( D K L ( q φ ( x T ∣ x T − 1 ) ∥ p ( x T ) ) D_{KL}(q_φ(x_T|x_{T-1}) \| p(x_T)) DKL(qφ(xTxT1)p(xT)) ) 衡量最终分布 ( x T x_T xT ) 与先验分布 ( p ( x T ) = N ( 0 , I ) p(x_T) = \mathcal{N}(0, I) p(xT)=N(0,I) ) 的差异:

  • KL 散度 量化 ( q φ ( x T ∣ x T − 1 ) q_φ(x_T|x_{T-1}) qφ(xTxT1) )(从 ( x T − 1 x_{T-1} xT1 ) 向前传播到 ( x T x_T xT ))与 ( p ( x T ) p(x_T) p(xT) ) 的偏离程度。
  • 期望 ( E q φ ( x T − 1 ∣ x 0 ) \mathbb{E}_{q_φ(x_{T-1}|x_0)} Eqφ(xT1x0) ) 对 ( x T − 1 x_{T-1} xT1) 采样平均,( x T − 1 x_{T-1} xT1 ) 由 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 生成。

直观解释

  • 扩散过程的目标是将 ( x 0 x_0 x0 ) 逐步变为 ( x T ∼ N ( 0 , I ) x_T \sim \mathcal{N}(0, I) xTN(0,I) )。这一项确保 ( x T x_T xT ) 的分布尽可能接近先验 ( N ( 0 , I ) \mathcal{N}(0, I) N(0,I) )。
  • ( x T − 1 x_{T-1} xT1 ) 是倒数第二步的变量,依赖 ( x 0 x_0 x0 ) 的初始条件,期望消除其随机性。
  • 负号表示最小化 KL 散度,等价于最大化 ELBO。

为什么用期望?

  • ( q φ ( x T ∣ x T − 1 ) q_φ(x_T|x_{T-1}) qφ(xTxT1) ) 依赖 ( x T − 1 x_{T-1} xT1 ),不同 ( x T − 1 x_{T-1} xT1 ) 会产生不同 ( x T x_T xT ) 分布,期望对所有可能 ( x T − 1 x_{T-1} xT1 ) 取平均。

3. 过渡块:一致性项 ( − ∑ t = 1 T − 1 E q φ ( x t − 1 , x t + 1 ∣ x 0 ) [ D K L ( q φ ( x t ∣ x t − 1 ) ∥ p θ ( x t ∣ x t + 1 ) ) ] -\sum_{t=1}^{T-1} \mathbb{E}_{q_φ(x_{t-1}, x_{t+1}|x_0)} [D_{KL}(q_φ(x_t|x_{t-1}) \| p_θ(x_t|x_{t+1}))] t=1T1Eqφ(xt1,xt+1x0)[DKL(qφ(xtxt1)pθ(xtxt+1))] )

数学意义

这一项通过 ( T − 1 T-1 T1 ) 个时间步的 KL 散度,衡量前向过渡 ( q φ ( x t ∣ x t − 1 ) q_φ(x_t|x_{t-1}) qφ(xtxt1) ) 与逆向过渡 ( p θ ( x t ∣ x t + 1 ) p_θ(x_t|x_{t+1}) pθ(xtxt+1) ) 的一致性:

  • KL 散度 ( D K L ( q φ ( x t ∣ x t − 1 ) ∥ p θ ( x t ∣ x t + 1 ) ) D_{KL}(q_φ(x_t|x_{t-1}) \| p_θ(x_t|x_{t+1})) DKL(qφ(xtxt1)pθ(xtxt+1)) ) 比较正向噪声过程与学习的反向去噪过程。
  • 期望 ( E q φ ( x t − 1 , x t + 1 ∣ x 0 ) \mathbb{E}_{q_φ(x_{t-1}, x_{t+1}|x_0)} Eqφ(xt1,xt+1x0) ) 对 ( ( x t − 1 , x t + 1 ) (x_{t-1}, x_{t+1}) (xt1,xt+1) ) 联合分布采样。
  • 求和 从 ( t = 1 t=1 t=1 ) 到 ( T − 1 T-1 T1 ) 覆盖所有过渡步。

直观解释

  • 扩散模型有正向(加噪)和逆向(去噪)两个过程。( q φ ( x t ∣ x t − 1 ) q_φ(x_t|x_{t-1}) qφ(xtxt1) ) 是正向分布,( p θ ( x t ∣ x t + 1 ) p_θ(x_t|x_{t+1}) pθ(xtxt+1) ) 是逆向分布。
  • 一致性项确保正向和逆向过程在每一步匹配,类似于 VAE 中的潜在分布约束。
  • 期望对 ( x t − 1 x_{t-1} xt1 ) 和 ( x t + 1 x_{t+1} xt+1 ) 采样,因为 ( x t x_t xt) 是中间变量,KL 散度依赖于两端的条件。

为什么用联合期望?

  • ( x t − 1 x_{t-1} xt1 ) 和 ( x t + 1 x_{t+1} xt+1 ) 通过 ( q φ ( x t − 1 , x t + 1 ∣ x 0 ) q_φ(x_{t-1}, x_{t+1}|x_0) qφ(xt1,xt+1x0) ) 相关,联合采样反映多步依赖。
  • ( x t x_t xt ) 是 KL 散度中的“哑变量”,积分后消去,期望聚焦于边界条件。

ELBO 的结构与优化

结构分析

  • 初始块:对应重构损失,优化 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 的能力。
  • 最终块:对应先验匹配,约束 ( x T x_T xT ) 接近 ( N ( 0 , I ) \mathcal{N}(0, I) N(0,I) )。
  • 过渡块:对应一致性,优化正向与逆向分布的匹配。

具体推导可以参考笔者的另一篇博客:变分扩散模型 ELBO 的推导过程详解

训练过程

  • 通过最大化 ELBO,更新 ( φ φ φ )(编码器)和 ( θ θ θ )(解码器)参数。
  • 使用蒙特卡洛采样近似期望,计算梯度进行随机梯度下降。

代码实现片段(伪代码)

以下是 ELBO 近似的伪代码框架:

import torch

def elbo_loss(x0, model, T, alpha_schedule):
    elbo = 0.0
    # 初始块
    x1 = forward_transition(x0, alpha_schedule[1])  # q_phi(x1|x0)
    recon_loss = -torch.mean(torch.log(model.reconstruct(x0, x1)))  # log p_theta(x0|x1)
    elbo += recon_loss
    
    # 最终块
    xT_minus_1 = forward_multi_step(x0, alpha_schedule[:T])  # q_phi(x_{T-1}|x0)
    xT = forward_transition(xT_minus_1, alpha_schedule[T])  # q_phi(x_T|x_{T-1})
    kl_final = kl_divergence(xT, torch.zeros_like(xT), torch.ones_like(xT))  # D_KL with p(xT)=N(0,I)
    elbo -= torch.mean(kl_final)
    
    # 过渡块
    for t in range(1, T):
        x_t_minus_1, x_t_plus_1 = sample_pair(x0, t, alpha_schedule)  # q_phi(x_{t-1}, x_{t+1}|x0)
        x_t = forward_transition(x_t_minus_1, alpha_schedule[t])  # q_phi(x_t|x_{t-1})
        x_t_reverse = model.reverse(x_t_plus_1, t)  # p_theta(x_t|x_{t+1})
        kl_trans = kl_divergence(x_t, x_t_reverse.mean, x_t_reverse.cov)
        elbo -= torch.mean(kl_trans)
    
    return elbo

# 训练循环(简化为概念)
optimizer = torch.optim.Adam(model.parameters())
for epoch in range(num_epochs):
    for x_batch in data_loader:
        optimizer.zero_grad()
        loss = elbo_loss(x_batch, model, T, alpha_schedule)
        loss.backward()
        optimizer.step()

总结

ELBO 将重构、先验匹配和一致性整合为一个优化目标,反映了扩散模型从数据到噪声再到重构的全过程。初始块优化重构能力,最终块约束分布一致性,过渡块确保正逆过程协调。理解其结构有助于设计和调试扩散模型,特别是在处理高维数据生成任务时。

希望这篇博客帮助你掌握 ELBO 的本质!

为什么初始块中重构损失是 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 而不是 ( p θ ( x 1 ∣ x 0 ) p_θ(x_1|x_0) pθ(x1x0) )?

在变分扩散模型(Variational Diffusion Model)的证据下界(Evidence Lower Bound, ELBO)中,初始块的重构项被定义为 ( E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] Eqφ(x1x0)[logpθ(x0x1)] )。这可能让人疑惑:为什么是“从 ( x 1 x_1 x1 ) 到 ( x 0 x_0 x0 )”的条件概率 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ),而不是“从 ( x 0 x_0 x0 ) 到 ( x 1 x_1 x1 )”的 ( p θ ( x 1 ∣ x 0 ) p_θ(x_1|x_0) pθ(x1x0) )?这种“反过来”的设计背后有深刻的数学和模型结构原因。本文将详细解释这一选择的动机,面向具备概率论和深度学习基础的读者。


扩散模型的正向与逆向过程

正向过程

扩散模型的核心思想是通过一个正向过程逐步将数据 ( x 0 x_0 x0 )(例如原始图像)添加噪声,生成一系列中间状态 ( x 1 , x 2 , … , x T x_1, x_2, \dots, x_T x1,x2,,xT ),最终趋向纯噪声分布 ( x T ∼ N ( 0 , I ) x_T \sim \mathcal{N}(0, I) xTN(0,I) )。正向过渡分布定义为:

q φ ( x t ∣ x t − 1 ) = N ( x t ∣ α t x t − 1 , ( 1 − α t ) I ) q_φ(x_t|x_{t-1}) = \mathcal{N}(x_t | \sqrt{α_t} x_{t-1}, (1 - α_t) I) qφ(xtxt1)=N(xtαt xt1,(1αt)I)

  • ( x 1 x_1 x1 ) 是从 ( x 0 x_0 x0 ) 开始,添加少量噪声后得到的一个中间状态。
  • 这个过程是已知的,且由 ( q φ q_φ qφ ) 参数化。

逆向过程

逆向过程的目标是从 ( x T x_T xT )(噪声)逐步去噪,重建 ( x 0 x_0 x0 )(原始数据)。这个过程由学习模型 ( p θ p_θ pθ ) 建模,例如:

p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt)

逆向过程是模型需要优化的部分,旨在近似正向过程的逆操作。


初始块的角色:重构损失 ( E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] Eqφ(x1x0)[logpθ(x0x1)] )

ELBO 中的初始块

ELBO 的初始项为:

E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] Eqφ(x1x0)[logpθ(x0x1)]

  • ( q φ ( x 1 ∣ x 0 ) q_φ(x_1|x_0) qφ(x1x0) ):正向过程从 ( x 0 x_0 x0 ) 生成 ( x 1 x_1 x1 ) 的分布。
  • ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ):逆向过程从 ( x 1 x_1 x1 ) 预测 ( x 0 x_0 x0 ) 的条件概率。

为什么是 ( x 0 ∣ x 1 x_0|x_1 x0x1 ) 而不是 ( x 1 ∣ x 0 x_1|x_0 x1x0 )?

1. 模型的目标是逆向重构
  • 扩散模型的训练目标是学习一个逆向过程 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ),从噪声 ( x t x_t xt ) 逐步恢复数据 ( x t − 1 x_{t-1} xt1 ),最终回到 ( x 0 x_0 x0 )。
  • 初始块的 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 对应于逆向过程中的第一步:给定第一步噪声 ( x 1 x_1 x1 ),预测原始数据 ( x 0 x_0 x0 )。这与模型的去噪任务一致。
  • 如果使用 ( p θ ( x 1 ∣ x 0 ) p_θ(x_1|x_0) pθ(x1x0) ),则是在给定 ( x 0 x_0 x0 ) 预测 ( x 1 x_1 x1 ),这实际上是正向过程 ( q φ ( x 1 ∣ x 0 ) q_φ(x_1|x_0) qφ(x1x0) ) 的任务,而非模型需要学习的逆过程。
2. 数学上的对称性与信息流
  • 在概率模型中,条件概率 ( p ( x ∣ y ) p(x|y) p(xy) ) 表示“给定 ( y y y ) 预测 ( x x x )”。扩散模型的逆过程是从后向前(从 ( x T x_T xT ) 到 ( x 0 x_0 x0 )),因此 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 是自然的选择。
  • 初始块选择 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 是因为 ( x 1 x_1 x1 ) 是正向过程的第一步噪声,模型需要学习如何从这个噪声状态逆向推断 ( x 0 x_0 x0 )。这与 VAE 中从潜变量 ( z z z ) 重构 ( x x x ) 的逻辑类似,但方向相反。
3. ELBO 的优化目标
  • ELBO 试图最大化 ( log ⁡ p ( x 0 ) \log p(x_0) logp(x0) ) 的下界,而 ( log ⁡ p ( x 0 ) = E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] − KL 项 \log p(x_0) = \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] - \text{KL 项} logp(x0)=Eqφ(x1x0)[logpθ(x0x1)]KL  )。
  • ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 反映了模型对 ( x 0 x_0 x0 ) 的重构能力,期望 ( E q φ ( x 1 ∣ x 0 ) \mathbb{E}_{q_φ(x_1|x_0)} Eqφ(x1x0) ) 确保对所有可能的 ( x 1 x_1 x1 ) 进行评估。
  • 如果用 ( p θ ( x 1 ∣ x 0 ) p_θ(x_1|x_0) pθ(x1x0) ),则优化的是正向过程的拟合,而非逆向重构,违背了扩散模型的学习目标。
4. 与 VAE 的对比
  • 在 VAE 中,( E q φ ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) ] \mathbb{E}_{q_φ(z|x)} [\log p_θ(x|z)] Eqφ(zx)[logpθ(xz)] ) 是从潜变量 ( z z z ) 到数据 ( x x x ) 的重构。
  • 扩散模型的逆向性质使其从 ( x 1 x_1 x1 ) 到 ( x 0 x_0 x0 ) 的方向,与 VAE 的 ( z z z ) 到 ( x x x ) 类似,但扩散模型的多步性质要求从噪声到数据的逐步恢复。

直观解释

  • 想象 ( x 0 x_0 x0 ) 是一张干净的图片,( x 1 x_1 x1 ) 是添加少量噪声后的版本。模型的任务不是预测 ( x 1 x_1 x1 )(因为 ( q φ ( x 1 ∣ x 0 ) q_φ(x_1|x_0) qφ(x1x0) ) 已知),而是从 ( x 1 x_1 x1) 推断出原始 ( x 0 x_0 x0)。因此,( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 是模型需要学习的“去噪”能力。
  • 如果用 ( p θ ( x 1 ∣ x 0 ) p_θ(x_1|x_0) pθ(x1x0) ),则是在教模型如何加噪,这与正向过程重复,不符合逆向学习的目标。

数学验证

考虑 ELBO 的推导:

  • ( log ⁡ p ( x 0 ) = D K L ( q φ ( x 1 ∣ x 0 ) ∥ p θ ( x 1 ∣ x 0 ) ) + E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] \log p(x_0) = D_{KL}(q_φ(x_1|x_0) \| p_θ(x_1|x_0)) + \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] logp(x0)=DKL(qφ(x1x0)pθ(x1x0))+Eqφ(x1x0)[logpθ(x0x1)] )(简化形式)。
  • ( D K L D_{KL} DKL ) 项约束 ( q φ q_φ qφ ) 和 ( p θ p_θ pθ ) 的一致性,( E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] Eqφ(x1x0)[logpθ(x0x1)] ) 是重构贡献。
  • ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 的方向确保优化的是从噪声到数据的映射。

总结

初始块使用 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 而不是 ( p θ ( x 1 ∣ x 0 ) p_θ(x_1|x_0) pθ(x1x0) ) 是因为:

  • 扩散模型的逆向目标是从噪声 ( x 1 x_1 x1 ) 重构 ( x 0 x_0 x0 )。
  • ( q φ ( x 1 ∣ x 0 ) q_φ(x_1|x_0) qφ(x1x0) ) 已定义正向过程,模型需学习逆向 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) )。
  • 这种设计与 ELBO 的最大化目标一致,反映了去噪的本质。

为什么初始块使用 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 而不是更通用的 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) )?

在变分扩散模型(Variational Diffusion Model)的证据下界(Evidence Lower Bound, ELBO)中,初始块的重构项定义为 ( E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] Eqφ(x1x0)[logpθ(x0x1)] )。这可能引发疑问:既然扩散模型的逆向过程通常是 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) )(从 ( x t x_t xt ) 去噪到 ( x t − 1 x_{t-1} xt1 )),为什么初始块特意选择 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 而不是更通用的 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 形式?本文将详细解析这一设计的具体原因,结合模型结构和优化目标,面向具备概率论和深度学习基础的读者。


扩散模型的正向与逆向过程回顾

正向过程

扩散模型通过多步正向过程将数据 ( x 0 x_0 x0 ) 逐步添加噪声,生成中间状态 ( x 1 , x 2 , … , x T x_1, x_2, \dots, x_T x1,x2,,xT ),最终趋向 ( x T ∼ N ( 0 , I ) x_T \sim \mathcal{N}(0, I) xTN(0,I) )。过渡分布为:

q φ ( x t ∣ x t − 1 ) = N ( x t ∣ α t x t − 1 , ( 1 − α t ) I ) q_φ(x_t|x_{t-1}) = \mathcal{N}(x_t | \sqrt{α_t} x_{t-1}, (1 - α_t) I) qφ(xtxt1)=N(xtαt xt1,(1αt)I)

  • ( x 1 x_1 x1 ) 是从 ( x 0 x_0 x0 ) 开始添加噪声后的第一个中间状态。

逆向过程

逆向过程通过学习模型 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 从 ( x T x_T xT ) 逐步去噪,重建 ( x 0 x_0 x0 )。这一过程是多步的,目标是近似正向过程的逆分布。


初始块的特殊性:( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 的选择

ELBO 的初始块为:

E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] Eqφ(x1x0)[logpθ(x0x1)]

为什么不是 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) )?

  • 时间步的特殊性:初始块对应于从 ( x 1 x_1 x1 )(第一步噪声)直接重建 ( x 0 x_0 x0 )(原始数据)的逆向步骤。这与多步逆向过程 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt))(从任意 ( x t x_t xt) 到 ( x t − 1 x_{t-1} xt1 ))不同。初始块聚焦于整个逆向过程的起点,强调从第一步噪声到原始数据的直接映射。
  • 模型设计的简化:扩散模型的 ELBO 通常分解为三个部分(初始块、最终块和过渡块),初始块被设计为评估模型在第一步逆向重构 ( x 0 x_0 x0 ) 的能力。使用 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 是一个特定选择,简化了从多步逆向过程中提取初始重构的表示。
  • 与正向过程的对应:正向过程从 ( x 0 x_0 x0 ) 到 ( x 1 x_1 x1 ) 是已知的 ( q φ ( x 1 ∣ x 0 ) q_φ(x_1|x_0) qφ(x1x0) ),初始块的 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 是其逆向对应,保持了正反向过程的逻辑对称性。如果用 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ),则需要为每个 ( t t t ) 定义单独的逆向分布,增加了复杂性。

为什么选择 ( x 0 ∣ x 1 x_0|x_1 x0x1 ) 作为起点?

  • 数据锚点:( x 0 x_0 x0 ) 是真实数据,( x 1 x_1 x1 ) 是第一步噪声,( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 直接衡量模型从轻度噪声中恢复原始数据的性能。这是扩散模型逆向过程的“第一印象”,为后续多步去噪奠定基础。
  • ELBO 的结构设计:ELBO 将重构分解为初始块(( x 0 x_0 x0 ) 到 ( x 1 x_1 x1 ))和过渡块(( x t − 1 x_{t-1} xt1 ) 到 ( x t x_t xt)),初始块的特殊形式 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 避免了与过渡块的冗余,专注于起始点的重构质量。
  • 计算便利:( x 1 x_1 x1 ) 距离 ( x 0 x_0 x0 ) 较近(噪声较小),( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 的优化相对简单,可以作为整个逆向过程的基准。

与 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 的对比

( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 的通用性

  • ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 是多步逆向过程的通用形式,适用于任意 ( t t t ) 从 ( x t x_t xt ) 去噪到 ( x t − 1 x_{t-1} xt1 )。例如,( p θ ( x T − 1 ∣ x T ) p_θ(x_{T-1}|x_T) pθ(xT1xT) ) 处理最后一步,( p θ ( x T − 2 ∣ x T − 1 ) p_θ(x_{T-2}|x_{T-1}) pθ(xT2xT1)) 处理倒数第二步,等等。
  • 过渡块中的 ( D K L ( q φ ( x t ∣ x t − 1 ) ∥ p θ ( x t ∣ x t + 1 ) ) D_{KL}(q_φ(x_t|x_{t-1}) \| p_θ(x_t|x_{t+1})) DKL(qφ(xtxt1)pθ(xtxt+1)) ) 正是基于这种形式,确保正向与逆向的一致性。

初始块的特殊需求

  • 如果用 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 替换 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ),初始块需要从 ( x 1 x_1 x1 ) 预测 ( x 0 x_0 x0 ) 的逆分布,但 ELBO 设计中,( x 0 x_0 x0 ) 是固定的输入数据,( x 1 x_1 x1 ) 是正向生成的中间状态。
  • 直接用 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1)) 更符合“给定噪声预测数据”的逆向目标,且避免了 ( t t t ) 的泛化,保持初始块的独立性。

数学与推导的视角

ELBO 的推导基于证据分解:

log ⁡ p ( x 0 ) = E q φ ( x 1 : T ∣ x 0 ) [ log ⁡ p θ ( x 0 : T ) q φ ( x 1 : T ∣ x 0 ) ] \log p(x_0) = \mathbb{E}_{q_φ(x_{1:T}|x_0)} \left[ \log \frac{p_θ(x_{0:T})}{q_φ(x_{1:T}|x_0)} \right] logp(x0)=Eqφ(x1:Tx0)[logqφ(x1:Tx0)pθ(x0:T)]

  • ( p θ ( x 0 : T ) p_θ(x_{0:T}) pθ(x0:T) ) 是联合逆向分布,包含 ( p θ ( x 0 ∣ x 1 ) , p θ ( x 1 ∣ x 2 ) , … , p θ ( x T − 1 ∣ x T ) p_θ(x_0|x_1), p_θ(x_1|x_2), \dots, p_θ(x_{T-1}|x_T) pθ(x0x1),pθ(x1x2),,pθ(xT1xT) )。
  • 初始项 ( E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] Eqφ(x1x0)[logpθ(x0x1)] ) 是 ( p θ ( x 0 : T ) p_θ(x_{0:T}) pθ(x0:T) ) 的第一步贡献。
  • 使用 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 简化了从 ( q φ ( x 1 ∣ x 0 ) q_φ(x_1|x_0) qφ(x1x0) ) 到 ( p θ p_θ pθ ) 的直接映射,而 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 适用于多步一致性(过渡块)。

直观解释

  • 想象一个多层次的去噪过程:从 ( x T x_T xT )(纯噪声)到 ( x T − 1 x_{T-1} xT1 ) 到 ( x 0 x_0 x0)(数据)。初始块是“最后一步”的逆向验证:从 ( x 1 x_1 x1 )(轻度噪声)直接回到 ( x 0 x_0 x0),测试模型的基本重构能力。
  • ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 是通用工具,适用于每一步的去噪,而 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 是针对第一步的特殊优化,突出起始点的重构精度。

总结

初始块使用 ( p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1) ) 而不是 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 的原因在于:

  • 它聚焦于从第一步噪声 ( x 1 x_1 x1 ) 重构 ( x 0 x_0 x0 ),符合逆向过程的起点需求。
  • 简化了 ELBO 结构,避免与过渡块的冗余。
  • 与正向 ( q φ ( x 1 ∣ x 0 ) q_φ(x_1|x_0) qφ(x1x0) ) 的对称性保持了模型设计的逻辑一致性。

这种选择是扩散模型 ELBO 独特性的体现,强调了初始重构的重要性,而 ( p θ ( x t − 1 ∣ x t ) p_θ(x_{t-1}|x_t) pθ(xt1xt) ) 则在过渡块中发挥通用作用。

为什么最终块的先验匹配项使用 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 而不是 ( q φ ( x T − 1 ∣ x T − 2 ) q_φ(x_{T-1}|x_{T-2}) qφ(xT1xT2) )?

在变分扩散模型(Variational Diffusion Model)的证据下界(Evidence Lower Bound, ELBO)中,最终块的先验匹配项被定义为:

− E q φ ( x T − 1 ∣ x 0 ) [ D K L ( q φ ( x T ∣ x T − 1 ) ∥ p ( x T ) ) ] -\mathbb{E}_{q_φ(x_{T-1}|x_0)} \left[ D_{KL}(q_φ(x_T|x_{T-1}) \| p(x_T)) \right] Eqφ(xT1x0)[DKL(qφ(xTxT1)p(xT))]

这可能引发疑问:为什么期望是基于 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) )(从 ( x 0 x_0 x0 ) 到 ( x T − 1 x_{T-1} xT1 ) 的分布),而不是更“直接”的 ( q φ ( x T − 1 ∣ x T − 2 ) q_φ(x_{T-1}|x_{T-2}) qφ(xT1xT2) )(从 ( x T − 2 x_{T-2} xT2 ) 到 ( x T − 1 x_{T-1} xT1))?此外,从 ( x 0 x_0 x0 ) 到 ( x T − 1 x_{T-1} xT1 ) 的跨度较大,是否合理?本文将详细解析这一设计的动机和数学依据,面向具备概率论和深度学习基础的读者。


背景回顾:ELBO 的结构

ELBO 的最终块旨在通过 KL 散度 ( D K L ( q φ ( x T ∣ x T − 1 ) ∥ p ( x T ) ) D_{KL}(q_φ(x_T|x_{T-1}) \| p(x_T)) DKL(qφ(xTxT1)p(xT)) ) 衡量从倒数第二步 ( x T − 1 x_{T-1} xT1) 到最后一步 ( x T x_T xT ) 的正向分布 ( q φ ( x T ∣ x T − 1 ) q_φ(x_T|x_{T-1}) qφ(xTxT1) ) 与先验分布 ( p ( x T ) = N ( 0 , I ) p(x_T) = \mathcal{N}(0, I) p(xT)=N(0,I) ) 的匹配程度。其期望是对 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 采样的 ( x T − 1 x_{T-1} xT1 ) 取平均。完整 ELBO 为:

ELBO φ , θ ( x ) = E q φ ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] − E q φ ( x T − 1 ∣ x 0 ) [ D K L ( q φ ( x T ∣ x T − 1 ) ∥ p ( x T ) ) ] − ∑ t = 1 T − 1 E q φ ( x t − 1 , x t + 1 ∣ x 0 ) [ D K L ( q φ ( x t ∣ x t − 1 ) ∥ p θ ( x t ∣ x t + 1 ) ) ] \text{ELBO}_{φ,θ}(x) = \mathbb{E}_{q_φ(x_1|x_0)} [\log p_θ(x_0|x_1)] - \mathbb{E}_{q_φ(x_{T-1}|x_0)} \left[ D_{KL}(q_φ(x_T|x_{T-1}) \| p(x_T)) \right] - \sum_{t=1}^{T-1} \mathbb{E}_{q_φ(x_{t-1}, x_{t+1}|x_0)} \left[ D_{KL}(q_φ(x_t|x_{t-1}) \| p_θ(x_t|x_{t+1})) \right] ELBOφ,θ(x)=Eqφ(x1x0)[logpθ(x0x1)]Eqφ(xT1x0)[DKL(qφ(xTxT1)p(xT))]t=1T1Eqφ(xt1,xt+1x0)[DKL(qφ(xtxt1)pθ(xtxt+1))]

最终块的目的是确保扩散过程的最后一步 ( x T x_T xT ) 接近先验 ( N ( 0 , I ) \mathcal{N}(0, I) N(0,I) )。


为什么使用 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) )?

1. 整体一致性与初始条件的依赖

  • 扩散过程的马尔可夫性质:正向过程 ( q φ ( x t ∣ x t − 1 ) q_φ(x_t|x_{t-1}) qφ(xtxt1) ) 是马尔可夫链,但 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 是从 ( x 0 x_0 x0 ) 到 ( x T − 1 x_{T-1} xT1 ) 的多步联合分布,形式为:

    q φ ( x T − 1 ∣ x 0 ) = ∫ q φ ( x T − 1 ∣ x T − 2 ) q φ ( x T − 2 ∣ x T − 3 ) ⋯ q φ ( x 1 ∣ x 0 )   d x 1 : T − 2 q_φ(x_{T-1}|x_0) = \int q_φ(x_{T-1}|x_{T-2}) q_φ(x_{T-2}|x_{T-3}) \cdots q_φ(x_1|x_0) \, dx_{1:T-2} qφ(xT1x0)=qφ(xT1xT2)qφ(xT2xT3)qφ(x1x0)dx1:T2

    这是通过 ( T − 1 T-1 T1 ) 步正向过程从 ( x 0 x_0 x0 ) 演化到 ( x T − 1 x_{T-1} xT1 ) 的边缘分布。

  • 与 ( x 0 x_0 x0 ) 的直接联系:ELBO 的设计以 ( x 0 x_0 x0 )(输入数据)作为起点,最终块的 ( x T − 1 x_{T-1} xT1 ) 需反映从 ( x 0 x_0 x0 ) 开始的整个正向过程。使用 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 确保 ( x T − 1 x_{T-1} xT1 ) 的分布与初始 ( x 0 x_0 x0 ) 一致,保持全局视角。

2. 最终块的特定目标

  • 先验匹配:最终块关注 ( x T x_T xT ) 与 ( p ( x T ) p(x_T) p(xT) ) 的匹配,而 ( x T x_T xT ) 是从 ( x T − 1 x_{T-1} xT1 ) 向前一步生成的 ( q φ ( x T ∣ x T − 1 ) q_φ(x_T|x_{T-1}) qφ(xTxT1) )。为了评估这一步的正确性,需对所有可能的 ( x T − 1 x_{T-1} xT1 )(由正向过程从 ( x 0 x_0 x0 ) 产生)取期望。
  • ( x T − 1 x_{T-1} xT1 ) 的代表性:( x T − 1 x_{T-1} xT1 ) 是倒数第二步的状态,距离 ( x T x_T xT ) 最近。使用 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 提供了从 ( x 0 x_0 x0 ) 到 ( x T − 1 x_{T-1} xT1 ) 的完整演化路径,确保 ( x T − 1 x_{T-1} xT1 ) 覆盖了扩散过程中的所有变体。

3. 为什么不是 ( q φ ( x T − 1 ∣ x T − 2 ) q_φ(x_{T-1}|x_{T-2}) qφ(xT1xT2) )?

  • 局部 vs 全局:( q φ ( x T − 1 ∣ x T − 2 ) q_φ(x_{T-1}|x_{T-2}) qφ(xT1xT2) ) 描述了从 ( x T − 2 x_{T-2} xT2 ) 到 ( x T − 1 x_{T-1} xT1 ) 的单步过渡,属于过渡块的范畴(( D K L ( q φ ( x t ∣ x t − 1 ) ∥ p θ ( x t ∣ x t + 1 ) ) D_{KL}(q_φ(x_t|x_{t-1}) \| p_θ(x_t|x_{t+1})) DKL(qφ(xtxt1)pθ(xtxt+1)) ))。最终块的目的是评估整个正向过程的终点效果,而非局部一步。
  • 依赖关系:( x T − 1 x_{T-1} xT1 ) 依赖于 ( x 0 x_0 x0 ) 经过 ( T − 1 T-1 T1 ) 步演化,( q φ ( x T − 1 ∣ x T − 2 ) q_φ(x_{T-1}|x_{T-2}) qφ(xT1xT2) ) 假设 ( x T − 2 x_{T-2} xT2 ) 已知,无法直接反映从 ( x 0 x_0 x0 ) 的全局影响。
  • 计算效率:直接用 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 避免了额外的条件采样 ( x T − 2 x_{T-2} xT2 ),简化了实现。

4. 跨度大是否合理?

  • 跨度合理性:从 ( x 0 x_0 x0 ) 到 ( x T − 1 x_{T-1} xT1 ) 的 ( T − 1 T-1 T1 ) 步确实跨度较大,但扩散模型设计初衷是模拟多步噪声过程。( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 通过边缘化(积分所有中间状态)捕获了这一过程的分布,理论上是正确的。
  • 噪声累积:随着 ( t t t ) 增加,( x t x_t xt ) 逐渐接近 ( N ( 0 , I ) \mathcal{N}(0, I) N(0,I) ),( x T − 1 x_{T-1} xT1 ) 已包含大部分噪声信息,距离 ( x T x_T xT ) 仅一步,适合评估最终分布。
  • 实践验证:实验表明,( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 的采样足以代表扩散的末端状态,跨度大并未削弱其有效性。

数学推导支持

ELBO 的推导从 ( log ⁡ p ( x 0 ) ≥ E q φ ( x 1 : T ∣ x 0 ) [ log ⁡ p ( x 0 : T ) q φ ( x 1 : T ∣ x 0 ) ] \log p(x_0) \geq \mathbb{E}_{q_φ(x_{1:T}|x_0)} [\log \frac{p(x_{0:T})}{q_φ(x_{1:T}|x_0)}] logp(x0)Eqφ(x1:Tx0)[logqφ(x1:Tx0)p(x0:T)] ) 开始,分解为:

E q φ ( x 1 : T ∣ x 0 ) [ log ⁡ p ( x T ) p ( x 0 ∣ x 1 ) ∏ t = 2 T p ( x t − 1 ∣ x t ) q φ ( x T ∣ x T − 1 ) ∏ t = 1 T − 1 q φ ( x t ∣ x t − 1 ) ] \mathbb{E}_{q_φ(x_{1:T}|x_0)} \left[ \log \frac{p(x_T) p(x_0|x_1) \prod_{t=2}^T p(x_{t-1}|x_t)}{q_φ(x_T|x_{T-1}) \prod_{t=1}^{T-1} q_φ(x_t|x_{t-1})} \right] Eqφ(x1:Tx0)[logqφ(xTxT1)t=1T1qφ(xtxt1)p(xT)p(x0x1)t=2Tp(xt1xt)]

最终块的 ( E q φ ( x 1 : T ∣ x 0 ) [ log ⁡ p ( x T ) q φ ( x T ∣ x T − 1 ) ] \mathbb{E}_{q_φ(x_{1:T}|x_0)} [\log \frac{p(x_T)}{q_φ(x_T|x_{T-1})}] Eqφ(x1:Tx0)[logqφ(xTxT1)p(xT)] ) 依赖 ( x T x_T xT ) 和 ( x T − 1 x_{T-1} xT1 )。由于 ( q φ ( x 1 : T ∣ x 0 ) = q φ ( x T ∣ x T − 1 ) q φ ( x T − 1 ∣ x 0 ) ∏ t = 1 T − 2 q φ ( x t ∣ x t − 1 ) q_φ(x_{1:T}|x_0) = q_φ(x_T|x_{T-1}) q_φ(x_{T-1}|x_0) \prod_{t=1}^{T-2} q_φ(x_t|x_{t-1}) qφ(x1:Tx0)=qφ(xTxT1)qφ(xT1x0)t=1T2qφ(xtxt1) ),期望可简化为 ( E q φ ( x T − 1 ∣ x 0 ) [ E q φ ( x T ∣ x T − 1 ) [ log ⁡ p ( x T ) q φ ( x T ∣ x T − 1 ) ] ] \mathbb{E}_{q_φ(x_{T-1}|x_0)} [\mathbb{E}_{q_φ(x_T|x_{T-1})} [\log \frac{p(x_T)}{q_φ(x_T|x_{T-1})}]] Eqφ(xT1x0)[Eqφ(xTxT1)[logqφ(xTxT1)p(xT)]] ),即 ( − E q φ ( x T − 1 ∣ x 0 ) [ D K L ( q φ ( x T ∣ x T − 1 ) ∥ p ( x T ) ) ] -\mathbb{E}_{q_φ(x_{T-1}|x_0)} [D_{KL}(q_φ(x_T|x_{T-1}) \| p(x_T))] Eqφ(xT1x0)[DKL(qφ(xTxT1)p(xT))] )。

  • 从 ( x 0 x_0 x0 ) 到 ( x T − 1 x_{T-1} xT1 ):( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 是多步边缘分布,包含所有 ( x 0 x_0 x0 ) 的演化信息。
  • 避免 ( x T − 2 x_{T-2} xT2 ) 的冗余:( q φ ( x T − 1 ∣ x T − 2 ) q_φ(x_{T-1}|x_{T-2}) qφ(xT1xT2) ) 需要额外采样 ( x T − 2 x_{T-2} xT2 ),而 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 直接利用正向过程的完整路径。

直观解释

  • 想象一个多步旅程:从 ( x 0 x_0 x0 )(起点)到 ( x T − 1 x_{T-1} xT1)(倒数第二站),再到 ( x T x_T xT )(终点,纯噪声)。最终块的任务是检查“最后一公里”(( x T − 1 x_{T-1} xT1 ) 到 ( x T x_T xT ))是否正确指向 ( N ( 0 , I ) \mathcal{N}(0, I) N(0,I))。用 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 确保 ( x T − 1 x_{T-1} xT1 ) 反映了从 ( x 0 x_0 x0 ) 开始的整个旅程,而非只看前一站 ( x T − 2 x_{T-2} xT2 )。

总结

  • 为什么用 ( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) )? 它从 ( x 0 x_0 x0 ) 到 ( x T − 1 x_{T-1} xT1 ) 的多步分布,保持与初始数据的全局联系,适合评估最终块的先验匹配。
  • 为什么不是 ( q φ ( x T − 2 ∣ x T − 1 ) q_φ(x_{T-2}|x_{T-1}) qφ(xT2xT1) )? 后者是局部单步,缺乏全局视角,且与过渡块功能重叠。
  • 跨度大是否合理? 是的,( q φ ( x T − 1 ∣ x 0 ) q_φ(x_{T-1}|x_0) qφ(xT1x0) ) 通过边缘化捕获了多步演化,实践上有效。

这种设计体现了扩散模型的整体优化策略,确保从 ( x 0 x_0 x0 ) 到 ( x T x_T xT ) 的完整一致性。

解析 ( q φ ( x t − 1 , x t + 1 ∣ x 0 ) q_φ(x_{t-1}, x_{t+1}|x_0) qφ(xt1,xt+1x0) ) 的公式推导

详细解析 ( q φ ( x t − 1 , x t + 1 ∣ x 0 ) q_φ(x_{t-1}, x_{t+1}|x_0) qφ(xt1,xt+1x0) ) 的蒙特卡洛采样近似

由于字数过多,篇幅所限,这两部分内容请移步笔者的另一篇博客:变分扩散模型中的 Evidence Lower Bound (ELBO)过渡块(Transition Blocks)的思考与解析

后记

2025年3月5日14点35分于上海,在grok 3大模型辅助下完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值