锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

【CV】用于计算机视觉的 Transformer 高被引综述

时间:2023-04-18 11:37:00 二氧化碳变送器的构造e二氧化碳变送器绿色矩形连接器智能型压力变送器cyb234变送器快插矩形连接器

论文名称:Transformers in Vision: A Survey
论文下载:https://dl.acm.org/doi/abs/10.1145/3505244
论文年份:2021
279(2022/05/02)

论文总结

在这里插入图片描述

Abstract

Astounding results from Transformer models on natural language tasks have intrigued the vision community to study their application to computer vision problems. Among their salient benefits, Transformers enable modeling long dependencies between input sequence elements and support parallel processing of sequence as compared to recurrent networks e.g., Long short-term memory (LSTM). Different from convolutional networks, Transformers require minimal inductive biases for their design and are naturally suited as set-functions. Furthermore, the straightforward design of Transformers allows processing multiple modalities (e.g., images, videos, text and speech) using similar processing blocks and demonstrates excellent scalability to very large capacity networks and huge datasets. These strengths have led to exciting progress on a number of vision tasks using Transformer networks. This survey aims to provide a comprehensive overview of the Transformer models in the computer vision discipline. We start with an introduction to fundamental concepts behind the success of Transformers i.e., self-attention, large-scale pre-training, and bidirectional feature encoding. We then cover extensive applications of transformers in vision including popular recognition tasks (e.g., image classification, object detection, action recognition, and segmentation), generative modeling, multi-modal tasks (e.g., visual-question answering, visual reasoning, and visual grounding), video processing (e.g., activity recognition, video forecasting), low-level vision (e.g., image super-resolution, image enhancement, and colorization) and 3D analysis (e.g., point cloud classification and segmentation). We compare the respective advantages and limitations of popular techniques both in terms of architectural design and their experimental value. Finally, we provide an analysis on open research directions and possible future works. We hope this effort will ignite further interest in the community to solve current challenges towards the application of transformer models in computer vision.

Transformer 该模型在自然语言任务中的惊人结果引起了视觉社区对其在计算机视觉问题中的应用的兴趣。在它们的显著优势中,与循环网络(如长期和短期记忆)(LSTM))相比,Transformer 建模输入序列元素之间的长期依赖关系,支持序列并行处理。不同于卷积网络,Transformers 设计需要最小的归纳偏差(inductive biases),自然适合作为集合函数。此外,Transformers 的简单设计允许使用类似的处理块处理多种模式(例如,图像、视频、文本和语音)显示了超大容量网络和巨大数据集的优异可扩展性。这些优点导致使用 Transformer 该网络在许多视觉任务中取得了令人兴奋的进展。本调查旨在全面概述计算机视觉学科 Transformer 模型。

我们先介绍一下 Transformer 成功背后的基本概念,即

  • 自注意力(self-attention)

  • 大规模预训练(large-scale pre-training)

  • 双向特征编码(bidirectional feature encoding)

然后,我们涵盖了它Transformer广泛应用于视觉,包括流行

  • 识别任务(recognition tasks),例如
    • 图像分类(image classification)
    • 目标检测(object detection)
    • 动作识别(action recognition)
    • 分割(segmentation)
  • 生成建模(generative modeling)
  • 多模态任务(multi-modal tasks),例如
    • 视觉问答(visual-question answering)
    • 视觉推理(visual reasoning)
    • 视觉定位(visual grounding)
  • 视频处理(video processing),例如
    • 活动识别(activity recognition)
    • 视频预测(video forecasting)
  • 低级视觉(low-level vision),例如
    • 图像超分辨率(image super-resolution)
    • 图像增强(image enhancement)
    • 着色(colorization)
  • 3D 分析(3D analysis),例如
    • 点云分类(point cloud classification)
    • 分割(segmentation)

我们比较了流行技术在架构设计和实验价值方面的优势和局限性。最后,我们分析了开放的研究方向和未来可能的工作。我们希望这项努力将激发社区的进一步兴趣,以解决当前在计算机视觉中的应用 Transformer 模型面临的挑战。

1 INTRODUCTION

