DDPM-KL 散度与 L2 损失

KL 散度与 L2 损失的等价性

您指的两个等价式子是 Lvb\mathcal{L}_{\text{vb}}Lvb 展开后的 Lt\mathcal{L}_tLt 项:

  1. 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))]

  2. 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 训练成功的关键。

相关推荐
夏鹏今天学习了吗4 小时前
【LeetCode热题100(82/100)】单词拆分
算法·leetcode·职场和发展
数科云4 小时前
AI提示词(Prompt)入门:什么是Prompt?为什么要写好Prompt?
人工智能·aigc·ai写作·ai工具集·最新ai资讯
Devlive 开源社区5 小时前
技术日报|Claude Code超级能力库superpowers登顶日增1538星,自主AI循环ralph爆火登榜第二
人工智能
mit6.8245 小时前
mysql exe
算法
软件供应链安全指南5 小时前
灵脉 IAST 5.4 升级:双轮驱动 AI 漏洞治理与业务逻辑漏洞精准检测
人工智能·安全
lanmengyiyu5 小时前
单塔和双塔的区别和共同点
人工智能·双塔模型·网络结构·单塔模型
微光闪现5 小时前
AI识别宠物焦虑、紧张和晕车行为,是否已经具备实际可行性?
大数据·人工智能·宠物
2501_901147835 小时前
动态规划在整除子集问题中的应用与高性能实现分析
算法·职场和发展·动态规划
技术小黑屋_6 小时前
用好Few-shot Prompting,AI 准确率提升100%
人工智能
中草药z6 小时前
【嵌入模型】概念、应用与两大 AI 开源社区(Hugging Face / 魔塔)
人工智能·算法·机器学习·数据集·向量·嵌入模型