Diffusion Autoencoders: Toward a Meaningful and Decodable Representation

Diffusion Autoencoders: Toward a Meaningful and Decodable Representation (Paper reading)

Konpat Preechakul, VISTEC, Thailand, CVPR22 Oral, Cited:117, Code, Paper

1. 前言

在这里插入图片描述

扩散概率模型 (DPM) 在图像生成方面取得了显着的质量,可与 GAN 相媲美。但是与 GAN 不同,DPM 使用一组潜在变量,这些变量缺乏语义含义,不能作为其他任务的有用表示。本文探索了使用DPM进行表示学习的可能性,并试图通过自动编码提取输入图像的有意义和可解码的表示。我们的关键思想是使用可学习的编码器来发现高级语义,并使用 DPM 作为解码器来对剩余的随机变化进行建模。我们的方法可以将任何图像编码为两部分潜在编码,其中第一部分在语义上有意义且线性,第二部分捕获随机细节,允许近乎精确的重建。这种能力使目前阻碍基于 GAN 的方法(例如真实图像的属性操作)的挑战性应用程序成为可能。我们还表明,这种两级编码提高了去噪效率,并自然地促进了各种下游任务,包括few-shot条件采样。

2. 整体思想

本文是利用扩散模型做图像属性编辑的一份工作。主要思想是把扩散模型作为自编码器的解码器,然后将自编码器的编码器输出 z s e m z_{sem} zsem作为条件,通过训练这个自编码器, z s e m z_{sem} zsem就会类似于GANs或VAEs中的潜在code。我们对这个code做出改变就可以实现对图像的编辑。


一些疑问?建议看完文章后再看这部分,如果你也有跟我同样的疑问:

    1. 语意编码器是如何训练的:本文的语意编码器其实就是一个U-Net的Encoder把 x 0 x_0 x0编码为512维的1维向量。Fig7(a)是conditional DDIM的框架,它是条件的!这个条件是可学习的,也就是 z s e m z_{sem} zsem,训练DDIM的过程中,就会优化语意编码器的参数。不要被自编码器中的Decoder误解,这个Decoder就是DDIM整个U-Net,包含了U-Net中的Enc-Dec。
    1. 第4小节的采样,或者说latent DDIM是干啥的:本文虽然是做人脸编辑的,但该方法同样也是一个生成模型,也就是说我们通过随机的 z s e m z_{sem} zsem是可以生成图像的。因此这里训练了一个latent DDIM用来随机生成 z s e m z_{sem} zsem,然后就可以通过backbone的conditional DDIM采样得到图像。Fig9主要说明了这个问题。
    1. 随机编码器是干啥的:随机编码器其实是图像插值和编辑的采样过程,与第二个问题不同。第二个是生成,这个是编辑!我们通过随机编码器的公式进行迭代就能采样得到编辑后的图片。注意每一步的 x t x_t xt都是上一步通过计算得到的。具体看5.1小节, x T x_T xT是随机采样的。
    1. 是如何对真实图像进行插值和编辑的:本文的工作本质是一个基于扩散模型的自编码器,与其他工作类似,同样是修改 z s e m z_{sem} zsem来达到这个目的。但是扩散模型是一个生成模型,如何修改 z s e m z_{sem} zsem来采样的呢?一个不同点是扩散模型的输入中有一个 x T x_T xT,如果是插值的话,我们也需要插值一个新的 x T x_T xT,而编辑的话 x T x_T xT就一个。然后,只需要对 x T x_T xT不断去噪就可,这里条件是 z s e m z_{sem} zsem
    1. 有两个编码器,一个是语意编码器和conditional DDIM中U-Net的编码器,能否只用语意编码器来重构图像:这就有点像自编码器通过laten code来重构图像了,但是本文 z s e m z_{sem} zsem设计的方式是加在整个conditional DDIM的U-Net中,不使用 x T x_T xT的话,这种结构确实无法重建,本人认为。

3. 方法

在本文中,我们质疑dpm是否可以作为一个很好的表征学习器。具体来说,我们试图提取图像的有意义和可解码的表示,包含高级语义,但允许图像的近乎精确的重建。我们的探索主要集中在扩散模型上,但这些贡献也适用于基于分数的模型。学习表征的一种方法是通过自动编码器。存在一种DPM,它可以作为编码器-解码器,通过反向运行生成过程,将任意输入图像x0转换为空间潜在变量xT。然而,由此产生的潜在变量缺乏高级语义和其他理想的特性,例如解纠缠、紧凑性或在潜在空间中执行有意义的线性插值的能力。或者,可以使用经过训练的GAN提取表示,使用所谓的GAN反演[28,58],该方法针对再现给定输入的潜在代码进行优化。尽管生成的代码具有丰富的语义,但这种技术很难忠实地重建输入图像。为了克服这些挑战,我们提出了一种基于扩散的自编码器,它利用强大的dpm进行可解码表示学习

