赞
踩
在DDPM中有
q
(
x
t
∣
x
0
)
=
N
(
x
t
;
α
ˉ
t
x
0
,
(
1
−
α
ˉ
t
)
I
)
q(\pmb{x}_t|\pmb{x}_0)=\mathcal{N}(\pmb{x}_t;\sqrt{\bar{\alpha}_t}\pmb{x}_0,(1-\bar{\alpha}_t){\mathbf{I}})
q(xt∣x0)=N(xt;αˉt
x0,(1−αˉt)I)一般的perturbation kernel有下面的形式
N
(
x
t
;
s
(
t
)
x
0
,
s
(
t
)
2
σ
(
t
)
2
I
)
\mathcal{N}(\pmb{x}_t;s(t)\pmb{x}_0,s(t)^2\sigma(t)^2{\mathbf{I}})
N(xt;s(t)x0,s(t)2σ(t)2I)对应DDPM有
s
(
t
)
=
α
ˉ
t
σ
(
t
)
=
1
−
α
ˉ
t
α
ˉ
t
s(t) = \sqrt{\bar{\alpha}_t} \\ \sigma(t) = \sqrt{\frac{1-\bar{\alpha}_t}{\bar{\alpha}_t}}
s(t)=αˉt
σ(t)=αˉt1−αˉt
令
x
^
\hat{\pmb{x}}
x^为non-scaled变量,即
x
=
s
(
t
)
x
^
\pmb{x} = s(t)\hat{\pmb{x}}
x=s(t)x^,对于DDIM有下面的ODE:
d
x
^
=
ϵ
θ
(
t
)
(
x
^
σ
(
t
)
2
+
1
)
d
σ
(
t
)
d\hat{\pmb{x}} = \epsilon_\theta^{(t)}(\frac{\hat{\pmb{x}}}{\sqrt{\sigma(t)^2+1}}) d\sigma(t)
dx^=ϵθ(t)(σ(t)2+1
x^)dσ(t)EDM论文的C.3.1证明上面的公式等于论文中
σ
(
t
)
=
t
\sigma(t)=t
σ(t)=t和
s
(
t
)
=
1
s(t)=1
s(t)=1的形式。
如果是用Euler算法求解DDPM,就是解上面的ODE,要注意做scale。送入
ϵ
θ
(
t
)
\epsilon_\theta^{(t)}
ϵθ(t)部分保证是原始训练的量级,其他部分是non-scaled的。
首先是把
σ
\sigma
σ和
t
t
t对应,所以t变成了实数,不再是计数count。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。