深入浅出stable diffusion:AI作画技术背后的潜在扩散模型论文解读

本文略长,需一定耐心看完!不当处望指出。

前言

  • 扩散模型(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引导合成。

12ec0579040d8d01ca8d5cd1ba1ef5df.png

图像的感知压缩编码

  • 本文的感知压缩编码模型基于之前的工作,由一个通过结合感知损失和基于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的细节。

扩散模型

  • 扩散模型是一种概率模型,通过逐步去噪一个正态分布变量来学习数据分布p(x),对应于学习长度为t的固定马尔可夫链的反向过程。模型可以通过训练去噪自编码器来实现(T = 1…T),它们被训练来预测其输入的去噪变体,而是输入的噪声版本,其训练函数:

  • 扩散模型原理方面,包括:前向的加噪和逆向的去噪;

  • 前向的加噪:给定初始数据(比如图像),一步一步加噪得到、、···、、、···、,最后的完全是一个正太分布噪音数据。其中,每一步的加噪,不妨记为 分布表示;对应地,实际的去噪分布记为 ;

  • 逆向的去噪(生成):一步一步去噪,得到、···、、、···、、,不妨记为 分布表示;

  • 事实上,扩散模型的训练就是用网络(待学习参数为)预测所加的噪音变量分布。用KL散度衡量实际的去噪分布 和由网络学习的去噪分布:即。经一系列推导化简、等价为 。这里的是高斯噪声,预测网络以含噪图片作为输入,预测所添加的噪声。

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

潜在扩散模型

  • 通过训练过的由E和D组成的感知压缩模型,现在有了一个高效的、低维的潜在空间,其中高频的、难以察觉的细节被抽象出来。与高维像素空间相比,该空间更适合likelihood-based的生成模型,因为它们现在可以(1)专注于数据的重要语义,(2)在低维、计算效率更高的空间中进行训练。

  • 与以前的工作不同的是,在高度压缩的离散潜在空间中,它们依赖自回归的、基于注意力的transformer模型,这里利用模型提供的特定于图像的归纳偏差,UNet从二维卷积层构建和学习,进一步集中在感知上最相关的学习上:

  • 模型主干◦被实现为一个时间条件UNet。由于前向过程是固定的,所以在训练时可以有效地从E中获取。而从p(z)中采样的样本经过解码器D一次就可以解码到图像空间。

条件机制

  • 与其它类型的生成模型相似,扩散模型原则上能够建模形式为p(z|y)的条件分布。这可以通过条件去噪自动编码器实现,通过输入y控制合成过程,例如文本、语义标签或其他图像到图像的转换任务。然而,在图像生成的背景下,将DMs的生成能力与类标签或输入图像的模糊变体之外的其它类型条件结合在一起,是一个尚未探索的领域。

  • 通过使用交叉注意机制(cross-attention mechanism)来增强DMs的UNet主干,从而使其成为更灵活的条件图像生成器,该机制对于学习各种输入模式非常有效。预处理y从各种形式(如文本提示),引入一个领域特定编码器,将y映射到中间表示,再通过cross-attention层映射到UNet中间层实现关注:

  • Attention

  • 综上,基于图像-条件对的数据训练ldm,训练函数为:

2ae67ad160411672ebd450ee42f4777f.png

实验

效率与效果的权衡

  • 分析不同下采样因子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总结了结果。

c15ab4f3e02ff21f910c1d228ca5725c.png

条件式生成

  • 通过在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间的大分辨率图像。

5ce27f73745b955506c72804f4aa7d6e.png

总结

  • 虽然与基于像素的方法相比,ldm显著减少了计算需求,但其顺序采样过程仍比GANs慢。

  • 此外,当需要高精度时,ldm的使用可能是值得怀疑的:尽管在 f = 4自动编码模型中,图像质量的损失非常小,但它们的重建能力可能成为像素空间中需要细粒度精度的任务瓶颈。

  • 对图像等媒体的生成是一把双刃剑:一方面,它们支持各种创造性的应用,降低了训练和推断的成本,有可能促进这种技术的使用。另一方面,这也意味着创建和传播篡改数据或错误信息、垃圾邮件等变得更加容易。特别是,故意篡改图片(“deepfakes”)是这一背景下的一个普遍问题。

  • 当训练数据包含敏感或个人信息,且未经明确同意收集时,也值得关注。此外,深度学习模块往往会重现或加剧数据中已经存在的偏见。

  • 虽然扩散模型比基于gan的方法能更好地拟合数据分布,但本文结合了对抗训练和likelihood-based的目标的两阶段方法在多大程度上错误地表示了数据,这仍是一个重要的研究问题。

  • 总结而言,本文提出一种简单有效的潜在扩散模型,在不降低扩散模型质量的前提下,显著提高了训练效率和采样效率。基于这一点和交叉注意力机制,可以在条件图像生成任务中,表现出较先进方法更好的效果。

猜您喜欢:

228094ae67b22e7e172429979a2a0134.png 戳我,查看GAN的系列专辑~!

一顿午饭外卖,成为CV视觉的前沿弄潮儿!

最新最全100篇汇总!生成扩散模型Diffusion Models

ECCV2022 | 生成对抗网络GAN部分论文汇总

CVPR 2022 | 25+方向、最新50篇GAN论文

 ICCV 2021 | 35个主题GAN论文汇总

超110篇!CVPR 2021最全GAN论文梳理

超100篇!CVPR 2020最全GAN论文梳理

拆解组新的GAN:解耦表征MixNMatch

StarGAN第2版:多域多样性图像生成

附下载 | 《可解释的机器学习》中文版

附下载 |《TensorFlow 2.0 深度学习算法实战》

附下载 |《计算机视觉中的数学方法》分享

《基于深度学习的表面缺陷检测方法综述》

《零样本图像分类综述: 十年进展》

《基于深度神经网络的少样本学习综述》

     

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用稳定扩散算法(stable diffusion)训练自己专属的人像模型是一项基于AI技术的创新工作。下面是一些步骤,帮助你了解如何训练该模型。 首先,你需要准备一个包含大量人像图片的数据集。这个数据集可以包括各种类型的人像,以确保模型的泛化能力。确保图像质量高,具有足够的多样性是非常重要的。 接下来,你需要使用稳定扩散算法来训练模型。这种算法能够有效地处理图像数据,并生成高质量的人像。你可以使用深度学习框架,如PyTorch或TensorFlow来实现这个算法。根据你的需求和喜好,可以选择已经存在的模型架构,如U-Net等,也可以根据自己的特定要求设计新的架构。 训练过程中,你需要进行数据预处理、模型训练和模型优化等步骤。数据预处理包括图像裁剪、缩放和增强等操作,以提高模型的准确性和鲁棒性。模型训练阶段可以使用已标注的数据进行有监督训练,也可以采用无监督或半监督方法。模型优化则包括调整超参数、正则化和使用合适的损失函数等。 在训练完成后,你可以使用你的专属人像模型进行图像生成或编辑。该模型可以通过输入一张未经过加工的人像图像,生成具有艺术性的、更具个性的人像。你可以通过在模型的输入中添加一些约束,如风格引导或语义控制,来进一步控制图像的生成过程。 总的来说,使用稳定扩散训练自己的专属人像模型需要一定的深度学习计算机视觉知识。但它为用户提供了一种独特而个性化的数字艺术创作体验。通过不断地学习和实践,你可以进一步完善和改进你的模型,以实现更加出色和逼真的人像生成效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值