为了追求有意义的潜码,我们设计了一个条件DDIM图像解码器 p ( x t − 1 ∣ x t , z s e m ) p(x_{t−1}|x_t, z_{sem}) p(xt1xt,zsem),它以附加的潜变量 z s e m z_{sem} zsem为条件,以及一个语义编码器 z s e m = E n c φ ( x 0 ) z_{sem} = Enc_φ(x_0) zsem=Encφ(x0),它学习将输入图像 x 0 x_0 x0映射到一个语义有意义的 z s e m z_{sem} zsem。这里,条件DDIM解码器将隐变量 z = ( z s e m , x T ) z = (z_{sem}, x_T) z=(zsem,xT)作为输入(这里的 x T x_T xT的维度和 z s e m z_{sem} zsem是相同的!),该隐变量由高级的“语义”子码 z s e m z_{sem} zsem和低级的“随机”子码 x T x_T xT组成,通过反转DDIM的生成过程来推断。在这个框架中,DDIM既充当解码器,又充当随机编码器。概览如图2所示。

在这里插入图片描述

图2。我们的扩散自动编码器概述。自动编码器由一个“语义”编码器组成,它将输入图像映射到语义子码 ( x 0 → z s e m ) (x_0→z_{sem}) (x0zsem),以及一个条件DDIM,它既充当“随机”编码器 ( x 0 → x T ) (x_0→x_T) (x0xT),也充当解码器 ( ( z s e m , x T ) → x 0 ) ((z_{sem}, x_T)→x_0) ((zsem,xT)x0)。在这里, z s e m z_{sem} zsem捕获高级语义,而 x T x_T xT捕获低级随机变化,它们一起可以以高保真度解码回原始图像。为了从该自编码器中采样,我们将潜在DDIM拟合到 z s e m z_{sem} zsem和样本 ( z s e m , x T ∼ N ( 0 , I ) ) (z_{sem}, x_T \sim N (0, I)) (zsem,xTN(0,I))的分布中进行解码。

与其他使用空间条件变量(例如,2D潜在映射)的条件dms不同,我们的 z s e m i z_{semi} zsemi是维数d = 512的非空间向量,类似于StyleGAN中的样式向量,允许我们编码不特定于任何空间区域的全局语义。我们的目标之一是学习一个语义丰富的潜在空间,允许平滑插值,类似于gan学习的那些,同时保持扩散模型擅长的重建能力。

3.1 基于扩散的解码器

