超越DALL·E!| OpenAI 年度最新力作 GLIDE:新生代文本引导扩散模型

本文首发于微信公众号 CVHub,不得以任何形式转载到其它平台,仅供学习交流,违者必究!

Title: GLIDE: Towards Photorealistic Image Generation and Editing with
Text-Guided Diffusion Models

Author: Alex Nichol et al. (OpenAI)

Paper: https://arxiv.org/pdf/2112.10741.pdf

Github: https://github.com/openai/glide-text2im

摘要

扩散模型最近被证明可以生成高质量的合成图像,尤其是当与引导技术结合使用以牺牲多样性来换取保真度时。 本文探索了文本条件图像合成问题的扩散模型,并比较了两种不同的指导策略:CLIP 指导无分类器指导。作者发现后者在真实感和字幕相似性方面更受人类评估者的青睐,并且通常会产生逼真的样本。来自使用无分类器指导的 35 亿参数文本条件扩散模型的样本比 DALL-E 的样本更受人类评估者的青睐,即使后者使用昂贵的 CLIP 重新排序也是如此。 此外,该模型可以进行微调以执行图像修复,从而实现强大的文本驱动图像编辑。

作者在一个经过过滤的数据集上训练了一个较小的模型,并在Github上发布了代码和权重,有兴趣的同学可以赶紧去尝尝鲜。

引言

插图、绘画和照片等图像通常可以很容易地用文字描述,但可能需要专门的技能和大量的劳动来创建。因此,一种能够从自然语言生成逼真图像的工具可以使人类以前所未有的轻松方式创建丰富多样的视觉内容。使用自然语言编辑图像的能力进一步允许迭代细化和细粒度控制,这两者对于现实世界的应用程序都是至关重要的。

最近的文本条件图像模型能够从自由形式的文本提示中合成图像,并且能够以语义上合理的方式组合不相关的对象。然而,他们还不能生成真实感图像来捕获相应文本提示的所有方面。

另一方面,无条件图像模型可以合成逼真的图像,有时具有足够的保真度,以至于人类无法将它们与真实图像区分开来。 在这一系列研究中,扩散模型已成为一个有前途的生成模型家族,在许多图像生成中实现了最先进的样本质量和基准。

为了在类条件设置中实现照片级真实感,Dhariwal 和 Nichol 使用分类器引导增强了扩散模型,这是一种允许扩散模型以分类器标签为条件的技术。分类器首先在噪声图像上进行训练,在扩散采样过程中,来自分类器的梯度用于将样本引导至标签。 Ho & Salimans 等人则通过使用无分类器指导在没有单独训练的分类器的情况下取得了类似的结果,无分类器指导是一种在有标签和无标签的扩散模型的预测之间进行插值的指导形式。

受引导扩散模型生成逼真样本的能力和文本到图像模型处理自由形式提示的能力的启发,本文作者将引导扩散应用于文本条件图像合成问题。首先,训练了一个 35 亿参数扩散模型,该模型使用文本编码器以自然语言描述为条件。接下来,比较了两种将扩散模型引导至文本提示的技术:CLIP 引导和无分类器引导。 使用人工和自动评估,作者发现无分类器指导可产生更高质量的图像

虽然本文模型可以零样本渲染各种文本提示,但它可能难以为复杂的提示生成逼真的图像。因此,除了零样本生成之外,作者还为此模型提供了编辑功能,这允许人类迭代地改进模型样本,直到它们匹配更复杂的提示。具体来说,你可以微调该模型以执行图像修复,发现它能够使用自然语言提示对现有图像进行逼真的编辑。模型产生的编辑与周围环境的风格和照明相匹配,包括令人信服的阴影和反射。这些模型的未来应用可能会帮助人类以前所未有的速度和轻松创建引人注目的自定义图像。

可以观察到,该生成模型可以显着减少产生令人信服的虚假信息或 Deepfakes 所需的工作量。为了在帮助未来研究的同时防范这些用例,作者发布了一个较小的扩散模型和一个在过滤数据集上训练的噪声 CLIP 模型。 该系统称为 GLIDE,它代表 Guided Language to Image Diffusion for Generation and Editing。

方法

本文作者以 64 × 64 分辨率训练了一个 35 亿参数文本条件扩散模型,以及另一个 15 亿参数文本条件上采样扩散模型以将分辨率提高到 256 × 256。对于 CLIP 指导,额外还训练了一个 64 × 64 ViT-L CLIP 噪声模型。

文本条件扩散模型