TRANSFORMER 模型 [1] 最近,广泛的语言任务(如文本分类、机器翻译) [2] 和问答)表现出色。在这些模型中,最受欢迎的包括 BERT (Bidirectional Encoder Representations from Transformers) [3]、GPT (Generative Pre-trained Transformer) v1-3 [4]–[6]、RoBERTa (Robustly Optimized BERT Pre-training) [ 7] 和 T5(Text-to-Text Transfer Transformer)[8]。 Transformer 模型的深远影响变得更加明显,因为它们可以扩展到超大容量模型 [9],[10]。 Transformer 模型的深远影响变得更加明显,因为它们可以扩展到超大容量模型 [9]、[10]。例如,具有 3.4 亿参数的 BERT-large [3] 模型明显优于拥有 1750 亿参数的 GPT- [6] 模型,而最新的混合专家 (mixture-of-experts) Switch Transformer [10] 可扩展到高达 1.6万亿参数!

Transformer 网络在自然语言处理 (NLP) 领域的突破引起了计算机视觉社区的极大兴趣,以使这些模型适用于视觉和多模态学习(multi-modal learning)任务(图 1)。

然而,视觉数据遵循典型的结构,例如,空间和时间连贯性(spatial and temporal coherence),因此需要新颖的网络设计和训练方案。因此,Transformer 模型及其变体已成功用于图像识别 [11]、[12]、对象检测 [13]、[14]、分割 [15]、图像超分辨率 [16]、视频理解 [ 17]、[18]、图像生成 [19]、文本图像合成 [20] 和视觉问答 [21]、[22],以及其他几个用例 [23]-[26]。本次调查旨在涵盖计算机视觉领域最近的令人兴奋的努力,为感兴趣的读者提供全面的参考。

Transformer 架构基于学习序列元素之间关系的自注意力机制。与递归处理序列元素并且只能关注短期上下文的循环网络相反,Transformers 可以关注完整序列,从而学习长期关系。尽管注意力模型已广泛用于前馈和循环网络 [27]、[28],但 Transformer 仅基于注意力机制,并具有针对并行化优化的独特实现(即多头注意力)。这些模型的一个重要特征是它们对高复杂度模型和大规模数据集的可扩展性,例如,与其他一些替代方案相比,例如硬注意力[29],它本质上是随机的,需要蒙特卡罗采样来采样注意力位置。由于与卷积和循环对应物相比,Transformers 假设关于问题结构的先验知识最少 [30]-[32],因此它们通常使用大型(未标记)数据集 [1]、[3] 上的代理任务(pretext task)进行预训练。这种预训练避免了昂贵的手动注释,从而编码了高度表达和可概括的表示,这些表示对给定数据集中存在的实体之间的丰富关系进行建模。然后以监督的方式在下游任务上对学习到的表示进行微调以获得有利的结果。

本文提供了为计算机视觉应用开发的Transformer模型的整体概述。我们开发了网络设计空间的分类法,并突出了现有方法的主要优点和缺点。其他文献综述主要集中在 NLP 领域 [33]、[34] 或涵盖基于注意力的通用方法 [27]、[33]。通过关注新出现的视觉Transformer领域,我们根据自注意的内在特征和所研究的任务全面组织了最近的方法。我们首先介绍了 Transformer 网络的重要概念,然后详细介绍了最近的视觉Transformer的细节。只要有可能,我们就会在 NLP 领域 [1] 中使用的 Transformer 与针对视觉问题开发的 Transformer 之间进行比较,以闪现主要的新颖性和有趣的领域特定见解。最近的方法表明,卷积操作可以完全用基于注意力的Transformer模块代替,并且还可以在单个设计中联合使用,以鼓励两个互补的操作集之间的共生。这项调查最终详细介绍了开放的研究问题,并对未来可能的工作进行了展望。

2 FOUNDATIONS

有两个关键思想有助于传统Transformer模型的发展。

(a) 第一个是自注意力,与传统的循环模型相比,它允许捕获序列元素之间的“长期”依赖关系,而传统的循环模型发现编码这种关系具有挑战性。

(b) 第二个关键思想是以(自)监督的方式对大型(未)标记语料库进行预训练,然后使用小型标记数据集 [3]、[7] 对目标任务进行微调 [38]。下面,我们提供关于这两个想法(第 2.2 节和第 2.1 节)的简短教程,以及应用了这些想法的开创性 Transformer 网络(第 2.3 节和第 2.4 节)的总结。这一背景将帮助我们更好地理解即将在计算机视觉领域使用的基于 Transformer 的模型(第 3 节)。

