之前发了一篇 tensorflow stable diffusion的 ~~   现在来第二弹

  • 扩散模型(DMs)将生成过程顺序分解,基于去噪自动编码器实现,在图像数据和其它数据上实现了先进的生成结果。此外,它们可以添加引导机制来控制图像生成过程而无需再训练。
  • 然而,由于这些模型直接在像素空间中操作,优化扩散模型DM消耗数百个GPU天,且由于一步一步顺序计算,推理非常昂贵。为在有限的计算资源上进行DM训练,同时保持其质量和灵活性,本文应用了预训练自动编码器的潜在空间。与之前的工作相比,在这种表示上训练扩散模型,可以在复杂性降低和细节保留之间达到一个接近最优的点,极大地提高了视觉保真度。
  • 通过在模型引入交叉注意层,将扩散模型转化为强大而灵活的生成器,用于文本或边界框等一般条件反射输入,并以卷积方式实现高分辨率合成。所提出的潜在扩散模型(ldm)在图像嵌入和类条件图像生成方面取得了最新的评估得分,在各种任务上具有很强的竞争力,包括文本到图像合成、无条件图像生成和超分辨率,同时与基于像素的DMs相比,显著减少了计算需求。
  • 图像生成是计算机视觉领域近年来发展最迅猛的领域之一,但计算需求也很大。特别是复杂的自然场景的高分辨率合成,目前主要由基于似然的大模型主导,在自回归(AR)transformers中可能包含数十亿个参数。此外,GANs的良好结果可能局限于变异性相对有限的数据,因为对抗学习不容易扩展到建模复杂的多模态分布。最近,去噪自动编码器层次结构构建的扩散模型也取得了令人印象深刻的成果。与其他类型的生成模型相比,即使是无条件的DMs也很容易地应用于诸如inpainting和colorization或基于笔画的合成等任务。它们不像GANs那样表现出模式崩溃和训练不稳定性。
  • DMs属于基于似然的模型类,易在建模数据的不可感知细节上花费过多的容量(以及计算资源)。例如,训练最强大的dm通常需要数百个GPU天。这对研究界和一般用户有两个后果:首先,训练这样的模型需要大量的计算资源,只有一小部分领域可用。其次,评估一个已经训练好的模型在时间和内存上也很昂贵,因为相同的模型体系结构必须对大量步骤依次运行。为了推广这个强大的模型,减少其显著的资源消耗,需要减少训练和采样的计算复杂性。因此,在不损害DMs性能的情况下减少计算需求关键。
  • 本文(https://arxiv.org/pdf/2112.10752.pdf)将训练分为两个不同的阶段:首先,训练一个自动编码器,它提供一个在感知上与数据空间等价的低维(因此是有效的)表示空间。重要的是,因为在学习得到的潜在空间中训练dm。这种方法称为“潜扩散模型(Latent Diffusion Models,ldm)”。
  • 本文方法的一个优势是,只需训练一次通用的自动编码阶段,就可以用于多次DM训练或探索可能完全不同的任务,比如各种图像到图像、文本到图像任务。对于后者,设计了一个将transformers连接到DM的UNet骨干的结构,并支持任意类型的基于token的条件机制。总之,工作有以下几点贡献:
  • (1)与纯粹基于transformer的方法相比,本文方法更适合高维数据;还可以高效地应用于百万像素图像的高分辨率合成。
  • (2)显著降低计算成本,在多个任务(无条件图像合成、inpainting、超分辨率)和数据集上实现了具有竞争力的性能。与基于像素的扩散方法相比,显著降低了推理成本。
  • (3)与之前的工作(同时学习编码器/解码器架构和score-based的先验)相比,方法不需要对重构和生成能力进行精确的权衡。这确保了仅需非常少的潜空间正则化下,即可有较合理的重建效果。
  • (4)对于超分辨率、图像修复和语义合成等条件密集输入型的任务,模型能以卷积的方式应用,并输出高达1024分辨率的图像。
  • (5)基于交叉注意力的通用条件机制,实现了多模态训练。用它来训练类条件模型、文本到图像模型和布局到图像模型。
  • (6)最后,提供预训练模型:https://github.com/CompVis/latent-diffusion

    方法

  • 为了降低训练扩散模型对高分辨率图像合成的计算需求,注意到,尽管扩散模型允许通过对相应损失项进行过采样而忽略感知上不相关的细节,但它们仍需要在像素空间中进行代价高昂的函数评估,导致计算时间和能量资源的巨大需求。
  • 为了实现这一目标,使用一个自动编码模型,其学习的空间在感知上与图像空间等效,但显著降低了计算复杂度。这种方法有几个优点:(1)通过离开高维图像空间,得到的dm计算效率更高,因为采样是在低维空间上执行的。(2)利用了继承自其UNet结构的dm的归纳偏差,这使得它们对具有空间结构的数据特别有效;(3)最后,得到了通用压缩模型,其潜在空间可用于训练多个生成模型,也可用于其它下游应用,如单幅图像clip引导合成。
  • stable diffusion2_数据

图像的感知压缩编码

  • 本文的感知压缩编码模型基于之前的工作,由一个通过结合感知损失和基于patch GAN对抗训练的自动编码器组成。这确保了局部的真实感,并依赖像素空间损失(如L2或L1目标)所带来的模糊。给定RGB空间中的图像,编码器将x编码为潜在表示,解码器D从潜在表示中重建图像,给出,其中。
  • 编码器通过因子f=H/h=W/w对图像进行下采样,本文也研究了不同的下采样因子f的效果。
  • 为避免过于任意自由的高方差潜空间,用两种不同的正则化进行了实验。第一个是KL-reg,对学习到潜空间的正太分布施加轻微的kl惩罚,类似于VAE;另一种VQ-reg(见VQGAN)。
  • 因为后续DM用于处理学习到的潜在空间z = E(x)的二维结构,所以使用相对“温和”折中的压缩率并实现非常好的重构。这与之前的方法形成对比,它们依赖于学习到的空间z的任意1D顺序来对其分布进行自回归建模,而忽略了z的大部分固有结构。因此,本文压缩编码可以更好保留x的细节。

扩散模型

stable diffusion2_人工智能_02

  • 即可以理解为,扩散模型的训练目标是,希望预测的噪声和真实噪声一致

潜在扩散模型

  • 通过训练过的由E和D组成的感知压缩模型,现在有了一个高效的、低维的潜在空间,其中高频的、难以察觉的细节被抽象出来。与高维像素空间相比,该空间更适合likelihood-based的生成模型,因为它们现在可以(1)专注于数据的重要语义,(2)在低维、计算效率更高的空间中进行训练。
  • 与以前的工作不同的是,在高度压缩的离散潜在空间中,它们依赖自回归的、基于注意力的transformer模型,这里利用模型提供的特定于图像的归纳偏差,UNet从二维卷积层构建和学习,进一步集中在感知上最相关的学习上:

条件机制

stable diffusion2_深度学习_03

stable diffusion2_深度学习_04

实验

效率与效果的权衡

  • 分析不同下采样因子f∈{1,2,4,8,16,32}(简称LDM-f,其中LDM-1对应基于像素的DMs)的效果。为了获得一个可比较的测试结果,固定在一个NVIDIA A100上实验,并用相同数量的步骤和参数训练模型。结果表明,         
  • LDM-{1,2}这样的小下采样因子,训练缓慢,因为它将大部分感知压缩留给扩散模型;而ii) f值过大,导致在相对较少的训练步骤后保真度停滞不前,原因在第一阶段压缩过多,导致信息丢失,从而限制了可达到的质量。
  • LDM-{4-16}在效率和感知结果之间取得了较好的平衡。LDM-{4-8}与基于像素的LDM-1相比,它们实现了更低的FID得分,同时显著提高了样本吞吐量。像ImageNet这样的复杂数据集,需要降低压缩率以避免降低质量。总之,LDM-4和-8提供了较高质量的合成结果。

