2021 年对计算机视觉来说是非常重要的一年,各个恣意的 SOTA 不断被刷新。这么多种 Vision Transformer 模型,到底该选哪一个?新手入坑该选哪个标的目的?华为诺亚方舟实验室的这一篇综述或许能给大家带来帮助。
综述论文链接:https://ieeexplore.ieee.org/document/9716741/
诺亚开源模型:https://github.com/huawei-noah
华为 A+M 社区:https://www.mindspore.cn/resources/hub
引言
如何将 Transformer 运用于计算机视觉(CV)恣意,引起了越来越多钻研人员的兴趣。在过去很长一段时间内,CNN 成为视觉恣意中的主要模型架构,但如今 Transformer 呈现出巨大的潜力,有望在视觉畛域中打败 CNN 的霸主地位。谷歌提出了 ViT 架构,首先将图象切块,然后用纯 Transformer 架构直接运用于图象块序列,就能完成对图象的分类,并在多个图象识别基准数据集上取得了优越的本能。除图象分类恣意之外,Transformer 还被用于解决其他视觉问题,包括目的检测(DETR),语义分割(SETR),图象处理(IPT)等等。由于其出色的本能,越来越多的钻研人员提出了鉴于 Transformer 的模型来改进各种视觉恣意。为了让大家对视觉 Transformer 在这两年的飞速发展有一个清晰的感受,图 1 展示了视觉 Transformer 的发展里程碑,从图象分类到目的检测,从图片生成到视频理解,视觉 Transformer 展现出了非常强的本能。
图 1 视觉 Transformer 的发展历程
对于很多刚接触视觉 Transformer 的钻研员,看到这么多模型架构或许一时没有头绪,在面对具体运用需求的时候,也不知道选哪一个视觉 Transformer 架构。另外,想做视觉 Transformer 的同学也经常在问还有没有新标的目的可以挖掘。这些问题或多或少的都可以从这一篇涵盖了 200 多篇前沿论文的综述中找到答案:
按照视觉 Transformer 的设计和运用场景,本文对视觉 Transformer 模型进行了系统性的归类,如表 1 所示:骨干搜集、高 / 中层视觉、下层视觉、多模态等,并且在每一章中针对恣意特点进行详细分析和对比;
本文针对高效的视觉 Transformer 进行了详细的分析,尤其是在标准数据集和硬件上进行了精度和速度的评测,并讨论了一些 Transformer 模型压缩和加速的方式;
华为是一家具有软硬件全栈 AI 解决方案的公司,鉴于 A+M 生态,在 Transformer 畛域已经做出了很多有影响力的事务,鉴于这些经验并且联合了业界知名学者一起进行了深入思考和讨论,给出了几个很有潜力的未来标的目的,供大家参考。
表 1 视觉 Transformer 代表性事务
附华为诺亚方舟实验室 Transformer 系列事务:
NLP 大模型盘古 Alpha:https://arxiv.org/abs/2104.12369
中文预训练模型哪吒:https://arxiv.org/abs/1909.00204
轻量模型 TinyBERT:https://arxiv.org/abs/1909.10351
下层视觉 IPT:https://arxiv.org/abs/2012.00364
多模态 – 悟空:https://arxiv.org/abs/2111.07783
骨干搜集架构 TNT:https://arxiv.org/abs/2103.00112
骨干搜集
视觉 Transformer 的所有组件,包括多头自注意力、多层感知机、残差连接、层归一化、位置编码和搜集拓扑结构,在视觉识别中起着关键作用。为了提高视觉 transformer 的精度和效率,业界已经提出了许多模型。下表总结了视觉 Transformer 骨干搜集的结果,可以更好分析现有搜集的发展趋势。从图 2 中的结果可以看出,将 CNN 和 Transformer 结合起来可以获得更好的本能,这表明卷积的局部连接和注意力的全局连接能够相互补充。
表 2 代表性 CNN 和 Transformer 搜集在 ImageNet 结果的对比。
图 2 代表性 CNN 和 Transformer 搜集的 FLOPs / 吞吐量对比
目的检测
鉴于 Transformer 的目的检测方式也引起了广泛的兴趣,这些方式大致可以分为两类:鉴于 Transformer 的检测集合预测方式和鉴于 Transformer 骨干搜集的检测方式。与鉴于 CNN 的检测器相比,鉴于 Transformer 的方式在准确性和运行速度方面都表现出了强大的本能。表 3 展示了在 COCO 数据集上鉴于 Transformer 的不同目的检测器的本能。
将 Transformer 用于中高层视觉恣意,在输入 embedding、位置编码、损失函数以及整体架构设计等方面都有较多的探索空间。一些现有方式从不同角度改进自注意力模块,如变形注意力机制和自适应聚类。尽管如此,利用 Transformer 来解决中高层视觉恣意的探索仍处于初步阶段,需要整个业界进一步的钻研。例如,在 Transformer 之前是否有必要运用 CNN 或 PointNet 等特征提取模块以获得更好的本能?如何像 BERT 和 GPT-3 在 NLP 畛域所做的那样,运用大规模的预训练数据充分利用 Transformer 的特性?如何通过结合特定恣意的先验知识来设计更强大的体系结构?之前的一些事务已经对上述问题进行了初步讨论,期待有更多钻研来探索更强大的视觉 Transformer。除了目的检测,Transformer 还被运用于其他中高层视觉恣意,如图象分割、人体姿态估计、目的跟踪等,详细内容可参考原论文。
表 3 鉴于 Transformer 的目的检测器在 COCO2017 上的结果对比
下层视觉
下层视觉是计算机视觉畛域的一个重要问题,如图象超分辨率和图象生成等,而目前也有一些事务来钻研如何将 Transformer 运用于下层视觉中来。这些恣意通常将图象作为输出(高分辨率或去噪图象),这比分类、分割和检测等高层视觉恣意(输出是标签或框)更具挑战性。图 3 和图 4 展示了在下层视觉中运用 Transformer 的方式。在图象处理恣意中,首先将图象编码为一系列 token,Transformer 编码器运用该序列作为输入,进而用 Transformer 解码器生成所需图象。在图象生成恣意中,鉴于 GAN 的模型直接学习解码器生成的 token,通过线性映射输出图象,而鉴于 Transformer 的模型训练自编码器学习图象的码本,并运用自回归 Transformer 模型预测编码的 token。而一个有意义的未来钻研标的目的是为不同的图象处理恣意设计合适的搜集架构。
图 3 鉴于 Transformer 的图象生成
图 4 鉴于 Transformer 的图象处理
多模态
许多钻研开始热衷于挖掘 Transformer 在处理多模态恣意(如视频 – 文本、图象 – 文本和音频 – 文本)的潜力。CLIP 是其中影响力较大的一个事务, 其将自然语言作为监督信号,来学习更有效的图象表示。CLIP 运用大量文本图象对来联合训练文本编码器和图象编码器。CLIP 的文本编码器是一个标准的 Transformer,具有 mask 的自注意力层;对于图象编码器,CLIP 考虑了两种类型的架构:ResNet 和视觉 Transformer。CLIP 在一个新采集的数据集上进行训练,该数据集包含从互联网上收集的 4 亿对图象 – 文本对。CLIP 展示了惊人的零样本分类本能,在 ImageNet-1K 数据集上实现了 76.2% top-1 精度,而无需运用任何 ImageNet 训练标签。华为诺亚的悟空(英文名:FILIP)模型运用双塔架构构建图文表征,取得了更好的效果,如图 5 所示。总之,鉴于 transformer 的多模态模型在统一各种模态的数据和恣意方面显示出了其架构优势,这表明了 transformer 具备构建一个能够处理大量运用的通用智能代理的潜力。
图 5 FILIP 框架
高效 Transformer
尽管 Transformer 模型在各种恣意中取得了成功,但它们对内存和计算资源的高要求阻碍了它们在端侧设备(如手机)上的部署。文章还回顾了为高效部署而对 Transformer 模型进行压缩和加速的钻研,这包括搜集剪枝、低秩分解、知识蒸馏、搜集量化和紧凑结构设计。表 4 列出了一些压缩 Transformer 模型的代表性事务,这些事务采用不同的方式来识别 Transformer 模型中的冗余。具体来说,剪枝侧重于减少 Transformer 模型中组件(例如,层、头)的数量,而分解将原始矩阵表示为多个小矩阵。紧凑模型也可以直接手动(需要足够的专业知识)或自动(例如通过 NAS)设计来得到。
表 4 Transformer 压缩代表性事务
未来展望
作为一篇综述论文,对所探究的畛域未来标的目的的牵引也是非常重要的。本文的最后,也为大家提供了几个有潜力并且很重要的标的目的:
业界流行有各种类型的神经搜集,如 CNN、RNN 和 Transformer。在 CV 畛域,CNN 曾经是主流选择,但现在 Transformer 变得越来越流行。CNN 可以捕捉归纳偏置,如平移等变和局部性,而 ViT 运用大规模训练来超越归纳偏置。从现有的观察来看,CNN 在小数据集上表现良好,而 Transformer 在大数据集上表现更好。而在视觉恣意中,究竟是运用 CNN 还是 Transformer,或者兼二者之所长,是一个值得探究的问题。
大多数现有的视觉 Transformer 模型设计为只处理一项恣意,而许多 NLP 模型,如 GPT-3,已经演示了 Transformer 如何在一个模型中处理多项恣意。CV 畛域的 IPT 能够处理多个下层视觉恣意,例如超分辨率、图象去雨和去噪。Perceiver 和 Perceiver IO 也是可以在多个畛域事务的 Transformer 模型,包括图象、音频、多模态和点云。将所有视觉恣意甚至其他恣意统一到一个 Transformer(即一个大统一模型)中是一个令人兴奋的课题。
另一个标的目的是开发高效的视觉 Transformer;具体来说,如果让 Transformer 具有更高精度和更低资源消耗。本能决定了该模型是否可以运用于现实世界的运用,而资源成本则影响其在硬件设备上的部署。而通常精度与资源消耗息息相关,因此确定如何在两者之间实现更好的平衡是未来钻研的一个有意义的课题。
通过运用大量数据进行训练,Transformer 可以在 NLP 和 CV 不同恣意上得到领先的本能。最后,文章还留下一个问题:Transformer 能否通过更简单的计算范式和大量数据训练获得令人满意的结果?