图 3:Transformer模型 [1] 的架构。该模型最初是为语言翻译任务开发的,其中一种语言的输入序列需要转换为另一种语言的输出序列。

Transformer 编码器(中间行)对输入语言序列进行操作,并将其转换为嵌入(Embedding),然后再将其传递给编码器块。

Transformer 解码器(底行)对先前生成的翻译语言输出和来自中间分支的编码输入序列进行操作,以输出输出序列中的下一个单词。

先前输出的序列(用作解码器的输入)是通过将输出句子向右移动一个位置并在开头附加句子开始标记来获得的。这种转变避免了模型学习简单地将解码器输入复制到输出。

训练模型的真实标签(ground-truth)只是附加了句尾标记的输出语言序列(没有任何右移)。由多头注意力(顶行)和前馈层组成的块在编码器和解码器中重复 N 次。

2.1 Self-Attention in Transformers

给定一系列项目 (item),self-attention 估计一个项目与其他项目的相关性(例如,哪些单词可能在一个句子中组合在一起)。自注意力机制是 Transformers 的一个组成部分,它显式地为结构化预测任务的序列的所有实体之间的交互建模。基本上,自注意力层通过聚合来自完整输入序列的全局信息来更新序列的每个组件。让我们 X ∈ R n × d X ∈ \R^{n×d} XRn×d 来表示 n n n 个实体 ( x 1 , x 2 , ⋅ ⋅ ⋅ ⋅ x n x_1, x_2, ····x_n x1,x2,xn) 的序列,其中 d d d 是表示每个实体 (entity) 的嵌入维度。自注意力的目标是通过根据全局上下文信息对每个实体进行编码来捕获所有 n n n 个实体之间的交互。这是通过定义三个可学习的权重矩阵来转换,查询( W Q ∈ R d × d q W^Q ∈ \R^{d×d_q} WQRd×dq),键( W K ∈ R d × d k W^K ∈ \R^{d×d_k} WKRd×dk)和值( W V ∈ R d × d v W^V ∈ \R^{d×d_v} WVRd×dv)来完成的,其中 d q = d k d_q = d_k dq=dk。输入序列 X X X 首先投影到这些权重矩阵上,得到 Q = X W Q Q = XW^Q Q=XWQ K = X W K K = XW^K K=XWK V = X W V V = XW^V V=XWV。自注意力层的输出 Z ∈ R n × d v Z ∈ \R^{n×d_v} ZRn×dv 为,

对于序列中的给定实体,self-attention 基本上计算查询与所有键的点积,然后使用 softmax 算子对其进行归一化以获得注意力分数。然后每个实体成为序列中所有实体的加权和,其中权重由注意力分数给出(图 2 和图 3,顶部行左块)。

掩码自注意力(Masked Self-Attention):标准的self-attention层关注所有实体。对于经过训练以预测序列的下一个实体的 Transformer 模型 [1],解码器中使用的自注意力块被屏蔽以防止关注后续的未来实体。这可以通过使用掩码 M ∈ R n × n M ∈ \R^{n×n} MRn×n 的逐元素乘法运算来完成,其中 M M M 是上三角矩阵。掩蔽 (masked) 的self-attention定义为,

其中 ◦ ◦ 表示 Hadamard 积。基本上,在预测序列中的实体时,未来实体的注意力分数在 masked self-attention 中设置为零

多头注意力(Multi-Head Attention):为了封装序列中不同元素之间的多种复杂关系,多头注意力包括多个自注意力块(原始 Transformer 模型中的 h = 8 [1])。每个块都有自己的一组可学习的权重矩阵 { W Q i , W K i , W V i } \{W^{Q_i}, W^{K_i}, W^{V_i}\} { WQi,WKi,WVi},其中 i = 0 ⋅ ⋅ ⋅ ( h − 1 ) i = 0 · · · (h−1) i=0(h1)。对于输入 X X X,将多头注意力中的 h h h 个自注意力块的输出连接(concatenated)成单个矩阵 [ Z 0 , Z 1 , ⋅ ⋅ ⋅ Z h − 1 ] ∈ R n × h ⋅ d v [Z_0, Z_1, ··· Z_{h−1}] ∈ \R^{n×h·d_v} [Z0,Z1,Zh1]Rn×hdv ,并投影到权重矩阵 W ∈ R h ⋅ d v × d W ∈ \R^{h·d_v×d} WRhdv×d(图 3,顶行)。