我们的条件DDIM解码器接收输入 z = ( z s e m , x T ) z = (z_{sem}, x_T) z=(zsem,xT)来产生输出图像。该解码器是一个条件DDIM,它对 p θ ( x t − 1 ∣ x t , z s e m ) p_θ (x_{t−1}|x_t, z_{sem}) pθ(xt1xt,zsem)建模,以匹配推理分布 q ( x t − 1 ∣ x t , x 0 ) q(x_{t−1}|x_t, x_0) q(xt1xt,x0),并使用以下反向(生成)过程:
p θ ( x t − 1 ∣ x t , z s e m ) = { N ( f θ ( x 1 , 1 , z s e m ) , 0 ) i f t = 1 q ( x t − 1 ∣ x t , f θ ( x t , t , z s e m ) ) o t h e r w i s e } p_θ (x_{t−1}|x_t, z_{sem}) = \begin{Bmatrix} N(f_\theta(x_1,1,z_{sem}),0) \quad if \quad t=1 \\ q(x_{t-1}|x_t, f_\theta(x_t,t,z_{sem})) \quad otherwise \end{Bmatrix} pθ(xt1xt,zsem)={N(fθ(x1,1,zsem),0)ift=1q(xt1xt,fθ(xt,t,zsem))otherwise}
其中 f θ = 1 α t ( x t − 1 − α t ϵ θ ( x t , t , z s e m ) ) f_\theta=\frac{1}{\sqrt{\alpha_t}}(x_t- \sqrt{1-\alpha_t}\epsilon_\theta(x_t,t,z_{sem})) fθ=αt 1(xt1αt ϵθ(xt,t,zsem))。这里 ϵ θ \epsilon_\theta ϵθ是一个U-Net,通过 L s i m p l e = ∣ ∣ ϵ θ ( x t , t , z s e m ) − ϵ t ∣ ∣ 2 2 L_{simple}=||\epsilon_\theta(x_t,t,z_{sem})-\epsilon_t||_2^2 Lsimple=∣∣ϵθ(xt,t,zsem)ϵt22损失进行训练。训练阶段,随机潜在变量 x T x_T xT不是必须的。我们使用自适应组归一化层(AdaGN)来约束UNet,我们的AdaGN条件为:
A d a G N ( h , t , z s e m ) = z s ( t s GroupNorm ( h ) + t b ) AdaGN(h,t,z_{sem}) = z_s(t_s\text{GroupNorm}(h)+t_b) AdaGN(h,t,zsem)=zs(tsGroupNorm(h)+tb)
其中, z s ∈ R c = Affine ( z s e m ) z_s\in R^c=\text{Affine}(z_{sem}) zsRc=Affine(zsem) ( t s , t b ) ∈ R 2 × c = M L P ( ψ ( t ) ) (t_s,t_b)\in R^{2\times c}=MLP(\psi(t)) (ts,tb)R2×c=MLP(ψ(t))是具有正弦编码函数 ψ ψ ψ的多层感知器的输出。这些层在整个UNet中使用。下图b中MLP分别有一个 × \times × + + +对应着上式的 t s t_s ts t b t_b tb,紧接着乘上一个 z s = M L P ( z s e m ) z_s=MLP(z_{sem}) zs=MLP(zsem)

在这里插入图片描述

3.2 语义编码器

语义编码器 E n c ( x 0 ) Enc(x_0) Enc(x0)的目标是将输入图像总结为一个描述向量 z s e m = E n c ( x 0 ) z_{sem} =Enc(x_0) zsem=Enc(x0),其中包含必要的信息,以帮助解码器 p θ ( x t − 1 ∣ x t , z s e m ) p_θ (x_{t−1}|x_t, z_{sem}) pθ(xt1xt,zsem)去噪预测输出图像。我们不假设这个编码器有任何特定的架构;然而,在我们的实验中,这个编码器与我们的UNet解码器的前半部分共享相同的架构。使用信息丰富的 z s e m z_{sem} zsem调节DDIM的一个好处是更有效的去噪过程,这将在5.5节中进一步讨论。

3.3 随机编码器

除了解码之外,我们的条件DDIM还可以通过反向运行其确定性生成过程,将输入图像 x 0 x_0 x0编码为随机编码:
x t + 1 = α t + 1 f θ ( x t , t , z s e m ) + 1 − α t + 1 ϵ θ ( x t , t , z s e m ) x_{t+1} = \sqrt{\alpha_{t+1}}f_{\theta}(x_t,t,z_{sem})+\sqrt{1-\alpha_{t+1}}\epsilon_\theta(x_t,t,z_{sem}) xt+1=αt+1 fθ(xt,t,zsem)+1αt+1 ϵθ(xt,t,zsem)
我们可以把这个过程看作是一个随机编码器,因为 x T x_T xT被鼓励只编码 z s e m z_{sem} zsem遗漏的信息,而 z s e m z_{sem} zsem压缩随机细节的能力有限。通过使用语义和随机编码器,我们的自动编码器可以捕获输入图像的最后一个细节,同时也为下游任务提供高级表示 z s e m z_{sem} zsem。请注意,随机编码器在训练期间没有使用,而是用于计算需要精确重建或反演的任务的 x T x_T xT,例如真实图像处理。

4. 扩散自编码器采样

