点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

来源丨机器之心

编辑丨极市平台

这段时间,计算机视觉圈有点热闹。先是何恺明等人用简单的掩蔽自编码器(MAE)证明了 Transformer 扩展到 CV 大模型的光明前景;紧接着,字节跳动又推出了部分指标超过 MAE 的新方法——iBOT,将十几项视觉任务的 SOTA 又往前推了一步。这些进展给该领域的研究者带来了很大的鼓舞。

在这样一个节点,我们有必要梳理一下 CV 领域 Transformer 模型的现有进展,挖掘其中有价值的经验。因此,我们找到了中国科学院计算技术研究所等机构刚刚发布的一篇综述论文。在这篇论文中,Yang Liu 等几位研究者全面回顾了用于三个基本 CV 任务(分类、检测和分割)的 100 多个视觉 Transfomer,并讨论了有关视觉 Transformer 的一些关键问题以及有潜力的研究方向,是一份研究视觉 Transformer 的详尽资料。

论文链接: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],但在主流基准上,这些纯注意力模型仍然比不上当前的 SOTA CNN 模型。

如上所述,在 vanilla Transformer 于 NLP 领域取得巨大成功之际,基于注意力的模型在视觉识别领域也得到了很多关注。最近,有大量研究将 Transformer 移植到 CV 任务中并取得了非常有竞争力的结果。例如,Dosovitskiy et al. [27]提出了一种使用图像 patch 作为图像分类输入的纯 Transformer,在许多图像分类基准上都实现了 SOTA。此外,视觉 Transformer 在其他 CV 任务中也实现了良好的性能,如检测 [28]、分割[29]、跟踪[30]、图像生成[31]、增强[32] 等。

如图 1 所示,继 [27]、[28] 之后,研究者们又针对各个领域提出了数百种基于 Transformer 的视觉模型。因此,我们迫切地需要一篇系统性的文章来梳理一下这些模型,这便是这篇综述诞生的背景。考虑到读者可能来自很多不同的领域,综述作者将分类、检测和分割三种基本的视觉任务都纳入了梳理范围。

如下图 2 所示,这篇综述将用于三个基本 CV 任务(分类、检测和分割)的 100 多种视觉 Transformer 方法按照任务、动机和结构特性分成了多个小组。当然,这些小组可能存在重叠。例如,其中一些进展可能不仅有助于增强图像分类骨干的表现,还能在检测、分割任务中取得不错的结果。

图 2 :视觉 Transformer 的分类

由于训练设置和定向任务各不相同,研究者也在不同配置上对这些 Transforme 进行了评估,以进行方便和直观的比较。此外,他们还揭示了一系列重要但仍需探索的特点,这些特点可能使 Transformer 从众多架构中脱颖而出,例如弥合视觉和序列 Transformer 之间差距的松弛高级语义嵌入。最后,他们提出了几个有前景的研究方向。

用于分类的视觉 Transformer

受 NLP 中 Transfomer 成功的启发 [2]–[5], [8],不少研究者尝试将 Transformer 引入图像分类任务。Vision Transformer(ViT)[27] 最先在主流分类基准上达到了可以媲美传统 CNN 的性能。在论文的第 III 章,研究者对 2021 年 6 月之前发布的 40 多个 Transformer 骨干进行了全面回顾,并根据动机和实现情况将其分成了六类,如下图 5 所示。

根据这一分类,研究者首先介绍了 ViT——用于图像分类的 Original Visual Transformer。接下来,他们讨论了 Transformer Enhanced CNN 方法,这些方法利用 Transformer 增强 CNN 骨干的长程依赖。Transformer 在全局建模方面能力突出,但在早期阶段会忽略局部信息。因此,CNN Enhanced Transformer 方法利用适当的卷积归纳偏置来增强 Transformer,而 Local Attention Enhanced Transformer 方法重新设计 patch 分区和注意力块,以增强 Transformer 的局部性并维持一个无卷积的架构。

此外,CNN 在性能和计算效率方面都受益于分层和深度结构[93]。受此启发,研究者们提出了 Hierarchical Transformer 和 Deep Transformer 方法。前者用一个金字塔 stem 代替分辨率固定的柱状结构,后者可以防止注意力图过于平滑,并在较深的层中增加其多样性。此外,他们还回顾了目前可用的自监督方法。

下表 I 总结了以上 Transformer 模型在主流分类基准上的表现:

在梳理了这一部分的进展之后,研究者得出了以下结论:

