这段时间计算机视觉圈有点热闹。首先,何玉明等人用一个简单的maskedautoencoder(MAE)证明了Transformer扩展到CV大模型的光明前景;随后,字节跳动推出了一种部分指标超过MAE的新方法——iBOT,它结合了十余项SOTA,将视觉任务进一步推向了新的高度。这些进展极大地鼓舞了该领域的研究人员。在这样一个节点,我们有必要梳理一下Transformer模型在CV领域的现有进展,挖掘出宝贵的经验。于是,我们找到了一篇中科院计算所等机构刚刚发布的综述论文。在这篇论文中,YangLiu等几位研究人员针对三个基本的CV任务(分类、检测和分割)全面回顾了100多个visualTransformer,并讨论了visualTransformers的一些关键问题及其潜在的研究方向,详细介绍了visualTransformer的研究。论文链接:https://arxiv.org/pdf/2111.06091.pdf本文是综述的简要介绍。论文概述Transformer是一种基于注意力的架构,在序列建模和机器翻译等任务上显示出惊人的潜力。如下图1所示,Transformer逐渐成为NLP领域主要的深度学习模型。最近流行的Transformer模型是自我监督的预训练模型,这些模型使用足够的数据进行预训练,然后针对特定的下游任务进行微调[2]-[9]。生成预训练Transformer(GPT)家族[2]–[4]利用Transformer解码器执行自回归语言建模任务;而Transformer(BERT)[5]及其使用双向编码器的变体[6],[7]是建立在Transformer编码器上的自动编码器语言模型。在计算机视觉领域,卷积神经网络(CNN)一直占据主导地位。受NLP领域自注意力机制成功的启发,一些基于CNN的模型开始尝试通过空间[14]-[16]或通道[17]-的额外自注意力层来捕获远程依赖关系。[19]级别,而其他一些模型试图用全局[20]或局部自注意力块[21]-[25]完全取代传统卷积。虽然Cordonnier等人。从理论上证明了自注意力模块的有效性[26],这些纯注意力模型在主流基准测试中仍然不如当前的SOTACNN模型。如上所述,在vanillaTransformer在NLP领域取得巨大成功的同时,attention-basedmodels在视觉识别领域也受到了很多关注。最近,有大量研究将Transformer移植到CV任务中,并取得了非常有竞争力的结果。例如,Dosovitskiy等人。[27]提出了一种纯Transformer,它使用图像块作为图像分类的输入,在许多图像分类基准上实现了SOTA。此外,VisionTransformer在检测[28]、分割[29]、跟踪[30]、图像生成[31]、增强[32]等其他CV任务中也取得了不错的表现。如图1所示,继[27]和[28]之后,研究人员为各个领域提出了数百种基于Transformer的视觉模型。因此,我们迫切需要一篇系统的文章来梳理这些模型,这就是这篇综述的背景。考虑到读者可能来自多个不同领域,综述作者将分类、检测和分割这三个基本的视觉任务纳入梳理范围。如下图2所示,本次调查将针对三个基本CV任务(分类、检测和分割)的100多种视觉Transformer方法按照任务、动机和结构特征进行分组。当然,这些组可能会重叠。例如,其中一些进步可能不仅有助于提高图像分类主干的性能,而且在检测和分割任务中也能取得可喜的成果。图2:VisionTransformers的分类由于训练设置和定向任务各不相同,研究人员还在不同配置上对这些Transformers进行了评估,以方便直观地进行比较。此外,它们还揭示了一系列重要但仍有待探索的特性,这些特性可能会使Transformers从众多架构中脱颖而出,例如弥合视觉和序列Transformers之间差距的轻松高级语义嵌入。最后,他们提出了几个有前途的研究方向。用于分类的视觉Transformer受到Transformer在NLP[2]-[5],[8]中的成功启发,许多研究人员尝试将Transformer引入到图像分类任务中。VisionTransformer(ViT)[27]是第一个在主流分类基准上实现与传统CNN相当的性能的公司。在论文的第三章中,研究人员对2021年6月之前发布的40多个Transformer主干进行了全面审查,并根据动机和实现将其分为六类,如下图5所示。根据这种分类,研究人员首先引入了用于图像分类的ViT-OriginalVisualTransformer。接下来,他们讨论了TransformerEnhancedCNN方法,这些方法利用Transformer来增强CNN主干的远程依赖性。Transformer在全局建模方面能力突出,但在前期忽略了局部信息。因此,CNNEnhancedTransformer方法通过适当的卷积归纳偏差来增强Transformer,而LocalAttentionEnhancedTransformer方法重新设计了patch分区和注意力块,以增强Transformer的局部性并保持无卷积架构。此外,CNN在性能和计算效率方面都受益于分层和深层结构[93]。受此启发,研究人员提出了HierarchicalTransformer和DeepTransformer方法。前者用金字塔干代替固定分辨率的柱状结构,后者防止注意力图过于平滑并增加其在更深层的多样性。此外,他们还审查了当前可用的自我监督方法。下表显示了这些Transformer的性能数据。在梳理这部分的进展后,研究人员得出以下结论:对于分割任务,encoder-decoderTransformer模型可以通过一系列可学习的maskembeddings将三个分割子任务统一为一个maskpredictionIssues[29],[84]],[137]。这种box-free方法在多个基准测试中实现了state-of-the-artstate-of-the-art[137]。此外,基于盒子的Transformer特定混合任务级联模型被证明可以在实例分割任务中实现更高的性能。视觉Transformer的几个关键问题Transformer如何连接语言和视觉?Transformer最初是为机器翻译任务而设计的。在语言模型中,句子中的每个单词都被视为代表高级、高维语义信息的基本单元。这些词可以嵌入到低维向量空间表示中,称为词嵌入。在视觉任务中,图像的每个像素都是低级、低维的语义信息,与嵌入特征不匹配。因此,在视觉任务中使用Transformer的关键是在保持图像特征的同时建立图像到矢量的变换。例如,ViT[27]在强松弛条件和EarlyConv的帮助下将图像转换为包含多个低级信息的补丁嵌入。[50]和CoAtNet[37]使用卷积来提取高级信息,同时减少补丁的冗余特征。Transformer、self-attention和CNN的关系从卷积的角度看,其归纳偏差主要表现在局部性、平移不变性、权值共享和稀疏连接。这种简单的卷积核可以高效地进行模板匹配,但由于归纳偏向强,其上界低于Transformer。从self-attention机制的角度来看,在给定足够数量的heads的情况下,理论上它可以表示任何卷积层。这种全注意力操作可以交替结合局部和全局级别的注意力,并根据特征之间的关系动态生成注意力权重。尽管如此,由于其较低的准确性和较高的计算复杂性,它不如SOTACNN实用。从变形金刚的角度来看,董等人。证明当在没有短连接或FFN的深层上训练时,自我注意层表现出强烈的“令牌均匀性”归纳偏差。结果表明,Transformer由两个关键部分组成:一个自注意力层,聚合令牌之间的关系;以及提取输入特征的位置FFN。虽然Transformer具有很强的全局建模能力,但卷积可以有效处理低级特征[37]、[50]、增强Transformer的局部性[45]、[70],并通过填充附加位置特征[48]、[49]、[102]。不同视觉任务中的可学习嵌入Transformer模型利用可学习嵌入来执行不同的视觉任务。从监督任务的角度来看,这些嵌入可以分为类令牌嵌入、对象嵌入、查询嵌入和掩码嵌入。从结构上看,它们之间有着内在的联系。最近的Transformer方法主要采用两种不同的模式:encoder-only和encoder-decoder结构。每个结构包含三个级别的嵌入式应用程序,如下图16所示。从位置的角度来看,学习嵌入在仅编码器Transformer中的应用被分解为初始标记和后期标记,而学习位置编码和学习解码器输入嵌入用于编码器-解码器结构。从数量的角度来看,只是编码器的设计应用了不同数量的令牌。例如,ViT[27]、[38]系列和YOLOS[73]在初始层添加了不同的数字标记,而CaiT[40]和Segmenter[84]利用这些标记来表示不同任务中的最终层。特征。在编码器-解码器结构中,学??习到的解码器(对象查询[28]、[70]或掩码嵌入[137])的位置编码显式[28]、[137]或隐式[69]、[70]是附加到解码器输入。与常量输入不同,可变形DETR[67]将学习到的嵌入作为输入并专注于编码器输出。受多头注意力设计的启发,考虑了多初始令牌策略以进一步提高分类性能。然而,DeiT[38]表明这些额外的标记将收敛到相同的结果,这对ViT没有好处。从另一个角度来看,YOLOS[73]提供了一种使用多个初始标记来统一分类和检测的范例,但这种仅编码器的设计会导致高计算复杂度。根据CaiT[40]的观察,后一类令牌可以略微降低Transformer的FLOPs并略微提高性能(从79.9%到80.5%)。Segmenter[84]也展示了这种策略在分割任务中的效率。encoder-decoder结构比只使用encoder的Transformer的多个post-token节省了更多的计算量。它通过使用一小组对象查询(掩码嵌入)在检测[28]和分割[137]领域标准化了Transformer方法。通过组合多个后标记和对象查询(掩码嵌入),像Def??ormableDETR[67](将对象查询和可学习的解码器嵌入作为输入)这样的结构可以基于不同的任务集成可学习的嵌入。统一成Transformerencoder-decoder。未来的研究方向VisualTransformer方法取得了长足的进步并显示出可喜的结果,在多个基准测试中接近或超过了SOTACNN方法的记录。但技术还不成熟,无法撼动卷积在CV领域的霸主地位。基于论文中的一些分析,作者指出了视觉Transformer的一些潜在发展方向:Ensembleprediction如论文中所述,由于损失函数的梯度相同,因此附加的类标记将始终收敛[38].具有二分损失函数的集成预测策略已广泛用于视觉转换器[28]、[137]中的许多密集预测任务。上文提到,分类任务自然要考虑集成预测的设计,比如多类tokenTransformer借助集成预测来预测混合patch图像,类似于LVViT的数据增强策略[41].此外,集成预测策略中的一对一标签分配导致早期过程中训练不稳定,这可能会降低最终结果的准确性。使用额外的标签分配和损失改进整体预测可能有助于新的检测框架。Self-supervisedlearningSelf-supervisedTransformer预训练已经成为NLP领域的标准,并在各种应用中取得了巨大的成功[2],[5]。卷积连体网络作为CV中的自我监督范式,采用对比学习进行自我监督预训练,这与NLP中的掩码自动编码器不同。最近,一些研究试图设计一种自我监督的视觉转换器,以弥合视觉和语言之间预处理方法的差距。它们中的大多数继承自NLP中的掩码自动编码器或CV中的对比学习方案。然而,目前还没有像NLP中的GPT-3那样具有革命性的视觉转换器监督方法。如论文中所述,编码器-解码器结构可以通过学习解码器嵌入和位置编码来统一视觉任务。用于自监督学习的编码器-解码器变压器值得进一步研究。