通过将解码器调节为 z s e m z_{sem} zsem,扩散自编码器不再是生成模型。因此,为了从我们的自编码器中采样,我们需要一个额外的机制来从潜在分布中采样 z s e m ∈ R d z_{sem}∈R^d zsemRd。虽然VAE是一个很好的选择,但是很难在保留潜在代码中的丰富信息和保持VAE的采样质量之间取得平衡。GAN是另一种选择,尽管它使训练稳定性复杂化,而训练稳定性是dpm的一个主要优势。这里,我们选择对 z s e m = E n c φ ( x 0 ) z_{sem} = Enc_φ(x_0) zsem=Encφ(x0) x 0 ∼ p ( x 0 ) x_0 \sim p(x_0) x0p(x0)的潜在分布拟合另一个DDIM,称为潜在DDIM p ω ( z s e m , t − 1 ∣ z s e m , t ) p_ω (z_{sem},t−1|z_{sem},t) pω(zsem,t1∣zsem,t)。与式5和式6类似,通过对 ω ω ω优化 L l a t e n t L_{latent} Llatent来训练潜在的DDIM:
L l a t e n t = ∑ t = 1 T E z s e m , ϵ t [ ∣ ∣ ϵ ω ( z s e m , t ) − ϵ t ∣ ∣ 1 ] L_{latent}=\sum^T_{t=1}\mathbb{E}_{z_{sem},\epsilon_t}[||\epsilon_ω(z_{sem},t)-\epsilon_t||_1] Llatent=t=1TEzsem,ϵt[∣∣ϵω(zsem,t)ϵt1]
式中 t ∈ R d N ( 0 , I ) t∈R^d ~ N (0, I) tRd N(0,I) z s e m , t = α t z s e m + 1 − α t ϵ t z_{sem,t} =\sqrt{\alpha_t}z_{sem} +\sqrt{1-\alpha_t}\epsilon_t zsem,t=αt zsem+1αt ϵt,T与DDIM图像解码器中的T相同。对于Llatent,我们经验地发现L1比L2损耗更有效。与1D/2D图像不同,对于非空间数据,没有完善的DPM架构,但我们发现具有跳过连接的深度mlp(10-20层)表现相当好。结构如下:
在这里插入图片描述
我们首先通过 L s i m p l e L_{simple} Lsimple训练语义编码器(φ)和图像解码器(θ),直到收敛。然后,在固定语义编码器的情况下,通过 L l a t e n t L_{latent} Llatent训练潜在的DDIM (ω)。在实际应用中,由潜在DDIM建模的潜在分布首先被归一化,使其具有零均值和单位方差。因此,从扩散自编码器中进行无条件采样是通过从潜在的DDIM中采样 z s e m z_{sem} zsem并对其进行非正态化,然后采样 x T ∼ N ( 0 , I ) x_T \sim N (0, I) xTN(0,I),最后使用解码器解码 z = ( z s e m , x T ) z = (z_{sem}, x_T) z=(zsem,xT)来完成的。

我们选择对潜在DDIM进行事后训练有几个实际的原因。首先,由于训练潜在的DDIM只需要整个训练时间的一小部分,因此事后训练可以使用相同的扩散自编码器对不同的潜在DDIM进行快速实验。另一个原因是通过不施加任何约束来保持 z s e m z_{sem} zsem尽可能具有表现力,例如VAE中的先验损失,这会损害潜在变量的质量。

5. 实验

现在我们开始评估学习到的潜在空间的属性,并演示新的功能,比如属性操作和条件生成。为了公平比较,我们实验中的DDIM基线是Guided Diffusion的改进架构重新实现的DDIM,其UNet超参数与我们的解码器相同。简而言之,DDIM基线与我们的解码器类似,只是它不占用 z s e m z_{sem} zsem

5.1 潜在编码捕获高级语义和低级随机变化

为了证明高级语义主要在 z s e m z_{sem} zsem中捕获,而在 x T x_T xT中捕获很少,我们首先从输入图像 x 0 x_0 x0计算语义子码 z s e m = E n c ( x 0 ) z_{sem} = Enc(x_0) zsem=Enc(x0)。对于随机子码 x T x_T xT,我们将对该子码进行多次采样 ( x T i ∼ N ( 0 , I ) ) (x^i_T \sim N (0, I)) (xTiN(0,I))并解码多个 z i = ( z s e m , x T i ) z^i = (z_{sem}, x^i_T) zi=(zsem,xTi),而不是从输入中推断它。图3显示了给定相同 z s e m z_{sem} zsem时由不同 x T x_T xT引起的变化,以及不同 z s e m z_{sem} zsem引起的变化。

在这里插入图片描述
结果表明,在固定的 z s e m z_{sem} zsem下,随机子码 x T x_T xT只影响次要的细节,如头发和皮肤细节、眼睛或嘴巴,而不会改变整体外观。通过改变 z s e m z_{sem} zsem,我们得到了完全不同的人,他们有不同的面部形状、光照和整体结构。

5.2 语义上有意义的潜在插值

