Transformer又来搞事情!百万像素高清图轻松合成,效果迷人

  • 2021 年 1 月 6 日
  • AI

作者 | 青暮、陈大鑫
编辑 | 青暮
你上一次听到用Transformer生成图像,应该还是iGPT刚问世的时候吧?当时OpenAI用GPT-2来分类和补全图像,取得了令人惊艳的成果。遗憾在于,iGPT生成的图像最大只有64×64像素。
现在,我要告诉你,最上面这张图像也是Transformer生成的,分辨率有1280×460之高。合成这张图像的模型名叫VQGAN,而且,它能做的事情远不止于此。
先看看VQGAN和iGPT的对比,前者生成的图像明显高清得多。
VQGAN还能用语义图引导生成样本:
用深度图引导生成样本:
用姿态图引导合成样本:
用类别引导合成样本:
随机合成样本:
执行超分辨率任务:
说了那么多,它们的共同点是啥?
当然是高清啦!
最后再展示一些用语义图引导合成的样本,从上往下的分辨率分别是:1280×832、1024×416、1280×240。
没错,都是百万像素级别的。
VQGAN功能多,生成的图像又高清,就用下图来总结一下。
本文提出的Transformers统一了广泛的图像合成任务。图中展示了在不同条件输入和数据集上的256×256合成结果,所有这些结果都是用同样的方法获得的,即VQGAN——利用基于CNN的有效归纳偏置,并结合Transformer结构的表达能力。
  • 第一行:在ImageNet上进行无条件训练来补全图像。

  • 第二行:以深度图为条件生成图像。

  • 第三行:语义图引导合成。

  • 第四行:姿态图引导合成。

  • 第五行:类别引导合成。

然后,我们来比较一下模型尺寸。iGPT提出了四个模型,即iGPT-S、iGPT-M、iGPT-L、iGPT-XL,参数数量分别为76M、455M、14 亿、68亿,而VQGAN的参数数量则在85M到470M之间。
如下表所示,作者在多个数据集上(比如CIFAR-10、DeepFashion等)训练了不同大小的模型,表中列出了模型的超参数。
超参数列表
参数数量远低于iGPT,生成的图像分辨率又远高于iGPT,VQGAN是怎么做到的?
我们先从Transformer的发展历史谈起。
 
1

Transformer:从NLP走向CV

Transformer最初应用于自然语言处理(NLP)任务,并带来了显着的进步。
例如,“Attention is all you need”首先提出了仅基于注意力机制的用于机器翻译和英语选区解析任务的Transformer。
BERT通过共同在左和右上下文进行条件预处理,以通过未标记文本训练Transformer,BERT在当时的11个NLP任务上获得了SOTA。
OpenAI在45TB数据上预训练了基于巨型Transformer的GPT-3模型,该模型具有1,750亿个参数,并且无需微调即可在各种类型的下游自然语言任务上实现出色的性能。
这些基于Transformer的模型都显示了强大的表示能力。受此启发,最近人们开始将Transformer扩展到计算机视觉(CV)任务。
CNN曾经是计算机视觉网络架构的基本组成部分,但Transformer显示出了替代CNN的潜力。
iGPT训练序列Transformer来自回归地预测像素,并在图像分类任务上与CNN取得相近结果。
ViT将纯Transformer直接应用于图像补丁序列,并在多个图像识别基准上获得了SOTA。
除了基本的图像分类,Transformer还被用于解决更多的计算机视觉问题,例如目标检测、语义分割图像处理和视频理解,并且都得到了出色的结果。
基于Transformer的视觉模型如雨后春笋般冒起,下表按照应用场景对视觉Transformer模型进行了分类。
视觉Transformer的代表性工作。
其中主要的研究主题包括基本图像分类、高级视觉、低级视觉和视频处理。
高级视觉处理是指对图像关键内容的标记,例如目标检测、语义分割和车道检测。
人们已经提出了许多用于解决高级视觉任务的Transformer模型,例如DETR、deformable  DETR用于目标检测,以及Max-DeepLab用于语义分割。
低级图像处理的典型应用包括超分辨率、图像去噪和风格迁移。在这个领域很少使用到Transformer,不过近期华为诺亚、北大等在论文“Pre-Trained Image Processing Transformer”中提出了IPT模型,在降噪、去雨、超分等底层视觉任务上刷榜,再次刷新人们认知。
此外,由于视频的顺序特性,Transformer可以自然地应用于视频。
与传统的CNN或RNN相比,Transformer开始在这些任务上显示出具有竞争力的性能。
下图展示了视觉Transformer关键工作的时间表,相信未来会有越来越多的优秀工作将被刻在里程碑上。
Transformer的里程碑,视觉Transformer模型为红色。
那么,Transformer能取代CNN的秘密在哪里呢?

