Latent Diffusion 论文笔记

Latent Diffusion 论文笔记

论文:

High-Resolution Image Synthesis with Latent Diffusion Models

https://arxiv.org/abs/2112.10752

https://github.com/CompVis/latent-diffusion

模型结构

在这里插入图片描述

简单来说,就是先用一个编码器 E \mathcal{E} E 把图片压缩到隐空间( H × W × 3 → h × w × c H\times W\times3\to h\times w\times c H×W×3h×w×c ),然后让 Diffusion 模型 ϵ θ \epsilon_\theta ϵθ 在压缩后的特征上工作,最后用解码器 D \mathcal{D} D 还原成一个图片。

训练分成两个阶段,先训练自编码器,再训练 Diffusion 。

训练自编码器的时候用 LPIPS 做约束。

自编码器实际上是 VQ-VAE ,只是 VQ 层放到了解码器里。也就是说, Diffusion 阶段操作的是 VQ 前的隐空间特征。

根据论文的描述,编码器和解码器应该是卷积结构,没有注意力层的,只有 UNet 里面有注意力层。

可以看到 diffusion 的这部分使用了 UNet 架构,并且结合了 cross-attention

他提到 ϵ θ \epsilon_\theta ϵθ 中的 cross-attention 层的 K 和 V 是由 τ θ \tau_\theta τθ 产生的,Q 是由 z T z_T zT 产生的

训练时 ϵ θ \epsilon_\theta ϵθ τ θ \tau_\theta τθ 是联合学习的

基于感知损失的图像压缩

压缩就是一个编码器一个解码器,编码器把图像映射到隐空间的特征,解码器把特征映射为图像

注意图像是 H × W × 3 H\times W\times3 H×W×3 的,特征是 h × w × c h\times w\times c h×w×c

我们的感知压缩模型是基于以前的工作,包括一个由感知损失和基于补丁的对抗性目标组合训练的自动编码器。

他的感知损失就是指 LPIPS
patch-based 应该是指 PatchGAN 对抗损失吧。

也就是说,自编码器用了两个损失,一个是LPIPS感知损失,一个是 patch-based 对抗损失。

两阶段图像合成

两阶段应该指的就是,压缩性学习和生成性学习分开。

他们尝试了两种对隐空间的约束,一种是用 KL 散度约束到正态分布(就和 VAE 一样),一种是 VQ 方法(和VQ-GAN 一样,只是量化层放到了 decoder 里)

他们发现使用 VQ 方法更好

应该就是说,他们的编码器和解码器之间用了一个 VQ 层

他提到,自回归需要较大的运算量,由此会导致特征空间维数必须较少,由此会导致编码器和解码器需要更多的参数去拟合先验(数十亿参数)

为了减少运算量,同时减少特征对原图像的压缩率(也就是增加特征维数),他们的自编码器使用卷积作为backbone

优化目标

自编码器的优化:

似乎就是用 LPIPS 用来衡量重建损失,以此训练一个带 VQ 层的自编码器。

Diffusion 模型的优化目标:

L L D M : = E E ( x ) , y , ϵ ∼ N ( 0 , 1 ) , t [ ∥ ϵ − ϵ θ ( z t , t , τ θ ( y ) ) ∥ 2 2 ] L_{LDM} := \mathbb{E} _{\mathcal{E}(x),y,\epsilon∼\mathcal{N}(0,1),t} \left[\left \| \epsilon − \epsilon_\theta(z_t, t, \tau_\theta(y)) \right\|^2_2\right] LLDM:=EE(x),y,ϵN(0,1),t[ϵϵθ(zt,t,τθ(y))22]

看起来和原版的 Diffusion Model 挺像的,只是多了个 τ θ \tau_\theta τθ 函数。

注意 ϵ θ \epsilon_\theta ϵθ 是工作在隐空间中的,这意味着 z t z_t zt 是隐空间中的特征, ϵ θ \epsilon_\theta ϵθ 的输出也是隐空间中的特征,训练也是在隐空间中发生的。

其中 τ θ \tau_\theta τθ 是一个转换器,将(多模态的)监督信号 y y y 转换为隐空间中的监督信号,是一个需要学习的模型。根据不同模态的 y y y 可以设计不同的 τ θ \tau_\theta τθ

训练时 ϵ θ \epsilon_\theta ϵθ τ θ \tau_\theta τθ 是联合学习的

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
latent diffusion 是一种用于生成图像的生成模型。基于经典的生成对抗网络 (GAN) 模型,latent diffusion 能够通过对噪声向量施加不同的扩散方法来逐步生成高质量的图像。 在 latent diffusion 模型中,首先需要准备一个特定的噪声向量,通常使用高斯分布进行初始化。然后,通过对噪声向量进行多次迭代处理,每次迭代都会将噪声向量进行扩散,逐渐生成图像的细节。 具体来说,latent diffusion 通过应用扩散过程中的反复采样步骤来迭代处理噪声向量。在每个迭代中,模型会计算噪声向量的梯度,并在生成器网络中应用该梯度来更新噪声向量。这种反复迭代的过程可以产生更细腻、真实的图像。 latent diffusion 不同于传统的 GAN 模型,它不需要专门的训练集。相反,它仅通过调整噪声向量来生成图像。因此,latent diffusion 可以用于无监督的图像生成任务,也可以用于生成与训练集不同类别的图像。 latent diffusion 的优点是生成图像质量高且细节丰富。它还具有较高的灵活性,可以生成各种不同类别的图像。由于不需要训练集,latent diffusion 也可以用于生成个性化的图像。然而,latent diffusion 也存在一些挑战,如计算复杂度较高和生成时间较长等。 综上所述,latent diffusion 是一种基于迭代扩散的生成模型,通过调整噪声向量来生成高质量、个性化的图像。它在无监督图像生成任务中有广泛应用,并具有较高的灵活性和生成质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值