目标:在给定 x(t) 时,得到反向条件分布 pθ(x(t−1)∣x(t)),用于从噪声逐步去噪生成样本。下面按“贝叶斯形式 → 为何条件于 x(0) → 边际与条件之别 → 各分布特性”整理推理与结论。
1.1 不条件于 x(0) 时,反向条件分布可写为:
pθ(x(t−1)∣x(t))=pθ(x(t))pθ(x(t)∣x(t−1))pθ(x(t−1))1.2 条件于 x(0) 时(推导与训练中用):
pθ(x(t−1)∣x(t),x(0))=pθ(x(t)∣x(0))pθ(x(t)∣x(t−1),x(0))pθ(x(t−1)∣x(0))在前向扩散中,用固定的 q 替代上式中的转移与边际,并利用马尔可夫性 q(x(t)∣x(t−1),x(0))=q(x(t)∣x(t−1)),则分子、分母中出现的 q(x(t)∣x(t−1))、q(x(t−1)∣x(0))、q(x(t)∣x(0)) 均为已知的高斯、有闭式,故后验 q(x(t−1)∣x(t),x(0)) 可解析求出(单高斯,均值、方差均有闭式),便于推导反向分布的参数形式并构造训练目标(如对 ϵ 的回归)。采样时没有 x(0),实际使用的是模型学到的 pθ(x(t−1)∣x(t))。
- q(x(t−1)∣x(0))、q(x(t)∣x(0)) 在给定 x(0) 时是单高斯、有闭式,没有问题。
- 我们真正需要的是:不给定 x(0) 的反向条件分布 q(x(t−1)∣x(t))。
由贝叶斯:
q(x(t−1)∣x(t))∝q(x(t)∣x(t−1))q(x(t−1)).其中:
- q(x(t−1))=∫q(x(t−1)∣x(0))pdata(x(0))dx(0) 是对整个数据分布的积分,相当于无穷多个高斯的混合,没有闭式;
- 分母 q(x(t)) 同样不可解析(见下节)。
因此:不给定 x(0) 时,q(x(t−1)∣x(t)) 无法解析求出。只有固定 x(0) 时,后验 q(x(t−1)∣x(t),x(0)) 才是单峰高斯且均值、方差都有闭式;我们利用这一可解析形式做推导和训练,再用神经网络去逼近“在不知道 x(0) 时”的反向转移 pθ(x(t−1)∣x(t))。
3.1 给定 x(0) 时(条件分布)
q(x(t)∣x(0))=N(x(t); αˉtx(0), (1−αˉt)I)这是一个高斯,有闭式、可采样、可求密度。
3.2 不给定 x(0) 时(边际分布)
q(x(t))=∫q(x(t)∣x(0))pdata(x(0))dx(0).含义:先按数据分布采样 x(0),再按前向扩散加噪到 t 步,得到的 x(t) 的分布。
3.3 为什么 q(x(t)) 不是高斯?
- 每个固定的 x(0) 对应一个高斯 q(x(t)∣x(0))=N(αˉtx(0),(1−αˉt)I),均值为 αˉtx(0)、方差固定。
- 对 x(0) 积分相当于按 pdata(x(0)) 加权混合这些高斯,每个 x(0) 对应不同均值的高斯。
- 不同均值的高斯做混合,一般不再是单高斯(仅 trivial 情形如单点退化为一个高斯)。
- 此外 pdata(x(0)) 未知(只有样本),该积分解析算不出,故 q(x(t)) 既无闭式,也不是“一个”高斯。
小结:
- “加噪后在给定 x(0) 下是高斯” ✓
- “加噪后边际 q(x(t)) 是高斯且能解析写出” ✗
因此必须先固定 x(0),用可解析的 q(x(t−1)∣x(t),x(0)) 来推导和训练,再用网络逼近不给定 x(0) 时的反向 q(x(t−1)∣x(t))。
术语约定:可解析 = 有闭式(如 N(μ,Σ) 且 μ,Σ 由已知量写出);可采样 = 在已知参数下能直接采样;可求 = 在给定输入下能算密度或所需统计量。
| 分布 | 含义 | 单高斯? | 闭式/可解析? | 可采样? | 可求密度等? | 说明 |
|---|
| q(x(t)∣x(t−1)) | 前向单步转移 | 是 | 是 | 是 | 是 | N(1−βtx(t−1),βtI),完全已知。 |
| q(x(t)∣x(0)) | 从 x(0) 加噪到 t 步 | 是 | 是 | 是 | 是 | N(αˉtx(0),(1−αˉt)I)。 |
| q(x(t−1)∣x(0)) | 从 x(0) 加噪到 t−1 步 | 是 | 是 | 是 | 是 | 同上,时间步 t−1。 |
| q(x(t−1)∣x(t),x(0)) | 给定 x(t),x(0) 的反向后验 | 是 | 是 | 是 | 是 | 均值 μ~t、方差 β~t 有闭式;推导与训练的关键。 |
| q(x(t)) | 前向 t 步边际(对数据) | 否 | 否 | 是* | 否 | 混合分布;pdata 未知故无闭式。* 采样:先采 x(0)∼pdata 再采 x(t)∼q(⋅∣x(0))。 |
| q(x(t−1)) | 前向 t−1 步边际 | 否 | 否 | 是* | 否 | 同上。 |
| q(x(t−1)∣x(t)) | 真实反向转移(无 x(0)) | 否 | 否 | 否 | 否 | 依赖不可解析的 q(x(t−1))、q(x(t));需用网络逼近。 |
| pθ(x(t−1)∣x(t)) | 模型学得的反向转移 | 是 | 是(给定 θ) | 是 | 是 | 用 ϵθ 等参数化;训练目标来自 q(x(t−1)∣x(t),x(0))。 |
| pdata(x(0)) | 数据分布 | — | 否 | 是** | 否 | 仅有样本。** 采样即从数据集取样本。 |
- 训练:利用可解析、可采样的 q(x(t)∣x(0))、q(x(t−1)∣x(t),x(0)) 与 pdata 的样本,构造损失(如对 ϵ 的回归),训练 pθ(x(t−1)∣x(t))。
- 采样:从 x(T)∼N(0,I) 出发,逐步用 pθ(x(t−1)∣x(t)) 采样,不依赖 x(0) 或 q(x(t−1)∣x(t)) 的闭式。