KL 散度与 L2 损失的等价性
您指的两个等价式子是 Lvb\mathcal{L}_{\text{vb}}Lvb 展开后的 Lt\mathcal{L}_tLt 项:
-
KL 散度形式 (理论基础) :
Lt=Ex0,xt[DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))]\mathcal{L}t = \mathbb{E}{x_0, x_t} \left[ \mathcal{D}{\text{KL}} (q(x{t-1}|x_t, x_0) \| p_\theta(x_{t-1}|x_t)) \right] \quadLt=Ex0,xt[DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))] -
L2 损失形式 (实际应用) :
Lt=Ex0,t,ϵ[∥ϵ−ϵθ(αˉtx0+1−αˉtϵ,t)∥2]\mathcal{L}t = \mathbb{E}{x_0, t, \epsilon} \left[ \left\| \epsilon - \epsilon_\theta (\sqrt{\bar{\alpha}_t} x_0 + \sqrt{1-\bar{\alpha}_t} \epsilon, t) \right\|^2 \right] \quadLt=Ex0,t,ϵ[ ϵ−ϵθ(αˉt x0+1−αˉt ϵ,t) 2]
这两个公式是等价的,具体证明过程是 DDPM 理论的核心贡献之一。
详细等价性分析
1. KL 散度的解析解
由于 q(xt−1∣xt,x0)q(x_{t-1}|x_t, x_0)q(xt−1∣xt,x0) 和 pθ(xt−1∣xt)p_\theta(x_{t-1}|x_t)pθ(xt−1∣xt) 都是高斯分布 ,它们之间的 KL 散度 DKL(P∥Q)\mathcal{D}_{\text{KL}}(P \| Q)DKL(P∥Q) 有一个解析解,其形式取决于它们的均值和方差:
DKL(P∥Q)∝log(∣ΣQ∣∣ΣP∣)+Tr(ΣQ−1ΣP)+(μP−μQ)TΣQ−1(μP−μQ)\mathcal{D}_{\text{KL}}(P \| Q) \propto \log \left( \frac{|\Sigma_Q|}{|\Sigma_P|} \right) + \text{Tr}(\Sigma_Q^{-1} \Sigma_P) + (\mu_P - \mu_Q)^\mathrm{T} \Sigma_Q^{-1} (\mu_P - \mu_Q)DKL(P∥Q)∝log(∣ΣP∣∣ΣQ∣)+Tr(ΣQ−1ΣP)+(μP−μQ)TΣQ−1(μP−μQ)
将 DDPM 的参数代入:
- PPP 是真实的逆向分布 q(xt−1∣xt,x0)q(x_{t-1}|x_t, x_0)q(xt−1∣xt,x0),其均值为 μ~t\tilde{\mu}_tμ~t,方差为 β~tI\tilde{\beta}_t \mathbf{I}β~tI。
- QQQ 是参数化模型 pθ(xt−1∣xt)p_\theta(x_{t-1}|x_t)pθ(xt−1∣xt),其均值为 μθ\mu_\thetaμθ,方差为 ΣθI\Sigma_\theta \mathbf{I}ΣθI。
如果我们将 参数化模型的方差 Σθ\Sigma_\thetaΣθ 固定 为真实方差 β~tI\tilde{\beta}_t \mathbf{I}β~tI,那么 KL 散度的许多项会变成常数,只剩下均值项:
Lt∝E[∥μ~t(xt,x0)−μθ(xt,t)∥2]\mathcal{L}_t \propto \mathbb{E} \left[ \left\| \tilde{\mu}t(x_t, x_0) - \mu\theta(x_t, t) \right\|^2 \right]Lt∝E[∥μ~t(xt,x0)−μθ(xt,t)∥2]
2. 均值 L2 损失到噪声 L2 损失的转化
DDPM 的核心思想是:预测噪声比直接预测均值更简单。
研究者证明,真实的均值 μ~t(xt,x0)\tilde{\mu}t(x_t, x_0)μ~t(xt,x0) 可以用真实噪声 ϵ\epsilonϵ 表示。同时,我们将参数化均值 μθ(xt,t)\mu\theta(x_t, t)μθ(xt,t) 参数化为预测噪声 ϵθ(xt,t)\epsilon_\theta(x_t, t)ϵθ(xt,t) 的函数。
- 真实均值 (由 ϵ\epsilonϵ 表达):
μ~t(xt,x0)∝1αt(xt−βt1−αˉtϵ)\tilde{\mu}_t(x_t, x_0) \propto \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}} \epsilon \right)μ~t(xt,x0)∝αt 1(xt−1−αˉt βtϵ) - 参数化均值 (由 ϵθ\epsilon_\thetaϵθ 表达):
μθ(xt,t)=1αt(xt−βt1−αˉtϵθ(xt,t))\mu_\theta(x_t, t) = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}t}} \epsilon\theta(x_t, t) \right)μθ(xt,t)=αt 1(xt−1−αˉt βtϵθ(xt,t))
将这两个表达式代入 Lt∝E[∥μ~t−μθ∥2]\mathcal{L}_t \propto \mathbb{E} \left[ \left\| \tilde{\mu}t - \mu\theta \right\|^2 \right]Lt∝E[∥μ~t−μθ∥2] 中:
Lt∝E[∥(1αt(xt−βt1−αˉtϵ))−(1αt(xt−βt1−αˉtϵθ))∥2]\mathcal{L}_t \propto \mathbb{E} \left[ \left\| \left( \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}} \epsilon \right) \right) - \left( \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}t}} \epsilon\theta \right) \right) \right\|^2 \right]Lt∝E[ (αt 1(xt−1−αˉt βtϵ))−(αt 1(xt−1−αˉt βtϵθ)) 2]
提取公因式 1αt\frac{1}{\sqrt{\alpha_t}}αt 1 和 xtx_txt,可以看到 xtx_txt 项被完全抵消:
Lt∝E[∥1αtβt1−αˉt(ϵθ−ϵ)∥2]\mathcal{L}_t \propto \mathbb{E} \left[ \left\| \frac{1}{\sqrt{\alpha_t}} \frac{\beta_t}{\sqrt{1-\bar{\alpha}t}} (\epsilon\theta - \epsilon) \right\|^2 \right]Lt∝E[ αt 11−αˉt βt(ϵθ−ϵ) 2]
忽略前面那些只依赖于 ttt 而不依赖于 θ\thetaθ 的系数(它们在优化过程中是常数),最终损失简化为:
Lt∝E[∥ϵ−ϵθ(xt,t)∥2]\mathcal{L}t \propto \mathbb{E} \left[ \left\| \epsilon - \epsilon\theta(x_t, t) \right\|^2 \right]Lt∝E[∥ϵ−ϵθ(xt,t)∥2]
因此,最小化 KL 散度(Lt\mathcal{L}_tLt 的理论形式 )等价于最小化噪声的 L2 距离(Lt\mathcal{L}_tLt 的实用形式)。这是 DDPM 训练成功的关键。