对于分类任务,一个深度分层 Transformer 骨干可以有效降低计算复杂度 [39],还能避免深层中的特征过于平滑[35], [40], [59], [60]。同时,早期卷积 [37] 足以捕获低级特征,从而显著增强浅层的稳健性,降低计算复杂度。此外,卷积投影[46], [47] 和局部注意力机制 [33], [42] 都可以提高 Transformer 的局部性。

用于检测的视觉 Transformer

在第 IV 章中,研究者详细介绍了用于目标检测的视觉 Transformer。这些模型可以分为两类:作为颈部的 Transformer 和作为骨干的 Transformer。颈部检测器主要基于为 Transformer 结构指定的一个新表示,称为对象查询,即一组学习到的同等地聚合全局特征的参数。它们试图从加速收敛或提高性能的角度来解决最优融合范式。除了专门为检测任务设计的各种颈部外,一定比例的主干检测器也会考虑到特定的策略。最后,作者在表 II 和表 III 中比较了它们的性能,并分析了 Transformer 检测器的一些潜在改进。

在梳理了这一部分的进展之后,研究者得出了以下结论:

对于检测任务,Transformer 颈部得益于编码器 - 解码器结构,比只使用编码器的 Transformer 检测器计算更少。因此,解码器是必要的,但是由于收敛缓慢 [72],它需要的 stack 极少[70]。此外,稀疏注意力[67] 有利于降低计算复杂度,加速 Transformer 的收敛,而空间先验 [67], [69], [71] 有利于提高 Transformer 的性能,稍微提高其收敛速度。

用于分割的视觉 Transformer

论文第 V 章主要介绍了用于分割的 Transformer。按照分割方式的不同,这些 Transformer 可以被分为两类:基于 patch 的 Transformer 和基于查询的 Transformer。后者可以进一步分解为带对象查询的 Transformer 和带掩码嵌入的 Transformer。下面这些表格展示了这些 Transformer 的性能数据。

在梳理了这一部分的进展之后,研究者得出了以下结论:

对于分割任务,编码器 - 解码器 Transformer 模型可以通过一系列可学习的掩码嵌入将三个分割子任务统一为一个掩码预测问题[29], [84], [137]。这种无框(box-free)方法在多个基准上实现了最新的 SOTA[137]。此外,基于 box 的 Transformer 的特定混合任务级联模型被证明在实例分割任务中达到了更高的性能。

关于视觉 Transformer 的几个关键问题

Transformer 是如何打通语言和视觉的?

Transformer 最初是为机器翻译任务而设计的。在语言模型中,句子中的每一个词都被看作表示高级、高维语义信息的一个基本单元。这些词可以被嵌入到低维向量空间表示中,叫做词嵌入。在视觉任务中,图像的每个像素都是低级、低维语义信息,与嵌入特征不匹配。因此,将 Transformer 用到视觉任务中的关键是建立图像到向量的转换,并保持图像的特点。例如,ViT[27]借助强松弛条件将图像转换为包含多个低水平信息的 patch 嵌入,Early Conv. [50] 和 CoAtNet [37] 利用卷积提取高级信息,同时降低 patch 的冗余特征。

Transformer、自注意力和 CNN 之间的关系

从卷积的角度来看,其归纳偏置主要表现为局部性、平移不变性、权重共享和稀疏连接。这类简单的卷积核可以有效地执行模板匹配,但由于归纳偏置强,其上界要低于 Transformer。

从自注意力机制的角度来看,理论上,当给定足够数量的头时,它可以表示任何卷积层。这种 fully-attentional 操作可以交替地结合局部和全局层面的注意力,并根据特征之间的关系动态地生成注意力权重。尽管如此,它的实用性还是不如 SOTA CNN,因为其精度较低,计算复杂度较高。

从 Transformer 的角度来看,Dong 等人证明,当在没有短连接或 FFN 的深层上训练时,自注意力层表现出强大的「token uniformity」归纳偏置。结果表明,Transformer 由两个关键部分组成:一个聚合 token 之间关系的自注意力层;一个提取输入特征的 position-wise  FFN。虽然 Transformer 具有强大的全局建模能力,卷积可以有效地处理低级特征[37],[50],增强 Transformer 的局部性[45],[70],并通过填充(padding)来附加位置特征[48],[49],[102]。

不同视觉任务中的可学习嵌入