有用的潜在空间的一个理想特性是能够通过潜在空间的简单线性变化来表示图像中的语义变化。例如,通过沿着连接任意两个潜在代码的直线移动,我们期望在对应的两个图像之间平滑变形。在图4d和图1中,我们将两幅输入图像编码为 ( z s e m 1 , x T 1 ) (z^1_{sem}, x^1_T) (zsem1,xT1) ( z s e m 2 , x T 2 ) (z^2_{sem}, x^2_T) (zsem2,xT2),然后解码 z ( t ) = ( L e r p ( z s e m 1 , z s e m 2 ; t ) , S l e r p ( x T 1 , x T 2 ; t ) ) z(t) = (Lerp(z^1_{sem}, z^2_{sem};t),Slerp(x^1_T, x^2_T;t)) z(t)=(Lerp(zsem1,zsem2;t),Slerp(xT1,xT2;t))对于 t ∈ [ 0 , 1 ] t∈[0,1] t[0,1]的各种值,其中 z s e m z_{sem} zsem采用线性插值 y = a x 1 + ( 1 − a ) x 2 y=ax_1+(1-a)x_2 y=ax1+(1a)x2 x T x_T xT采用球面线性插值:
x T a = s i n ( ( 1 − a ) θ ) s i n ( θ ) x t 1 + s i n ( a θ ) s i n ( θ ) x T 2 θ = a r c c o s ( ( x T 1 ) T x T 2 ∣ ∣ x T 1 ∣ ∣ ∣ ∣ x T 2 ∣ ∣ ) x_T^a=\frac{sin((1-a)\theta)}{sin(\theta)}x_t^1+\frac{sin(a\theta)}{sin(\theta)}x_T^2 \quad \theta=arccos(\frac{(x_T^1)^\text{T}x_T^2}{||x_T^1||||x_T^2||}) xTa=sin(θ)sin((1a)θ)xt1+sin(θ)sin(aθ)xT2θ=arccos(∣∣xT1∣∣∣∣xT2∣∣(xT1)TxT2)
在这里插入图片描述
与产生非平滑过渡的DDIM相比,我们的方法在两个端点之间逐渐改变头部姿态、背景和面部属性。StyleGAN在W和W+空间中的插值结果都是平滑的,但两个端点与输入图像不相似,而我们的和DDIM的几乎完全匹配真实的输入图像。

5.3 真实图像的属性编辑

评估图像语义与潜在空间中的线性运动或可分性之间关系的另一种方法是通过在特定方向上移动图像的潜在 z s e m z_{sem} zsem并观察图像的变化。通过从在目标属性(例如微笑)的负面和正面图像的潜在编码上训练的线性分类器的权重向量中找到这样的方向,该操作因此改变了图像中的语义属性。这项任务有专门的技术,但在这里,我们的目标是通过使用最简单的线性运算来展示我们潜在空间的质量和适用性。

在这里插入图片描述

我们使用来自CelebA-HQ的图像和属性标签训练线性分类器,并在CelebA-HQ和FFHQ上进行测试,见图5。为了评估我们操纵的结果的质量,我们将它们的分布与具有目标积极属性(如微笑)的真实图像的分布进行比较。我们的操作是通过沿着目标方向 w w w线性移动 z s e m z_{sem} zsem来完成的,通过训练线性分类器(逻辑回归) y = w T z + b y=w^Tz+b y=wTz+b来使用标记的数据集预测目标属性。随机子编码 x T x_T xT保持不变。给定 z z z,其操纵版本由解码 z ′ = z + s w z′=z+sw z=z+sw产生,其中 s ∈ R s∈R sR控制操纵程度。对于这个实验,每个输入图像将由不同的 s i s_i si操纵,以便操纵的结果达到目标属性的相同程度(例如,类似的大微笑)。具体而言,我们选择 s i s_i si,使其 z ′ i z′_i zi的logit置信度等于所有真实正图像的中值置信度:
s i = m d i a n − b − z i T w w T w s_i = \frac{mdian-b-z_i^Tw}{w^Tw} si=wTwmdianbziTw

5.4 自编码重构质量

尽管自编码器的良好重建质量不一定是良好表示学习的指标,但这一特性在许多应用中起着重要作用,例如需要精确编解码能力的压缩或图像处理。对于这些任务,传统的依赖于MSE或L1损失函数的自编码器表现不佳,并且产生模糊的结果。更先进的自编码器结合了感知损失和对抗损失,例如VQGAN,或者依赖于潜在变量的层次结构,例如NVAE , VQ-VAE2。我们的扩散自编码器是一种替代设计,它产生具有意义和紧凑的语义子码的合理大小的潜在代码,并与最先进的自编码器竞争。关键是我们的两级编码,它将不可压缩的随机细节的重建委托给我们的条件DDIM。