自注意力与卷积操作的主要区别在于,滤波器是动态计算的,而不是像卷积情况下的静态滤波器(对于任何输入都保持相同)。此外,自注意力对于输入点数量的排列和变化是不变的。因此,它可以轻松地对不规则输入进行操作,而不是需要网格结构的标准卷积。此外,文献中已经表明,self-attention(使用位置编码)在理论上是一种更灵活的操作,可以模拟卷积模型对局部特征进行编码的行为[40]。科Cordonnier et al. [41] 进一步研究了自注意力和卷积操作之间的关系。他们的经验结果证实,多头自注意力(具有足够的参数)是一种更通用的操作,可以将卷积的表达性建模为一种特殊情况。事实上,self-attention 提供了学习全局和局部特征的能力,并提供了自适应学习内核权重和感受野的表达能力,类似于可变形卷积 (deformable convolutions) [42]

2.2 (Self) Supervised Pre-training

基于自注意力的 Transformer 模型通常以两阶段的训练机制运行。首先,以监督 [11] 或自监督方式 [3]、[44] 对大规模数据集(有时是几个可用数据集 [22]、[43] 的组合)进行预训练 [45]。随后,预训练的权重使用中小型数据集适应下游任务。下游任务的示例包括图像分类 [46]、对象检测 [13]、零样本分类 [20]、问答 [10] 和动作识别 [18]。语言和视觉领域都提倡对大规模 Transformer 进行预训练的有效性。例如,与在具有 3 亿个 JFT 数据集 [47] 上进行预训练的情况相比,仅在 ImageNet 训练集上训练时,Vision Transformer 模型 (ViT-L) [11] 在 ImageNet 测试集上的准确度绝对下降了 13%图片。

由于大规模获取手动标签很麻烦,因此自监督学习在预训练阶段得到了非常有效的应用。基于自监督的预训练阶段训练在释放 Transformer 网络的可扩展性和泛化性方面发挥了至关重要的作用,使训练甚至超过一万亿个参数网络(例如,来自 Google 的最新 Switch Transformer [10])。关于 SSL 的广泛调查可以在 [48]、[49] 中找到。正如 Y. LeCun [50] 所总结的那样,SSL 的基本思想是填补空白,即尝试预测图像中的遮挡数据、时间视频序列中的未来或过去帧或预测一个代理任务,例如应用于输入的旋转量,应用于图像块或灰度图像颜色的排列。施加自监督约束的另一种有效方法是通过对比学习。在这种情况下,不利转换(nuisance transformations)用于创建同一图像的两种类型的修改版本,即不改变底层类语义(例如,图像样式化、裁剪)和语义变化(例如,用同一场景中的另一个对象替换一个对象,或者用对图像的微小不利改变来改变类别)。随后,该模型被训练为对不利转换保持不变,并强调对可能改变语义标签的微小变化进行建模

自监督学习提供了一种有前途的学习范式,因为它可以从大量现成的非注释数据中学习。在基于 SSL 的预训练阶段,模型被训练以通过解决一个代理任务来学习底层数据的有意义的表示。代理任务的伪标签是根据数据属性和任务定义自动生成的(不需要任何昂贵的手动注释)。因此,代理任务定义是 SSL 中的关键选择。我们可以根据它们的代理任务将现有的 SSL 方法大致分为

(a)合成图像或视频(给定条件输入)的生成方法

(b)利用图像块或视频帧之间关系的基于上下文的方法

(c )利用多种数据模式的跨模式方法

生成方法的示例包括条件生成任务,例如掩码图像建模(masked image modeling) [43] 和图像着色 [51]、图像超分辨率 [52]、图像修复 [53] 和基于 GAN 的方法 [54]、[55]。基于上下文的代理方法解决了诸如图像块 [56]-[58] 上的拼图游戏、掩码对象分类 [22]、预测几何变换(如旋转 [46]、[59])或验证视频帧的时间序列 [60]-[62]。跨模态代理方法验证两种输入模态的对应关系,例如文本和图像 [63]、音频和视频 [64]、[65] 或 RGB 和流 [66]。

