目录

DDPM从条件贝叶斯到反向过程

DDPM:从条件贝叶斯到反向过程

目标:在给定 x(t)x^{(t)} 时,得到反向条件分布 pθ(x(t1)x(t))p_\theta(x^{(t-1)} \mid x^{(t)}),用于从噪声逐步去噪生成样本。下面按“贝叶斯形式 → 为何条件于 x(0)x^{(0)} → 边际与条件之别 → 各分布特性”整理推理与结论。


1.1 不条件于 x(0)x^{(0)},反向条件分布可写为:

pθ(x(t1)x(t))=pθ(x(t)x(t1))pθ(x(t1))pθ(x(t)) p_\theta (x^{(t-1)} \mid x^{(t)}) = \frac{p_\theta(x^{(t)} \mid x^{(t-1)})\, p_\theta(x^{(t-1)})}{p_\theta(x^{(t)})}

1.2 条件于 x(0)x^{(0)}(推导与训练中用):

pθ(x(t1)x(t),x(0))=pθ(x(t)x(t1),x(0))pθ(x(t1)x(0))pθ(x(t)x(0)) p_\theta (x^{(t-1)} \mid x^{(t)}, x^{(0)}) = \frac{p_\theta(x^{(t)} \mid x^{(t-1)}, x^{(0)})\, p_\theta(x^{(t-1)} \mid x^{(0)})}{p_\theta(x^{(t)} \mid x^{(0)})}

在前向扩散中,用固定的 qq 替代上式中的转移与边际,并利用马尔可夫性 q(x(t)x(t1),x(0))=q(x(t)x(t1))q(x^{(t)} \mid x^{(t-1)}, x^{(0)}) = q(x^{(t)} \mid x^{(t-1)}),则分子、分母中出现的 q(x(t)x(t1))q(x^{(t)} \mid x^{(t-1)})q(x(t1)x(0))q(x^{(t-1)} \mid x^{(0)})q(x(t)x(0))q(x^{(t)} \mid x^{(0)}) 均为已知的高斯、有闭式,故后验 q(x(t1)x(t),x(0))q(x^{(t-1)} \mid x^{(t)}, x^{(0)}) 可解析求出(单高斯,均值、方差均有闭式),便于推导反向分布的参数形式并构造训练目标(如对 ϵ\epsilon 的回归)。采样时没有 x(0)x^{(0)},实际使用的是模型学到的 pθ(x(t1)x(t))p_\theta(x^{(t-1)} \mid x^{(t)})


  • q(x(t1)x(0))q(x^{(t-1)} \mid x^{(0)})q(x(t)x(0))q(x^{(t)} \mid x^{(0)})给定 x(0)x^{(0)} 时是单高斯、有闭式,没有问题。
  • 我们真正需要的是不给定 x(0)x^{(0)} 的反向条件分布 q(x(t1)x(t))q(x^{(t-1)} \mid x^{(t)})

由贝叶斯:

q(x(t1)x(t))q(x(t)x(t1))q(x(t1)). q(x^{(t-1)} \mid x^{(t)}) \propto q(x^{(t)} \mid x^{(t-1)})\, q(x^{(t-1)}).

其中:

  • q(x(t1))=q(x(t1)x(0))pdata(x(0))dx(0)q(x^{(t-1)}) = \int q(x^{(t-1)} \mid x^{(0)})\, p_\text{data}(x^{(0)})\,\mathrm{d}x^{(0)} 是对整个数据分布的积分,相当于无穷多个高斯的混合,没有闭式
  • 分母 q(x(t))q(x^{(t)}) 同样不可解析(见下节)。

因此:不给定 x(0)x^{(0)} 时,q(x(t1)x(t))q(x^{(t-1)} \mid x^{(t)}) 无法解析求出。只有固定 x(0)x^{(0)} 时,后验 q(x(t1)x(t),x(0))q(x^{(t-1)} \mid x^{(t)}, x^{(0)}) 才是单峰高斯且均值、方差都有闭式;我们利用这一可解析形式做推导和训练,再用神经网络去逼近“在不知道 x(0)x^{(0)} 时”的反向转移 pθ(x(t1)x(t))p_\theta(x^{(t-1)} \mid x^{(t)})


3.1 给定 x(0)x^{(0)} 时(条件分布)

q(x(t)x(0))=N(x(t); αˉtx(0), (1αˉt)I) q(x^{(t)} \mid x^{(0)}) = \mathcal{N}\big(x^{(t)};\ \sqrt{\bar\alpha_t}\, x^{(0)},\ (1-\bar\alpha_t)\mathbf{I}\big)

这是一个高斯,有闭式、可采样、可求密度。

3.2 不给定 x(0)x^{(0)} 时(边际分布)

q(x(t))=q(x(t)x(0))pdata(x(0))dx(0). q(x^{(t)}) = \int q(x^{(t)} \mid x^{(0)})\, p_\text{data}(x^{(0)})\,\mathrm{d}x^{(0)}.

