gDDIM: Generalized denoising diffusion implicit models

2023-11-09

gDDIM: Generalized denoising diffusion implicit models

论文链接:[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

Abstract

我们的目标是将去噪扩散隐式模型(DDIM)扩展到一般扩散模型(DMs)。我们没有像原来的DDIM论文那样构造一个非马尔可夫噪声过程,而是从数值的角度研究了DDIM的机制。我们发现,在求解相应的随机微分方程时,可以使用分数的某些特定近似值来获得DDIM。我们提出了DDIM加速效应的解释,这也解释了确定性抽样方案相对于快速抽样的随机方案的优势。在此基础上,我们将DDIM扩展到通用DM,在参数化分数网络方面进行了小而精细的修改。当应用于最近提出的一种新型扩散模型——临界阻尼朗之万扩散模型时,我们的算法在CIFAR10上只有50个分数函数评估(NFE),只有27个分数函数评估(NFE), FID得分为2.28,优于现有的所有相同NFE的方法。

1 Introduction

基于扩散模型(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评分。

2 Background

在本节中,我们将简要介绍扩散模型(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,GtRD×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)0tt(模拟轨迹)到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,ΣtRD×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=[FtudtGtGtTlogpt(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} EtU[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)=KtTϵθ(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(θ)=EtU[0,T]Eu(0)p0,ϵN(0,ID)[ϵϵθ(μtu(0)+Ktϵ,t)Kt1ΛtKtT2](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=[Ftu21+λ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=[Ftu21GtGtTsθ(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=xRd,并设置 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(ti1)=αtiαti1 x(ti)+(1αti1σti2 1αti αtiαti1 )ϵθ(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ββM1ΓβM1]Id,Gt:=[000ΓβM1]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节。

3 Revisit DDIM: Gap between exact solution and numerical solution

从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)=mwmlogp0t(uu(m)),wm=mp0t(uu(m))p0t(uu(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(uu(m))。流形假设导致的现象部分地证明了命题 1和命题3中的Dirac分布假设,并解释了DDIM的有效性。

在这里插入图片描述

4 Generalize and improve DDIM

DDIM是专门为DDPM设计的。我们能把它推广到其他DM吗?通过命题 1和3中的见解,我们发现,通过精心选择的 K τ K_τ Kτ,我们可以将DDIM推广到任何具有一般漂移和扩散的DM。我们将得到的算法命名为广义DDIM (gDDIM)。

具体地,我们将gDDIM应用于CLD来说明我们的方法。

4.1 Deterministic gDDIM with Prop 1

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} RtRD×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Σt1)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τTlogpt(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} ti1 ϵ θ \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(ti1)=Ψ(ti1,ti)u(ti)+j=0q1[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=titi121Ψ(ti1,τ)GτGτTRτTk=j[ti+jti+kτti+k]dτ(17b)

4.2 Stochastic gDDIM with Prop 3

按照同样的实质,我们可以推广命题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)=Σt1Ψ(t,s)Σslogps(u(s))Σt1[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)。

4.3 Training and accelerating CLD

我们通过对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)=LtTϵθ(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} EtU[0,T]Ex(0),u(t)x(0)[ϵϵθ(μt(x0)+Ltϵ,t)Lt1ΛtLtT2](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) LtTϵθ(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} EtU[0,T]Ex(0),u(t)x(0)[ϵϵθ(μt(x0)+Rtϵ,t)Rt1ΛtRtT2](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} Rt1ΛtRtT=I,类似于Ho 等[6]中的选择。我们的权重选择有合理的性能,我们留下了改进的可能性,如混合分数[5],更好的 Λ t \Lambda_t Λt权重[32],为未来的工作。

虽然我们需要一个与Dockhorn等[5]不同的评分模型训练方案,但是对训练通道的修改和额外的成本几乎可以忽略不计。我们在附录C中包含了更多的讨论。

5 Experiments

我们验证了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积分器。

6 Conclusion and Broader Impact

贡献:我们利用的结构性知识越多,效率就越高。在这项工作中,我们基于流形假设和现实数据集上的稀疏性提供了一个清晰的解释。这个新的视角揭示了DDIM中使用的数值离散化,并解释了NFE较小时基于ODE的采样器相对于基于SDE的采样器的优势。基于这种解释,我们将DDIM扩展到一般的扩散模型。新算法gDDIM仅对评分模型的参数化进行了微小而优雅的修改,大大提高了采样效率。我们进行了大量的实验来验证我们的新采样算法的有效性,并在CLD模型中应用gDDIM时取得了令人鼓舞的结果。

局限性:有几个很有前途的未来方向。首先,虽然gDDIM是为一般DM设计的,但除了DDPM之外,我们只在CLD模型上验证它。基于gDDIM的CLD在NFE为50时图像采样质量较好,但在NFE极小时,如10步或5步时仍不能得到满意的结果。探索更有效的扩散过程是有益的不同的数据集,其中,我们相信gDDIM将在设计采样算法中发挥重要作用。其次,通过挖掘数据模型中更多的结构知识,设计出高效的抽样算法,需要进一步的研究。结构知识可以来源于不同的来源,如数据集的不同模态,以及在特定的扩散过程中呈现的数学结构。对于进一步改进CLD随机抽样,一个有趣的问题是如何利用gDDIM具有保守的哈米顿分量这一事实,以及来自分数的噪声、摩擦和强迫。

A More related works

B Proofs

C More experiment details

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gDDIM: Generalized denoising diffusion implicit models 的相关文章

随机推荐

  • Golang Gorm 创建HOOK

    创建的时候 在插入数据之前 想要做一些事情 钩子函数比较简单 就是实现before create的一个方法 package main import gorm io driver mysql gorm io gorm type Student
  • maven安装

    1 maven 安装 需要使用maven命令 在需要的的操作系统中 安装maven插件 这里我用是Windows操作系统 2 在Windows安装maven 1 安装jdk 2 下载地址http maven apache org 3 解压后
  • Streamlit 讲解专栏(九):深入探索布局和容器

    文章目录 1 前言 2 st sidebar 在侧边栏增添交互元素 2 1 将交互元素添加至侧边栏 2 2 示例 在侧边栏添加选择框和单选按钮 2 3 特殊元素的注意事项 3 st columns 并排布局多元素容器 3 1 插入并排布局的
  • 揭秘最领先的Llama2中文大模型!

    导语 国内最大的开源社区 Llama中文社区率先完成了国内首个真正意义上的中文版Llama2 13B大模型 从模型底层实现了Llama2中文能力的大幅优化和提升 毋庸置疑 中文版Llama2一经发布开启了国内大模型新时代 全球最强 但中文短
  • Mybatis-动态sql和分页

    目录 一 什么是Mybatis动态分页 二 mybatis中的动态SQL 在BookMaaper xml中写sql BookMapper BookBiz接口类 BookBizImpl实现接口类 demo测试类 编辑 测试结果 三 mybat
  • C语言创建一个二叉树

    如何创建一个二叉树 先序遍历 中序遍历 include
  • 应用程序图标丢失问题的解决办法?

    如果是某一特定文件类型的 根据扩展名 的问题 是文件关联的问题 去注册表里寻找答案吧 用setup factory制作的安装包 之前一直都挺正常的 今天怎么试了一下 有时有图标有时没有 奇怪的很 于是追查了一下 原来我是因为我是在32位系统
  • 在cmd中,如何使用cd进入指定文件目录

    1 要进入的磁盘与当前磁盘一致 例如 cd C Program Files x86 Google Chrome Application 2 进入到其他磁盘 例如 cd d D JAVA codes 01 1 4 或者下面的方式 直接输入磁盘
  • Unity中Cg的基本语法和使用

    Cg是类似于C语言的发展起来的图形编程语言 Cgraphics 它的很多表达式if else 和C语言非常相像 也和C 非常相像 由于Shader是写给显卡执行的 所以没有输出语句来调试 很多地方调试不了 只能靠Unity编辑器来帮我们报错
  • valgrind和Kcachegrind性能分析工具详解

    作者 zhuyong 原文地址 一 valgrind介绍 valgrind是运行在Linux上的一套基于仿真技术的程序调试和分析工具 用于构建动态分析工具的装备性框架 它包括一个工具集 每个工具执行某种类型的调试 分析或类似的任务 以帮助完
  • web安全常用网络扫描端口漏洞利用

    端口 服务 入侵方式 21 ftp tftp vsftpd文件传输协议 爆破 嗅探 溢出 后门 22 ssh远程连接 爆破 openssh漏洞 23 Telnet远程连接 爆破 嗅探 弱口令 25 SMTP邮件服务 邮件伪造 53 DNS域
  • 如何快速搭建个人网站(服务器配置篇)

    关于服务器的购买和域名注册可以参考我的这篇博客 在使用之前 建议小白用户先下载一个Vmware 安装一个Ubuntu的虚拟环境学习一下linux的基础命令 一 远程服务器的连接 服务器购买好了以后我们需要进行远程连接我们的服务器 我个人推荐
  • Qt样式表总结

    概念 Qt的样式表主要是受到CSS的启发 通过调用setStyleSheet 可以为一个独立的子部件 整个窗口 甚至整个应用程序制定一个样式表 样式表具有继承关系 例如为一个QWidget类设置了样式表 那么QWidget类及其子类都会使用
  • C 语言 打印 int32_t int64_t 类型

    printf x PRId32 x PRId32 PRId64 是宏
  • SpringBoot 报错: Error creating bean with name ‘deptServiceImpl‘: Unsatisfied dependency expressed th

    报错 原因从网上可以得知 检查自己的Mapper文件有没有加入注解 Mapper Repository 和自己的deptServiceImpl 加入 Service 中引入的Mapper有没有用 Autowired 如图 如果上述都有 我们
  • Excel截取字符串:从指定第N个分隔符处截取

    目的 如下图 截取下面字符串中最后一个 后面的部分字符串 思路 1 利用SUBSTITUTE A2 将分隔符替换成空字符 如下图 2 利用LEN A2 LEN SUBSTITUTE A2 即可获取里面被替换掉了多少个分隔符 3 由于SUBS
  • 京东云无线宝可以服务器吗,京东云无线宝哪种上网方式收益最高,这点你一定得知道...

    京东云无线宝路由作为一款可以赚积分的路由器 备受关注 怎么能获取更高的积分 是大家一直都非常关心的 今天我们就来聊一聊 京东云无线宝路由采用哪种上网方式 收益最高 在京东云无线宝的后台 我们可以看到路由器一共提供了4种上网方式 分别为 拨号
  • Redfish介绍和Postman工具使用

    Redfish Redfish的诞生是为了替代IPMI 由于IPMI自身的局限性和安全性缺陷 IPMI 在2015年公布2 0 v1 1标准后 不再更新 被RedFish永久代替 Redfish 可扩展平台管理 API The Redfis
  • DQN Pytorch示例

    智能体是一个字母o 它卡在许多 之间 而要达到的目的是并确保o两侧都有 这需要让o能够向左右两边移动 而且速度略快于无动作时的自然移动速度 看起来就像下面那样 这是一种很简单的情形 pytorch版本 1 11 0 cu113 代码 因为每
  • gDDIM: Generalized denoising diffusion implicit models

    gDDIM Generalized denoising diffusion implicit models 论文链接 2206 05564 gDDIM Generalized denoising diffusion implicit mod