无条件式生成

  • 在CelebA-HQ、FFHQ、lsun-church和-Bedrooms上训练256分辨率图像的无条件模型,并评估FID、Precision和Recall。表1总结了结果。
  • stable diffusion2_人工智能_05

条件式生成

  • 通过在ldm中引入基于交叉注意力的条件机制,为ldm打开了以前在扩散模型中未探索的各种条件模式引导的生成任务。
  • 文本到图像任务。训练一个1.45B参数kl正则化的LDM,条件输入是LAION-400M上的文本prompt。使用BERT-tokenizer并实现τθ作为transformer来推断潜码,通过(多头)交叉注意映射到UNet。学习语言表示和视觉合成的领域特定知识,这种结合产生了一个强大的模型,可以很好地推广到复杂的、用户定义的文本。
  • 布局到图像任务。注意到,应用classifier-free diffusion guidance大大提高了样本质量。为了进一步分析基于交叉注意力的条件机制的灵活性,还训练模型在OpenImages上基于语义布局合成图像的任务,在COCO上基于finetune合成图像。
  • 图像到图像任务。本文还用它来进行语义合成、超分辨率和修复等任务。为了进行语义合成,使用景观(landscapes)图像与配对的语义标签数据集,在256分辨率(384分辨率裁剪来)的输入尺寸上进行训练。实际上,模型可以泛化到更大的分辨率,并且当以卷积方式计算时,可以生成高达百万像素的图像。基于此,应用到超分辨率模型和图像修复模型,生成512到1024间的大分辨率图像。

stable diffusion2_计算机视觉_06

总结

  • 虽然与基于像素的方法相比,ldm显著减少了计算需求,但其顺序采样过程仍比GANs慢。
  • 此外,当需要高精度时,ldm的使用可能是值得怀疑的:尽管在 f = 4自动编码模型中,图像质量的损失非常小,但它们的重建能力可能成为像素空间中需要细粒度精度的任务瓶颈。
  • 对图像等媒体的生成是一把双刃剑:一方面,它们支持各种创造性的应用,降低了训练和推断的成本,有可能促进这种技术的使用。另一方面,这也意味着创建和传播篡改数据或错误信息、垃圾邮件等变得更加容易。特别是,故意篡改图片(“deepfakes”)是这一背景下的一个普遍问题。
  • 当训练数据包含敏感或个人信息,且未经明确同意收集时,也值得关注。此外,深度学习模块往往会重现或加剧数据中已经存在的偏见。
  • 虽然扩散模型比基于gan的方法能更好地拟合数据分布,但本文结合了对抗训练和likelihood-based的目标的两阶段方法在多大程度上错误地表示了数据,这仍是一个重要的研究问题。
  • 总结而言,本文提出一种简单有效的潜在扩散模型,在不降低扩散模型质量的前提下,显著提高了训练效率和采样效率。基于这一点和交叉注意力机制,可以在条件图像生成任务中,表现出较先进方法更好的效果。