本文方法是基于 ADM 模型架构,在此基础上增加了文本条件信息。即对于每个噪声图像 x t x_{t} xt 和相应的文本说明 c c c,该模型会预测条件概率 p ( x t − 1 ∣ x t , c ) p(x_{t−1}|x_{t}, c) p(xt1xt,c)。为了以文本为条件,该模型首先将其编码为 K K K 个标记序列,并将这些标记输入到 Transformer 模型中。该转换器的输出有两种使用方式:首先,使用最终标记嵌入代替 ADM 模型中的类嵌入;其次,将最后一层标记嵌入(一系列 K 个特征向量)分别投影到整个 ADM 模型中每个注意力层的维度,然后连接到每一层的注意力上下文。

本文采用与 DALL-E 相同的数据集上训练模型。同时使用与 < Diffusion models beat gans on
image synthesis >
所使用的的 ImageNet 64 × 64 模型相同的模型架构,但将模型宽度缩放到 512 个通道,从而为模型的视觉部分产生大约 23 亿个参数。对于文本编码 Transformer,作者使用 24 个宽度为 2048 的残差块,产生大约 12 亿个参数。

此外,作者还额外训练了一个 15 亿参数的上采样扩散模型,以从 64 × 64 分辨率变为 256 × 256 分辨率。该模型以与基本模型相同的方式以文本为条件,但使用宽度为 1024 而不是 2048 的较小文本编码器。否则,该架构与上面提到的的 ImageNet 上采样器相匹配,只是这里将基本的通道数增加到 384。

本模型在批量大小为 2048 时训练基本模型进行 2.5M 迭代。在批量大小为 512 时训练上采样模型进行 1.6M 迭代。最终发现这些模型以 16 位精度和传统损失缩放稳定训练,整体的训练计算量大致与 DALL-E 相当。

无分类器指导的微调

在初始训练运行后,作者微调了其基础模型以支持无条件图像生成。这个训练过程与预训练完全一样,除了 20% 的文本标记序列被替换为空序列。这样,模型保留了生成文本条件输出的能力,但也可以无条件地生成图像。

图像绘画

大多数使用扩散模型进行修复的先前工作都没有针对此任务明确训练扩散模型。特别地,扩散模型修复可以像往常一样通过从扩散模型中采样来执行,但是在每个采样步骤之后用来自 q ( x t ∣ x 0 ) q(x_{t}|x_{0}) q(xtx0) 的样本替换图像的已知区域。这样做的缺点是模型在采样过程中无法看到整个上下文(只有噪声版本),在作者的早期实验中偶尔会导致不希望出现的边缘伪影。

为了获得更好的结果,作者明确地微调他们的模型以执行修复。在微调过程中,训练样例的随机区域被擦除,其余部分作为附加条件信息与掩码通道一起馈入模型。通过修改模型架构以具有四个额外的输入通道:第二组 RGB 通道和一个 mask 通道。 在微调之前,作者将这些新通道的相应输入权重初始化为零。对于上采样模型,其总是提供完整的低分辨率图像,但只提供高分辨率图像的未遮挡区域。

带噪 CLIP 模型

为了更好地匹配前面提到的分类器引导技术,作者使用图像编码器 f ( x t , t ) f(x_{t}, t) f(xt,t) 训练噪声 CLIP 模型,该图像编码器接收噪声图像 x t x{t} xt,并且以与原始 CLIP 模型相同的目标进行训练。最终以 64 × 64 分辨率训练这些模型,使用与基本模型相同的噪声采样表。

结果

先看下其它模型的表现:

再来看先本文方法的表现:

以上结果是来自 MS-COCO 提示上的随机图像样本。对于 DALL-E,是在 0.85 temperature 下生成样本,并使用 CLIP 重新排序从 256 个样本中选择最佳样本。而对于 GLIDE,则使用尺度为 2.0 的 CLIP 指导和尺度为 3.0 的无分类器指导。注意,这里并没有为 GLIDE 执行任何 CLIP 重新排序或挑选。

当然,GLIDE 也有它本身的一些局限性,例如下面这个示例:

可以看出,虽然该模型通常可以以复杂的方式组合不同的概念,但它有时无法捕获描述非常不寻常的对象或场景的某些提示。在上图中,作者提供了这些失败案例的一些示例。作者强调,若未经优化的模型需要 15 秒才能在单个 A100 GPU 上对一张图像进行采样。这比相关 GAN 方法的采样要慢得多,后者在单个前向传递中生成图像,因此更适合用于实时应用程序。当然,这其实也是现阶段绝大多数扩散模型的通病,采样太耗时了。

写在最后

如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎添加小编微信号:cv_huber,一起探讨更多有趣的话题!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CVHub

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值