在这里插入图片描述

在表1中,我们评估了1)我们的扩散自编码器,2)DDIM, 3)预训练的StyleGAN2(通过两种类型的反演),4)VQ-GAN , 5) VQ-VAE2 , 6) NVAE的重建质量。DDIM和我们的算法都是在130M张图像上进行训练,并使用T=100进行解码。所有这些模型都在FFHQ上进行了训练,并在来自CelebA-HQ的30k张图像上进行了测试。对于我们的方法和DDIM,我们编码了尺寸为128×128的缩小测试图像,并将它们解码回来。对于其他的,我们在256×256上使用公开可用的预训练网络,并在比较之前将结果缩小到相同的128×128。对于StyleGAN2,我们在测试图像的W和W+空间进行反演,并使用优化后的编码进行重构。评估指标为SSIM(↑)、LPIPS(↓)和MSE。NVAE获得了最低的LPIPS和MSE得分,尽管它需要比其他方法大几个数量级的潜在维度。除了NVAE之外,我们的扩散自编码器在所有指标上都优于其他模型,并且在T =100步时只需要T=20步就可以超过DDIM。
在这里插入图片描述

此外,我们进行了消蚀研究,以研究1)仅从输入编码 z s e m z_{sem} zsem,但从N (0, I)采样 x T x_T xT进行解码时的重建质量(表2.a),以及2)为了方便起见,将 z s e m z_{sem} zsem的维度从64改变到512(表2.b-e)对使用48M图像训练的自编码器的影响。所有配置(a)-e)都产生真实的结果,但在保真度上有所不同,其中潜在维数越高越好。对于配置a)使用512D z s e m z_{sem} zsem,即使 x T x_T xT是随机的,重构仍然在感知上接近LPIPS测量的输入图像。我们使用小64D z s e m z_{sem} zsem的重构已经与512D潜在空间中的StyleGAN2反演相当,这表明我们的扩散自编码器精通压缩。

5.5 更快的采样过程

使用来自 z s e m z_{sem} zsem的语义信息调节去噪过程的一个有用的好处是生成更快。dpm需要许多生成步骤的一个主要原因是,当T足够大(~ 1000)时,dpm只能使用高斯分布来近似p(xt−1|xt)。最近提高采样速度的尝试集中在寻找更好的采样间隔或噪声调度,或者使用更有效的求解器来求解基于分数的ODE。我们的扩散自编码器并不旨在直接解决这个问题,也不能在与无法访问目标样本的生成模型相同的上下文中进行比较。考虑一个场景,其中 x 0 x_0 x0是去噪网络已知的。噪声预测任务将变得微不足道,并且无论时间步长多少, q ( x t − 1 ∣ x t , x 0 ) q(x_{t−1}|x_{t}, x_0) q(xt1xt,x0)都是高斯分布。由于我们的扩散自编码器对分布 p ( x t − 1 ∣ x t , z s e m ) p(x_{t−1}|x_t, z_{sem}) p(xt1xt,zsem)建模,因此当 z s e m z_{sem} zsem捕获了大量关于 x 0 x_0 x0的信息时, p ( x t − 1 ∣ x t , z s e m ) p(x_{t−1}|x_t, z_{sem}) p(xt1xt,zsem) p ( x t − 1 ∣ x t ) p(x_{t−1}|x_t) p(xt1xt)更接近 q ( x t − 1 ∣ x t , x 0 ) q(x_{t−1}|x_t, x_0) q(xt1xt,x0)。图6显示,扩散自编码器能够以比DDIM更少的步骤更准确地预测 x 0 x_0 x0,并且在表4中具有相同时间步长T的四个不同数据集上产生更好的图像质量。

在这里插入图片描述

5.6 潜在DDIM记得它的输入吗?

为了验证我们的扩散自编码器和潜在DDIM是否可以生成新的样本,而不是简单地记住输入,我们生成图像样本,并将它们与训练集中最近的临近进行比较(图9)。为了找到最近的临近,我们使用了三个不同的指标:1)图像空间中的最低LPIPS, 2)图像空间中的最低MSE, 3)语义子空间( z s e m z_{sem} zsem)中的最低MSE。我们发现我们的自动编码器可以从训练集生成完全不同的图像,这表明没有记忆问题。对于顶部的每个采样图像,我们根据LPIPS、图像空间中的MSE和语义子码zsem空间中的MSE从训练集中找到最接近的图像。采样图像与任何训练图像都不太相似,这表明我们的潜在DDIM并没有记住输入样本。