含义:先按数据分布采样 x(0)x^{(0)},再按前向扩散加噪到 tt 步,得到的 x(t)x^{(t)} 的分布。

3.3 为什么 q(x(t))q(x^{(t)}) 不是高斯?

  • 每个固定的 x(0)x^{(0)} 对应一个高斯 q(x(t)x(0))=N(αˉtx(0),(1αˉt)I)q(x^{(t)}\mid x^{(0)}) = \mathcal{N}(\sqrt{\bar\alpha_t}x^{(0)}, (1-\bar\alpha_t)\mathbf{I})均值αˉtx(0)\sqrt{\bar\alpha_t}x^{(0)}、方差固定。
  • x(0)x^{(0)} 积分相当于按 pdata(x(0))p_\text{data}(x^{(0)}) 加权混合这些高斯,每个 x(0)x^{(0)} 对应不同均值的高斯。
  • 不同均值的高斯做混合,一般不再是单高斯(仅 trivial 情形如单点退化为一个高斯)。
  • 此外 pdata(x(0))p_\text{data}(x^{(0)}) 未知(只有样本),该积分解析算不出,故 q(x(t))q(x^{(t)}) 既无闭式,也不是“一个”高斯。

小结:

  • “加噪后在给定 x(0)x^{(0)}是高斯” ✓
  • “加噪后边际 q(x(t))q(x^{(t)}) 是高斯且能解析写出” ✗

因此必须先固定 x(0)x^{(0)},用可解析的 q(x(t1)x(t),x(0))q(x^{(t-1)} \mid x^{(t)}, x^{(0)}) 来推导和训练,再用网络逼近不给定 x(0)x^{(0)} 时的反向 q(x(t1)x(t))q(x^{(t-1)}\mid x^{(t)})


术语约定可解析 = 有闭式(如 N(μ,Σ)\mathcal{N}(\mu,\Sigma)μ,Σ\mu,\Sigma 由已知量写出);可采样 = 在已知参数下能直接采样;可求 = 在给定输入下能算密度或所需统计量。

分布含义单高斯?闭式/可解析?可采样?可求密度等?说明
q(x(t)x(t1))q(x^{(t)} \mid x^{(t-1)})前向单步转移N(1βtx(t1),βtI)\mathcal{N}(\sqrt{1-\beta_t}x^{(t-1)}, \beta_t\mathbf{I}),完全已知。
q(x(t)x(0))q(x^{(t)} \mid x^{(0)})x(0)x^{(0)} 加噪到 ttN(αˉtx(0),(1αˉt)I)\mathcal{N}(\sqrt{\bar\alpha_t}x^{(0)}, (1-\bar\alpha_t)\mathbf{I})
q(x(t1)x(0))q(x^{(t-1)} \mid x^{(0)})x(0)x^{(0)} 加噪到 t1t-1同上,时间步 t1t-1
q(x(t1)x(t),x(0))q(x^{(t-1)} \mid x^{(t)}, x^{(0)})给定 x(t),x(0)x^{(t)}, x^{(0)} 的反向后验均值 μ~t\tilde\mu_t、方差 β~t\tilde\beta_t 有闭式;推导与训练的关键
q(x(t))q(x^{(t)})前向 tt 步边际(对数据)是*混合分布;pdatap_\text{data} 未知故无闭式。* 采样:先采 x(0)pdatax^{(0)}\sim p_\text{data} 再采 x(t)q(x(0))x^{(t)}\sim q(\cdot\mid x^{(0)})
q(x(t1))q(x^{(t-1)})前向 t1t-1 步边际是*同上。
q(x(t1)x(t))q(x^{(t-1)} \mid x^{(t)})真实反向转移(无 x(0)x^{(0)}依赖不可解析的 q(x(t1))q(x^{(t-1)})q(x(t))q(x^{(t)});需用网络逼近。
pθ(x(t1)x(t))p_\theta(x^{(t-1)} \mid x^{(t)})模型学得的反向转移是(给定 θ\thetaϵθ\epsilon_\theta 等参数化;训练目标来自 q(x(t1)x(t),x(0))q(x^{(t-1)}\mid x^{(t)}, x^{(0)})
pdata(x(0))p_\text{data}(x^{(0)})数据分布是**仅有样本。** 采样即从数据集取样本。
  • 训练:利用可解析、可采样的 q(x(t)x(0))q(x^{(t)}\mid x^{(0)})q(x(t1)x(t),x(0))q(x^{(t-1)}\mid x^{(t)}, x^{(0)})pdatap_\text{data} 的样本,构造损失(如对 ϵ\epsilon 的回归),训练 pθ(x(t1)x(t))p_\theta(x^{(t-1)}\mid x^{(t)})
  • 采样:从 x(T)N(0,I)x^{(T)}\sim \mathcal{N}(0,\mathbf{I}) 出发,逐步用 pθ(x(t1)x(t))p_\theta(x^{(t-1)}\mid x^{(t)}) 采样,不依赖 x(0)x^{(0)}q(x(t1)x(t))q(x^{(t-1)}\mid x^{(t)}) 的闭式。

相关内容