CVPR2021 | VQGAN+:Taming Transformers for High-Resolution Image Synthesis

原文标题:Taming Transformers for High-Resolution Image Synthesis

主页:Taming Transformers for High-Resolution Image Synthesis

代码:https://github.com/CompVis/taming-transformers

transformer比CNN缺少了归纳偏置和局部性,但是更具表现力,但对于长序列(高分辨率图像),在计算上是不可性的。作者就是解决这个问题:使用cnn来学习图像成分的上下文信息,利用transformer在高分辨率图像中有效地建模它们的组件。

一、问题提出

transformer倾向于学习卷积结构,因此提出了一个问题:每次训练视觉模型时,是否必须从头开始重新学习关于图像的局部结构和规律性的一切,或者能否在保持transformer的灵活性的同时有效地编码归纳图像偏差? 假设,低层次的图像结构可以通过局部连接(即卷积架构)很好地描述,而这种结构假设在更高的语义级别上不再有效。CNN不仅表现出强烈的局部偏差,而且还通过在所有位置上使用共享权重而偏向于空间不变性。如果需要对输入进行更全面的理解,那么它们就无效了

这些组合中的远程交互需要transformer结构来对其组成可视部分的分布进行建模。利用对抗来确保局部部件字典捕获感知上重要的局部结构,以减少使用transformer建模低级统计数据的需要。

由于注意机制依赖于序列中所有元素对之间的内积计算,其计算复杂度随序列长度的增加呈二次增长。虽然考虑所有元素之间的相互作用的能力是变压器有效地学习远程相互作用的原因,但这也是transformer迅速变得不可行的原因,特别是在图像上,其中序列长度本身与分辨率成二次比例。现有工作虽然能减轻这种,但是分辨率超过64像素仍然非常昂贵。

二、模型结构

高分辨率图像合成需要一个能够理解图像全局组成的模型,使其能够生成局部真实的以及全局一致的模式。因此,不是用像素来表示图像,而是将其表示为来自码本的感知丰富的图像成分的组合。

1、Learning an Effective Codebook of Image Constituents for Use in Transformers

复杂度不建立在单个像素上,而是使用学习表示的离散码本的方法,这样任何图像x∈R(H×W×3)都可以用码本项zq的空间集合表示,直接结合cnn的归纳偏差,并结合神经离散表示学习的思想,有一个Encoder和Decoder,然后就是VQVAE:

潜在空间:

重构为:

损失为:

Learning a Perceptually Rich Codebook

使用transformer将图像表示为潜在图像成分的分布,这要求突破压缩的极限并学习丰富的codebook,使用鉴别器和感知损失来在增加压缩率的情况下保持良好的感知质量。更具体地说,用感知损失L2,并引入了一种对抗训练过程,该训练过程具有基于patches的鉴别器D,旨在区分真实图像和重建图像:

最优压缩模型Q* = {E*, G*, Z*}的完整目标如下:

Lrec为感知重构损失,∇GL[·]表示其输入为解码器最后一层L的梯度,δ = 10−6用于数值稳定性。

2、Learning the Composition of Images with Transformers

Latent Transformers

有了E和G,根据它们编码的codebook索引来表示图像。图像x的量化编码由zq = q(E(x)),然后通过将每个code替换为其在码本Z中的最近邻code的索引来获得:

在s中选择某种指标排序后,图像生成可以表述为自回归下一指标预测:给定索引s,transformer自回归下一个索引:

因此回归损失为:

Conditioned Synthesis

提供用于合成示例的附加信息来控制生成过程。这个信息,我们称之为c,可以是描述整个图像类的单个标签,甚至是另一个图像本身。接下来的任务是在给定信息c的情况下学习序列的可能性:

如果条件信息c具有空间范围,首先学习另一个VQGAN,再次获得基于索引的表示:

由于变压器的自回归结构,可以简单地将r前置到s,并将负对数似然p(si|s<i, r)。

Generating High-Resolution Images

transformer的attention机制限制了其输入的序列s的长度h·w。虽然可以调整VQGAN的下采样块m的数量,以将大小为h × w的图像减少到h = h/(2^m) × w ,但重构质量的退化超过了临界值m,这取决于所考虑的数据集。为了生成百万像素级别的图像,必须在训练期间对图像进行分段和裁剪,以将s的长度限制在最大可行的大小。为了对图像进行采样,以如图3所示的滑动窗口方式使用transformer:

三、Experiments

1、Attention Is All You Need in the Latent Space

使用了各种条件和无条件任务,并比较了基于transformer的方法和卷积方法之间的性能。用m = 4个下采样块训练一个VQGAN。

