原文标题: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分数,但该方法提供了一个统一的模型,可以在广泛的任务中良好地工作,同时保留编码和重建图像的能力。因此,它弥合了纯粹对抗性方法和基于可能性的方法之间的差距。

CVPR2021 | VQGAN+:Taming Transformers for High-Resolution Image Synthesis相关推荐

  1. Taming Transformers for High-Resolution Image Synthesis 论文阅读

    Taming Transformers for High-Resolution Image Synthesis 论文阅读 论文地址 2012.09841.pdf (arxiv.org) 摘要 结合CN ...

  2. 树莓派Linux-raspberrypi域名解析失败:Temporary failure in name resolution

    最近在树莓派上安装了Linux系统,配置完网络后发现ping不通baidu,提示: Temporary failure in name resolution 编辑 /etc/dhcpcd.conf 文 ...

  3. Huggingface Transformers库学习笔记(二):使用Transformers(上)(Using Transformers Part 1)

    前言 本部分是Transformer库的基础部分的上半部分,主要包括任务汇总.模型汇总和数据预处理三方面内容,由于许多模型我也不太了解,所以多为机器翻译得到,错误再所难免,内容仅供参考. Huggin ...

  4. #Reading Paper# 【序列推荐】ICKM 2022 RETR:Recommender Transformers with Behavior Pathways

    #论文题目:[序列推荐]RETR:Recommender Transformers with Behavior Pathways(RETR:具有行为路径的推荐transformer) #论文地址:ht ...

  5. 论文篇 | 2020-Facebook-DETR :利用Transformers端到端的目标检测=>翻译及理解(持续更新中)

    论文题目:End-to-End Object Detection with Transformers 2020 论文复现可参考:项目复现 | DETR:利用transformers端到端的目标检测_夏 ...

  6. 【RASA】TED Policy:Dialogue Transformers

    重磅推荐专栏: <Transformers自然语言处理系列教程> 手把手带你深入实践Transformers,轻松构建属于自己的NLP智能应用! 最近工作中使用到rasa,其core部分有 ...

  7. CVPR2021 | PAConv:一种位置自适应卷积,点云分类、分割任务表现SOTA

    导读:   由香港大学CVMI Lab和牛津大学合作提出了一种点云上具有动态内核组装的位置自适应卷积--PAConv: Position Adaptive Convolution with Dynam ...

  8. FastFormers:实现Transformers在CPU上223倍的推理加速

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 作者:Parth Chokhra 编译:ronghuaiyang 导读 使用多头注意力的Tran ...

  9. NLP炼丹笔记:Switch Transformers 朴实无华 大招秒杀

    作者:九羽,公众号:炼丹笔记 Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient S ...

最新文章

  1. 一些零碎知识(域名、DNS、浏览器、动态静态页面、web应用系统工作原理)
  2. scau 2012新生赛 G只有神知道的世界
  3. python彩色图像如何进行高斯滤波ValueError: correlate2d inputs must both be 2-D arrays解决方法
  4. 移动測试技术保护源码!解码全球首款移动端白盒測试工具ThreadingTest (文章转自己主动点科技)...
  5. Git/SQL/正则表达式练习平台
  6. linux生成的pdf文件,把LINUX MAN PAGE生成为PDF文件的脚本
  7. 精通开关电源设计第三版pdf_看漫画,学电源(一)丨线性电源与开关电源的构造...
  8. mysql binlog 日志
  9. spring的自动装配(default-autowire=byName)
  10. 基于ADS仿真的465khz检波电路
  11. js日期格式化 YYMMDD 转 YY-MM-DD 转 YY年MM月DD日
  12. 读书笔记《能力陷阱》第三章:建立良好的人际关系网络
  13. 数据结构目录树(严蔚敏王道)版
  14. Word页码从当前页自增
  15. 免费下载Xshell 7,亲测有效安装教程
  16. 邂逅APP + 网站平台的产品设想
  17. 亚马逊账户违规了?如何自查
  18. ASCII码的了解及应用
  19. 王码五笔输入教程(转自电脑报)
  20. 关于电商秒杀系统中防超卖、以及高性能下单的处理方案简述

热门文章

  1. FZU 1922 非主流
  2. linux内核配置大全
  3. python虚拟环境管理干部学院_Virtualenv|基于Python虚拟环境管理包
  4. python画小猪乔治_小猪佩奇怎样画
  5. 3000元左右性价比最高的手机2023 3000元手机性价比排行榜2023
  6. python 特性和方法同名_脚本语言系列之Python | Python面向对象
  7. odoo 配置qq邮箱详解
  8. 航迹大师(Waypoint Master)怎么样
  9. redis通关面试宝典
  10. 英文期刊催稿信模板_【实用】英文SCI期刊催稿及撤稿信模板