在这里插入图片描述

5.7 随机子码中编码了什么?

图10显示了在给定相同 z s e m z_{sem} zsem的情况下,由不同的 x T x_T xT引起的随机变化。我们还计算了这些变化的均值和标准差。所有生成的图像看起来都很逼真, x T x_T xT只改变了一些小细节,比如头发图案,同时保持整体结构不变。
在这里插入图片描述

6. 限制和讨论

在对训练分布之外的图像进行编码时,由于DDIM的高维随机子码,我们的扩散自编码器仍然可以很好地重建图像。然而,推断的语义子码和随机子码都可能落在学习分布之外,导致不能再解释或内插的不良表示。虽然我们选择使用非空间潜码适合学习全局语义,但某些图像和空间推理任务可能需要更精确的局部潜变量。对于这些任务,结合二维潜在地图可能是有益的。

对于图像生成,StyleGAN的一个独特功能是我们的扩散自动编码器所缺乏的,即控制特定比例生成的能力。在生成速度方面,我们的框架大大减少了从DDIM中获得高质量样本所需的时间步长,但仍然缺乏gan,后者只需要单个生成器通过即可生成图像。

总之,我们提出了扩散自编码器,它可以从输入图像中分别推断语义和随机信息。与dms和高保真自编码器(如NVAE)相比,我们的潜在表示允许近乎精确的解码,同时包含对下游任务很有用的紧凑语义。这些属性使各种实时图像编辑任务的简单解决方案不需要gan及其容易出错的反演。我们的框架还提高了去噪效率,并保留了dpm的竞争性无条件采样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143304.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

引入嵌入和向量搜索时的三个错误

将非结构化数据表示为嵌入向量以及使用向量搜索进行基于嵌入的检索 (embedding-based retrieval - EBR) 比以往任何时候都更加流行。 嵌入到底是什么? Roy Keyes 在《嵌入的最短定义?》中对此进行了很好的解释。 嵌入是学习的转换,使数据更有…

React redux更新数据的诡异特征==》彻底掌握redux更新state机制的精髓

此文章是跟随我上一篇文章《Redux Toolkit中action派发但state值不更新的原因》写的。 本来一切都搞定了,此时我突发奇想: 如果让api服务端不发送包含x-pagination的header信息,web端会不会报错。因为按照web端 redux原有的逻辑:…

ubuntu与win之间共享文件夹

ubuntu上设置共享文件夹 第一步:点击【设置】或【虚拟机弹窗下面的【设置】选项】 第二步:进入【虚拟机设置】页面,点击【选项】如下图所示 第三步:启用共享文件:点击【总是启用】第四步:添加共享文件&…

【深度学习】RNN循环神经网络和LSTM深度学习模型

1. 循环神经网络 RNN( Recurrent Neural Network) 循环神经网络的一个核心是可以把前面的序列数据用到后面的结果预测里面。怎么样实现这一点呢。RNN 结构如下图所示。 前部序列的信息经处理后,作为输入信息传递到后部序列。 数学模型&…

机器学习第十三课--主成分分析PCA

一.高维数据 除了图片、文本数据,我们在实际工作中也会面临更多高维的数据。比如在评分卡模型构建过程中,我们通常会试着衍生出很多的特征,最后就得到上千维、甚至上完维特征;在广告点击率预测应用中,拥有几个亿特征也是常见的事…

使用U3D、pico开发VR(一)——将unity的场景在设备中呈现

最近srtp项目在赶进度,自己之前是在电脑端进行的开发。但是项目是VR端,因此需要重新学习,在此记录一下自己的学习经历。 首先,如何将unity的场景在自己的眼镜中进行呈现呢? 对此,我也找了很多教程&#xff…

Ubuntu 安装Kafka

在本指南中,我们将逐步演示如何在 Ubuntu 22.04 上安装 Apache Kafka。 在大数据中,数以百万计的数据源生成了大量的数据记录流,这些数据源包括社交媒体平台、企业系统、移动应用程序和物联网设备等。如此庞大的数据带来的主要挑战有两个方面…

软件架构的演化和维护