Transformer 模型利用可学习嵌入来执行不同的视觉任务。从监督任务的视角来看,这些嵌入可以被分为类 token、对象、查询和掩码嵌入。从结构的角度来看,它们之间存在着内在的联系。最近的 Transformer 方法主要采用两种不同的模式:仅编码器和编码器 - 解码器结构。每个结构由三个层次的嵌入应用组成,如下图 16 所示。

从位置层面来看,在仅编码器 Transformer 中学习的嵌入的应用被分解为初始 token 和后期 token,而学习的位置编码和学习的解码器输入嵌入被用于编码器 - 解码器结构。从数量层面来看,仅编码器的设计应用了不同数量的 token。例如,ViT [27],[38]系列和 YOLOS [73]在初始层中添加了不同的数字 token,而 CaiT [40]和 Segmenter [84]则利用这些 token 来表示不同任务中最后几层的特征。在编码器 - 解码器结构中,所学习的解码器的位置编码 (对象查询[28],[70] 或掩码嵌入 [137]) 被显式地 [28],[137] 或隐式地 [69],[70] 附加到解码器输入中。与恒定输入不同,可变形 DETR [67]采用学到的嵌入作为输入,并关注编码器输出。

受多头注意力设计的启发,多初始 token 策略被认为可以进一步提高分类性能。然而,DeiT [38]表明,这些额外的 token 将会向相同的结果收敛,这对 ViT 没有好处。从另一个角度来看,YOLOS [73]提供了一个使用多个初始 token 来统一分类和检测的范例,但这种仅编码器的设计会导致计算复杂性很高。根据 CaiT [40]的观察,后面的类 token 可以稍稍降低 Transformer 的 FLOPs,并略微提升性能(从 79.9% 到 80.5%)。Segmenter[84]也显示了这种策略在分割任务中的效率。

与仅使用编码器的 Transformer 的多个后期 token 相比,编码器 - 解码器结构节省了更多的计算。它通过使用一小组对象查询(掩码嵌入)来标准化检测 [28] 和分割 [137] 领域中的 Transformer 方法。通过组合多个后期 token 和对象查询(掩码嵌入)的形式,像可变形 DETR [67]这样的结构(以对象查询和可学习解码器嵌入为输入),可以将基于不同任务的可学习嵌入统一到 Transformer 编码器 - 解码器中。

未来的研究方向

视觉 Transformer 方法取得了巨大的进展,并显示出了有希望的结果,在多个基准上接近或超过了 SOTA CNN 方法的记录。但该技术尚不成熟,无法撼动卷积在 CV 领域的主导地位。基于论文中的一些分析,作者指出了视觉 Transformer 的一些具有潜力的发展方向:

集合预测

正如论文中所提到的,由于损失函数的梯度相同,附加的类 token 将始终收敛 [38]。具有二分损失函数的集合预测策略已经在许多密集预测任务中广泛应用于视觉 Transformer[28],[137]。如上所述,考虑分类任务的集合预测设计是很自然的,例如多类 token Transformer 借助集合预测来预测混合 patch 图像,这类似于 LVViT [41] 的数据增强策略。此外,集合预测策略中的一对一标签分配导致早期过程中的训练不稳定,这可能会降低最终结果的准确性。利用其他标签分配和损失改进集合预测可能对新的检测框架有所帮助。

自监督学习

自监督 Transformer 预训练已经成为了 NLP 领域的标准,并在各种应用中取得了巨大成功[2],[5]。卷积孪生网络作为 CV 中的自监督范例,采用对比学习进行自监督预训练,不同于 NLP 中的掩蔽自编码器。最近,一些研究试图设计一个自监督的视觉 Transformer 来弥补视觉和语言之间预处理方法的差距。它们大多继承了 NLP 中的掩蔽自编码器或 CV 中的对比学习方案。但是,目前还没有用于视觉 Transformer 的监督方法能实现 NLP 中 GPT-3 那样的革命性。如论文所述,编码器 - 解码器结构可能通过学习解码器嵌入和位置编码来统一视觉任务。自监督学习的编码器 - 解码器 Transformer 值得进一步研究。

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

