《生成扩散模型漫谈(十):统一扩散模型(理论篇)》 —— 苏剑林
前向过程只需定义可采样的破坏
DDPM 从单步核 p(xt∣xt−1) 出发,但训练数据实际由
p(xt∣x0) 产生,DDIM 也说明单步正向耦合并不是唯一选择。统一扩散模型因此直接用重参数定义任意时刻的前向样本:
ε∼q(ε),xt=Ft(x0,ε).(1)
Ft 可以表示加噪、模糊、遮掩、删除等变换;x0 和 xt 可以是连续数据,也可以是离散数据;t 可以取离散网格,也可以连续变化。框架不要求
q(ε) 一定是高斯分布。
这种自由度仍有实际约束:
- 给定训练样本 x0 和随机源 ε,Ft 必须容易计算,才能直接构造训练对;
- t 增大时,xt 中关于 x0 的信息应整体减少,使反向恢复能被分解为由易到难的小步;
- 终点分布 pT(xT) 应容易采样,并且最好近似不依赖具体的 x0;
- 若要使用后面“复用同一随机源”的确定性反向核,还需要
Ft(x0,⋅) 对 ε 可逆。
“渐进破坏”不必理解为每个样本路径都严格单调,但相邻时间的恢复难度不能剧烈跳变,否则多步修正失去优势。
反向一步是预估与修正的组合
目标反向核总能按潜在的干净数据分解:
p(xt−1∣xt)=∫p(xt−1∣xt,x0)p(x0∣xt)dx0.(2)
若 x0 离散,积分改为求和。公式 (2) 给出一个可以直接实施的两阶段采样过程:
x^0∼qθ(x0∣xt),xt−1∼p(xt−1∣xt,x0=x^0).(3)
第一步从当前破坏状态预估最终干净样本,第二步不要求这个预估已经正确,只用已知前向结构把状态推进到稍干净的 t−1。下一时刻再重新预估、重新修正,因此扩散生成的核心不是“网络每步直接预测相邻状态”,而是反复聚合对终点 x0 的不完美估计。
qθ(x0∣xt) 是对未知真实后验的学习近似。它与
p(xt−1∣xt,x0) 的职责不同:前者必须从数据学习,后者可以在满足边缘约束的前提下根据 Ft 设计。
后验模型决定统一训练目标
前向重参数已经能生成联合训练样本
x0∼p~(x0),ε∼q(ε),xt=Ft(x0,ε).
因此后验模型可以直接用交叉熵训练:
LUDM=Ex0,t,ε[−logqθ(x0∣Ft(x0,ε),t)].(4)
这个写法不要求 x0 连续。若 x0 是离散序列,
qθ(x0∣xt,t) 可以是自回归或非自回归序列模型;若
x0 连续,可以取固定或事后估计方差的条件高斯:
qθ(x0∣xt,t)=N(x0;Gθ(xt,t),σˉt2I).
忽略与 θ 无关的常数,公式 (4) 变为
LUDM=Ex0,t,ε[2σˉt2∥x0−Gθ(Ft(x0,ε),t)∥2].(5)
DDPM 的噪声预测只是这个后验学习的一种重参数化:当
Ft(x0,ε)=αˉtx0+βˉtε 时,从
x0 预测和从 ε 预测可以通过已知线性关系互换。一般的
Ft 未必允许这种互换,所以统一目标应先写成概率意义明确的
−logqθ(x0∣xt,t)。
条件反向核必须满足边缘一致性
p(xt−1∣xt,x0) 可以自由设计,但必须与给定的前向边缘分布兼容:
∫p(xt−1∣xt,x0)p(xt∣x0)dxt=p(xt−1∣x0).(6)
否则,即使后验模型完美,反向一步所使用的状态分布也与前向训练分布不一致,误差会沿采样链累积。
一个永远满足公式 (6) 的简单选择是
p(xt−1∣xt,x0)=p(xt−1∣x0).(7)
此时修正步骤完全忽略当前 xt:先预测 x^0,再从
p(xt−1∣x^0) 重新破坏一次。它在理论上合法,实际却容易受两个问题影响:
- xt−1 几乎完全依赖不准确的 x^0,没有利用当前状态携带的信息;
- 每步重新采样的随机性可能冲淡刚得到的预估进展,使误差难以稳定减少。
好的条件核应在满足边缘一致性的同时,让 xt 分担对
xt−1 的解释,并尽量保留已有轨迹信息。
复用前向随机源得到确定性修正
由公式 (1),
xt=Ft(x0,ε),xt−1=Ft−1(x0,ε).
如果固定 x0 时 Ft 关于 ε 可逆,就能从
(x0,xt) 恢复随机源:
ε=Ft−1(x0,xt).(8)
将同一 ε 代入较早时刻,得到
xt−1=Ft−1(x0,Ft−1(x0,xt)).(9)
相应的条件核是一个 Dirac 分布:
p(xt−1∣xt,x0)=δ(xt−1−Ft−1(x0,Ft−1(x0,xt))).(10)
为什么它满足边缘一致性?在固定 x0 下,
xt 是由 ε∼q 推出的;公式
(8) 把 xt 拉回同一个 ε,再经
Ft−1 推出 xt−1,所以最终分布正是
p(xt−1∣x0)。这里保持的是完整的随机耦合,不只是两个边缘分布分别相同。
采样时真实 x0 会被 x^0 替换。公式
(9) 同时使用当前 xt 与预估
x^0:xt 通过恢复的随机源保留已有轨迹,x^0 则引导轨迹向新的干净样本移动。这比公式
(7) 每步重新抽噪声更容易积累进展。
可逆条件并非自动成立。若 Ft 丢弃了随机源的一部分,或
ε 维度与输出不匹配,Ft−1 可能不存在或不唯一,需要另行设计耦合或引入辅助随机变量。
高斯随机源允许在确定性与随机性间插值
当 q(ε)=N(0,I) 时,可以利用标准高斯的旋转不变性:
1−σ~t2ε1+σ~tε2∼N(0,I),ε1,ε2∼iidN(0,I).
用从 (x0,xt) 恢复的随机源替换 ε1,保留新噪声
ε2,得到一族条件采样:
xt−1=Ft−1(x0,1−σ~t2Ft−1(x0,xt)+σ~tε),ε∼N(0,I).(11)
σ~t=0 时完全复用现有随机源,是确定性修正;增大
σ~t 会减少与当前轨迹的耦合并注入新随机性;
σ~t=1 时退化为忽略 xt 的重新采样。无论取值如何,括号中的随机源边缘分布仍是标准高斯,所以公式
(6) 保持成立。
这与 DDIM 中自由选择反向方差是同一个结构:边缘分布由前向扰动核规定,联合耦合仍有自由度。确定性和随机性并不是两套模型,而是同一边缘约束下不同的轨迹设计。
框架中的自由项与约束项
统一框架可以按下面的依赖关系复习:
- 自由选择数据类型、时间类型、随机源 q(ε) 和破坏函数
Ft,但必须保证可采样、渐进破坏以及终点先验易采样。
- 用 Ft 直接构造训练对,通过公式
(4) 学习
qθ(x0∣xt,t);输出分布要适配 x0 的数据类型。
- 自由设计 p(xt−1∣xt,x0),但必须满足公式
(6)。
- 生成时按公式 (3) 反复预估
x0 并做一步修正,直到回到 t=0。
DDPM、DDIM、离散扩散和非高斯破坏的差别主要落在
Ft、后验模型族和满足边缘一致性的条件核上。统一之处不是某一条高斯公式,而是“可采样前向边缘 + 可学习干净后验 + 边缘一致的预估修正”这三个部件。