软件架构的演化和维护 定义 定义 顶不住了,刷题去了,不搞这个了,想吐。。。

GLTF编辑器也可以转换GLB模型

1、GLB模型介绍 GLB(GLTF Binary)是一种用于表示三维模型和场景的文件格式。GLTF是"GL Transmission Format"的缩写,是一种开放的、跨平台的标准,旨在在各种3D图形应用程序和引擎之间进行交换和共享。 GLB文件是GLTF文件…

目标检测:Edge Based Oriented Object Detection

论文作者:Jianghu Shen,Xiaojun Wu 作者单位:Harbin Institute of Technology Shenzhen 论文链接:http://arxiv.org/abs/2309.08265v1 内容简介: 1)方向:遥感领域中的目标检测技术 2)应用&…

云原生Kubernetes:K8S存储卷

目录 一、理论 1.存储卷 2.emptyDir 存储卷 3.hostPath卷 4.NFS共享存储 5.PVC 和 PV 6.静态创建PV 7.动态创建PV 二、实验 1.emptyDir 存储卷 2.hostPath卷 3.NFS共享存储 4.静态创建PV 5.动态创建PV 三、问题 1.生成pod一直pending 2.shoumount -e未显示共享…

编译vtk源码

vtk和opengl关系 VTK(Visualization Toolkit)和OpenGL(Open Graphics Library)都是用于图形可视化和渲染的重要工具,但它们在图形编程中的角色和关系略有不同。 OpenGL: OpenGL是一种开放的图形库和API&a…

十六,镜面IBL--预滤波环境贴图

又到了开心的公式时刻了。 先看看渲染方程 现在关注第二部分,镜面反射。 其中 这里很棘手,与输入wi和输出w0都有关系,所以,再近似 其中第一部分,就是预滤波环境贴图,形式上与前面的辐照度图很相似&#…

uni-app:实现页面效果2(canvas绘制,根据页面宽度调整元素位置)

效果 代码 <template><view><!-- 车搭配指示器-双显 --><view class"content_position"><view class"content"><view class"SN"><view class"SN_title">设备1</view><view class…

【考研数学】概率论与数理统计 —— 第三章 | 二维随机变量及其分布(3,二维随机变量函数的分布)

文章目录 七、二维随机变量函数的分布7.1 二维随机变量函数分布的基本情形 ( X , Y ) (X,Y) (X,Y) 为二维离散型随机变量 ( X , Y ) (X,Y) (X,Y) 为二维连续型随机变量 X X X 为离散型变量&#xff0c; Y Y Y 为连续型变量 7.2 常见二维随机变量的函数及其分布 Z min ⁡ { X ,…

【IDEA】idea恢复pom.xml文件显示灰色并带有删除线

通过idea打开spring boot项目后&#xff0c;发现每个服务中的pom.xml文件显示灰色并带有删除线&#xff0c;下面为解决方案 问题截图 解决方案 打开file——settings——build,execution,deployment——Ignored Files&#xff0c;把pom.xml前面的复选框去掉&#xff0c;去掉之…

虹科分享 | 网络保险:有效承保网络风险解决方案

文章来源&#xff1a;虹科网络安全 点击阅读原文&#xff1a;https://mp.weixin.qq.com/s/myCFPYtVVz5TPSFQaKqvLg 网络风险似乎往往很难量化&#xff0c;这使得保险公司很难适当地承保其网络风险政策。威胁载体的数量和不断发展的威胁&#xff0c;如新型恶意软件/勒索软件&…

PSINS工具箱学习(二)姿态的表示:姿态阵、四元数、欧拉角、等效旋转矢量的概念和转换

原始 Markdown文档、Visio流程图、XMind思维导图见&#xff1a;https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 一、基础概念1、坐标系定义1. 惯性坐标系&#xff08; i 系 &#xff09;2. 地心地固坐标系&#xff08; e 系 )3. 导航坐标系&#xff08; n 系&…

Nginx WEB访问与Linux授权约束

看到所有文件的权限都是没有的&#xff0c;即便所有的权限都没有即使nginx做了配置&#xff0c;这些都是正确的。那么在浏览器真正去访问的时候是不能访问的。 [rootjenkins html]# ls -l total 4 drwxr-xr-x 2 root root 23 Sep 16 17:43 dist ---------- 1 root root 33 Sep …

【算法练习Day7】反转字符串替换空格反转字符串中的单词左旋转字符串

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 反转字符串反转字符串 I…