声明:
本人是来自 γ 星球的外星人
为了学习地球的深度学习知识的,好回去建设自己的家乡
每周不定期更新自己的论文精读笔记,中心思想是两个字 --- 易懂
没啥事的兄弟姐妹们,可以和我探讨外星知识哦~
本文旨在,简单概括综述,并不会详细介绍某个模型
相关经典架构,大家可以查看原文中相关章节的参考文献或 CSDN 直接搜索架构名字都可以
我们确实希望这篇评论论文可以帮助读者在深入探索之前更好地理解 Vision Transformer
论文题目:A Survey of Visual Transformers
论文链接:https://arxiv.org/abs/2111.06091
发表时间:2021年11月
Transformer是一种基于注意力的编解码体系结构,它彻底改变了自然语言处理领域。受这一重大成就的启发,最近在将 Transformer 体系结构应用于计算机视觉(CV)领域方面进行了一些开创性的工作,这些工作已经证明了它们在各种CV任务中的有效性。凭借具有竞争力的建模能力,与现代卷积神经网络(CNN)相比,visual Transformers 在 ImageNet、COCO 和 ADE20k 等多个基准上取得了令人印象深刻的性能。
在本文中,我们对三个基本的 CV 任务(分类、检测和分割)的100多种不同 Vision Transformer进行了全面的回顾,其中提出了一种分类法,根据它们的动机、结构和使用场景来组织这些方法。由于培训设置和面向任务的不同,我们还对这些方法在不同配置上进行了评估,以便进行简单直观的比较,而不仅仅是各种基准。此外,我们还揭示了一系列重要但尚未开发的方面,这些方面可能使 Transformer 从众多体系结构中脱颖而出,例如,松散的高层语义嵌入,以弥合视觉和顺序转换器之间的差距。最后,对未来的研究方向提出了三点建议。
如图所示,Transformer 已逐渐成为自然语言处理 (NLP) 的主要深度学习模型
Vision Transformer 的简单分类(包括三个部分:分类、检测和分割)
第一步: query 和 key 进行相似度计算,得到权值
第二步:将权值进行归一化,得到直接可用的权重
第三步:将权重和 value 进行加权求和
将输入线性投影到多个特征子空间中,并由多个独立的注意力头(层)并行处理。 结果向量被连接并映射到最终输出
然后将 MHSA (多头自注意力机制)的输出馈送到两个连续的前馈网络 (FFN),其中 ReLU 为激活函数
由于 Transformer / Attention 同时且相同地对输入嵌入进行操作,因此忽略了序列的顺序。为了利用顺序信息,常见的解决方案是将额外的位置向量附加到输入,因此术语 “位置编码”。位置编码有多种选择。例如,典型的选择是不同频率的正弦和余弦函数
显示了 Transformer 模型的整体编码器-解码器架构
Visual Transformer Backbone 的分类(最好用彩色查看)
经典架构:ViT
经典架构:VTs、BoTNet
经典架构:DeiT、ConViT、CeiT、LocalViT、CPVT、ResT、CoAtNet
经典架构:TNT、Swin Transformer、Twins、ViL、VOLO
Swin Transformer 架构图
经典架构:T2T-ViT、PVT、PiT、CvT
经典架构:CaiT、DeepViT、Refiner
经典架构:iGPT、BEiT、MoCo v3、DINO
最近在 ImageNet-1k 基准上的视觉 Transformer 的比较
包括 ViT、DeiT、BoTNet、VTs、ConViT、CeiT、LocalViT、TNT、Swin、PiT、T2T-ViT、PVT、CvT、DeepViT、CaiT、Cross ViT。
(a) 上述模型的气泡图,输入分辨率为 224*224,大小表示 GFLOPs;
(b) ViT 与高分辨率输入的比较;
(c) ImageNet-21k 上一些预训练模型的准确率图。
ViT 在 IMAGENET-1K、CIFAR-10 和 CIFAR-100 上的 TOP-1 精度比较。(最好看原文的图)
在本节中,详细介绍了用于对象检测的视觉 Transformer,可以将其分为两类:作为颈部的 Transformer 和作为主干的 Transformer。
经典架构:Deformable DETR、ACT
Deformable DETR架构图如下
经典架构:SMCA、Conditional DETR、Two-Stage Deformable DETR、Efficient DETR
经典架构:TSP、YOLOs
经典架构:UP-DETR
经典架构:Mask-R-CNN、RetinaNet、DETR
比较了经典 Transformer 的性能,如下表Ⅱ、Ⅲ
Transformer以两种方式被广泛应用于分割:基于补丁的 Transformer 和基于查询的 Transformer。后者可以进一步分解为带对象查询的转换器和带掩码嵌入的转换器。
经典架构:SETR、TransUNet、Segformer
查询是在 Transformer 解码器的输入和输出处的可学习嵌入。与补丁嵌入相比,查询嵌入可以更“公平”地整合每个补丁的信息
经典架构:Panoptic DETR、Cell-DETR、VisTR、QueryInst
经典架构:ISTR、SOLQ、Max-DeepLab、Segmenter、Maskformer
Maskformer架构图如下
相关架构对比结果
基于上述比较和讨论,我们现在想对三个基本任务的最新改进进行简要总结,如下所示。
1)对于分类,深层分层 Transformer 主干可有效降低计算复杂度并避免深层中的特征过度平滑,同时,低层卷积足以捕获低级特征,可以显着增强鲁棒性并降低浅层的计算复杂度。此外,卷积投影和局部注意力机制都可以提高 Transformer 的局部性。 前者也可能是一种用位置编码代替的新方法。
2)对于检测,Transformer 颈部受益于编码器-解码器结构,其计算量少于仅编码器的 Transformer 检测器。因此,解码器是必要的,但由于其收敛速度较慢,因此需要很少的堆栈。此外,稀疏注意力有利于降低计算复杂度并加速 Transformer 的收敛,而空间先验有利于Transformer 的性能,收敛速度稍快。
3)对于分割,编码器-解码器 Transformer 模型可以通过一系列可学习的掩模嵌入将三个分割子任务统一为掩模预测问题。 这种无盒方法在多个基准测试中实现了最新的.此外,基于盒子的Transformer 的特定混合任务级联模型被证明在实例分割任务中获得更高的性能。
尽管有大量的视觉 Transformer 模型和应用程序,但对视觉 Transformer 的“本质”理解仍然是低效的。 因此,我们将重点关注一些关键问题,以帮助解决读者的困惑。
Transformer 最初是为机器翻译任务设计的。在语言模型中,一个句子的每个词都被作为一个基本单元,表示高级、高维的语义信息。这些词可以嵌入到低维向量空间表示中,因此称为词嵌入。 在视觉任务中,图像的每个像素都是低级、低维的语义信息,与嵌入特征不匹配。 因此,转移到视觉任务的关键是构建图像到矢量的转换并保持图像的特征。例如,ViT 通过强松弛条件将图像转换为具有多个低级信息的补丁嵌入,而 Early Conv 和 CoAtNet 利用卷积来提取高级信息并减少补丁中的冗余特征。
Transformer 由两个关键组件组成:一个 self-attention 层聚合令牌的关系,一个 position-wise FFN 提取输入的特征。尽管 Transformer 具有强大的全局建模能力但卷积可以有效处理低级特征 增强 Transformer 的局部性,并通过 padding 附加位置特征。
Visual Transformer 方法取得了巨大的进步,并显示出接近或超过 SOTA CNN 方法在多个基准上的记录的有希望的结果。但是,该技术还不够成熟,无法颠覆卷积在 CV 领域的主导地位。
在 ViT 在 CV 任务中展示了其有效性之后,Vision Transformer 受到了相当大的关注,并削弱了 CNN 的主导地位。 在本文中,我们全面回顾了一百多个 Transformer 模型,这些模型先后应用于各种视觉任务,包括分类、检测和分割。 对于每项任务,都提出了一个特定的分类法来组织最近开发的 Transformer 方法,并在各种流行的基准上评估它们的性能。 通过我们对这些方法的综合分析和系统比较,本文提供了显着改进的总结,讨论了视觉 Transformer 的三个基本问题,并进一步提出了未来投资的几个潜在研究方向。
我们确实希望这篇评论论文可以帮助读者在深入探索之前更好地理解 Vision Transformer