比较不同数据集{ ImageNet (IN) , Restricted ImageNet (RIN)上的无条件图像建模结果} 和模型大小的Transformer和PixelSNAIL架构。对于所有设置,Transformer在NLL方面优于PixelSNAIL。这既适用于在固定时间比较NLL (PixelSNAIL训练速度大约快2倍),也适用于训练固定step:

在训练相同时间的情况下,Transformer在所有任务中的表现都优于PixelSNAIL,在训练相同步数的情况下,差距甚至会进一步扩大。

2、A Unified Model for Image Synthesis Tasks

在条件情况下,使用附加信息c,如类标签或分割映射,目标是学习图像的分布,图像大小为256 × 256,latent size 16 × 16

1)Semantic image synthesis、Structure-to-image、Pose-guided synthesis、 Stochastic superresolution、Class-conditional image synthesis:

第一行:ImageNet上无条件训练的完成情况。第二行:RIN上的深度到图像。第三行:ADE20K的语义引导合成。第四行:DeepFashion上的姿势引导人物生成。最后一行:RIN上的类条件样本。

图5:从S-FLCKR上的语义布局生成的样本。尺寸从上到下:1280 × 832, 1024 × 416和1280 × 240像素。

图6:上:RIN上的深度到图像,第二行:IN上的随机超分辨率,第三和第四行:S-FLCKR上的语义合成,下:IN上的边缘引导合成。生成的图像在368 × 496和1024 × 576之间变化

2)High-Resolution Synthesis

这种方法原则上可以用于生成任意比例和大小的图像,前提是数据集的图像统计数据近似空间不变或空间信息可用。通过将该方法应用于S-FLCKR上的语义布局的图像生成,可以获得令人印象深刻的结果,其中可以在m = 5时学习强大的VQGAN,因此其codebook和条件信息为转换器提供了足够的背景,用于百万像素范围内的图像生成

3、Building Context-Rich Vocabularies

在训练中,总是裁剪图像以获得大小为16 × 16的transformer输入,即在第一阶段对具有因子f的图像建模时,使用大小为16f × 16f的裁剪

在FacesHQ上无条件合成人脸的结果。对于中间值f = 8,图像的整体结构可以近似,但不一致的面部特征,如半胡须的脸和图像的不同部分的观点出现。只有我们f = 16的完整设置才能合成高保真样本。

为了定量评估方法的有效性,比较了直接在像素上训练变压器和在给定固定计算预算的VQGAN潜在代码上训练变压器的结果。在CIFAR10上学习512 RGB值的字典,以直接在像素空间上操作,并在VQGAN上训练相同的transformer架构,其潜在code大小为16 × 16 = 256。观察到fid提高了18.63%,图像采样速度加快了14.08倍。
 

4、Quantitative Comparison to Existing Models

比较FID,语义合成:

无条件人脸合成(模型使用的参数比VQVAE-2少10倍):

虽然一些任务专用的GAN模型报告了更好的FID分数,但该方法提供了一个统一的模型,可以在广泛的任务中良好地工作,同时保留编码和重建图像的能力。因此,它弥合了纯粹对抗性方法和基于可能性的方法之间的差距。

 

  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
AWS S3(Amazon Simple Storage Service)是亚马逊提供的一种高度可扩展的对象存储服务。S3允许用户以云存储方式存储和检索任意数量的数据。以下是关于AWS S3的一些重要特性: 1. 可扩展性:AWS S3提供了高度可扩展的存储解决方案,能够适应任意规模的需求。无论是存储几个G的个人文件还是处理TB级别的数据,S3都能够满足需求。 2. 安全性:AWS S3提供多层次的安全控制来保护数据的完整性和安全性。用户可以通过控制访问权限来限制对存储桶和对象的访问。此外,S3还提供了加密功能,可以对数据进行加密,确保数据在传输和存储过程中的安全。 3. 可靠性:AWS S3采用了多副本存储和自动修复机制,确保数据的可用性和持久性。S3将数据存储在多个设备和多个区域,并且自动处理设备故障,以确保数据不会丢失。 4. 数据访问:通过AWS S3,用户可以轻松地在任何地方访问其存储的数据。S3提供了REST和SOAP接口,可以通过编程方式进行高效、低延迟的数据访问。此外,S3还提供了网页界面,方便用户直接通过浏览器进行数据管理和操作。 5. 成本效益:AWS S3采用按需计费模式,根据用户实际存储的数据量和数据传输的流量进行计费。用户只需支付实际使用的存储空间和传输流量,无需提前购买硬件设备或维护硬件设备,从而节约了成本。 总之,AWS S3是一种可靠、安全、高度可扩展的云存储解决方案。通过提供灵活的数据管理和访问方式,以及强大的安全控制和可靠性,S3帮助用户轻松地存储和管理各种类型的数据,并实现数据的安全性和可用性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值