论文链接:[2206.05564] gDDIM: Generalized denoising diffusion implicit models (arxiv.org)
代码链接:[GitHub - qsh-zh/gDDIM: ICLR’23 Spotlight] gDDIM: analyze and accelerate general diffusion models, isotropic and non-isotropic
我们的目标是将去噪扩散隐式模型(DDIM)扩展到一般扩散模型(DMs)。我们没有像原来的DDIM论文那样构造一个非马尔可夫噪声过程,而是从数值的角度研究了DDIM的机制。我们发现,在求解相应的随机微分方程时,可以使用分数的某些特定近似值来获得DDIM。我们提出了DDIM加速效应的解释,这也解释了确定性抽样方案相对于快速抽样的随机方案的优势。在此基础上,我们将DDIM扩展到通用DM,在参数化分数网络方面进行了小而精细的修改。当应用于最近提出的一种新型扩散模型——临界阻尼朗之万扩散模型时,我们的算法在CIFAR10上只有50个分数函数评估(NFE),只有27个分数函数评估(NFE), FID得分为2.28,优于现有的所有相同NFE的方法。
基于扩散模型(DMs)的生成模型在过去几年中经历了快速发展,与生成对抗网络(GANs)相比,生成模型具有竞争性样本质量[4,21,22],与自回归模型相比,生成模型在各个领域和任务中具有竞争性负对数似然[32,10]。此外,DMs还具有训练稳定、可扩展、对超参数不敏感、模式崩溃弹性等优点[32,17]。然而,缓慢和昂贵的采样阻碍了DM在更复杂和更高维度任务中的进一步应用。GANs经过训练后,只向前通过神经网络一次生成样本,而DMs的香草抽样方法需要1000甚至4000步[17,6,30]才能将噪声拉回数据分布,这意味着数千个神经网络的前向评估。因此,DMs的生成过程比GANs慢几个数量级。
如何加速dm的采样已经得到了广泛的关注。随着Song等人[30]在随机微分方程(SDEs)和扩散模型之间的联系方面的开创性工作,一些研究通过更有效地求解相应的SDEs来研究加速度[8,17,33]。最近,Dockhorn等人的一项出色的工作,临界阻尼朗之万扩散(CLD),提出了一种速度增强扩散过程,并显示出改进的去噪效率。沿着这条路线的大多数方法仍然需要数百个步骤来生成高保真的样本。另一个有希望策略是基于概率流[30],它是一个常微分方程(ODE),与DMs共享等效的边缘。与基于SDEs的方法相比,现成ODE求解器的简单插件已经可以实现显著的加速[30,5]。降噪扩散隐式模型(DDIM)[28]是目前最流行的抽样方法之一,该方法包括确定性抽样器和随机抽样器,在只使用少量步骤进行生成的情况下,与以前的方法相比,这两种方法的抽样质量都有了极大的提高。确定性DDIM实际上简化为在无穷小步长极限下的概率流[28,14]。同时,人们提出了各种方法来加速DDIM[13, 37, 14]。最近,Zhang和Chen[42]发现确定性DDIM是一种基于指数积分器的ODE数值积分器,并采用指数多步方法进一步提高了ODE求解器的效率。(更多相关工作见附录A)
虽然在实证中观察到DDIM在采样效率方面的显著提高,但对DDIM的机制仍缺乏了解。首先,为什么在步数较小时,求解概率流ODE能提供比求解SDEs高得多的样本质量?其次,证明了随机DDIM可简化为边缘等效SDE[42],但其离散化方案和加速机制尚不清楚。最后,我们能否将DDIM推广到其他DM,并获得类似甚至更好的加速结果?
在这项工作中,我们对上述问题进行了全面的研究,以便我们可以推广和改进DDIM。我们从一个有趣的观察开始,当训练数据集仅由一个数据点组成时,DDIM可以在有限步甚至一步中精确地求解相应的SDE/ODE,而没有任何离散化错误。对于确定性DDIM,我们发现沿扩散的扰动数据中添加的噪声沿概率流ODE的精确解是恒定的(见Prop 1)。此外,只要对对数密度梯度(也就是分数)进行一次评估,我们就已经能够恢复任何数据点的准确分数信息,这解释了SDEs的随机DDIM的加速(见命题3)。基于这一观察,加上流形假设,我们提出了一种可能的解释来解释为什么DDIM中使用的离散化方案在现实数据集上是有效的(见图2)。有了这种新的解释,我们将DDIM扩展到一般的DMs,我们称之为广义DDIM (gDDIM)。仅对模型参数化进行微小而微妙的改变,gDDIM就可以在一般扩散过程的基础上加速DM。具体来说,我们验证了gDDIM在CLD上的有效性。
综上所述,本文的主要贡献如下:1)对DDIM进行了解释,并揭示了DDIM的作用机制。2)该解释不仅证明了DDIM的数值离散化,而且还提供了为什么在NFE较低时基于ODE的采样器优于基于SDE的采样器的见解。3)我们提出了gDDIM,一个广义的DDIM,它可以加速大量的DMs。4)我们通过大量的实验表明,gDDIM可以几乎免费地大幅提高采样质量/效率。具体来说,gDDIM应用于CLD时,仅用27步就可以达到2.87的FID评分,用50步就可以达到2.28的FID评分。
在本节中,我们将简要介绍扩散模型(DM)。大多数DM建立在连续时间的两个扩散过程上,一个是被称为噪声过程的正向扩散,通过逐渐向数据添加噪声,将任何数据分布驱动到可处理的分布(如高斯分布),另一个是被称为去噪过程的反向扩散,它依次从受噪声的数据中去除噪声,以生成真实的样本。用随机微分方程[25]来模拟连续时间的噪声和去噪过程。
特别地,正向扩散是有状态的线性SDE
u
(
t
)
∈
R
D
\boldsymbol{u}(t) \in \mathbb{R}^D
u(t)∈RD:
d
u
=
F
t
u
d
t
+
G
t
d
w
,
t
∈
[
0
,
T
]
(1)
d \boldsymbol{u}=\boldsymbol{F}_t \boldsymbol{u} d t+\boldsymbol{G}_t d \boldsymbol{w}, t \in[0, T] \tag{1}
du=Ftudt+Gtdw,t∈[0,T](1)
式中
F
t
,
G
t
∈
R
D
×
D
F_t,G_t\in \mathbb{R}^{D×D}
Ft,Gt∈RD×D分别表示线性漂移系数和扩散系数,w为标准维纳过程。当系数分段连续时,Eq(1)存在唯一解[19]。用
p
t
(
u
)
p_t(u)
pt(u)表示时间
t
t
t时解
u
(
t
)
0
≤
t
≤
t
{u(t)}_{0≤t≤t}
u(t)0≤t≤t(模拟轨迹)到Eq(1)的分布,则
p
0
p_0
p0由数据分布决定,
p
t
p_t
pt是一个(近似)高斯分布。也就是说,正向扩散方程(1)开始时是一个数据样本,结束时是一个高斯随机变量。这可以通过适当选择系数
F
t
,
G
t
F_t, G_t
Ft,Gt来实现。由于Eq(1)的线性,从
u
(
s
)
u(s)
u(s)到
u
(
t
)
u(t)
u(t)的转移概率
p
s
t
(
u
(
t
)
∣
u
(
s
)
)
p_{st}(u(t)|u(s))
pst(u(t)∣u(s))是高斯分布。为方便起见,用
N
(
μ
t
u
(
0
)
,
Σ
t
)
N(\mu_tu(0),Σ_t)
N(μtu(0),Σt)表示
p
0
t
(
u
(
t
)
∣
u
(
0
)
)
p_{0t}(u(t)|u(0))
p0t(u(t)∣u(0))其中
μ
t
,
Σ
t
∈
R
D
×
D
\mu_t, Σ_t∈R^{D×D}
μt,Σt∈RD×D。
Eq(1)从
u
(
T
)
u(T)
u(T)向后到
u
(
0
)
u(0)
u(0)的过程就是去噪过程。值得注意的是,它可以用反向时间方向模拟的反向SDE来表征[31,1]。
d
u
=
[
F
t
u
d
t
−
G
t
G
t
T
∇
log
p
t
(
u
)
]
d
t
+
G
t
d
w
(2)
d \boldsymbol{u}=\left[\boldsymbol{F}_t \boldsymbol{u} d t-\boldsymbol{G}_t \boldsymbol{G}_t^T \nabla \log p_t(\boldsymbol{u})\right] d t+\boldsymbol{G}_t d \boldsymbol{w} \tag{2}
du=[Ftudt−GtGtT∇logpt(u)]dt+Gtdw(2)
其中
w
w
w表示时间倒推的标准维纳过程。其中
∇
log
p
t
(
u
)
∇\log p_t(u)
∇logpt(u)被称为分数函数。当Eq(2)初始化为
u
(
T
)
∼
p
T
u(T)∼p_T
u(T)∼pT时,模拟轨迹的分布与正向扩散Eq(1)的分布一致。因此,这些轨迹的
u
(
0
)
u(0)
u(0)是来自
p
0
p_0
p0的无偏样本;后向扩散方程(2)是一个理想的生成模型。
一般来说,分数函数
∇
log
p
t
(
u
)
∇\log p_t(u)
∇logpt(u)是不可访问的。在基于扩散的生成模型中,使用一个时变网络
s
θ
(
u
,
t
)
s_θ(u, t)
sθ(u,t),称为分数网络,来拟合分数
∇
log
p
t
(
u
)
∇\log p_t(u)
∇logpt(u)。训练
s
θ
(
u
,
t
)
s_θ(u, t)
sθ(u,t)的一种有效方法是去噪评分匹配(DSM)技术[31,6,36],该技术寻求最小化DSM损失
E
t
∼
U
[
0
,
T
]
E
u
(
0
)
,
u
(
t
)
∣
u
(
0
)
[
∥
∇
log
p
0
t
(
u
(
t
)
∣
u
(
0
)
)
−
s
θ
(
u
(
t
)
,
t
)
∥
Λ
t
2
]
(3)
\mathbb{E}_{t \sim \mathcal{U}[0, T]} \mathbb{E}_{\boldsymbol{u}(0), \boldsymbol{u}(t) \mid \boldsymbol{u}(0)}\left[\left\|\nabla \log p_{0 t}(\boldsymbol{u}(t) \mid \boldsymbol{u}(0))-\boldsymbol{s}_\theta(\boldsymbol{u}(t), t)\right\|_{\Lambda_t}^2\right] \tag{3}
Et∼U[0,T]Eu(0),u(t)∣u(0)[∥∇logp0t(u(t)∣u(0))−sθ(u(t),t)∥Λt2](3)
其中
U
[
0
,
T
]
U[0, T]
U[0,T]表示在区间
[
0
,
T
]
[0,T]
[0,T]上的均匀分布。选择随时间变化的权重
Λ
t
Λ_t
Λt来平衡学习生成模型[32]的样本保真度和数据似然之间的权衡。在Ho等[6]中发现,通过对分数网络进行参数化
s
θ
(
u
,
t
)
=
−
K
t
−
T
ϵ
θ
(
u
,
t
)
(4)
\boldsymbol{s}_\theta(\boldsymbol{u}, t)=-\boldsymbol{K}_t^{-T} \epsilon_\theta(\boldsymbol{u}, t) \tag{4}
sθ(u,t)=−Kt−Tϵθ(u,t)(4)
使用
K
t
K
t
T
=
Σ
t
K_tK^{T}_t = Σ_t
KtKtT=Σt可以获得更好的采样质量。在这种参数化中,网络试图直接预测添加到扰动原始数据的噪声。调用
p
0
t
(
u
(
t
)
∣
u
(
0
)
)
p_{0t} (u(t)|u(0))
p0t(u(t)∣u(0))的表达式
N
(
μ
t
u
(
0
)
,
Σ
t
)
N(\mu_tu(0),Σt)
N(μtu(0),Σt),此参数化会导致新的DSM损失
L
(
θ
)
=
E
t
∼
U
[
0
,
T
]
E
u
(
0
)
∼
p
0
,
ϵ
∼
N
(
0
,
I
D
)
[
∥
ϵ
−
ϵ
θ
(
μ
t
u
(
0
)
+
K
t
ϵ
,
t
)
∥
K
t
−
1
Λ
t
K
t
−
T
2
]
(5)
\mathcal{L}(\theta)=\mathbb{E}_{t \sim \mathcal{U}[0, T]} \mathbb{E}_{\boldsymbol{u}(0) \sim p_0, \epsilon \sim \mathcal{N}\left(0, \boldsymbol{I}_D\right)}\left[\left\|\epsilon-\epsilon_\theta\left(\mu_t \boldsymbol{u}(0)+\boldsymbol{K}_t \epsilon, t\right)\right\|_{K_t^{-1} \Lambda_t K_t^{-T}}^2\right] \tag{5}
L(θ)=Et∼U[0,T]Eu(0)∼p0,ϵ∼N(0,ID)[∥ϵ−ϵθ(μtu(0)+Ktϵ,t)∥Kt−1ΛtKt−T2](5)
采样:分数网络
s
θ
s_θ
sθ训练完成后,可以通过学习分数后向SDE Eq(2)或边际等效SDE/ODE生成样本[30,41,42]
d
u
=
[
F
t
u
−
1
+
λ
2
2
G
t
G
t
T
s
θ
(
u
,
t
)
]
d
t
+
λ
G
t
d
w
(6)
d \boldsymbol{u}=\left[\boldsymbol{F}_t \boldsymbol{u}-\frac{1+\lambda^2}{2} \boldsymbol{G}_t \boldsymbol{G}_t^T \boldsymbol{s}_\theta(\boldsymbol{u}, t)\right] d t+\lambda \boldsymbol{G}_t d \boldsymbol{w} \tag{6}
du=[Ftu−21+λ2GtGtTsθ(u,t)]dt+λGtdw(6)
其中
λ
≥
0
λ≥0
λ≥0为自由参数。不管λ的值如何,如果
s
θ
(
u
,
t
)
=
∇
log
p
t
(
u
)
s_θ(u, t) =∇\log p_t(u)
sθ(u,t)=∇logpt(u)对于所有
t
,
u
t, u
t,u, Eq(6)的精确解从
p
0
(
u
)
p_0(u)
p0(u)产生无偏样本。当
λ
=
1
λ = 1
λ=1时,Eq(6)在Eq(2)中简化为逆时间扩散。当
λ
=
0
λ = 0
λ=0时,Eq(6)被称为概率流ODE [30]
d
u
=
[
F
t
u
−
1
2
G
t
G
t
T
s
θ
(
u
,
t
)
]
d
t
(7)
d \boldsymbol{u}=\left[\boldsymbol{F}_t \boldsymbol{u}-\frac{1}{2} \boldsymbol{G}_t \boldsymbol{G}_t^T \boldsymbol{s}_\theta(\boldsymbol{u}, t)\right] d t \tag{7}
du=[Ftu−21GtGtTsθ(u,t)]dt(7)
DDPM和DDIM:一种流行的DM是去噪扩散概率建模(DDPM)[6]。对于给定的数据分布
p
d
a
t
a
(
x
)
p_{data}(x)
pdata(x), DDPM具有状态
u
=
x
∈
R
d
u = x∈R^d
u=x∈Rd,并设置
p
0
(
u
)
=
p
d
a
t
a
(
x
)
p_0(u) = p_{data}(x)
p0(u)=pdata(x)。虽然最初是在离散时间设置中提出的,DDPM可以被看作是一个带参数的连续时间SDE的离散化
F
t
=
1
2
d
log
α
t
d
t
I
d
,
G
t
=
−
d
log
α
t
d
t
I
d
(8)
\boldsymbol{F}_t=\frac{1}{2} \frac{d \log \alpha_t}{d t} \boldsymbol{I}_d, \quad \boldsymbol{G}_t=\sqrt{-\frac{d \log \alpha_t}{d t}} \boldsymbol{I}_d \tag{8}
Ft=21dtdlogαtId,Gt=−dtdlogαt
Id(8)
对于递减标量函数αt满足
α
0
=
1
\alpha_0 = 1
α0=1,
α
t
=
0
\alpha_t = 0
αt=0。
DDPM中提出的抽样方案是低效的;它需要数百甚至数千个步骤,从而需要大量的分数函数评估(NFE)来生成真实的样本。一个更有效的替代方法是Song等[28]中提出的去噪扩散隐式建模(DDIM)。它具有与DDPM相似的训练损失Eq(5),但采用不同的抽样方案
x
(
t
i
−
1
)
=
α
t
i
−
1
α
t
i
x
(
t
i
)
+
(
1
−
α
t
i
−
1
−
σ
t
i
2
−
1
−
α
t
i
α
t
i
−
1
α
t
i
)
ϵ
θ
(
x
(
t
i
)
,
t
i
)
+
σ
t
i
ϵ
,
(9)
\boldsymbol{x}\left(t_{i-1}\right)=\sqrt{\frac{\alpha_{t_{i-1}}}{\alpha_{t_i}}} \boldsymbol{x}\left(t_i\right)+\left(\sqrt{1-\alpha_{t_{i-1}}-\sigma_{t_i}^2}-\sqrt{1-\alpha_{t_i}} \sqrt{\frac{\alpha_{t_{i-1}}}{\alpha_{t_i}}}\right) \epsilon_\theta\left(\boldsymbol{x}\left(t_i\right), t_i\right)+\sigma_{t_i} \epsilon, \tag{9}
x(ti−1)=αtiαti−1
x(ti)+(1−αti−1−σti2
−1−αti
αtiαti−1
)ϵθ(x(ti),ti)+σtiϵ,(9)
σ
t
i
{σ_{t_i}}
σti是超参数和
ϵ
∼
N
(
0
,
I
d
)
\epsilon \sim \mathcal{N}\left(0, \boldsymbol{I}_d\right)
ϵ∼N(0,Id)。DDIM可以在50个NFE内生成合理的样本。对于σti = 0的特殊情况,Zhang & Chen[42]最近发现,Eq(9)与Eq(7)的数值解一致,使用的是一种先进的离散化方案,称为指数积分器(EI),它利用了Eq(7)的半线性结构。
CLD:在Dockhorn等[5]中,作者提出了临界阻尼朗之万扩散(CLD),一种基于带有辅助速度项的增广扩散的DM。更具体地说,CLD中的扩散状态为
u
(
t
)
=
[
x
(
t
)
,
v
(
t
)
]
∈
R
2
d
\boldsymbol{u}(t)=[\boldsymbol{x}(t), \boldsymbol{v}(t)] \in \mathbb{R}^{2 d}
u(t)=[x(t),v(t)]∈R2d,速度变量
v
(
t
)
∈
R
d
\boldsymbol{v}(t) \in \mathbb{R}^d
v(t)∈Rd。CLD采用带系数的正向扩散Eq (1)
F
t
:
=
[
0
β
M
−
1
β
−
Γ
β
M
−
1
]
⊗
I
d
,
G
t
:
=
[
0
0
0
−
Γ
β
M
−
1
]
⊗
I
d
(10)
\boldsymbol{F}_t:=\left[\begin{array}{cc} 0 & \beta M^{-1} \\ \beta & -\Gamma \beta M^{-1} \end{array}\right] \otimes \boldsymbol{I}_d, \quad \boldsymbol{G}_t:=\left[\begin{array}{cc} 0 & 0 \\ 0 & -\Gamma \beta M^{-1} \end{array}\right] \otimes \boldsymbol{I}_d \tag{10}
Ft:=[0ββM−1−ΓβM−1]⊗Id,Gt:=[000−ΓβM−1]⊗Id(10)
其中
Γ
>
0
,
β
>
0
,
M
>
0
Γ > 0, β > 0, M > 0
Γ>0,β>0,M>0为超参数。与DDPM等大多数DMs直接向数据状态
x
x
x注入噪声相比,CLD通过
v
v
v与
x
x
x之间的耦合向数据状态
x
x
x引入噪声,因为噪声只直接影响速度分量
v
v
v。有人认为这个特性可以提高DM[5]的性能。Dockhorn等[5]中观察到,与DDPM相比,CLD具有更高效的噪声和去噪过程,可以生成更少NFE的高质量样本。有关CLD的更多讨论请参见第4.3节。
从DM采样的复杂度与用于数值求解Eq(6)的NFE成正比。为了建立具有小型NFE的采样算法,我们提出了问题:
如果分数函数是精确的,我们能从一个有限步长的DM中准确地生成样本吗?
为了深入了解这个问题,我们从最简单的场景开始,其中训练数据集仅由一个数据点 x 0 x_0 x0组成。事实证明,从扩散模型中对这个玩具示例进行准确的抽样并不容易,即使可以获得准确的分数函数。最知名的求解Eq(6)的数值方法,如ODE的Euler integrator和Runge Kutta (RK), SDE的Euler- maruyama (EM),都存在离散化误差,除非使用无限步长,否则无法恢复列车集中的单个数据点。
的确,一般情况下,Eq(6)的精确解需要整个连续时间解轨迹上的分数信息,而任何数值方法都只能对分数函数求有限次。令人惊讶的是,如下所示,DDIM可以在有限步内恢复这个玩具示例中的单个数据点,实际上是一步。我们首先考虑确定性DDIM,即 σ t i = 0 σ_{t_i} = 0 σti=0时的Eq(9)。由Eq(8)可知,分数网络Eq(4)为 s θ ( u , t ) = − ϵ θ ( u , t ) 1 − α t \boldsymbol{s}_\theta(\boldsymbol{u}, t)=-\frac{\epsilon_\theta(\boldsymbol{u}, t)}{\sqrt{1-\alpha_t}} sθ(u,t)=−1−αt ϵθ(u,t)。为了区分学习分数和真实分数,用 ϵ G T \epsilon_{\mathrm{GT}} ϵGT表示 ϵ θ \epsilon_\theta ϵθ 的ground truth版本。在我们的示例中,以下属性适用于 ϵ G T \epsilon_{\mathrm{GT}} ϵGT。
命题1。假设 p 0 ( u ) p_0(u) p0(u)是狄拉克分布。设 u ( t ) u(t) u(t)是系数为Eq(8)的概率流ODE Eq(7)的任意解,且为ground truth score,则 ϵ G T ( u ( t ) , t ) = \epsilon_{\mathrm{GT}}(\boldsymbol{u}(t), t)= ϵGT(u(t),t)= − 1 − α t ∇ log p t ( u ( t ) ) -\sqrt{1-\alpha_t} \nabla \log p_t(\boldsymbol{u}(t)) −1−αt ∇logpt(u(t))沿 u ( t ) u(t) u(t)保持不变。
我们注意到,尽管 ϵ G T ( u ( t ) , t ) \epsilon_{\mathrm{GT}}(\boldsymbol{u}(t), t) ϵGT(u(t),t)沿精确解保持不变,但 ∇ log p t ( u ( t ) ) \nabla \log p_t(\boldsymbol{u}(t)) ∇logpt(u(t))分数是时变的。这强调了参数化 ϵ θ \epsilon_\theta ϵθ 优于 s θ \boldsymbol{s}_\theta sθ的优势。受命题1的启发,我们设计了一个采样算法,如下所示,可以在我们的示例中一步恢复准确的数据点。该算法与确定性DDIM算法一致。
命题2。对于参数化
s
θ
(
u
,
τ
)
=
−
ϵ
θ
(
u
,
τ
)
1
−
α
τ
\boldsymbol{s}_\theta(\boldsymbol{u}, \tau)=-\frac{\epsilon_\theta(\boldsymbol{u}, \tau)}{\sqrt{1-\alpha_\tau}}
sθ(u,τ)=−1−ατ
ϵθ(u,τ),
τ
∈
[
t
−
Δ
t
,
t
]
\tau \in[t-\Delta t, t]
τ∈[t−Δt,t]且近似
ϵ
θ
(
u
,
τ
)
≈
\epsilon_\theta(\boldsymbol{u}, \tau) \approx
ϵθ(u,τ)≈
ϵ
θ
(
u
(
t
)
,
t
)
\epsilon_\theta(\boldsymbol{u}(t), t)
ϵθ(u(t),t),则系数为Eq(8)的概率流ODE Eq(7)的解为
u
(
t
−
Δ
t
)
=
α
t
−
Δ
t
α
t
u
(
t
)
+
(
1
−
α
t
−
Δ
t
−
1
−
α
t
α
t
−
Δ
t
α
t
)
ϵ
θ
(
u
(
t
)
,
t
)
(11)
\boldsymbol{u}(t-\Delta t)=\sqrt{\frac{\alpha_{t-\Delta t}}{\alpha_t}} \boldsymbol{u}(t)+\left(\sqrt{1-\alpha_{t-\Delta t}}-\sqrt{1-\alpha_t} \sqrt{\frac{\alpha_{t-\Delta t}}{\alpha_t}}\right) \epsilon_\theta(\boldsymbol{u}(t), t) \tag{11}
u(t−Δt)=αtαt−Δt
u(t)+(1−αt−Δt
−1−αt
αtαt−Δt
)ϵθ(u(t),t)(11)
这与确定性DDIM相吻合。
当 ϵ θ = ϵ G T \epsilon_\theta=\epsilon_{\mathrm{GT}} ϵθ=ϵGT时,就像我们的玩具例子一样,在命题 2中没有近似误差,Eq(11)是精确的。这意味着在我们的例子中,确定性DDIM可以在一个步骤中恢复训练数据。更新Eq(11)对应于一种被称为指数积分器的概率流ODE Eq(7),系数Eq(8),参数化 s θ ( u , τ ) = − ϵ θ ( u , τ ) 1 − α τ \boldsymbol{s}_\theta(\boldsymbol{u}, \tau)=-\frac{\epsilon_\theta(\boldsymbol{u}, \tau)}{\sqrt{1-\alpha_\tau}} sθ(u,τ)=−1−ατ ϵθ(u,τ)。这一策略是最近在Zhang & Chen[42]中使用和开发的。命题1阐述了为什么这样的策略应该有效。
然而,上述讨论不适用于Eq(6)中的 λ > 0 λ > 0 λ>0和Eq(9)中的 σ t i > 0 σ_{t_i} > 0 σti>0的随机情况。由于Eq(6)从 t = T t = T t=T到 t = 0 t = 0 t=0的解是随机的, ∇ log p t ( u ) \nabla \log p_t(\boldsymbol{u}) ∇logpt(u)和 ϵ G T ( u , t ) \epsilon_{\mathrm{GT}}(\boldsymbol{u}, t) ϵGT(u,t)都不随时间保持不变;两者都受到随机噪声的影响。与概率ODE相比,去噪SDE Eq(6)更具挑战性,因为它向 u ( t ) u(t) u(t)注入了额外的噪声。分数信息不仅需要去除 u ( T ) u(T) u(T)中呈现的噪声,还需要去除扩散过程中注入的噪声。一般情况下,对 ϵ θ ( u , t ) \epsilon_\theta(\boldsymbol{u}, t) ϵθ(u,t)的一次求值只能提供当前状态 u u u去噪的信息;它不能预测注入噪声。我们能做得更好吗?在我们的数据集上,答案是肯定的。结果表明: ∇ log p t ( u ( t ) ) \nabla \log p_t(\boldsymbol{u}(t)) ∇logpt(u(t))沿任意随机轨迹 { u ( t ) } \{\boldsymbol{u}(t)\} {u(t)}由 ∇ log p T ( u ( T ) ) \nabla \log p_T(\boldsymbol{u}(T)) ∇logpT(u(T))决定。
命题3。假设SDE系数Eq(8)和
p
0
(
u
)
p_0(u)
p0(u)是狄拉克分布。给定分数函数
∇
log
p
s
(
u
(
s
)
)
\nabla \log p_s(\boldsymbol{u}(s))
∇logps(u(s))的任意评价,对于任意
t
t
t,
u
\boldsymbol{u}
u,都可以恢复
∇
log
p
t
(
u
)
\nabla \log p_t(\boldsymbol{u})
∇logpt(u)
∇
log
p
t
(
u
)
=
1
−
α
s
1
−
α
t
α
t
α
s
∇
log
p
s
(
u
(
s
)
)
−
1
1
−
α
t
(
u
−
α
t
α
s
u
(
s
)
)
(12)
\nabla \log p_t(\boldsymbol{u})=\frac{1-\alpha_s}{1-\alpha_t} \sqrt{\frac{\alpha_t}{\alpha_s}} \nabla \log p_s(\boldsymbol{u}(s))-\frac{1}{1-\alpha_t}\left(\boldsymbol{u}-\sqrt{\frac{\alpha_t}{\alpha_s}} \boldsymbol{u}(s)\right) \tag{12}
∇logpt(u)=1−αt1−αsαsαt
∇logps(u(s))−1−αt1(u−αsαt
u(s))(12)
命题3和命题1之间的主要区别是,Eq(12)保留了分数对状态
u
u
u的依赖关系。这种依赖关系对于消除去噪SDE Eq(6)中的注入噪声很重要。这个近似Eq(12)最终导致Eq(6)的数值方案与随机DDIM一致。
定理1。给定参数化
s
θ
(
u
,
τ
)
=
−
ϵ
θ
(
u
,
τ
)
1
−
α
τ
\boldsymbol{s}_\theta(\boldsymbol{u}, \tau)=-\frac{\epsilon_\theta(\boldsymbol{u}, \tau)}{\sqrt{1-\alpha_\tau}}
sθ(u,τ)=−1−ατ
ϵθ(u,τ) ,且近似
s
θ
(
u
,
τ
)
≈
\boldsymbol{s}_\theta(\boldsymbol{u}, \tau) \approx
sθ(u,τ)≈
1
−
α
t
1
−
α
τ
α
τ
α
t
s
θ
(
u
(
t
)
,
t
)
−
1
1
−
α
τ
(
u
−
α
τ
α
t
u
(
t
)
)
\frac{1-\alpha_t}{1-\alpha_\tau} \sqrt{\frac{\alpha_\tau}{\alpha_t}} s_\theta(\boldsymbol{u}(t), t)-\frac{1}{1-\alpha_\tau}\left(\boldsymbol{u}-\sqrt{\frac{\alpha_\tau}{\alpha_t}} \boldsymbol{u}(t)\right)
1−ατ1−αtαtατ
sθ(u(t),t)−1−ατ1(u−αtατ
u(t))对于
τ
∈
[
t
−
Δ
t
,
t
]
\tau \in[t-\Delta t, t]
τ∈[t−Δt,t],则
u
(
t
−
Δ
t
)
\boldsymbol{u}(t-\Delta t)
u(t−Δt) 对系数Eq(8)的Eq(6)的精确解为
u
(
t
−
Δ
t
)
∼
N
(
α
t
−
Δ
t
α
t
u
(
t
)
+
[
−
α
t
−
Δ
t
α
t
1
−
α
t
+
1
−
α
t
−
Δ
t
−
σ
t
2
]
ϵ
θ
(
u
(
t
)
,
t
)
,
σ
t
2
I
d
)
(13)
\boldsymbol{u}(t-\Delta t) \sim \mathcal{N}\left(\sqrt{\frac{\alpha_{t-\Delta t}}{\alpha_t}} \boldsymbol{u}(t)+\left[-\sqrt{\frac{\alpha_{t-\Delta t}}{\alpha_t}} \sqrt{1-\alpha_t}+\sqrt{1-\alpha_{t-\Delta t}-\sigma_t^2}\right] \epsilon_\theta(\boldsymbol{u}(t), t), \sigma_t^2 \boldsymbol{I}_d\right) \tag{13}
u(t−Δt)∼N(αtαt−Δt
u(t)+[−αtαt−Δt
1−αt
+1−αt−Δt−σt2
]ϵθ(u(t),t),σt2Id)(13)
σ
t
=
(
1
−
α
t
−
Δ
t
)
[
1
−
(
1
−
α
t
−
Δ
t
1
−
α
t
)
λ
2
(
α
t
α
t
−
Δ
t
)
λ
2
]
\sigma_t=\left(1-\alpha_{t-\Delta t}\right)\left[1-\left(\frac{1-\alpha_{t-\Delta t}}{1-\alpha_t}\right)^{\lambda^2}\left(\frac{\alpha_t}{\alpha_{t-\Delta t}}\right)^{\lambda^2}\right]
σt=(1−αt−Δt)[1−(1−αt1−αt−Δt)λ2(αt−Δtαt)λ2]与DDIM Eq(9)相同
请注意, λ = 0 λ = 0 λ=0的定理1与命题 2一致;两者都再现了确定性DDIM,但有不同的推导。
Dirac p 0 ( u ) p_0(u) p0(u)和流形假设:虽然定理1和定理 3需要强有力的假设,即数据分布是Dirac,但DDIM在现实数据集上非常有效,这些数据集可能包含数百万个数据点[18]。在这里,我们提出了一种可能的解释基于流形假设[23]。
认为现实数据位于嵌入高维空间的低维流形[34]上,数据点在高维数据空间中被很好地分离。例如,逼真的图像分散在像素空间和每两幅图像之间的距离如果用像素差来衡量,即使它们在感知上是相似的,也会非常大。为了对这个属性建模,我们考虑一个由M个数据点
{
u
(
m
)
}
m
=
1
M
\{u^{(m)}\}^M_{m=1}
{u(m)}m=1M组成的数据集。准确的分数是
∇
log
p
t
(
u
)
=
∑
m
w
m
∇
log
p
0
t
(
u
∣
u
(
m
)
)
,
w
m
=
p
0
t
(
u
∣
u
(
m
)
)
∑
m
p
0
t
(
u
∣
u
(
m
)
)
\nabla \log p_t(\boldsymbol{u})=\sum_m w_m \nabla \log p_{0 t}\left(\boldsymbol{u} \mid \boldsymbol{u}^{(m)}\right), \quad w_m=\frac{p_{0 t}\left(\boldsymbol{u} \mid \boldsymbol{u}^{(m)}\right)}{\sum_m p_{0 t}\left(\boldsymbol{u} \mid \boldsymbol{u}^{(m)}\right)}
∇logpt(u)=m∑wm∇logp0t(u∣u(m)),wm=∑mp0t(u∣u(m))p0t(u∣u(m))
它可以解释为与狄拉克分布相关的M个分数函数的加权和。如图2所示。在红色区域,权值
{
w
m
}
\left\{w_m\right\}
{wm}由一个特定数据
u
(
m
∗
)
\boldsymbol{u}^{\left(m^*\right)}
u(m∗)支配,因此
∇
log
p
t
(
u
)
≈
∇
log
p
0
t
(
u
∣
u
(
m
∗
)
)
\nabla \log p_t(\boldsymbol{u}) \approx \nabla \log p_{0 t}\left(\boldsymbol{u} \mid \boldsymbol{u}^{\left(m^*\right)}\right)
∇logpt(u)≈∇logp0t(u∣u(m∗))。流形假设导致的现象部分地证明了命题 1和命题3中的Dirac分布假设,并解释了DDIM的有效性。
DDIM是专门为DDPM设计的。我们能把它推广到其他DM吗?通过命题 1和3中的见解,我们发现,通过精心选择的 K τ K_τ Kτ,我们可以将DDIM推广到任何具有一般漂移和扩散的DM。我们将得到的算法命名为广义DDIM (gDDIM)。
具体地,我们将gDDIM应用于CLD来说明我们的方法。
Toy dataset:在命题1的激励下,我们询问是否存在沿概率流ODE Eq(7)的解保持不变的
ϵ
G
T
\epsilon_{\mathrm{GT}}
ϵGT。我们从数据分布
p
0
(
u
)
=
N
(
u
0
,
Σ
0
)
p_0(\boldsymbol{u})=\mathcal{N}\left(\boldsymbol{u}_0, \Sigma_0\right)
p0(u)=N(u0,Σ0)的特殊情况开始。结果表明,Eq(7)的任何解都是这样的形式
u
(
t
)
=
Ψ
(
t
,
0
)
u
0
+
R
t
ϵ
(14)
\boldsymbol{u}(t)=\Psi(t, 0) \boldsymbol{u}_0+\boldsymbol{R}_t \epsilon \tag{14}
u(t)=Ψ(t,0)u0+Rtϵ(14)
有一个常数
ϵ
\epsilon
ϵ和时变
R
t
∈
R
D
×
D
\boldsymbol{R}_t \in \mathbb{R}^{D \times D}
Rt∈RD×D,满足
R
0
R
0
T
=
Σ
0
\boldsymbol{R}_0 \boldsymbol{R}_0^T=\Sigma_0
R0R0T=Σ0和
d
R
t
d
t
=
(
F
t
+
1
2
G
t
G
t
T
Σ
t
−
1
)
R
t
(15)
\frac{d \boldsymbol{R}_t}{d \boldsymbol{t}}=\left(\boldsymbol{F}_t+\frac{1}{2} \boldsymbol{G}_t \boldsymbol{G}_t^T \Sigma_t^{-1}\right) \boldsymbol{R}_t \tag{15}
dtdRt=(Ft+21GtGtTΣt−1)Rt(15)
这里
Ψ
(
t
,
s
)
\Psi(t, s)
Ψ(t,s)是与
F
τ
\boldsymbol{F}_\tau
Fτ相关的跃迁矩阵;它是解决
∂
Ψ
(
t
,
s
)
∂
t
=
\frac{\partial \Psi(t, s)}{\partial t}=
∂t∂Ψ(t,s)=
F
t
Ψ
(
t
,
s
)
,
Ψ
(
s
,
s
)
=
I
D
\boldsymbol{F}_t \Psi(t, s), \Psi(s, s)=\boldsymbol{I}_D
FtΨ(t,s),Ψ(s,s)=ID。有趣的是,
R
t
\boldsymbol{R}_t
Rt像Eq(4)中的
K
t
\boldsymbol{K}_t
Kt一样满足
R
t
R
t
T
=
Σ
t
\boldsymbol{R}_t \boldsymbol{R}_t^T=\Sigma_t
RtRtT=Σt。基于Eq(14)和Eq(15),我们将命题 1扩展到更一般的DM。
命题4。假设数据分布 p 0 ( u ) p_0(\boldsymbol{u}) p0(u)为 N ( u 0 , Σ 0 ) \mathcal{N}\left(\boldsymbol{u}_0, \Sigma_0\right) N(u0,Σ0)。设 u ( t ) \boldsymbol{u}(t) u(t)是具有ground truth的概率流ODE Eq(7)的任意解,则 ϵ G T ( u ( t ) , t ) : = \epsilon_{\mathrm{GT}}(\boldsymbol{u}(t), t):= ϵGT(u(t),t):= − R τ T ∇ log p t ( u ( t ) ) -\boldsymbol{R}_\tau^T \nabla \log p_t(\boldsymbol{u}(t)) −RτT∇logpt(u(t))沿 u ( t ) \boldsymbol{u}(t) u(t)保持不变。
命题4的一个直接结果是,我们可以在示例中一步进行准确的采样,因为如果 K t \boldsymbol{K}_t Kt Eq(4)设置为 R t \boldsymbol{R}_t Rt,我们可以沿着给定 t = T t=T t=T时的值的任何模拟轨迹恢复分数。这个选择 K t = R t \boldsymbol{K}_t=\boldsymbol{R}_t Kt=Rt将在采样质量上产生巨大的差异,我们将在后面展示。为实际数据的有效抽样方案设计提供了指导。
Realistic dataset:由于真实数据集无法获得准确的分数,我们需要使用学习分数
s
θ
(
u
,
t
)
\boldsymbol{s}_\theta(\boldsymbol{u}, t)
sθ(u,t)进行采样。
ϵ
θ
(
u
,
t
)
=
−
R
t
T
s
θ
(
u
,
t
)
\epsilon_\theta(\boldsymbol{u}, t)=-\boldsymbol{R}_t^T \boldsymbol{s}_\theta(\boldsymbol{u}, t)
ϵθ(u,t)=−RtTsθ(u,t)和近似
ϵ
ˉ
θ
(
u
,
τ
)
=
ϵ
θ
(
u
(
t
)
,
t
)
\bar{\epsilon}_\theta(\boldsymbol{u}, \tau)=\epsilon_\theta(\boldsymbol{u}(t), t)
ϵˉθ(u,τ)=ϵθ(u(t),t)对于
τ
∈
[
t
−
Δ
t
,
t
]
\tau \in[t-\Delta t, t]
τ∈[t−Δt,t],
ϵ
~
θ
(
u
,
τ
)
\tilde{\epsilon}_\theta(\boldsymbol{u}, \tau)
ϵ~θ(u,τ)正好等于
u
(
t
−
Δ
t
)
=
Ψ
(
t
−
Δ
t
,
t
)
u
(
t
)
+
[
∫
t
t
−
Δ
t
1
2
Ψ
(
t
−
Δ
t
,
τ
)
G
τ
G
τ
T
R
τ
−
T
]
ϵ
θ
(
u
(
t
)
,
t
)
(16)
\boldsymbol{u}(t-\Delta t)=\Psi(t-\Delta t, t) \boldsymbol{u}(t)+\left[\int_t^{t-\Delta t} \frac{1}{2} \Psi(t-\Delta t, \tau) \boldsymbol{G}_\tau \boldsymbol{G}_\tau^T \boldsymbol{R}_\tau^{-T}\right] \epsilon_\theta(\boldsymbol{u}(t), t) \tag{16}
u(t−Δt)=Ψ(t−Δt,t)u(t)+[∫tt−Δt21Ψ(t−Δt,τ)GτGτTRτ−T]ϵθ(u(t),t)(16)
ODE的多步预测-校正:受Zhang和Chen[42]的启发,我们将Eq(16)与多步方法相结合,进一步提高了gDDIM的采样效率[7,42,14]。我们提出了多步预测-校正方法,以减少步数,同时保持精度[20,26]。实证研究发现,当总NFE较小时,在预测器中使用更多的NFE可以获得更好的性能。因此,我们只给出确定性gDDIM的多步预测器。我们在附录b中包含了证明和多步校正器,对于时间离散化网格
{
t
i
}
i
=
0
N
\left\{t_i\right\}_{i=0}^N
{ti}i=0N,其中
t
0
=
0
,
t
N
=
t_0=0, t_N=
t0=0,tN=
T
T
T,第q步预测器从
t
i
t_i
ti 到
t
i
−
1
t_{i-1}
ti−1的
ϵ
θ
\epsilon_\theta
ϵθ参数化读数
u
(
t
i
−
1
)
=
Ψ
(
t
i
−
1
,
t
i
)
u
(
t
i
)
+
∑
j
=
0
q
−
1
[
C
i
j
ϵ
θ
(
u
(
t
i
+
j
)
,
t
i
+
j
)
]
(17a)
\begin{aligned} \boldsymbol{u}\left(t_{i-1}\right) & =\Psi\left(t_{i-1}, t_i\right) \boldsymbol{u}\left(t_i\right)+\sum_{j=0}^{q-1}\left[\mathbf{C}_{i j} \epsilon_\theta\left(\boldsymbol{u}\left(t_{i+j}\right), t_{i+j}\right)\right] \end{aligned} \tag{17a}
u(ti−1)=Ψ(ti−1,ti)u(ti)+j=0∑q−1[Cijϵθ(u(ti+j),ti+j)](17a)
C i j = ∫ t i t i − 1 1 2 Ψ ( t i − 1 , τ ) G τ G τ T R τ − T ∏ k ≠ j [ τ − t i + k t i + j − t i + k ] d τ (17b) \begin{aligned} \mathrm{C}_{i j} & =\int_{t_i}^{t_{i-1}} \frac{1}{2} \Psi\left(t_{i-1}, \tau\right) \boldsymbol{G}_\tau \boldsymbol{G}_\tau^T \boldsymbol{R}_\tau^{-T} \prod_{k \neq j}\left[\frac{\tau-t_{i+k}}{t_{i+j}-t_{i+k}}\right] d \tau \end{aligned} \tag{17b} Cij=∫titi−121Ψ(ti−1,τ)GτGτTRτ−Tk=j∏[ti+j−ti+kτ−ti+k]dτ(17b)
按照同样的实质,我们可以推广命题3
命题5。假设数据分布
p
0
(
u
)
p_0(\boldsymbol{u})
p0(u)为
N
(
u
0
,
Σ
0
)
\mathcal{N}\left(\boldsymbol{u}_0, \Sigma_0\right)
N(u0,Σ0)。给定分数函数
∇
log
p
s
(
u
(
s
)
)
\nabla \log p_s(\boldsymbol{u}(s))
∇logps(u(s))的任意评价,对于任意
t
,
u
t, \boldsymbol{u}
t,u,都可以恢复
∇
log
p
t
(
u
)
\nabla \log p_t(\boldsymbol{u})
∇logpt(u)
∇
log
p
t
(
u
)
=
Σ
t
−
1
Ψ
(
t
,
s
)
Σ
s
∇
log
p
s
(
u
(
s
)
)
−
Σ
t
−
1
[
u
−
Ψ
(
t
,
s
)
u
(
s
)
]
(18)
\nabla \log p_t(\boldsymbol{u})=\Sigma_t^{-1} \Psi(t, s) \Sigma_s \nabla \log p_s(\boldsymbol{u}(s))-\Sigma_t^{-1}[\boldsymbol{u}-\Psi(t, s) \boldsymbol{u}(s)] \tag{18}
∇logpt(u)=Σt−1Ψ(t,s)Σs∇logps(u(s))−Σt−1[u−Ψ(t,s)u(s)](18)
命题5并不奇怪;在我们的例子中,分数是封闭形式的。Eq(18)为我们的toy数据集提供了一个准确的得分估计;在实际数据中,它也可以作为得分逼近器。
Realistic dataset:基于Eq(18),参数化
s
θ
(
u
,
τ
)
=
−
R
τ
−
T
ϵ
θ
(
u
,
τ
)
\boldsymbol{s}_\theta(\boldsymbol{u}, \tau)=-\boldsymbol{R}_\tau^{-T} \epsilon_\theta(\boldsymbol{u}, \tau)
sθ(u,τ)=−Rτ−Tϵθ(u,τ),我们为
ϵ
θ
(
u
,
τ
)
\epsilon_\theta(\boldsymbol{u}, \tau)
ϵθ(u,τ)提出以下gDDIM逼近器
s
~
θ
(
u
,
τ
)
\tilde{\boldsymbol{s}}_\theta(\boldsymbol{u}, \tau)
s~θ(u,τ)
ϵ
~
θ
(
u
,
τ
)
=
R
τ
−
1
Ψ
(
τ
,
s
)
R
s
ϵ
θ
(
u
(
s
)
,
s
)
+
R
τ
−
1
[
u
−
Ψ
(
τ
,
s
)
u
(
s
)
]
(19)
\tilde{\epsilon}_\theta(\boldsymbol{u}, \tau)=\boldsymbol{R}_\tau^{-1} \Psi(\tau, s) \boldsymbol{R}_s \epsilon_\theta(\boldsymbol{u}(s), s)+\boldsymbol{R}_\tau^{-1}[\boldsymbol{u}-\Psi(\tau, s) \boldsymbol{u}(s)] \tag{19}
ϵ~θ(u,τ)=Rτ−1Ψ(τ,s)Rsϵθ(u(s),s)+Rτ−1[u−Ψ(τ,s)u(s)](19)
命题6。参数化
ϵ
θ
(
u
,
t
)
=
−
R
t
T
s
θ
(
u
,
t
)
\epsilon_\theta(\boldsymbol{u}, t)=-\boldsymbol{R}_t^T \boldsymbol{s}_\theta(\boldsymbol{u}, t)
ϵθ(u,t)=−RtTsθ(u,t)和逼近器
ϵ
~
θ
(
u
,
t
)
\tilde{\epsilon}_\theta(\boldsymbol{u}, t)
ϵ~θ(u,t)在Eq(19)中,Eq(6)的解满足
u
(
t
)
∼
N
(
Ψ
(
t
,
s
)
u
(
s
)
+
[
Ψ
^
(
t
,
s
)
−
Ψ
(
t
,
s
)
]
R
s
ϵ
θ
(
u
(
s
)
,
s
)
,
P
s
t
)
(20)
\boldsymbol{u}(t) \sim \mathcal{N}\left(\Psi(t, s) \boldsymbol{u}(s)+[\hat{\Psi}(t, s)-\Psi(t, s)] \boldsymbol{R}_s \epsilon_\theta(\boldsymbol{u}(s), s), \boldsymbol{P}_{s t}\right) \tag{20}
u(t)∼N(Ψ(t,s)u(s)+[Ψ^(t,s)−Ψ(t,s)]Rsϵθ(u(s),s),Pst)(20)
其中
Ψ
^
(
t
,
s
)
\hat{\Psi}(t, s)
Ψ^(t,s)是与
F
^
τ
:
=
F
τ
+
1
+
λ
2
2
G
τ
G
τ
T
Σ
τ
−
1
\hat{\boldsymbol{F}}_\tau:=\boldsymbol{F}_\tau+\frac{1+\lambda^2}{2} \boldsymbol{G}_\tau \boldsymbol{G}_\tau^T \Sigma_\tau^{-1}
F^τ:=Fτ+21+λ2GτGτTΣτ−1相关的转换矩阵,相关的协方差矩阵Pst求解
d
P
s
τ
d
τ
=
F
^
τ
P
s
τ
+
P
s
τ
F
^
τ
T
+
λ
2
G
τ
G
τ
T
,
P
s
s
=
0
(21)
\frac{d \boldsymbol{P}_{s \tau}}{d \tau}=\hat{\boldsymbol{F}}_\tau \boldsymbol{P}_{s \tau}+\boldsymbol{P}_{s \tau} \hat{\boldsymbol{F}}_\tau^T+\lambda^2 \boldsymbol{G}_\tau \boldsymbol{G}_\tau^T, \quad \boldsymbol{P}_{s s}=0 \tag{21}
dτdPsτ=F^τPsτ+PsτF^τT+λ2GτGτT,Pss=0(21)
我们的随机gDDIM然后使用Eq(20)进行更新。有趣的是,尽管随机gDDIM和确定性gDDIM看起来很不一样,但当
λ
=
0
λ = 0
λ=0时存在联系。
命题7。当 λ = 0 λ = 0 λ=0时,随机gDDIM中的Eq(20)可以简化为确定性gDDIM中的Eq (16)。
我们通过对CLD的案例研究来说明适用于任何DM的gDDIM。
ϵ
θ
(
u
,
t
)
=
[
ϵ
θ
(
u
,
t
;
x
)
,
ϵ
θ
(
u
,
t
;
v
)
]
\epsilon_\theta(\boldsymbol{u}, t)=\left[\epsilon_\theta(\boldsymbol{u}, t ; \boldsymbol{x}), \epsilon_\theta(\boldsymbol{u}, t ; \boldsymbol{v})\right]
ϵθ(u,t)=[ϵθ(u,t;x),ϵθ(u,t;v)],用于相应的模型参数化。Dockhorn等[5]的作者最初提出参数化
s
θ
(
u
,
t
)
=
−
L
t
−
T
ϵ
θ
(
u
,
t
)
\boldsymbol{s}_\theta(\boldsymbol{u}, t)=-\boldsymbol{L}_t^{-T} \epsilon_\theta(\boldsymbol{u}, t)
sθ(u,t)=−Lt−Tϵθ(u,t),其中
Σ
t
=
L
t
L
t
T
\Sigma_t=\boldsymbol{L}_t \boldsymbol{L}_t^T
Σt=LtLtT是协方差矩阵
p
0
t
(
u
(
t
)
∣
x
(
0
)
)
p_{0 t}(\boldsymbol{u}(t) \mid \boldsymbol{x}(0))
p0t(u(t)∣x(0))的Cholesky分解。基于DSM Eq(3),他们提出了混合分数匹配(HSM),据称是有利的[5]。它使用了损失
E
t
∼
U
[
0
,
T
]
E
x
(
0
)
,
u
(
t
)
∣
x
(
0
)
[
∥
ϵ
−
ϵ
θ
(
μ
t
(
x
0
)
+
L
t
ϵ
,
t
)
∥
L
t
−
1
Λ
t
L
t
−
T
2
]
(22)
\mathbb{E}_{t \sim U[0, T]} \mathbb{E}_{\boldsymbol{x}(0), \boldsymbol{u}(t) \mid \boldsymbol{x}(0)}\left[\left\|\epsilon-\epsilon_\theta\left(\mu_t\left(\boldsymbol{x}_0\right)+\boldsymbol{L}_t \epsilon, t\right)\right\|_{\boldsymbol{L}_t^{-1} \Lambda_t \boldsymbol{L}_t^{-T}}^2\right] \tag{22}
Et∼U[0,T]Ex(0),u(t)∣x(0)[∥ϵ−ϵθ(μt(x0)+Ltϵ,t)∥Lt−1ΛtLt−T2](22)
通过类似的推导[5],我们用新的分数参数化
s
θ
(
u
,
t
)
=
s_\theta(\boldsymbol{u}, t)=
sθ(u,t)=
−
L
t
−
T
ϵ
θ
(
u
,
t
)
-\boldsymbol{L}_t^{-T} \epsilon_\theta(\boldsymbol{u}, t)
−Lt−Tϵθ(u,t),得到HSM损失
E
t
∼
U
[
0
,
T
]
E
x
(
0
)
,
u
(
t
)
∣
x
(
0
)
[
∥
ϵ
−
ϵ
θ
(
μ
t
(
x
0
)
+
R
t
ϵ
,
t
)
∥
R
t
−
1
Λ
t
R
t
−
T
2
]
(23)
\mathbb{E}_{t \sim \mathcal{U}[0, T]} \mathbb{E}_{\boldsymbol{x}(0), \boldsymbol{u}(t) \mid \boldsymbol{x}(0)}\left[\left\|\epsilon-\epsilon_\theta\left(\mu_t\left(\boldsymbol{x}_0\right)+\boldsymbol{R}_t \epsilon, t\right)\right\|_{\boldsymbol{R}_t^{-1} \Lambda_t \boldsymbol{R}_t^{-T}}^2\right] \tag{23}
Et∼U[0,T]Ex(0),u(t)∣x(0)[∥ϵ−ϵθ(μt(x0)+Rtϵ,t)∥Rt−1ΛtRt−T2](23)
虽然Eq(22)和Eq(23)看起来很相似,但我们不能直接使用Dockhorn 等[5]提供的预训练模型进行gDDIM。由于
L
t
\boldsymbol{L}_t
Lt的下三角结构和特殊的
G
t
\boldsymbol{G}_t
Gt,方程(6)的解仅依赖于
ϵ
θ
(
u
,
t
;
v
)
\epsilon_\theta(\boldsymbol{u}, t ; \boldsymbol{v})
ϵθ(u,t;v) ,因此,只有
ϵ
θ
(
u
,
t
;
v
)
\epsilon_\theta(\boldsymbol{u}, t ; \boldsymbol{v})
ϵθ(u,t;v)在Dockhorn等[5]中通过特殊选择
Λ
t
\Lambda_t
Λt学习。相反,在新的参数化中,
ϵ
θ
(
u
,
t
;
x
)
\epsilon_\theta(\boldsymbol{u}, t ; \boldsymbol{x})
ϵθ(u,t;x)和
ϵ
θ
(
u
,
t
;
v
)
\epsilon_\theta(\boldsymbol{u}, t ; \boldsymbol{v})
ϵθ(u,t;v)来求解Eq(6)。为了训练gDDIM的评分模型,为了简单起见,我们设置
R
t
−
1
Λ
t
R
t
−
T
=
I
\boldsymbol{R}_t^{-1} \Lambda_t \boldsymbol{R}_t^{-T}=\boldsymbol{I}
Rt−1ΛtRt−T=I,类似于Ho 等[6]中的选择。我们的权重选择有合理的性能,我们留下了改进的可能性,如混合分数[5],更好的
Λ
t
\Lambda_t
Λt权重[32],为未来的工作。
虽然我们需要一个与Dockhorn等[5]不同的评分模型训练方案,但是对训练通道的修改和额外的成本几乎可以忽略不计。我们在附录C中包含了更多的讨论。
我们验证了gDDIM在CLD上的有效性。我们设计实验来回答以下问题。如何实证验证命题4和命题5?与现有工作相比,gDDIM能否提高采样效率? λ \lambda λ和 K t \boldsymbol{K}_t Kt的选择有什么不同?我们给出了CIFAR10的抽样结果。(具体实现细节和更多实验详见附录C)
Kt的选择: L t \boldsymbol{L}_t Lt vs R t \boldsymbol{R}_t Rt. gDDIM的一个关键是通过求解Eq(15)得到的特殊选择 K t = R t \boldsymbol{K}_t=\boldsymbol{R}_t Kt=Rt。在CLD中, L t \boldsymbol{L}_t Lt[5]不服从Eq (15), L t ≠ R t \boldsymbol{L}_t \neq \boldsymbol{R}_t Lt=Rt。如图1所示,在训练好的评分模型的真实数据集上,我们随机选取像素位置,沿着高分辨率ODE求解器生成的概率流ODE的解检查像素值和 ϵ θ \epsilon_\theta ϵθ输出。
选择 K t = L t , ϵ θ ( L ) ( u , t ; v ) \boldsymbol{K}_t=\boldsymbol{L}_t, \epsilon_\theta^{(\boldsymbol{L})}(\boldsymbol{u}, t ; \boldsymbol{v}) Kt=Lt,ϵθ(L)(u,t;v)与 x \boldsymbol{x} x值一样随时间波动。然而, ϵ θ ( R ) ( u , t ) \epsilon_\theta^{(\boldsymbol{R})}(\boldsymbol{u}, t) ϵθ(R)(u,t)更平坦。我们进一步比较了表1中 L t \boldsymbol{L}_t Lt和 R t \boldsymbol{R}_t Rt参数化生成的样本
λ的选择:ODE vs SDE。我们进一步对不同的λ值进行比较研究。请注意,即使λ = 0,这里也不使用Eq(17)中的多项式外推。如表2所示,增加λ会使样本质量恶化,这证明了我们的主张,即当使用小NFE时,确定性DDIM比随机DDIM具有更好的性能。我们还发现随机gDDIM显著优于EM积分器。
贡献:我们利用的结构性知识越多,效率就越高。在这项工作中,我们基于流形假设和现实数据集上的稀疏性提供了一个清晰的解释。这个新的视角揭示了DDIM中使用的数值离散化,并解释了NFE较小时基于ODE的采样器相对于基于SDE的采样器的优势。基于这种解释,我们将DDIM扩展到一般的扩散模型。新算法gDDIM仅对评分模型的参数化进行了微小而优雅的修改,大大提高了采样效率。我们进行了大量的实验来验证我们的新采样算法的有效性,并在CLD模型中应用gDDIM时取得了令人鼓舞的结果。
局限性:有几个很有前途的未来方向。首先,虽然gDDIM是为一般DM设计的,但除了DDPM之外,我们只在CLD模型上验证它。基于gDDIM的CLD在NFE为50时图像采样质量较好,但在NFE极小时,如10步或5步时仍不能得到满意的结果。探索更有效的扩散过程是有益的不同的数据集,其中,我们相信gDDIM将在设计采样算法中发挥重要作用。其次,通过挖掘数据模型中更多的结构知识,设计出高效的抽样算法,需要进一步的研究。结构知识可以来源于不同的来源,如数据集的不同模态,以及在特定的扩散过程中呈现的数学结构。对于进一步改进CLD随机抽样,一个有趣的问题是如何利用gDDIM具有保守的哈米顿分量这一事实,以及来自分数的噪声、摩擦和强迫。