2

不一定要完全替代CNN 

CNN由于可以搭配GPU进行有效的并行卷积计算而获得了无数成功。此外,CNN也具有平移不变性和局部敏感性的归纳偏置。但是,后者也决定了卷积神经网络只能关注局部信息的网络结构。
它的这种计算机制导致了它在文本信息处理上难以捕捉和存储长距离的依赖信息,也就是缺乏对数据本身的整体把握。人们一方面想扩大卷积核、增加通道数来捕捉长期依赖,一方面还害怕由于扩大模型所导致的维度灾难。
相比之下,Transformer背后的Self Attention除了兼具并行计算的优点,还能挖掘长距离依赖,不受优先考虑局部相互作用的归纳偏置的限制,从而具有很强的表达性。此外,由于不存在这种限制,自注意力机制还能根据任务目标和自注意力层的位置来学习最合适的归纳偏置。
在“ON THE RELATIONSHIP BETWEEN SELF-ATTENTION AND CONVOLUTIONAL LAYERS”这篇发表在ICLR 2020的论文中,作者提出了理论和经验证据,表明自注意力层可以(并且确实)像卷积层那样起作用:
  • 从理论上讲,存在建设性的证据,表明自注意力层可以表示任何卷积层。具体来说,使用相对位置编码的单个多头自注意力层可以重新参数化以表示任何卷积层。

  • 实验表明,仅使用自注意力的架构的前几层确实学习了如何在每个查询像素周围加入网格状模式。

所以,自注意力机制和卷积层是很相似的。
人们近期一直在探索极端的替代方案,就是用Transformer完全替代CNN。
然而,对于高分辨率的输入来说,自注意力机制层的计算量很大,因此它只适用于较小的空间维度输入的数据场景。比如,iGPT补全的图像最大只有64×64像素,而于2018年提出的“Image Transformer”生成的也是分辨率很低的图像,如下图所示。
这是因为,自注意力机制相对于CNN存在普遍性,也意味着它必须学习所有的关系,而CNN被设计成利用图像中强局部相关性的先验知识。因此,由于考虑了所有成对的相互作用,Transformers表达能力的增加相应地带来了计算成本的二次增加。因此,目前的Transformers SOTA模型由于高耗能和高耗时,为将其扩展到处理高分辨率图像带来了根本性的问题。
那么,除了完全替代,还有其它方案吗?

3

Transformer倾向于学习卷积结构 

