2 Background
扩散模型【53】是一种以 p θ ( x 0 ) : = ∫ p θ ( x 0 : T ) d x 1 : T p_\theta\left(\mathbf{x}_0\right):=\int p_\theta\left(\mathbf{x}_{0: T}\right) d \mathbf{x}_{1: T} pθ(x0):=∫pθ(x0:T)dx1:T 形式的潜在变量模型,其中 x 1 , … , x T \mathbf{x}_1, \ldots, \mathbf{x}_T x1,…,xT 是与数据 x 0 ∼ q ( x 0 ) \mathbf{x}_0 \sim q\left(\mathbf{x}_0\right) x0∼q(x0) 同维度的潜变量。联合分布 p θ ( x 0 : T ) p_\theta\left(\mathbf{x}_{0: T}\right) pθ(x0:T) 被称为反向过程,其定义为从 p ( x T ) = N ( x T ; 0 , I ) p\left(\mathbf{x}_T\right)=\mathcal{N}\left(\mathbf{x}_T ; \mathbf{0}, \mathbf{I}\right) p(xT)=N(xT;0,I) 开始的学习高斯过渡的马尔科夫链:
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 ) ) ( 1 ) p_\theta\left(\mathbf{x}_{0: T}\right):=p\left(\mathbf{x}_T\right) \prod_{t=1}^T p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right), \quad p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right):=\mathcal{N}\left(\mathbf{x}_{t-1} ; \boldsymbol{\mu}_\theta\left(\mathbf{x}_t, t\right), \mathbf{\Sigma}_\theta\left(\mathbf{x}_t, t\right)\right) \quad(1) pθ(x0:T):=p(xT)t=1∏Tpθ(xt−1∣xt),pθ(xt−1∣xt):=N(xt−1;μθ(xt,t),Σθ(xt,t))(1)
将扩散模型与其他类型的潜在变量模型区别开来的是,近似后验 q ( x 1 : T ∣ x 0 ) q\left(\mathbf{x}_{1: T} \mid \mathbf{x}_0\right) q(x1:T∣x0)(被称为前向过程或扩散过程)固定为一个马尔科夫链,该链根据方差调度 β 1 , … , β T \beta_1, \ldots, \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 ) ( 2 ) q\left(\mathbf{x}_{1: T} \mid \mathbf{x}_0\right):=\prod_{t=1}^T q\left(\mathbf{x}_t \mid \mathbf{x}_{t-1}\right), \quad q\left(\mathbf{x}_t \mid \mathbf{x}_{t-1}\right):=\mathcal{N}\left(\mathbf{x}_t ; \sqrt{1-\beta_t} \mathbf{x}_{t-1}, \beta_t \mathbf{I}\right)\quad(2) q(x1:T∣x0):=t=1∏Tq(xt∣xt−1),q(xt∣xt−1):=N(xt;1−βtxt−1,βtI)(2)
训练过程主要是通过优化变分下界(也称作证据下界,或ELBO)的负对数似然性来完成的:
E [ − log p θ ( x 0 ) ] ≤ E q [ − log p θ ( x 0 : T ) q ( x 1 : T ∣ x 0 ) ] = E q [ − log p ( x T ) − ∑ t ≥ 1 log p θ ( x t − 1 ∣ x t ) q ( x t ∣ x t − 1 ) ] = : L ( 3 ) \mathbb{E}\left[-\log p_\theta\left(\mathbf{x}_0\right)\right] \leq \mathbb{E}_q\left[-\log \frac{p_\theta\left(\mathbf{x}_{0: T}\right)}{q\left(\mathbf{x}_{1: T} \mid \mathbf{x}_0\right)}\right]=\mathbb{E}_q\left[-\log p\left(\mathbf{x}_T\right)-\sum_{t \geq 1} \log \frac{p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right)}{q\left(\mathbf{x}_t \mid \mathbf{x}_{t-1}\right)}\right]=: L \quad(3) E[−logpθ(x0)]≤Eq[−logq(x1:T∣x0)pθ(x0:T)]=Eq[−logp(xT)−t≥1∑logq(xt∣xt−1)pθ(xt−1∣xt)]=:L(3)
可以通过重参数化【33】学习前向过程的方差 β t \beta_t βt,或者将其视为恒定的超参数,并通过选择高斯条件下的 p θ ( x t − 1 ∣ x t ) p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right) pθ(xt−1∣xt),确保反向过程的表达力,因为当 β t \beta_t βt 很小的时候,这两个过程具有相同的函数形式【53】。前向过程的一个显著特性是,它允许在任意时间步长 t t t 以封闭形式采样 x t \mathbf{x}_t xt:使用符号 α t : = 1 − β t \alpha_t:=1-\beta_t αt:=1−βt 和 α ˉ t : = ∏ s = 1 t α s \bar{\alpha}_t:=\prod_{s=1}^t \alpha_s αˉt:=∏s=1tαs,我们有:
q ( x t ∣ x 0 ) = N ( x t ; α ˉ t x 0 , ( 1 − α ˉ t ) I ) ( 4 ) q\left(\mathbf{x}_t \mid \mathbf{x}_0\right)=\mathcal{N}\left(\mathbf{x}_t ; \sqrt{\bar{\alpha}_t} \mathbf{x}_0,\left(1-\bar{\alpha}_t\right) \mathbf{I}\right)\quad(4) q(xt∣x0)=N(xt;αˉtx0,(1−αˉt)I)(4)
因此,我们可以通过使用随机梯度下降优化
L
L
L的随机项进行高效训练。进一步的改进来自于通过将
L
L
L(3)重写为以下格式来降低方差:
E
q
[
D
K
L
(
q
(
x
T
∣
x
0
)
∥
p
(
x
T
)
)
⏟
L
T
+
∑
t
>
1
D
K
L
(
q
(
x
t
−
1
∣
x
t
,
x
0
)
∥
p
θ
(
x
t
−
1
∣
x
t
)
)
⏟
L
t
−
1
−
log
p
θ
(
x
0
∣
x
1
)
⏟
L
0
]
(
5
)
\mathbb{E}_q[\underbrace{D_{\mathrm{KL}}\left(q\left(\mathbf{x}_T \mid \mathbf{x}_0\right) \| p\left(\mathbf{x}_T\right)\right)}_{L_T}+\sum_{t>1} \underbrace{D_{\mathrm{KL}}\left(q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t, \mathbf{x}_0\right) \| p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right)\right)}_{L_{t-1}} \underbrace{-\log p_\theta\left(\mathbf{x}_0 \mid \mathbf{x}_1\right)}_{L_0}]\quad(5)
Eq[LT
DKL(q(xT∣x0)∥p(xT))+t>1∑Lt−1
DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))L0
−logpθ(x0∣x1)](5)
(详情请参见附录A。这些项的标签用于第3节。)公式(5)使用KL散度直接将
p
θ
(
x
t
−
1
∣
x
t
)
p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right)
pθ(xt−1∣xt)与条件于
x
0
\mathbf{x}_0
x0时可以处理的前向过程后验进行比较:
q
(
x
t
−
1
∣
x
t
,
x
0
)
=
N
(
x
t
−
1
;
μ
~
t
(
x
t
,
x
0
)
,
β
~
t
I
)
(
6
)
where
μ
~
t
(
x
t
,
x
0
)
:
α
ˉ
t
−
1
β
t
1
−
α
ˉ
t
x
0
+
α
t
(
1
−
α
ˉ
t
−
1
)
1
−
α
ˉ
t
x
t
and
β
~
t
:
=
1
−
α
ˉ
t
−
1
1
−
α
ˉ
t
β
t
(
7
)
\begin{aligned} q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t, \mathbf{x}_0\right) & =\mathcal{N}\left(\mathbf{x}_{t-1} ; \tilde{\boldsymbol{\mu}}_t\left(\mathbf{x}_t, \mathbf{x}_0\right), \tilde{\beta}_t \mathbf{I}\right) \quad(6)\\ \text { where } \quad \tilde{\boldsymbol{\mu}}_t\left(\mathbf{x}_t, \mathbf{x}_0\right) & : \frac{\sqrt{\bar{\alpha}_{t-1}} \beta_t}{1-\bar{\alpha}_t} \mathbf{x}_0+\frac{\sqrt{\alpha_t}\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_t} \mathbf{x}_t \quad \text { and } \quad \tilde{\beta}_t:=\frac{1-\bar{\alpha}_{t-1}}{1-\bar{\alpha}_t} \beta_t \quad(7) \end{aligned}
q(xt−1∣xt,x0) where μ~t(xt,x0)=N(xt−1;μ~t(xt,x0),β~tI)(6):1−αˉtαˉt−1βtx0+1−αˉtαt(1−αˉt−1)xt and β~t:=1−αˉt1−αˉt−1βt(7)
因此,公式(5)中的所有KL散度都是高斯间的比较,所以它们可以以Rao-Blackwellized的方式通过封闭形式的表达式计算,而不是使用高方差的蒙特卡洛估计。
3 Diffusion models and denoising autoencoders
扩散模型可能看起来是一类受限制的潜在变量模型,但它们在实现中允许很大的自由度。必须选择正向过程的方差 β t \beta_t βt以及逆向过程的模型架构和高斯分布参数化。为了指导我们的选择,我们在扩散模型和去噪分数匹配之间建立了一个新的显式连接(第 3.2 节),从而为扩散模型提供了一个简化的加权变分边界目标(第 3.4 节)。最终,我们的模型设计通过简单性和实证结果得到了证明(第 4 节)。我们的讨论按公式(5)的术语进行分类。
3.1 Forward process and L T L_T LT
我们忽略了通过重参数化可以使前向过程的方差 β t \beta_t βt变得可学习的事实,而是将它们固定为常数(详见第4节)。因此,在我们的实现中,近似后验分布 q q q没有可学习的参数,因此 L T L_T LT在训练过程中是一个常数,可以忽略不计。
3.2 Reverse process and L 1 : T − 1 L_{1: T-1} L1:T−1
现在我们讨论 p θ ( x t − 1 ∣ x t ) = N ( x t − 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right)=\mathcal{N}\left(\mathbf{x}_{t-1} ; \boldsymbol{\mu}_\theta\left(\mathbf{x}_t, t\right), \mathbf{\Sigma}_\theta\left(\mathbf{x}_t, t\right)\right) pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t)) 中对 1 < t ≤ T 1 < t \leq T 1<t≤T 的选择。首先,我们将 Σ θ ( x t , t ) = σ t 2 I \boldsymbol{\Sigma}_\theta\left(\mathbf{x}_t, t\right)=\sigma_t^2 \mathbf{I} Σθ(xt,t)=σt2I 设为未训练的时间依赖常数。实验上, σ t 2 = β t \sigma_t^2=\beta_t σt2=βt 和 σ t 2 = β ~ t = 1 − α ˉ t − 1 1 − α ˉ t β t \sigma_t^2=\tilde{\beta}_t=\frac{1-\bar{\alpha}_{t-1}}{1-\bar{\alpha}_t} \beta_t σt2=β~t=1−αˉt1−αˉt−1βt 有类似的结果。第一个选择对于 x 0 ∼ N ( 0 , I ) \mathbf{x}_0 \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) x0∼N(0,I) 是最优的,而第二个选择对于 x 0 \mathbf{x}_0 x0 确定为某一个点是最优的。这是对应于坐标单位方差数据的逆过程熵上下界的两个极端选择 [53]。
其次,为了表示均值
μ
θ
(
x
t
,
t
)
\boldsymbol{\mu}_\theta\left(\mathbf{x}_t, t\right)
μθ(xt,t),我们提出了一种特定的参数化方法,这种方法的动机来源于对
L
t
L_t
Lt 的以下分析。对于
p
θ
(
x
t
−
1
∣
x
t
)
=
N
(
x
t
−
1
;
μ
θ
(
x
t
,
t
)
,
σ
t
2
I
)
p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right)=\mathcal{N}\left(\mathbf{x}_{t-1} ; \boldsymbol{\mu}_\theta\left(\mathbf{x}_t, t\right), \sigma_t^2 \mathbf{I}\right)
pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),σt2I),我们可以写成:
L
t
−
1
=
E
q
[
1
2
σ
t
2
∥
μ
~
t
(
x
t
,
x
0
)
−
μ
θ
(
x
t
,
t
)
∥
2
]
+
C
(
8
)
L_{t-1}=\mathbb{E}_q\left[\frac{1}{2 \sigma_t^2}\left\|\tilde{\boldsymbol{\mu}}_t\left(\mathbf{x}_t, \mathbf{x}_0\right)-\boldsymbol{\mu}_\theta\left(\mathbf{x}_t, t\right)\right\|^2\right]+C \quad(8)
Lt−1=Eq[2σt21∥μ~t(xt,x0)−μθ(xt,t)∥2]+C(8)
其中
C
C
C 是一个不依赖于
θ
\theta
θ 的常数。因此,我们看到
μ
θ
\boldsymbol{\mu}_\theta
μθ 最直接的参数化方式是预测前向过程的后验均值
μ
~
t
\tilde{\boldsymbol{\mu}}_t
μ~t。但是,我们可以通过将公式 (4) 重参数化为
x
t
(
x
0
,
ϵ
)
=
α
ˉ
t
x
0
+
1
−
α
ˉ
t
ϵ
\mathbf{x}_t\left(\mathbf{x}_0, \boldsymbol{\epsilon}\right)=\sqrt{\bar{\alpha}_t} \mathbf{x}_0+\sqrt{1-\bar{\alpha}_t} \boldsymbol{\epsilon}
xt(x0,ϵ)=αˉtx0+1−αˉtϵ 对
ϵ
∼
N
(
0
,
I
)
\boldsymbol{\epsilon} \sim \mathcal{N}(\mathbf{0}, \mathbf{I})
ϵ∼N(0,I),并应用前向过程的后验公式 (7) 来进一步展开公式 (8):
L
t
−
1
−
C
=
E
x
0
,
ϵ
[
1
2
σ
t
2
∥
μ
~
t
(
x
t
(
x
0
,
ϵ
)
,
1
α
ˉ
t
(
x
t
(
x
0
,
ϵ
)
−
1
−
α
ˉ
t
ϵ
)
)
−
μ
θ
(
x
t
(
x
0
,
ϵ
)
,
t
)
∥
2
]
(
9
)
=
E
x
0
,
ϵ
[
1
2
σ
t
2
∥
1
α
t
(
x
t
(
x
0
,
ϵ
)
−
β
t
1
−
α
ˉ
t
ϵ
)
−
μ
θ
(
x
t
(
x
0
,
ϵ
)
,
t
)
∥
2
]
(
10
)
\begin{aligned} L_{t-1}-C & =\mathbb{E}_{\mathbf{x}_0, \boldsymbol{\epsilon}}\left[\frac{1}{2 \sigma_t^2}\left\|\tilde{\boldsymbol{\mu}}_t\left(\mathbf{x}_t\left(\mathbf{x}_0, \boldsymbol{\epsilon}\right), \frac{1}{\sqrt{\bar{\alpha}_t}}\left(\mathbf{x}_t\left(\mathbf{x}_0, \boldsymbol{\epsilon}\right)-\sqrt{1-\bar{\alpha}_t} \boldsymbol{\epsilon}\right)\right)-\boldsymbol{\mu}_\theta\left(\mathbf{x}_t\left(\mathbf{x}_0, \boldsymbol{\epsilon}\right), t\right)\right\|^2\right] \quad(9)\\ & =\mathbb{E}_{\mathbf{x}_0, \boldsymbol{\epsilon}}\left[\frac{1}{2 \sigma_t^2}\left\|\frac{1}{\sqrt{\alpha_t}}\left(\mathbf{x}_t\left(\mathbf{x}_0, \boldsymbol{\epsilon}\right)-\frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}} \boldsymbol{\epsilon}\right)-\boldsymbol{\mu}_\theta\left(\mathbf{x}_t\left(\mathbf{x}_0, \boldsymbol{\epsilon}\right), t\right)\right\|^2\right]\quad(10) \end{aligned}
Lt−1−C=Ex0,ϵ[2σt21
μ~t(xt(x0,ϵ),αˉt1(xt(x0,ϵ)−1−αˉtϵ))−μθ(xt(x0,ϵ),t)
2](9)=Ex0,ϵ[2σt21
αt1(xt(x0,ϵ)−1−αˉtβtϵ)−μθ(xt(x0,ϵ),t)
2](10)
公式(10)揭示了
μ
θ
\boldsymbol{\mu}_\theta
μθ 必须预测
1
α
t
(
x
t
−
β
t
1
−
α
ˉ
t
ϵ
)
\frac{1}{\sqrt{\alpha_t}}\left(\mathbf{x}_t-\frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}} \boldsymbol{\epsilon}\right)
αt1(xt−1−αˉtβtϵ) 给定
x
t
\mathbf{x}_t
xt。由于
x
t
\mathbf{x}_t
xt 作为模型的输入是可用的,我们可以选择参数化方式:
μ
θ
(
x
t
,
t
)
=
μ
~
t
(
x
t
,
1
α
ˉ
t
(
x
t
−
1
−
α
ˉ
t
ϵ
θ
(
x
t
)
)
)
=
1
α
t
(
x
t
−
β
t
1
−
α
ˉ
t
ϵ
θ
(
x
t
,
t
)
)
(
11
)
\boldsymbol{\mu}_\theta\left(\mathbf{x}_t, t\right)=\tilde{\boldsymbol{\mu}}_t\left(\mathbf{x}_t, \frac{1}{\sqrt{\bar{\alpha}_t}}\left(\mathbf{x}_t-\sqrt{1-\bar{\alpha}_t} \boldsymbol{\epsilon}_\theta\left(\mathbf{x}_t\right)\right)\right)=\frac{1}{\sqrt{\alpha_t}}\left(\mathbf{x}_t-\frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}} \boldsymbol{\epsilon}_\theta\left(\mathbf{x}_t, t\right)\right)\quad(11)
μθ(xt,t)=μ~t(xt,αˉt1(xt−1−αˉtϵθ(xt)))=αt1(xt−1−αˉtβtϵθ(xt,t))(11)
其中
ϵ
θ
\boldsymbol{\epsilon}_\theta
ϵθ 是一个函数逼近器,用于从
x
t
\mathbf{x}_t
xt 预测
ϵ
\boldsymbol{\epsilon}
ϵ。采样
x
t
−
1
∼
p
θ
(
x
t
−
1
∣
x
t
)
\mathbf{x}_{t-1} \sim p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right)
xt−1∼pθ(xt−1∣xt) 相当于计算
x
t
−
1
=
1
α
t
(
x
t
−
β
t
1
−
α
ˉ
t
ϵ
θ
(
x
t
,
t
)
)
+
σ
t
z
\mathbf{x}_{t-1}=\frac{1}{\sqrt{\alpha_t}}\left(\mathbf{x}_t-\frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}} \boldsymbol{\epsilon}_\theta\left(\mathbf{x}_t, t\right)\right)+\sigma_t \mathbf{z}
xt−1=αt1(xt−1−αˉtβtϵθ(xt,t))+σtz,其中
z
∼
N
(
0
,
I
)
\mathbf{z} \sim \mathcal{N}(\mathbf{0}, \mathbf{I})
z∼N(0,I)。完整的采样过程,算法2,类似于 Langevin 动力学,其中
ϵ
θ
\epsilon_\theta
ϵθ 是数据密度的学习梯度。此外,使用参数化公式(11),公式(10)简化为:
E
x
0
,
ϵ
[
β
t
2
2
σ
t
2
α
t
(
1
−
α
ˉ
t
)
∥
ϵ
−
ϵ
θ
(
α
ˉ
t
x
0
+
1
−
α
ˉ
t
ϵ
,
t
)
∥
2
]
(
12
)
\mathbb{E}_{\mathbf{x}_0, \boldsymbol{\epsilon}}\left[\frac{\beta_t^2}{2 \sigma_t^2 \alpha_t\left(1-\bar{\alpha}_t\right)}\left\|\boldsymbol{\epsilon}-\boldsymbol{\epsilon}_\theta\left(\sqrt{\bar{\alpha}_t} \mathbf{x}_0+\sqrt{1-\bar{\alpha}_t} \boldsymbol{\epsilon}, t\right)\right\|^2\right]\quad(12)
Ex0,ϵ[2σt2αt(1−αˉt)βt2
ϵ−ϵθ(αˉtx0+1−αˉtϵ,t)
2](12)
这类似于由
t
t
t 索引的多个噪声尺度上的去噪得分匹配 [55]。由于公式(12)等于 Langevin-like 逆过程(11)的变分界(一个项),我们看到优化类似于去噪得分匹配的目标等价于使用变分推断来拟合类似于 Langevin 动力学的采样链的有限时间边际。
总之,我们可以训练逆过程均值函数逼近器 μ θ \boldsymbol{\mu}_\theta μθ 来预测 μ ~ t \tilde{\boldsymbol{\mu}}_t μ~t,或者通过修改其参数化方式,我们可以训练它来预测 ϵ \epsilon ϵ。(还有预测 x 0 \mathbf{x}_0 x0 的可能性,但我们发现这会导致实验早期的样本质量较差。)我们已经证明了 ϵ \boldsymbol{\epsilon} ϵ-预测参数化方式既类似于 Langevin 动力学,又将扩散模型的变分界简化为类似于去噪得分匹配的目标。然而,这只是 p θ ( x t − 1 ∣ x t ) p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right) pθ(xt−1∣xt) 的另一种参数化方式,因此在第4节中,我们通过比较预测 ϵ \boldsymbol{\epsilon} ϵ 和预测 μ ~ t \tilde{\boldsymbol{\mu}}_t μ~t 来验证其有效性。
3.3 Data scaling, reverse process decoder, and L 0 L_0 L0
我们假设图像数据由整数
{
0
,
1
,
…
,
255
}
\{0,1, \ldots, 255\}
{0,1,…,255} 线性缩放到
[
−
1
,
1
]
[-1,1]
[−1,1]。这样确保神经网络逆过程在一致缩放的输入上操作,从标准正态先验
p
(
x
T
)
p\left(\mathbf{x}_T\right)
p(xT) 开始。为了获得离散的对数似然,我们将逆过程的最后一项设置为从高斯分布
N
(
x
0
;
μ
θ
(
x
1
,
1
)
,
σ
1
2
I
)
\mathcal{N}\left(\mathbf{x}_0 ; \boldsymbol{\mu}_\theta\left(\mathbf{x}_1, 1\right), \sigma_1^2 \mathbf{I}\right)
N(x0;μθ(x1,1),σ12I) 导出的独立离散解码器:
p
θ
(
x
0
∣
x
1
)
=
∏
i
=
1
D
∫
δ
−
(
x
0
i
)
δ
+
(
x
0
i
)
N
(
x
;
μ
θ
i
(
x
1
,
1
)
,
σ
1
2
)
d
x
δ
+
(
x
)
=
{
∞
if
x
=
1
x
+
1
255
if
x
<
1
δ
−
(
x
)
=
{
−
∞
if
x
=
−
1
x
−
1
255
if
x
>
−
1
(
13
)
\begin{aligned} p_\theta\left(\mathbf{x}_0 \mid \mathbf{x}_1\right) & =\prod_{i=1}^D \int_{\delta_{-}\left(x_0^i\right)}^{\delta_{+}\left(x_0^i\right)} \mathcal{N}\left(x ; \mu_\theta^i\left(\mathbf{x}_1, 1\right), \sigma_1^2\right) d x \\ \delta_{+}(x) & =\left\{\begin{array}{ll} \infty & \text { if } x=1 \\ x+\frac{1}{255} & \text { if } x<1 \end{array} \quad \delta_{-}(x)= \begin{cases}-\infty & \text { if } x=-1 \\ x-\frac{1}{255} & \text { if } x>-1\end{cases} \right.\quad(13) \end{aligned}
pθ(x0∣x1)δ+(x)=i=1∏D∫δ−(x0i)δ+(x0i)N(x;μθi(x1,1),σ12)dx={∞x+2551 if x=1 if x<1δ−(x)={−∞x−2551 if x=−1 if x>−1(13)
其中
D
D
D 是数据的维度,上标
i
i
i 表示提取一个坐标。(我们也可以简单地使用更强大的解码器,如条件自回归模型,但我们将这留给未来的工作。)与 VAE 解码器和自回归模型中使用的离散连续分布类似
[
34
,
52
]
[34,52]
[34,52],我们在这里的选择确保变分界是离散数据的无损编码长度,无需向数据添加噪声或将缩放操作的雅可比矩阵合并到对数似然中。在采样结束时,我们无噪声地显示
μ
θ
(
x
1
,
1
)
\boldsymbol{\mu}_\theta\left(\mathbf{x}_1, 1\right)
μθ(x1,1)。
3.4 Simplified training objective
通过上述定义的逆过程和解码器,由公式(12)和(13)导出的变分界对
θ
\theta
θ 是明显可微的,并且准备好用于训练。然而,我们发现对训练样本质量(和更简单的实现)有益的是对以下变分界的变体进行训练:
L
simple
(
θ
)
:
=
E
t
,
x
0
,
ϵ
[
∥
ϵ
−
ϵ
θ
(
α
ˉ
t
x
0
+
1
−
α
ˉ
t
ϵ
,
t
)
∥
2
]
(
14
)
L_{\text {simple }}(\theta):=\mathbb{E}_{t, \mathbf{x}_0, \boldsymbol{\epsilon}}\left[\left\|\boldsymbol{\epsilon}-\boldsymbol{\epsilon}_\theta\left(\sqrt{\bar{\alpha}_t} \mathbf{x}_0+\sqrt{1-\bar{\alpha}_t} \boldsymbol{\epsilon}, t\right)\right\|^2\right]\quad(14)
Lsimple (θ):=Et,x0,ϵ[
ϵ−ϵθ(αˉtx0+1−αˉtϵ,t)
2](14)
其中
t
t
t 在 1 和
T
T
T 之间均匀分布。
t
=
1
t=1
t=1 的情况对应于
L
0
L_0
L0,在离散解码器定义(13)中,积分由高斯概率密度函数乘以箱宽近似,忽略了
σ
1
2
\sigma_1^2
σ12 和边缘效应。
t
>
1
t>1
t>1 的情况对应于方程(12)的未加权版本,类似于 NCSN 去噪评分匹配模型使用的损失加权。 (
L
T
L_T
LT 不出现,因为前向过程方差
β
t
\beta_t
βt 是固定的。)算法 1 显示了使用此简化目标的完整训练过程。
由于我们的简化目标(14)丢弃了公式(12)中的加权,它是一种加权变分界,与标准变分界相比,强调重建的不同方面。特别是,我们在第 4 节中设置的扩散过程导致简化目标降低了与小 t t t 对应的损失项权重。这些项训练网络去除非常小量的噪声数据,因此将它们降权是有益的,这样网络就可以将重点放在更大 t t t 项的更困难的去噪任务上。我们将在我们的实验中看到,这种重新加权导致更好的样本质量。
上篇文章DDPM公式推导(二)推导出模型目标就是最小化 L t L_t Lt ,即:
θ = arg min θ L t \theta=\underset{\theta}{\arg \min } L_t θ=θargminLt
而 L t = E q [ D K L ( q ( x t − 1 ∣ x t , x 0 ) ∥ p θ ( x t − 1 ∣ x t ) ) ] L_t=\mathbb{E}_q\left[\mathcal{D}_{K L}\left(q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t, \mathbf{x}_0\right) \| p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right)\right)\right] Lt=Eq[DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))]
但上式并非解析式的形式。让我们进行推导:
首先转换KL散度的左项:
q ( x t − 1 ∣ x t , x 0 ) = q ( x t − 1 , x t , x 0 ) q ( x t , x 0 ) = q ( x t , x t − 1 , x 0 ) q ( x t ∣ x 0 ) q ( x 0 ) = q ( x t ∣ x t − 1 , x 0 ) q ( x t − 1 , x 0 ) q ( x t ∣ x 0 ) q ( x 0 ) = q ( x t ∣ x t − 1 , x 0 ) q ( x t − 1 ∣ x 0 ) q ( x 0 ) q ( x t ∣ x 0 ) q ( x 0 ) = q ( x t ∣ x t − 1 ) q ( x t − 1 ∣ x 0 ) q ( x t ∣ x 0 ) = N ( x t ; 1 − β t x t − 1 , β t I ) N ( x t − 1 ; α ˉ t − 1 x 0 , ( 1 − α ˉ t − 1 ) I ) N ( x t ; α ˉ t x 0 , ( 1 − α ˉ t ) I ) = N ( x t ; α t x t − 1 , ( 1 − α t ) I ) N ( x t − 1 ; α ˉ t − 1 x 0 , ( 1 − α ˉ t − 1 ) I ) N ( x t ; α ˉ t x 0 , ( 1 − α ˉ t ) I ) ∝ exp { − [ ( x t − α t x t − 1 ) 2 2 ( 1 − α t ) + ( x t − 1 − α ˉ t − 1 x 0 ) 2 2 ( 1 − α ˉ t − 1 ) − ( x t − α ˉ t x 0 ) 2 2 ( 1 − α ˉ t ) ] } = exp { − 1 2 [ ( x t − α t x t − 1 ) 2 1 − α t + ( x t − 1 − α ˉ t − 1 x 0 ) 2 1 − α ˉ t − 1 − ( x t − α ˉ t x 0 ) 2 1 − α ˉ t ] } = exp { − 1 2 [ x t 2 − 2 α t x t x t − 1 + α t x t − 1 2 1 − α t + x t − 1 2 − 2 α ˉ t − 1 x t − 1 x 0 + α ˉ t − 1 x 0 2 1 − α ˉ t − 1 − x t 2 − 2 α ˉ t x t x 0 + α ˉ t x 0 2 1 − α ˉ t ] } = exp { − 1 2 [ x t 2 1 − α t − 2 α t x t x t − 1 1 − α t + α t x t − 1 2 1 − α t + x t − 1 2 1 − α ˉ t − 1 − 2 α ˉ t − 1 x t − 1 x 0 1 − α ˉ t − 1 + α ˉ t − 1 x 0 2 1 − α ˉ t − 1 − x t 2 1 − α ˉ t + 2 α ˉ t x t x 0 1 − α ˉ t − α ˉ t x 0 2 1 − α ˉ t ] } = exp { − 1 2 [ − 2 α t x t x t − 1 1 − α t + α t x t − 1 2 1 − α t + x t − 1 2 1 − α ˉ t − 1 − 2 α ˉ t − 1 x t − 1 x 0 1 − α ˉ t − 1 + C ( x t , x 0 ) ⏟ 与 x t − 1 无关项 ] } = exp { − 1 2 [ ( α t 1 − α t + 1 1 − α ˉ t − 1 ) x t − 1 2 − 2 ( α t x t 1 − α t + α ˉ t − 1 x 0 1 − α ˉ t − 1 ) x t − 1 + C ( x t , x 0 ) ⏟ 与 x t − 1 无关项 ] } = exp { − 1 2 [ α t ( 1 − α ˉ t − 1 ) + 1 − α t ( 1 − α t ) ( 1 − α ˉ t − 1 ) x t − 1 2 − 2 ( α t x t 1 − α t + α ˉ t − 1 x 0 1 − α ˉ t − 1 ) x t − 1 + C ( x t , x 0 ) ⏟ 与 x t − 1 无关项 ] } = exp { − 1 2 [ 1 − α ˉ t ( 1 − α t ) ( 1 − α ˉ t − 1 ) x t − 1 2 − 2 ( α t x t 1 − α t + α t − 1 x 0 1 − α ˉ t − 1 ) x t − 1 ] − 1 2 C ( x t , x 0 ) ⏟ 与 x t − 1 无关项 } = exp { − 1 2 ( 1 − α ˉ t ( 1 − α t ) ( 1 − α ˉ t − 1 ) ) [ x t − 1 2 − 2 ( α t x t 1 − α t + α t − 1 x 0 1 − α ˉ t − 1 ) 1 − α ˉ t ( 1 − α t ) ( 1 − α ˉ t − 1 ) x t − 1 ] − 1 2 C ( x t , x 0 ) ⏟ 与 x t − 1 无关项 } = exp { − 1 2 ( 1 − α ˉ t ( 1 − α t ) ( 1 − α ˉ t − 1 ) ) [ x t − 1 2 − 2 ( α t x t 1 − α t + α ˉ t − 1 x 0 1 − α ˉ t − 1 ) ( 1 − α t ) ( 1 − α ˉ t − 1 ) 1 − α ˉ t x t − 1 ] − 1 2 C ( x t , x 0 ) ⏟ 与 x t − 1 无关项 } = exp { − 1 2 ( 1 ( 1 − α t ) ( 1 − α ˉ t − 1 ) 1 − α ˉ t ) [ x t − 1 2 − 2 α t ( 1 − α ˉ t − 1 ) x t + α ˉ t − 1 ( 1 − α t ) x 0 1 − α ˉ t x t − 1 ] − 1 2 C ( x t , x 0 ) ⏟ 与 x t − 1 无关项 } = exp { − ( x t − 1 − α t ( 1 − α ˉ t − 1 ) x t + α t − 1 ( 1 − α t ) x 0 1 − α ˉ t ) 2 2 ( ( 1 − α t ) ( 1 − α ˉ t − 1 ) 1 − α ˉ t ) } ∝ N ( x t − 1 ; α t ( 1 − α ˉ t − 1 ) x t + α ˉ t − 1 ( 1 − α t ) x 0 1 − α ˉ t ⏟ μ ~ t ( x t , x 0 ) , ( 1 − α t ) ( 1 − α ˉ t − 1 ) 1 − α ˉ t ⏟ Σ ~ q ( t ) I \begin{aligned} q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t, \mathbf{x}_0\right) & =\frac{q\left(\mathbf{x}_{t-1}, \mathbf{x}_t, \mathbf{x}_0\right)}{q\left(\mathbf{x}_t, \mathbf{x}_0\right)} \\ & =\frac{q\left(\mathbf{x}_t, \mathbf{x}_{t-1}, \mathbf{x}_0\right)}{q\left(\mathbf{x}_t \mid \mathbf{x}_0\right) q\left(\mathbf{x}_0\right)} \\ & =\frac{q\left(\mathbf{x}_t \mid \mathbf{x}_{t-1}, \mathbf{x}_0\right) q\left(\mathbf{x}_{t-1}, \mathbf{x}_0\right)}{q\left(\mathbf{x}_t \mid \mathbf{x}_0\right) q\left(\mathbf{x}_0\right)} \\ & =q\left(\mathbf{x}_t \mid \mathbf{x}_{t-1}, \mathbf{x}_0\right) \frac{q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_0\right) q\left(\mathbf{x}_0\right)}{q\left(\mathbf{x}_t \mid \mathbf{x}_0\right) q\left(\mathbf{x _ { 0 } )}\right.}\\ &=q\left(\mathbf{x}_t \mid \mathbf{x}_{t-1}\right) \frac{q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_0\right)}{q\left(\mathbf{x}_t \mid \mathbf{x}_0\right)}\\ &=\frac{\mathcal{N}\left(\mathbf{x}_t ; \sqrt{1-\beta_t} \mathbf{x}_{t-1},\beta_t \mathbf{I}\right) \mathcal{N}\left(\mathbf{x}_{t-1} ; \sqrt{\bar{\alpha}_{t-1}} \mathbf{x}_0,\left(1-\bar{\alpha}_{t-1}\right) \mathbf{I}\right)}{\mathcal{N}\left(\mathbf{x}_t ; \sqrt{\bar{\alpha}_t} \mathbf{x}_0,\left(1-\bar{\alpha}_t\right) \mathbf{I}\right)}\\ &=\frac{\mathcal{N}\left(\mathbf{x}_t ; \sqrt{\alpha_t} \mathbf{x}_{t-1},\left(1-\alpha_t\right) \mathbf{I}\right) \mathcal{N}\left(\mathbf{x}_{t-1} ; \sqrt{\bar{\alpha}_{t-1}} \mathbf{x}_0,\left(1-\bar{\alpha}_{t-1}\right) \mathbf{I}\right)}{\mathcal{N}\left(\mathbf{x}_t ; \sqrt{\bar{\alpha}_t} \mathbf{x}_0,\left(1-\bar{\alpha}_t\right) \mathbf{I}\right)}\\ &\propto \exp \left\{-\left[\frac{\left(\mathbf{x}_t-\sqrt{\alpha_t} \mathbf{x}_{t-1}\right)^2}{2\left(1-\alpha_t\right)}+\frac{\left(\mathbf{x}_{t-1}-\sqrt{\bar{\alpha}_{t-1}} \mathbf{x}_0\right)^2}{2\left(1-\bar{\alpha}_{t-1}\right)}-\frac{\left(\mathbf{x}_t-\sqrt{\bar{\alpha}_t} \mathbf{x}_0\right)^2}{2\left(1-\bar{\alpha}_t\right)}\right]\right\}\\ &=\exp \left\{-\frac{1}{2}\left[\frac{\left(\mathbf{x}_t-\sqrt{\alpha_t} \mathbf{x}_{t-1}\right)^2}{1-\alpha_t}+\frac{\left(\mathbf{x}_{t-1}-\sqrt{\bar{\alpha}_{t-1}} \mathbf{x}_0\right)^2}{1-\bar{\alpha}_{t-1}}-\frac{\left(\mathbf{x}_t-\sqrt{\bar{\alpha}_t} \mathbf{x}_0\right)^2}{1-\bar{\alpha}_t}\right]\right\}\\ &=\exp \left\{-\frac{1}{2}\left[\frac{\mathbf{x}_t^2 - 2 \sqrt{\alpha_t} \mathbf{x}_t \mathbf{x}_{t-1} + \alpha_t \mathbf{x}_{t-1}^2}{1-\alpha_t}+\frac{\mathbf{x}_{t-1}^2 - 2 \sqrt{\bar{\alpha}_{t-1}} \mathbf{x}_{t-1} \mathbf{x}_0 + \bar{\alpha}_{t-1} \mathbf{x}_0^2}{1-\bar{\alpha}_{t-1}}-\frac{\mathbf{x}_t^2 - 2 \sqrt{\bar{\alpha}_t} \mathbf{x}_t \mathbf{x}_0 + \bar{\alpha}_t \mathbf{x}_0^2}{1-\bar{\alpha}_t}\right]\right\}\\ &=\exp \left\{-\frac{1}{2}\left[\frac{\mathbf{x}_t^2}{1-\alpha_t} - \frac{2 \sqrt{\alpha_t} \mathbf{x}_t \mathbf{x}_{t-1}}{1-\alpha_t} + \frac{\alpha_t \mathbf{x}_{t-1}^2}{1-\alpha_t} + \frac{\mathbf{x}_{t-1}^2}{1-\bar{\alpha}_{t-1}} - \frac{2 \sqrt{\bar{\alpha}_{t-1}} \mathbf{x}_{t-1} \mathbf{x}_0}{1-\bar{\alpha}_{t-1}} + \frac{\bar{\alpha}_{t-1} \mathbf{x}_0^2}{1-\bar{\alpha}_{t-1}} - \frac{\mathbf{x}_t^2}{1-\bar{\alpha}_t} + \frac{2 \sqrt{\bar{\alpha}_t} \mathbf{x}_t \mathbf{x}_0}{1-\bar{\alpha}_t} - \frac{\bar{\alpha}_t \mathbf{x}_0^2}{1-\bar{\alpha}_t}\right]\right\}\\ &=\exp \left\{-\frac{1}{2}\left[-\frac{2 \sqrt{\alpha_t} \mathbf{x}_t \mathbf{x}_{t-1}}{1-\alpha_t}+\frac{\alpha_t \mathbf{x}_{t-1}^2}{1-\alpha_t}+\frac{\mathbf{x}_{t-1}^2}{1-\bar{\alpha}_{t-1}}-\frac{2 \sqrt{\bar{\alpha}_{t-1}} \mathbf{x}_{t-1} \mathbf{x}_0}{1-\bar{\alpha}_{t-1}}+\underbrace{C\left(\mathbf{x}_t,\mathbf{x}_0\right)}_{\text{与}\mathbf{x}_{t-1}\text{无关项}}\right]\right\}\\ &=\exp \left\{-\frac{1}{2}\left[\left(\frac{\alpha_t}{1-\alpha_t}+\frac{1}{1-\bar{\alpha}_{t-1}}\right) \mathbf{x}_{t-1}^2-2\left(\frac{\sqrt{\alpha_t} \mathbf{x}_t}{1-\alpha_t}+\frac{\sqrt{\bar{\alpha}_{t-1}} \mathbf{x}_0}{1-\bar{\alpha}_{t-1}}\right) \mathbf{x}_{t-1}+\underbrace{C\left(\mathbf{x}_t,\mathbf{x}_0\right)}_{\text{与}\mathbf{x}_{t-1}\text{无关项}}\right]\right\}\\ &=\exp \left\{-\frac{1}{2}\left[\frac{\alpha_t\left(1-\bar{\alpha}_{t-1}\right)+1-\alpha_t}{\left(1-\alpha_t\right)\left(1-\bar{\alpha}_{t-1}\right)} \mathbf{x}_{t-1}^2-2\left(\frac{\sqrt{\alpha_t} \mathbf{x}_t}{1-\alpha_t}+\frac{\sqrt{\bar{\alpha}_{t-1}} \mathbf{x}_0}{1-\bar{\alpha}_{t-1}}\right) \mathbf{x}_{t-1}+\underbrace{C\left(\mathbf{x}_t,\mathbf{x}_0\right)}_{\text{与}\mathbf{x}_{t-1}\text{无关项}}\right]\right\}\\ &=\exp \left\{-\frac{1}{2}\left[\frac{1-\bar{\alpha}_t}{\left(1-\alpha_t\right)\left(1-\bar{\alpha}_{t-1}\right)} \mathbf{x}_{t-1}^2-2\left(\frac{\sqrt{\alpha_t} \mathbf{x}_t}{1-\alpha_t}+\frac{\sqrt{\alpha_{t-1}} \mathbf{x}_0}{1-\bar{\alpha}_{t-1}}\right) \mathbf{x}_{t-1}\right] - \underbrace{\frac{1}{2} C\left(\mathbf{x}_t, \mathbf{x}_0\right)}_{\text {与 } \mathbf{x}_{t-1} \text { 无关项 }} \right\}\\ &=\exp \left\{-\frac{1}{2}\left(\frac{1-\bar{\alpha}_t}{\left(1-\alpha_t\right)\left(1-\bar{\alpha}_{t-1}\right)}\right)\left[\mathbf{x}_{t-1}^2-2 \frac{\left(\frac{\sqrt{\alpha_t} \mathbf{x}_t}{1-\alpha_t}+\frac{\sqrt{\alpha_{t-1}} \mathbf{x}_0}{1-\bar{\alpha}_{t-1}}\right)}{\frac{1-\bar{\alpha}_t}{\left(1-\alpha_t\right)\left(1-\bar{\alpha}_{t-1}\right)}} \mathbf{x}_{t-1}\right] - \underbrace{\frac{1}{2} C\left(\mathbf{x}_t, \mathbf{x}_0\right)}_{\text {与 } \mathbf{x}_{t-1} \text { 无关项 }} \right\}\\ &=\exp \left\{-\frac{1}{2}\left(\frac{1-\bar{\alpha}_t}{\left(1-\alpha_t\right)\left(1-\bar{\alpha}_{t-1}\right)}\right)\left[\mathbf{x}_{t-1}^2-2 \frac{\left(\frac{\sqrt{\alpha_t} x_t}{1-\alpha_t}+\frac{\sqrt{\bar{\alpha}_{t-1}} \mathbf{x}_0}{1-\bar{\alpha}_{t-1}}\right)\left(1-\alpha_t\right)\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_t} \mathbf{x}_{t-1}\right] - \underbrace{\frac{1}{2} C\left(\mathbf{x}_t, \mathbf{x}_0\right)}_{\text {与 } \mathbf{x}_{t-1} \text { 无关项 }} \right\}\\ &=\exp \left\{-\frac{1}{2}\left(\frac{1}{\frac{\left(1-\alpha_t\right)\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_t}}\right)\left[\mathbf{x}_{t-1}^2-2 \frac{\sqrt{\alpha_t}\left(1-\bar{\alpha}_{t-1}\right) \mathbf{x}_t+\sqrt{\bar{\alpha}_{t-1}}\left(1-\alpha_t\right) \mathbf{x}_0}{1-\bar{\alpha}_t} \mathbf{x}_{t-1}\right] - \underbrace{\frac{1}{2} C\left(\mathbf{x}_t, \mathbf{x}_0\right)}_{\text {与 } \mathbf{x}_{t-1} \text { 无关项 }} \right\}\\ &=\exp \left\{-\frac{\left(\mathbf{x}_{t-1}-\frac{\sqrt{\alpha_t}\left(1-\bar{\alpha}_{t-1}\right) \mathbf{x}_t+\sqrt{\alpha_{t-1}}\left(1-\alpha_t\right) \mathbf{x}_0}{1-\bar{\alpha}_t}\right)^2}{2\left(\frac{\left(1-\alpha_t\right)\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_t}\right)}\right\}\\ &\propto \mathcal{N}(\mathbf{x}_{t-1} ; \underbrace{\frac{\sqrt{\alpha_t}\left(1-\bar{\alpha}_{t-1}\right) \mathbf{x}_t+\sqrt{\bar{\alpha}_{t-1}}\left(1-\alpha_t\right) \mathbf{x}_0}{1-\bar{\alpha}_t}}_{\tilde{\mu}_t\left(\mathbf{x}_t, \mathbf{x}_0\right)}, \underbrace{\frac{\left(1-\alpha_t\right)\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_t}}_{\tilde{\mathbf{\Sigma}}_q(t)} \mathbf{I} \end{aligned} q(xt−1∣xt,x0)=q(xt,x0)q(xt−1,xt,x0)=q(xt∣x0)q(x0)q(xt,xt−1,x0)=q(xt∣x0)q(x0)q(xt∣xt−1,x0)q(xt−1,x0)=q(xt∣xt−1,x0)q(xt∣x0)q(x0)q(xt−1∣x0)q(x0)=q(xt∣xt−1)q(xt∣x0)q(xt−1∣x0)=N(xt;αˉtx0,(1−αˉt)I)N(xt;1−βtxt−1,βtI)N(xt−1;αˉt−1x0,(1−αˉt−1)I)=N(xt;αˉtx0,(1−αˉt)I)N(xt;αtxt−1,(1−αt)I)N(xt−1;αˉt−1x0,(1−αˉt−1)I)∝exp{−[2(1−αt)(xt−αtxt−1)2+2(1−αˉt−1)(xt−1−αˉt−1x0)2−2(1−αˉt)(xt−αˉtx0)2]}=exp{−21[1−αt(xt−αtxt−1)2+1−αˉt−1(xt−1−αˉt−1x0)2−1−αˉt(xt−αˉtx0)2]}=exp{−21[1−αtxt2−2αtxtxt−1+αtxt−12+1−αˉt−1xt−12−2αˉt−1xt−1x0+αˉt−1x02−1−αˉtxt2−2αˉtxtx0+αˉtx02]}=exp{−21[1−αtxt2−1−αt2αtxtxt−1+1−αtαtxt−12+1−αˉt−1xt−12−1−αˉt−12αˉt−1xt−1x0+1−αˉt−1αˉt−1x02−1−αˉtxt2+1−αˉt2αˉtxtx0−1−αˉtαˉtx02]}=exp⎩ ⎨ ⎧−21 −1−αt2αtxtxt−1+1−αtαtxt−12+1−αˉt−1xt−12−1−αˉt−12αˉt−1xt−1x0+与xt−1无关项 C(xt,x0) ⎭ ⎬ ⎫=exp⎩ ⎨ ⎧−21 (1−αtαt+1−αˉt−11)xt−12−2(1−αtαtxt+1−αˉt−1αˉt−1x0)xt−1+与xt−1无关项 C(xt,x0) ⎭ ⎬ ⎫=exp⎩ ⎨ ⎧−21 (1−αt)(1−αˉt−1)αt(1−αˉt−1)+1−αtxt−12−2(1−αtαtxt+1−αˉt−1αˉt−1x0)xt−1+与xt−1无关项 C(xt,x0) ⎭ ⎬ ⎫=exp⎩ ⎨ ⎧−21[(1−αt)(1−αˉt−1)1−αˉtxt−12−2(1−αtαtxt+1−αˉt−1αt−1x0)xt−1]−与 xt−1 无关项 21C(xt,x0)⎭ ⎬ ⎫=exp⎩ ⎨ ⎧−21((1−αt)(1−αˉt−1)1−αˉt) xt−12−2(1−αt)(1−αˉt−1)1−αˉt(1−αtαtxt+1−αˉt−1αt−1x0)xt−1 −与 xt−1 无关项 21C(xt,x0)⎭ ⎬ ⎫=exp⎩ ⎨ ⎧−21((1−αt)(1−αˉt−1)1−αˉt) xt−12−21−αˉt(1−αtαtxt+1−αˉt−1αˉt−1x0)(1−αt)(1−αˉt−1)xt−1 −与 xt−1 无关项 21C(xt,x0)⎭ ⎬ ⎫=exp⎩ ⎨ ⎧−21(1−αˉt(1−αt)(1−αˉt−1)1)[xt−12−21−αˉtαt(1−αˉt−1)xt+αˉt−1(1−αt)x0xt−1]−与 xt−1 无关项 21C(xt,x0)⎭ ⎬ ⎫=exp⎩ ⎨ ⎧−2(1−αˉt(1−αt)(1−αˉt−1))(xt−1−1−αˉtαt(1−αˉt−1)xt+αt−1(1−αt)x0)2⎭ ⎬ ⎫∝N(xt−1;μ~t(xt,x0) 1−αˉtαt(1−αˉt−1)xt+αˉt−1(1−αt)x0,Σ~q(t) 1−αˉt(1−αt)(1−αˉt−1)I
∝ \propto ∝代表成比例,正比的意思。
由此可以推出:
q ( x t − 1 ∣ x t , x 0 ) = N ( μ ~ t , Σ ~ t ) = N ( α t ( 1 − α ˉ t − 1 ) x t + α ˉ t − 1 ( 1 − α t ) x 0 1 − α ˉ t , ( 1 − α t ) ( 1 − α ˉ t − 1 ) 1 − α ˉ t I ) = N ( α ˉ t − 1 β t 1 − α ˉ t x 0 + α t ( 1 − α ˉ t − 1 ) 1 − α ˉ t x t , 1 − α ˉ t − 1 1 − α ˉ t β t I ) \begin{aligned} q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t, \mathbf{x}_0\right)=\mathcal{N}\left(\tilde{\mathbf{\mu}}_t, \tilde{\boldsymbol{\Sigma}}_t\right) & =\mathcal{N}\left(\frac{\sqrt{\alpha_t}\left(1-\bar{\alpha}_{t-1}\right) \mathbf{x}_t+\sqrt{\bar{\alpha}_{t-1}}\left(1-\alpha_t\right) \mathbf{x}_0}{1-\bar{\alpha}_t}, \frac{\left(1-\alpha_t\right)\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_t} \mathbf{I}\right) \\ & =\mathcal{N}\left(\frac{\sqrt{\bar{\alpha}_{t-1}} \beta_t}{1-\bar{\alpha}_t} \mathbf{x}_0+\frac{\sqrt{\alpha_t}\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_t} \mathbf{x}_t, \frac{1-\bar{\alpha}_{t-1}}{1-\bar{\alpha}_t} \beta_t \mathbf{I}\right) \end{aligned} q(xt−1∣xt,x0)=N(μ~t,Σ~t)=N(1−αˉtαt(1−αˉt−1)xt+αˉt−1(1−αt)x0,1−αˉt(1−αt)(1−αˉt−1)I)=N(1−αˉtαˉt−1βtx0+1−αˉtαt(1−αˉt−1)xt,1−αˉt1−αˉt−1βtI)
由此推出了式(7)。