2.3 Transformer Model

[1] 中提出的 Transformer 模型的架构如图 3 所示。它具有编码器-解码器结构。编码器(中间行)由六个相同的块组成(即图 3 中的 N=6),每个块有两个子层:一个多头自注意力网络和一个简单的位置全连接前馈网络。如图 3 所示,在每个块之后使用残差连接 [67] 和层归一化 [68]。请注意,与同时执行特征聚合和特征转换的常规卷积网络不同(例如,卷积层后跟非线性),这两个步骤在 Transformer 模型中是解耦的,即自注意力层只执行聚合,而前馈层执行变换。与编码器类似,Transformer 模型中的解码器(底行)包含六个相同的块。每个解码器块有三个子层,前两个子层(多头自注意力和前馈)类似于编码器,而第三子层对相应编码器块的输出进行多头注意力,如图 3。

[1] 中的原始 Transformer 模型是针对机器翻译任务进行训练的。编码器的输入是一种语言的单词(句子)序列。位置编码被添加到输入序列中以捕获序列中每个单词的相对位置。位置编码与输入 d = 512 具有相同的维度,并且可以通过正弦或余弦函数学习或预定义。作为一个自回归模型,Transformer [1] 的解码器使用先前的预测来输出序列中的下一个单词。因此,解码器从编码器获取输入以及先前的输出来预测翻译语言中句子的下一个单词。为了便于残差连接,所有层的输出维度保持相同,即 d = 512。多头注意力中的查询、键和值权重矩阵的维度设置为 dq = 64,dk = 64,dv = 64。

2.4 Bidirectional Representations

原始 Transformer 模型 [1] 的训练策略只能关注句子中给定单词左侧的上下文。这是限制性的,因为对于大多数语言任务,左右两侧的上下文信息都很重要。来自 Transformers 的双向编码器表示 (BERT) [3] 提出联合编码句子中单词的左右上下文,从而以自监督的方式改进文本数据的学习特征表示。为此,BERT [3] 引入了两个代理任务以自监督的方式对 Transformer 模型 [1] 进行预训练:Masked Language Model 和 Next Sentence Prediction。为了使预训练模型适应下游任务,在预训练模型中附加了一个特定于任务的附加输出模块,并对完整模型进行端到端微调。在这里,我们简要介绍一下代理任务。

(1) 掩码语言模型 (MLM):一个句子中固定百分比 (15%) 的单词被随机掩蔽,并且该模型被训练以使用交叉熵损失来预测这些被掩蔽的单词。在预测被掩蔽的单词时,该模型学会了结合双向上下文

(2) 下一个句子预测 (NSP):给定一对句子,该模型预测一个二进制标签,即该对是否在原始文档中有效。这方面的训练数据可以很容易地从任何单语文本语料库中生成。形成一对句子 A 和 B,使得 B 在 50% 的时间是实际句子(在 A 旁边),而 B 在其他 50% 的时间是随机句子。 NSP 使模型能够捕获句子到句子的关系,这在许多语言建模任务(如问答和自然语言推理)中至关重要

3 SELF-ATTENTION & TRANSFORMERS IN VISION

我们将具有自注意力的视觉模型大致分为两类:使用单头自注意力的模型(第 3.1 节),以及在其架构中采用基于多头自注意力的 Transformer 模块的模型(第 3.2 节)。下面,我们首先讨论第一类基于单头自注意力的框架,它们通常在 CNN 架构中应用全局或局部自注意力,或者利用矩阵分解来提高设计效率并使用矢量化注意力模型。然后,我们将在 Sec. 3.2. 中讨论基于 Transformer 的视觉架构。

图 4:self-attention 设计空间的分类。基于自注意的现有方法探索视觉任务的单头或多头设计。我们注意到,已经做出了有趣的努力来利用基于卷积的架构的知识来改进 ViT(例如,多尺度和混合设计)。我们根据自注意块的类型(左树图)以及计算机视觉中的突出任务(右)对本调查的后续部分进行分类。

3.1 Single-head Self-Attention