实际上,基于自注意力机制和卷积层的相似性,Transformer和CNN也可以结合应用,今天要介绍的这篇论文就采用了这样的思想。
此外,这也是第一个语义引导生成百万像素图像的Transformer架构。
论文:Taming Transformers for High-Resolution Image Synthesis
论文链接://arxiv.org/pdf/2012.09841.pdf
项目主页://compvis.github.io/taming-transformers/
作者受到上文提到的“Transformers倾向于学习卷积结构”的现象的启发,提出了这个问题:“我们是否在每次训练视觉模型时,必须从头开始重新学习已知的关于图像局部结构和规律性的所有知识,或者我们是否能够有效地编码归纳偏置,同时仍然保持Transformers的灵活性?”
作者假设低层次的图像结构是由局部连通性即卷积结构来描述的,而这种结构假设在更高的语义层次上不再有效。
进一步说,CNN不仅表现出很强的局部性偏差,而且通过在所有位置使用共享的权值,还表现出对空间不变性的偏差。而如果需要对输入进行更全面的理解,这些偏差将变得无效。
高分辨率图像合成需要一个能够理解图像全局组件的模型,使其能够生成局部真实和全局一致的模式。因此,本文不是用像素来表示图像,而是将其表示为codebook的感知丰富的图像成分的合成。
这些思想综合起来就是,卷积和Transformer架构可以共同用于建模视觉世界的组成性质:我们使用卷积方法高效地学习上下文丰富的视觉部分的codebook,然后学习其全局组成的模型。这些组合中的远程交互需要一个富有表达力的Transformer 架构来对其一致的可视部分上的分布进行建模。
此外,作者利用对抗性的方法来确保局部部分的字典捕获感知上重要的局部结构,以减轻用Transformer架构建模低层统计的需要。从而让Transformers专注于其独特的优势——建模远程关系——使其能够生成高分辨率图像。作者提出的公式通过调节有关所需目标类别或空间布局的信息,可以直接控制生成的图像内容。
通过学习如3.1节所述的高效的编码,可以显著缩短合成的描述长度,从而能够有效地用3.2节中描述的Transformer架构在图像中建模它们的全局相互关系。在下图中总结的这种方法能够在无条件和有条件的设置中生成真实和一致的高分辨率图像。
作者使用卷积VQGAN来学习上下文丰富的视觉部分的codebook,codebook的组件随后用自回归transformer 架构来建模。离散的codebook提供了这些架构之间的接口,基于patch的判别器实现了强大的压缩能力,同时保持了较高的感知质量。该方法引入了卷积方法在基于transformer的高分辨率图像合成中的有效性。
VQGAN编码解码器的高级结构。网络的设计遵循“Denoisingdiffusionprobabilisticmodels”中提出的架构,没有跳跃连接(skip-connections)。对于判别器,本文使用了一个基于patch的模型,参见“Image-to-ImageTranslationwithConditionalAdversarialNetworks”。其中
实验证明,本文的方法保留了Transformers的优点,并优于以前基于卷积结构和codebook的SOTA方法。

参考文献:
//arxiv.org/pdf/2012.12556v1.pdf 
//cdn.openai.com/papers/Generative_Pretraining_from_Pixels_V2.pdf
//arxiv.org/pdf/1802.05751.pdf
//arxiv.org/pdf/1911.03584.pdf
//arxiv.org/abs/2012.00364

[赠书福利]

AI科技评论本次联合【博文视点】为大家带来15本“《labuladong 的算法小抄》”正版新书。

在1月1日头条文章我多篇顶会论文在手,面试AI算法岗时竟然还要刷算法题?| 元旦送书福利》留言区畅所欲言,谈一谈你刷算法的故事,或你对2020的总结或者是对2021年的规划和心愿,甚至可以是新的一年对AI科技评论的建议和期待,有哪些喜欢看的报道,还希望看到什么样的报道?

AI 科技评论将会在留言区选出 15名读者,每人送出《labuladong 的算法小抄》一本。

活动规则:

1. 在1月1日头条文章(注意不是本文!)下面留言,留言点赞最高的前 15 位读者将获得赠书。获得赠书的读者请联系 AI 科技评论客服(aitechreview)。

2. 留言内容会有筛选,例如“选我上去”等内容将不会被筛选,亦不会中奖。

3. 本活动时间为2021年1月1日 – 2020年1月7日(23:00),活动推送内仅允许中奖一次。

点击阅读原文,直达AAAI小组!

由于微信公众号试行乱序推送,您可能不再能准时收到AI科技评论的推送。为了第一时间收到AI科技评论的报道, 请将“AI科技评论”设为星标账号,以及常点文末右下角的“在看”。