DDPM优化目标公式推导
- DDPM优化目标公式推导
- **1. 问题定义**
- **2. 优化目标:最大化对数似然**
- **3. 变分下界的分解**
- **4. 关键步骤:简化 KL 散度项**
- **5. 最终优化目标**
- **关键结论**
- 补充内容(优化思路)
- 变分下界(VLB)最终简化公式的逐项解析与优化思路
- **1. 重构项 (Reconstruction Term)**
- **2. 去噪匹配项 (Denoising Matching Term)**
- **3. 先验匹配项 (Prior Matching Term)**
- **整体优化思路分析**
- **1. 核心优化目标**
- **2. 实际训练简化**
- **3. 物理意义图解**
- **4. 为什么此优化有效?**
- **总结**
DDPM优化目标公式推导
DDPM(Denoising Diffusion Probabilistic Models)的优化目标推导基于变分下界(Variational Lower Bound, VLB) 或 证据下界(Evidence Lower Bound, ELBO)。以下是详细推导过程:
1. 问题定义
- 目标:学习一个模型 p θ ( x 0 ) p_\theta(\mathbf{x}_0) pθ(x0) 逼近真实数据分布 q ( x 0 ) q(\mathbf{x}_0) q(x0)。
- 前向过程(扩散过程):
固定方差序列 β 1 , … , β T \beta_1, \dots, \beta_T β1,…,βT,定义马尔可夫链:
q ( x 1 : T ∣ x 0 ) = ∏ t = 1 T q ( x t ∣ x t − 1 ) , q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t x t − 1 , β t I ) q(\mathbf{x}_{1:T} | \mathbf{x}_0) = \prod_{t=1}^T q(\mathbf{x}_t | \mathbf{x}_{t-1}), \quad q(\mathbf{x}_t | \mathbf{x}_{t-1}) = \mathcal{N}(\mathbf{x}_t; \sqrt{1 - \beta_t} \mathbf{x}_{t-1}, \beta_t \mathbf{I}) q(x1:T∣x0)=t=1∏Tq(xt∣xt−1),q(xt∣xt−1)=N(xt;1−βtxt−1,βtI) - 反向过程(生成过程):
学习参数化的马尔可夫链:
p θ ( x 0 : T ) = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t ) , p θ ( x t − 1 ∣ x t ) = N ( x t − 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) p_\theta(\mathbf{x}_{0:T}) = p(\mathbf{x}_T) \prod_{t=1}^T p_\theta(\mathbf{x}_{t-1} | \mathbf{x}_t), \quad p_\theta(\mathbf{x}_{t-1} | \mathbf{x}_t) = \mathcal{N}(\mathbf{x}_{t-1}; \boldsymbol{\mu}_\theta(\mathbf{x}_t, t), \boldsymbol{\Sigma}_\theta(\mathbf{x}_t, t)) pθ(x0:T)=p(xT)t=1∏Tpθ(xt−1∣xt),pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t))
2. 优化目标:最大化对数似然
目标是最大化
log
p
θ
(
x
0
)
\log p_\theta(\mathbf{x}_0)
logpθ(x0),但直接计算困难,转而最大化其变分下界:
log
p
θ
(
x
0
)
≥
E
q
(
x
1
:
T
∣
x
0
)
[
log
p
θ
(
x
0
:
T
)
q
(
x
1
:
T
∣
x
0
)
]
≜
VLB
\log p_\theta(\mathbf{x}_0) \geq \mathbb{E}_{q(\mathbf{x}_{1:T} | \mathbf{x}_0)} \left[ \log \frac{p_\theta(\mathbf{x}_{0:T})}{q(\mathbf{x}_{1:T} | \mathbf{x}_0)} \right] \triangleq \text{VLB}
logpθ(x0)≥Eq(x1:T∣x0)[logq(x1:T∣x0)pθ(x0:T)]≜VLB
3. 变分下界的分解
将 VLB 展开并分解:
VLB
=
E
q
(
x
1
:
T
∣
x
0
)
[
log
p
θ
(
x
0
:
T
)
q
(
x
1
:
T
∣
x
0
)
]
=
E
q
[
log
p
θ
(
x
0
:
T
)
q
(
x
1
:
T
∣
x
0
)
]
=
E
q
[
log
p
θ
(
x
T
)
+
∑
t
=
1
T
log
p
θ
(
x
t
−
1
∣
x
t
)
q
(
x
t
∣
x
t
−
1
)
]
\begin{align*} \text{VLB} &= \mathbb{E}_{q(\mathbf{x}_{1:T} | \mathbf{x}_0)} \left[ \log \frac{p_\theta(\mathbf{x}_{0:T})}{q(\mathbf{x}_{1:T} | \mathbf{x}_0)} \right] \\ &= \mathbb{E}_{q} \left[ \log \frac{p_\theta(\mathbf{x}_{0:T})}{q(\mathbf{x}_{1:T} | \mathbf{x}_0)} \right] \\ &= \mathbb{E}_{q} \left[ \log p_\theta(\mathbf{x}_T) + \sum_{t=1}^T \log \frac{p_\theta(\mathbf{x}_{t-1} | \mathbf{x}_t)}{q(\mathbf{x}_t | \mathbf{x}_{t-1})} \right] \\ \end{align*}
VLB=Eq(x1:T∣x0)[logq(x1:T∣x0)pθ(x0:T)]=Eq[logq(x1:T∣x0)pθ(x0:T)]=Eq[logpθ(xT)+t=1∑Tlogq(xt∣xt−1)pθ(xt−1∣xt)]
利用马尔可夫性质,改写为:
VLB
=
E
q
[
log
p
θ
(
x
0
∣
x
1
)
+
∑
t
=
2
T
log
p
θ
(
x
t
−
1
∣
x
t
)
q
(
x
t
−
1
∣
x
t
,
x
0
)
−
∑
t
=
1
T
log
q
(
x
t
∣
x
t
−
1
)
q
(
x
t
−
1
∣
x
0
)
]
+
C
\text{VLB} = \mathbb{E}_{q} \left[ \log p_\theta(\mathbf{x}_0 | \mathbf{x}_1) + \sum_{t=2}^T \log \frac{p_\theta(\mathbf{x}_{t-1} | \mathbf{x}_t)}{q(\mathbf{x}_{t-1} | \mathbf{x}_t, \mathbf{x}_0)} - \sum_{t=1}^T \log \frac{q(\mathbf{x}_t | \mathbf{x}_{t-1})}{q(\mathbf{x}_{t-1} | \mathbf{x}_0)} \right] + C
VLB=Eq[logpθ(x0∣x1)+t=2∑Tlogq(xt−1∣xt,x0)pθ(xt−1∣xt)−t=1∑Tlogq(xt−1∣x0)q(xt∣xt−1)]+C
最终简化为:
VLB
=
E
q
[
log
p
θ
(
x
0
∣
x
1
)
]
−
∑
t
=
2
T
E
q
[
D
KL
(
q
(
x
t
−
1
∣
x
t
,
x
0
)
∥
p
θ
(
x
t
−
1
∣
x
t
)
)
]
−
D
KL
(
q
(
x
T
∣
x
0
)
∥
p
(
x
T
)
)
\boxed{\text{VLB} = \mathbb{E}_{q} \left[ \log p_\theta(\mathbf{x}_0 | \mathbf{x}_1) \right] - \sum_{t=2}^T \mathbb{E}_{q} \left[ D_\text{KL} \left( q(\mathbf{x}_{t-1} | \mathbf{x}_t, \mathbf{x}_0) \parallel p_\theta(\mathbf{x}_{t-1} | \mathbf{x}_t) \right) \right] - D_\text{KL} \left( q(\mathbf{x}_T | \mathbf{x}_0) \parallel p(\mathbf{x}_T) \right)}
VLB=Eq[logpθ(x0∣x1)]−t=2∑TEq[DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))]−DKL(q(xT∣x0)∥p(xT))
详细过程请参考DDPM优化目标公式推导(详细)
4. 关键步骤:简化 KL 散度项
(a) 后验分布 q ( x t − 1 ∣ x t , x 0 ) q(\mathbf{x}_{t-1} | \mathbf{x}_t, \mathbf{x}_0) q(xt−1∣xt,x0) 的闭式解
由贝叶斯公式:
q
(
x
t
−
1
∣
x
t
,
x
0
)
=
N
(
x
t
−
1
;
μ
~
t
(
x
t
,
x
0
)
,
β
~
t
I
)
q(\mathbf{x}_{t-1} | \mathbf{x}_t, \mathbf{x}_0) = \mathcal{N}(\mathbf{x}_{t-1}; \tilde{\boldsymbol{\mu}}_t(\mathbf{x}_t, \mathbf{x}_0), \tilde{\beta}_t \mathbf{I})
q(xt−1∣xt,x0)=N(xt−1;μ~t(xt,x0),β~tI)
其中:
μ
~
t
(
x
t
,
x
0
)
=
α
ˉ
t
−
1
β
t
1
−
α
ˉ
t
x
0
+
α
t
(
1
−
α
ˉ
t
−
1
)
1
−
α
ˉ
t
x
t
,
β
~
t
=
1
−
α
ˉ
t
−
1
1
−
α
ˉ
t
β
t
\tilde{\boldsymbol{\mu}}_t(\mathbf{x}_t, \mathbf{x}_0) = \frac{\sqrt{\bar{\alpha}_{t-1}} \beta_t}{1 - \bar{\alpha}_t} \mathbf{x}_0 + \frac{\sqrt{\alpha_t} (1 - \bar{\alpha}_{t-1})}{1 - \bar{\alpha}_t} \mathbf{x}_t, \quad \tilde{\beta}_t = \frac{1 - \bar{\alpha}_{t-1}}{1 - \bar{\alpha}_t} \beta_t
μ~t(xt,x0)=1−αˉtαˉt−1βtx0+1−αˉtαt(1−αˉt−1)xt,β~t=1−αˉt1−αˉt−1βt
(记
α
t
=
1
−
β
t
\alpha_t = 1 - \beta_t
αt=1−βt,
α
ˉ
t
=
∏
i
=
1
t
α
i
\bar{\alpha}_t = \prod_{i=1}^t \alpha_i
αˉt=∏i=1tαi)
(b) 参数化均值 μ θ ( x t , t ) \boldsymbol{\mu}_\theta(\mathbf{x}_t, t) μθ(xt,t)
设
p
θ
(
x
t
−
1
∣
x
t
)
=
N
(
x
t
−
1
;
μ
θ
(
x
t
,
t
)
,
Σ
θ
(
x
t
,
t
)
)
p_\theta(\mathbf{x}_{t-1} | \mathbf{x}_t) = \mathcal{N}(\mathbf{x}_{t-1}; \boldsymbol{\mu}_\theta(\mathbf{x}_t, t), \boldsymbol{\Sigma}_\theta(\mathbf{x}_t, t))
pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t))。
为匹配后验分布,选择:
μ
θ
(
x
t
,
t
)
=
μ
~
t
(
x
t
,
x
t
−
1
−
α
ˉ
t
ϵ
θ
α
ˉ
t
)
\boldsymbol{\mu}_\theta(\mathbf{x}_t, t) = \tilde{\boldsymbol{\mu}}_t \left( \mathbf{x}_t, \frac{\mathbf{x}_t - \sqrt{1 - \bar{\alpha}_t} \boldsymbol{\epsilon}_\theta}{\sqrt{\bar{\alpha}_t}} \right)
μθ(xt,t)=μ~t(xt,αˉtxt−1−αˉtϵθ)
代入闭式解得:
μ
θ
=
1
α
t
(
x
t
−
β
t
1
−
α
ˉ
t
ϵ
θ
(
x
t
,
t
)
)
\boldsymbol{\mu}_\theta = \frac{1}{\sqrt{\alpha_t}} \left( \mathbf{x}_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}} \boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t) \right)
μθ=αt1(xt−1−αˉtβtϵθ(xt,t))
© KL 散度的闭式解
两个高斯分布的 KL 散度为:
D
KL
(
N
(
μ
1
,
Σ
1
)
∥
N
(
μ
2
,
Σ
2
)
)
=
1
2
[
log
∣
Σ
2
∣
∣
Σ
1
∣
−
d
+
tr
(
Σ
2
−
1
Σ
1
)
+
(
μ
2
−
μ
1
)
⊤
Σ
2
−
1
(
μ
2
−
μ
1
)
]
D_\text{KL}(\mathcal{N}(\boldsymbol{\mu}_1, \boldsymbol{\Sigma}_1) \parallel \mathcal{N}(\boldsymbol{\mu}_2, \boldsymbol{\Sigma}_2)) = \frac{1}{2} \left[ \log \frac{|\boldsymbol{\Sigma}_2|}{|\boldsymbol{\Sigma}_1|} - d + \text{tr}(\boldsymbol{\Sigma}_2^{-1} \boldsymbol{\Sigma}_1) + (\boldsymbol{\mu}_2 - \boldsymbol{\mu}_1)^\top \boldsymbol{\Sigma}_2^{-1} (\boldsymbol{\mu}_2 - \boldsymbol{\mu}_1) \right]
DKL(N(μ1,Σ1)∥N(μ2,Σ2))=21[log∣Σ1∣∣Σ2∣−d+tr(Σ2−1Σ1)+(μ2−μ1)⊤Σ2−1(μ2−μ1)]
假设
Σ
θ
=
σ
t
2
I
\boldsymbol{\Sigma}_\theta = \sigma_t^2 \mathbf{I}
Σθ=σt2I(常取
σ
t
2
=
β
t
\sigma_t^2 = \beta_t
σt2=βt 或
β
~
t
\tilde{\beta}_t
β~t),则:
D
KL
=
1
2
σ
t
2
∥
μ
~
t
−
μ
θ
∥
2
+
C
D_\text{KL} = \frac{1}{2\sigma_t^2} \| \tilde{\boldsymbol{\mu}}_t - \boldsymbol{\mu}_\theta \|^2 + C
DKL=2σt21∥μ~t−μθ∥2+C
代入
μ
θ
\boldsymbol{\mu}_\theta
μθ 和
μ
~
t
\tilde{\boldsymbol{\mu}}_t
μ~t 的表达式:
μ
~
t
−
μ
θ
=
β
t
α
t
1
−
α
ˉ
t
(
ϵ
−
ϵ
θ
(
x
t
,
t
)
)
\tilde{\boldsymbol{\mu}}_t - \boldsymbol{\mu}_\theta = \frac{\beta_t}{\sqrt{\alpha_t} \sqrt{1 - \bar{\alpha}_t}} \left( \boldsymbol{\epsilon} - \boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t) \right)
μ~t−μθ=αt1−αˉtβt(ϵ−ϵθ(xt,t))
其中
x
t
=
α
ˉ
t
x
0
+
1
−
α
ˉ
t
ϵ
\mathbf{x}_t = \sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1 - \bar{\alpha}_t} \boldsymbol{\epsilon}
xt=αˉtx0+1−αˉtϵ。最终:
D
KL
∝
E
x
0
,
ϵ
[
∥
ϵ
−
ϵ
θ
(
x
t
,
t
)
∥
2
]
\boxed{D_\text{KL} \propto \mathbb{E}_{\mathbf{x}_0, \boldsymbol{\epsilon}} \left[ \| \boldsymbol{\epsilon} - \boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t) \|^2 \right]}
DKL∝Ex0,ϵ[∥ϵ−ϵθ(xt,t)∥2]
5. 最终优化目标
忽略常数项和权重,DDPM 的简化目标为:
L
simple
(
θ
)
=
E
t
,
x
0
,
ϵ
[
∥
ϵ
−
ϵ
θ
(
x
t
,
t
)
∥
2
]
\mathcal{L}_\text{simple}(\theta) = \mathbb{E}_{t, \mathbf{x}_0, \boldsymbol{\epsilon}} \left[ \| \boldsymbol{\epsilon} - \boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t) \|^2 \right]
Lsimple(θ)=Et,x0,ϵ[∥ϵ−ϵθ(xt,t)∥2]
其中:
- t ∼ Uniform ( 1 , T ) t \sim \text{Uniform}(1, T) t∼Uniform(1,T)
- x 0 ∼ q ( x 0 ) \mathbf{x}_0 \sim q(\mathbf{x}_0) x0∼q(x0)
- ϵ ∼ N ( 0 , I ) \boldsymbol{\epsilon} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) ϵ∼N(0,I)
- x t = α ˉ t x 0 + 1 − α ˉ t ϵ \mathbf{x}_t = \sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1 - \bar{\alpha}_t} \boldsymbol{\epsilon} xt=αˉtx0+1−αˉtϵ
关键结论
DDPM 通过训练一个网络 ϵ θ \boldsymbol{\epsilon}_\theta ϵθ 预测添加到样本中的噪声,最小化噪声预测的均方误差,从而实现数据生成。此目标等价于对数据分布的梯度(分数)进行匹配,与基于分数的生成模型有深刻联系。
补充内容(优化思路)
变分下界(VLB)最终简化公式的逐项解析与优化思路
最终VLB公式为:
VLB
=
E
q
(
x
1
∣
x
0
)
[
log
p
θ
(
x
0
∣
x
1
)
]
−
∑
t
=
2
T
E
q
(
x
t
∣
x
0
)
[
D
KL
(
q
(
x
t
−
1
∣
x
t
,
x
0
)
∥
p
θ
(
x
t
−
1
∣
x
t
)
)
]
−
D
KL
(
q
(
x
T
∣
x
0
)
∥
p
(
x
T
)
)
\begin{align*} \text{VLB} = & \;\mathbb{E}_{q(\mathbf{x}_1 | \mathbf{x}_0)} \Big[ \log p_\theta(\mathbf{x}_0 | \mathbf{x}_1) \Big] \\ & - \sum_{t=2}^T \mathbb{E}_{q(\mathbf{x}_t | \mathbf{x}_0)} \left[ D_{\text{KL}} \Big( q(\mathbf{x}_{t-1} | \mathbf{x}_t, \mathbf{x}_0) \parallel p_\theta(\mathbf{x}_{t-1} | \mathbf{x}_t) \Big) \right] \\ & - D_{\text{KL}} \Big( q(\mathbf{x}_T | \mathbf{x}_0) \parallel p(\mathbf{x}_T) \Big) \end{align*}
VLB=Eq(x1∣x0)[logpθ(x0∣x1)]−t=2∑TEq(xt∣x0)[DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))]−DKL(q(xT∣x0)∥p(xT))
1. 重构项 (Reconstruction Term)
E q ( x 1 ∣ x 0 ) [ log p θ ( x 0 ∣ x 1 ) ] \mathbb{E}_{q(\mathbf{x}_1 | \mathbf{x}_0)} \Big[ \log p_\theta(\mathbf{x}_0 | \mathbf{x}_1) \Big] Eq(x1∣x0)[logpθ(x0∣x1)]
-
含义:
衡量从第一步带噪样本 x 1 \mathbf{x}_1 x1 重建原始数据 x 0 \mathbf{x}_0 x0 的质量。- q ( x 1 ∣ x 0 ) q(\mathbf{x}_1 | \mathbf{x}_0) q(x1∣x0):前向过程第一步( x 0 → x 1 \mathbf{x}_0 \to \mathbf{x}_1 x0→x1)
- p θ ( x 0 ∣ x 1 ) p_\theta(\mathbf{x}_0 | \mathbf{x}_1) pθ(x0∣x1):反向生成过程的第一步( x 1 → x 0 \mathbf{x}_1 \to \mathbf{x}_0 x1→x0)
-
物理意义:
评估模型在轻度噪声水平( t = 1 t=1 t=1)下的数据重建能力。
对于图像数据,此项常建模为离散分布(如像素级交叉熵)或连续分布(如高斯似然)。 -
优化作用:
确保生成过程最终输出高质量样本。实际训练中此项影响较小(因 t = 1 t=1 t=1 噪声水平低)。
2. 去噪匹配项 (Denoising Matching Term)
− ∑ t = 2 T E q ( x t ∣ x 0 ) [ D KL ( q ( x t − 1 ∣ x t , x 0 ) ∥ p θ ( x t − 1 ∣ x t ) ) ] - \sum_{t=2}^T \mathbb{E}_{q(\mathbf{x}_t | \mathbf{x}_0)} \left[ D_{\text{KL}} \Big( q(\mathbf{x}_{t-1} | \mathbf{x}_t, \mathbf{x}_0) \parallel p_\theta(\mathbf{x}_{t-1} | \mathbf{x}_t) \Big) \right] −t=2∑TEq(xt∣x0)[DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))]
-
含义:
核心优化项!要求反向生成过程 p θ p_\theta pθ 匹配前向过程的后验分布 q q q。- q ( x t − 1 ∣ x t , x 0 ) q(\mathbf{x}_{t-1} | \mathbf{x}_t, \mathbf{x}_0) q(xt−1∣xt,x0):已知 x 0 \mathbf{x}_0 x0 和 x t \mathbf{x}_t xt 时 x t − 1 \mathbf{x}_{t-1} xt−1 的真实后验分布(可解析计算的高斯分布)
- p θ ( x t − 1 ∣ x t ) p_\theta(\mathbf{x}_{t-1} | \mathbf{x}_t) pθ(xt−1∣xt):参数化的反向生成模型(神经网络预测)
-
物理意义:
在每一步 t t t,强制生成模型从 x t \mathbf{x}_t xt 预测 x t − 1 \mathbf{x}_{t-1} xt−1 的分布接近理论最优去噪分布。 -
关键推导结论:
该KL散度可简化为 噪声预测的均方误差:
D KL ∝ ∥ ϵ − ϵ θ ( x t , t ) ∥ 2 D_{\text{KL}} \propto \| \boldsymbol{\epsilon} - \boldsymbol{\epsilon}_\theta (\mathbf{x}_t, t) \|^2 DKL∝∥ϵ−ϵθ(xt,t)∥2
其中 x t = α ˉ t x 0 + 1 − α ˉ t ϵ \mathbf{x}_t = \sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1-\bar{\alpha}_t}\boldsymbol{\epsilon} xt=αˉtx0+1−αˉtϵ, ϵ θ \boldsymbol{\epsilon}_\theta ϵθ 是预测噪声的神经网络。 -
优化作用:
主导整个训练过程(占损失函数权重的99%以上)。
将复杂的分布匹配问题转化为简单的监督学习:训练网络 ϵ θ \boldsymbol{\epsilon}_\theta ϵθ 预测加入的噪声 ϵ \boldsymbol{\epsilon} ϵ。
3. 先验匹配项 (Prior Matching Term)
− D KL ( q ( x T ∣ x 0 ) ∥ p ( x T ) ) - D_{\text{KL}} \Big( q(\mathbf{x}_T | \mathbf{x}_0) \parallel p(\mathbf{x}_T) \Big) −DKL(q(xT∣x0)∥p(xT))
-
含义:
衡量前向过程最终分布 q ( x T ∣ x 0 ) q(\mathbf{x}_T | \mathbf{x}_0) q(xT∣x0) 与预设先验 p ( x T ) p(\mathbf{x}_T) p(xT) 的相似度。- q ( x T ∣ x 0 ) = N ( x T ; α ˉ T x 0 , ( 1 − α ˉ T ) I ) q(\mathbf{x}_T | \mathbf{x}_0) = \mathcal{N}(\mathbf{x}_T; \sqrt{\bar{\alpha}_T} \mathbf{x}_0, (1-\bar{\alpha}_T)\mathbf{I}) q(xT∣x0)=N(xT;αˉTx0,(1−αˉT)I)
- p ( x T ) = N ( 0 , I ) p(\mathbf{x}_T) = \mathcal{N}(\mathbf{0}, \mathbf{I}) p(xT)=N(0,I)(标准高斯分布)
-
物理意义:
确保前向过程结束时,噪声分布接近标准高斯分布(生成过程的起点)。 -
优化作用:
- 当 α ˉ T ≈ 0 \bar{\alpha}_T \approx 0 αˉT≈0 时(DDPM通常满足),此项趋近于0(因 q ( x T ∣ x 0 ) ≈ N ( 0 , I ) q(\mathbf{x}_T|\mathbf{x}_0) \approx \mathcal{N}(0, \mathbf{I}) q(xT∣x0)≈N(0,I))。
- 实际训练中常被忽略,因其不依赖可训练参数 θ \theta θ 且值极小。
整体优化思路分析
1. 核心优化目标
最大化
log
p
θ
(
x
0
)
\log p_\theta(\mathbf{x}_0)
logpθ(x0) 的下界(VLB),等价于最小化:
L
VLB
=
−
VLB
=
L
0
+
∑
t
=
2
T
L
t
+
L
T
\mathcal{L}_{\text{VLB}} = -\text{VLB} = \mathcal{L}_0 + \sum_{t=2}^T \mathcal{L}_{t} + \mathcal{L}_T
LVLB=−VLB=L0+t=2∑TLt+LT
其中:
- L 0 = − E [ log p θ ( x 0 ∣ x 1 ) ] \mathcal{L}_0 = -\mathbb{E}[\log p_\theta(\mathbf{x}_0|\mathbf{x}_1)] L0=−E[logpθ(x0∣x1)](重构损失)
- L t = E [ D KL ( q ∥ p θ ) ] \mathcal{L}_{t} = \mathbb{E}[D_{\text{KL}}(q \parallel p_\theta)] Lt=E[DKL(q∥pθ)](去噪匹配损失)
- L T = D KL ( q ( x T ∣ x 0 ) ∥ p ( x T ) ) \mathcal{L}_T = D_{\text{KL}}(q(\mathbf{x}_T|\mathbf{x}_0) \parallel p(\mathbf{x}_T)) LT=DKL(q(xT∣x0)∥p(xT))(先验匹配损失)
2. 实际训练简化
-
忽略 L T \mathcal{L}_T LT:
因 α ˉ T ≈ 0 \bar{\alpha}_T \approx 0 αˉT≈0,此项可忽略(接近0)。 -
简化 L 0 \mathcal{L}_0 L0:
用均方误差替代离散分布建模(如对于图像数据)。 -
主导项 L t \mathcal{L}_{t} Lt 的转化:
通过数学推导,将KL散度转化为噪声预测损失:
L t ∝ E x 0 , ϵ , t ∥ ϵ − ϵ θ ( x t , t ) ∥ 2 \mathcal{L}_{t} \propto \mathbb{E}_{\mathbf{x}_0, \boldsymbol{\epsilon}, t} \| \boldsymbol{\epsilon} - \boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t) \|^2 Lt∝Ex0,ϵ,t∥ϵ−ϵθ(xt,t)∥2 -
均匀时间步采样:
为稳定训练,对 t ∼ Uniform { 1 , . . . , T } t \sim \text{Uniform}\{1,...,T\} t∼Uniform{1,...,T} 采样并去权重:
L simple = E t , x 0 , ϵ ∥ ϵ − ϵ θ ( x t , t ) ∥ 2 \mathcal{L}_{\text{simple}} = \mathbb{E}_{t,\mathbf{x}_0,\boldsymbol{\epsilon}} \| \boldsymbol{\epsilon} - \boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t) \|^2 Lsimple=Et,x0,ϵ∥ϵ−ϵθ(xt,t)∥2
3. 物理意义图解
生成过程(反向): x_T ≈ N(0,I) → [pθ(x_{T-1}|x_T)] → ... → [pθ(x_0|x_1)] → x_0
↑ 匹配 ↑ 匹配 ↑ 匹配
前向过程 : x_0 → [q(x1|x0)] → x_1 → ... → [q(x_T|x_{T-1})] → x_T
重构项↑ 去噪匹配项↑ 先验匹配项↑
4. 为什么此优化有效?
- 解耦复杂性:
将高维数据分布匹配问题分解为 T T T 个简单的高斯分布匹配任务。 - 渐进式优化:
通过时间步 t t t 控制噪声水平,从易(高噪声)到难(低噪声)逐步训练。 - 闭式解指导:
利用前向过程后验 q ( x t − 1 ∣ x t , x 0 ) q(\mathbf{x}_{t-1}|\mathbf{x}_t,\mathbf{x}_0) q(xt−1∣xt,x0) 的解析解提供训练目标。 - 隐式分数匹配:
噪声预测等价于学习数据分布的梯度场( ϵ θ ∝ − ∇ x t log p ( x t ) \boldsymbol{\epsilon}_\theta \propto -\nabla_{\mathbf{x}_t} \log p(\mathbf{x}_t) ϵθ∝−∇xtlogp(xt))。
总结
项 | 含义 | 优化作用 | 实际处理 |
---|---|---|---|
重构项 | 从 x 1 \mathbf{x}_1 x1 重建 x 0 \mathbf{x}_0 x0 | 保证最终输出质量 | 保留或用MSE替代 |
去噪匹配项 | 匹配反向生成与前向后验分布 | 核心训练目标(>99%权重) | 转化为噪声预测损失 |
先验匹配项 | 对齐 x T \mathbf{x}_T xT 与标准高斯 | 确保生成起点正确 | 忽略(值≈0) |
DDPM的创新优化思路:
将生成建模问题转化为序列化的噪声预测任务,通过:
- 利用前向过程后验的闭式解提供训练目标
- 将KL散度转化为均方误差损失
- 均匀采样时间步简化训练
使扩散模型可稳定训练于高维数据(如图像、音频),成为生成式AI的核心框架。