何恺明MAE大火之后,想梳理下视觉Transformer?这篇综述帮你梳理了100多个相关推荐

  1. 解决训练不稳定性,何恺明团队新作来了!自监督学习+Transformer=MoCoV3

    本文是FAIR的恺明团队针对自监督学习+Transformer的一篇实证研究.针对Transformer在自监督学习框架中存在的训练不稳定问题,提出了一种简单而有效的技巧:Random Patch P ...

  2. 何恺明等人提TensorMask框架:比肩Mask R-CNN,4D张量预测新突破

    整理 | 刘畅.Jane 责编 | Jane 出品 | AI科技大本营(id:rgznai100) 看到今天要给大家介绍的论文,也许现在大家已经非常熟悉 Ross Girshic.Piotr Doll ...

  3. 何恺明团队新作:只用普通ViT,不做分层设计也能搞定目标检测

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 鱼羊 发自 凹非寺 量子位 | 公众号 QbitAI 微软的Swin ...

  4. 何恺明团队推出Mask^X R-CNN,将实例分割扩展到3000类

    翻译 | AI科技大本营(ID:rgznai100) 参与 | shawn,刘畅 今年10月,何恺明的论文"Mask R-CNN"摘下ICCV 2017的最佳论文奖(Best Pa ...

  5. 何恺明大神巨作:Faster R-CNN 论文笔记

    视频链接:https://www.bilibili.com/video/BV1j5411e7aH/ 何恺明大神奠基Two-stage目标检测算法的一篇巨作. 1.看abstract时候的问题(看其他部 ...

  6. ​兼具Swin和ViT的优势!可用于MAE预训练的超简单层次Transformer结构

    ©PaperWeekly 原创 · 作者 | Jason 研究方向 | 计算机视觉 摘要 最近,掩蔽图像建模(MIM)为视觉 Transformer 的自监督预训练提供了一种新的方法.高效实现的一个关 ...

  7. 聊聊恺明大神MAE的成功之处!

    卷友们好,我是rumor. 这两天忍不住又卷去看CV领域的论文了,主要是前些日子恺明大神的MAE太过强大,感觉不看会错过一个亿.看了之后果然不负我的期待,大道至简,思路太清晰了.太深刻了,给他投光我的 ...

  8. 紧跟大佬的步伐:关于我亲自动手复现了恺明新作MAE这件事

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨CW不要無聊的風格@知乎(已授权) 来源丨https://zh ...

  9. 如何从数学角度解释何恺明新作Masked Autoencoders (MAE)?

    何恺明最新一作论文 Masked Autoencoders(MAE)为自监督学习方法带来了一场革命,自提出以来,在 AI 领域内得到了极大的关注.MAE 不仅在图像预训练上达到了 SOTA 性能,更是 ...

最新文章

  1. 5 年提速 500 倍,英伟达 GPU 创纪录突破与技术有哪些?
  2. 教你在微信头像上加皇冠,很漂亮!
  3. 网卡绑定技术linux c,Linux多网卡绑定
  4. apache lucene_Apache Lucene拼写检查器的“您是不是要”功能
  5. VR全景看年评!PConline年度评测盛典等你来体验
  6. iviewtable表格数据 录音播放下载
  7. 你想过35岁以后的出路吗
  8. Java基础篇:如何使用return语句
  9. 高斯消元解线性方程组(浮点高斯消元模板)
  10. 【个人笔记】OpenCV4 C++ 快速入门 22课
  11. 在桌面养只捣蛋鹅,让 Desktop Goose 陪你一起用Mac
  12. Nat. Methods | 基于几何深度学习解密蛋白分子表面的相互作用指纹
  13. 【一文带你读懂机器学习】xgboost原理
  14. Address already in use: JVM_Bind:8080 关于XXX端口被占用问题的解决
  15. axure rp pro 9.0授权密钥
  16. Jedis实现批量删除redis cluster
  17. Photoshop从入门到精通所有视频教程(43G)以及素材资料免费拿
  18. Azure机器学习模型搭建
  19. 关于互相帮忙投票的微信群、微信刷投票群、微信投票刷票群的详情介绍
  20. thumbnailator给图片添加水印

热门文章

  1. ccwow服务器维护,Aster星辰成立魔兽世界分部:目标只有一个,就是世界首杀
  2. web目录扫描工具-dirsearch
  3. 大金空调自动关机常见四种原因
  4. 基于机器学习的WAF模型探究5
  5. Element UI关于 input禁止编辑
  6. [幸福的七种颜色] 精彩文摘(中)
  7. 绩点计算器 (C# + SQL Server 2005)
  8. 体系结构笔记------动态调度中的记分板算法
  9. 学习笔记(15):C#急速入门-艾特符号修饰的字符串
  10. js基础总结——js 获取元素节点、js 绑定onclick事件、js 获取属性 修改属性值、js 获取子元素、js 改变css样式