3.1.1 Self-Attention in CNNs

受主要用于图像去噪的非局部均值操作 [69] 的启发,Wang et al.[70] 提出了一种用于深度神经网络的可微分非局部操作,以前馈方式捕获空间和时间上的长期依赖关系。给定一个特征图,他们提出的算子 [70] 将某个位置的响应计算为特征图中所有位置的特征的加权和。这样,非局部操作能够捕获特征图中任意两个位置之间的交互,而不管它们之间的距离如何视频分类是像素之间在空间和时间上都存在远程交互的任务示例。 [70] 具备模拟远程交互的能力,证明了非局部深度神经网络在 Kinetics 数据集 [71] 上进行更准确的视频分类的优越性。

尽管 self-attention 允许我们对全图像上下文信息进行建模,但它是内存和计算密集型的。如图 5(a) 所示,为了编码给定像素位置的全局上下文,非局部块 [70] 计算密集的注意力图(绿色)。非局部块 [70] 具有 O(N2) 的高复杂度,其中 N 表示输入特征图的数量。为了减少这种计算负担,Huang et al. [72] 提出了交叉注意模块,该模块对于每个像素位置仅在交叉路径上生成稀疏注意图,如图5(b)所示。此外,通过反复应用交叉注意力,每个像素位置都可以从所有其他像素中捕获上下文。与非本地块相比,交叉使用的 GPU 内存少 11 倍,复杂度为 O(2√N)。在几个基准数据集上报告了语义和实例分割任务的最新结果 [72],包括 Cityscapes [73]、ADE20K [74]、COCO [75]、LIP [76] 和 CamVid [77]。

卷积算子的另一个缺点是在训练之后,无论视觉输入有什么变化,它都会应用固定的权重。[78] 提出了局部关系网络来自适应地组合局部窗口中的像素。他们引入了一个新的可微层,该层根据局部窗口内像素/特征之间的组成关系(相似性)调整其权重聚合。这种自适应权重聚合将几何先验引入网络,这对于识别任务很重要[78]。卷积被认为是自上而下的算子,因为它在多个位置上保持固定,而诸如 [69] 中介绍的非局部操作是自下而上的方法,因为它在整个图像上聚合输入特征。局部关系层属于自下而上方法的类别,但仅限于固定窗口大小,例如 7x7 邻域

Bello et al. [79]探索了使用自注意作为卷积算子的替代方案的可能性。他们在二维中使用相对位置编码 [80] 来开发一种新的自注意机制,该机制保持平移等效性,这是处理图像的理想属性。尽管这种自注意作为独立的计算原语提供了具有竞争力的结果,但结合卷积运算可以获得最佳性能。作者表明,注意力增强可以在不同架构的图像分类和对象检测中带来系统的性能提升。

3.1.2 Self-Attention as Stand-alone Primitive

如上所述,卷积层具有平移等效性(translation equivariance),但不能随大的感受野进行缩放,因此无法捕获远程交互 [81]。另一方面,关注输入的所有空间位置的全局注意力 [1] 可能是计算密集型的,并且在下采样的小图像、图像块 [11] 或增强卷积特征空间 [79] 上更受欢迎。**[81] 提出用局部自注意力层替换深度神经网络中的卷积层,该层可以应用于小型或大型输入,而不会增加计算成本。在基本层面上,所提出的自注意力层[81]考虑给定像素周围特定窗口大小中的所有像素位置,计算这些像素的查询、键和值向量,然后聚合该窗口内的空间信息。在投影查询和键的 softmax 分数后聚合值向量。对所有给定像素重复此过程,并将响应连接起来以产生输出像素。**与基于卷积层的 ResNet 模型相比,具有局部自注意力层的 ResNet 模型可以用更少的参数解决 ImageNet 和 COCO 对象检测 [81]。

Zhao et al. [82] 注意到,传统的卷积算子联合执行特征聚合和转换(通过应用滤波器,然后通过非线性传递)。相反,他们建议使用自注意分别执行特征聚合,然后使用逐元素感知器层进行转换。对于特征聚合,他们提出了两种替代策略:(a)pairwise self-attention 和(b)patch-wise self-attention。

pairwise self-attention 是 permutation and cardinality invariant 操作,而 patch-wise self-attention 没有这种不变性(类似于卷积)。成对和逐块自注意都被实现为向量注意[82],它学习空间和通道维度的权重。这提供了另一种注意力的替代方法,该方法通常使用标量权重(通过点积)执行。

  • 成对自注意力是一个集合算子,它计算向量注意力,同时考虑特定特征与其在给定局部邻域中的邻居的关系
  • 逐块自注意力是卷积算子(不是集合算子)的泛化,在推导注意力向量时会查看局部邻域中的所有特征向量

作者表明,使用相当少的参数,自注意力网络 (SAN) 可以在 ImageNet 数据集上击败 ResNet 基线。它们进一步显示出对抗性扰动的鲁棒性 [83]、[84] 和对看不见的变换的泛化 [85]。这种行为是由于注意力的动态特性使得对手难以计算出有用的欺骗方向。

3.2 Multi-head Self-Attention (Transformers)

与 Sec. 3.1 中讨论的方法不同。在受 CNN 启发的架构中插入自注意力作为组件,Vision Transformer (ViTs) [11] 采用了 [1] 的架构(见图 3),它级联了多个 Transformer 层。 ViTs 已经获得了重要的研究关注,并且最近提出了许多基于 ViTs 的方法。下面,我们通过将这些方法分为以下几类来讨论这些方法:在所有层中具有单尺度特征的统一尺度 ViT(第 3.2.1 节),学习更适合密集预测任务的分层特征的多尺度 ViT(第 3.2.2 节),以及在 ViT 中具有卷积运算的混合设计(第 3.2.3 节)。

3.2.1 Uniform-scale Vision Transformers

原始的 Vision Transformer [11] 模型属于这个家族,其中多头自注意力被应用于输入图像中的一致尺度,其中空间尺度通过网络层次结构保持。我们将此类模型命名为统一尺度 ViT,如下所述。

图 6:Vision Transformer 的概述(左侧)和 Transformer 编码器的详细信息(右侧)。该架构类似于 NLP 领域中使用的 Transformer,图像块在展平后简单地馈送到模型中。训练后,从第一个token位置得到的特征用于分类。从 [11] 获得的图像。

Vision Transformer (ViT) [11](图 6)是第一个展示 Transformer 如何在大规模图像数据集上“完全”替代深度神经网络中的标准卷积的工作。他们将原始的 Transformer 模型 [1](变化很小)应用于一系列图像“补丁(patch)”扁平化为向量。该模型在大型专有数据集(具有 3 亿张图像的 JFT 数据集 [47])上进行了预训练,然后针对下游识别基准进行了微调,例如 ImageNet 分类。这是一个重要的步骤,因为在中等数据集上预训练 ViT 不会产生有竞争力的结果,因为 CNN 编码了关于图像的先验知识(归纳偏差,例如平移等方差),与 Transformer 相比,它减少了对数据的需求必须从非常大规模的数据中发现此类信息。值得注意的是,与 iGPT [19] 模型也将 Transformers 应用于全尺寸图像但将训练作为生成任务执行相比,ViT 使用监督分类任务预训练模型(尽管还探索了自监督变体,结果在一个较少的表现)。

DeiT [12] 是第一个证明可以在相对较短的训练集中在中等大小的数据集(即 120 万个 ImageNet 示例与 ViT [11] 中使用的 3 亿个 JFT [11] 图像)上学习 Transformer 的工作。除了使用 CNN 中常见的增强和正则化程序外,DeiT [12] 的主要贡献是一种新颖的 Transformer 原生蒸馏方法,它使用 CNN 作为教师模型 (RegNetY16GF [86]) 来训练 Transformer 模型CNN 的输出帮助 Transformer 有效地找出输入图像的有用表示。蒸馏标记附加输入补丁嵌入和类标记。自注意力层对这些标记进行操作以了解它们的相互依赖关系并输出学习到的类、补丁和蒸馏标记。使用在输出类标记上定义的交叉熵损失和蒸馏损失对网络进行训练,以将蒸馏标记与教师输出相匹配。对蒸馏的软标签和硬标签选择进行了探索,发现硬蒸馏的性能更好。有趣的是,学习到的类和蒸馏标记没有表现出高度相关性,表明它们具有

相关文章