华为诺亚调研200多篇文献,视觉Transformer综述入选TPAMI 2022

视觉Transformer

华为诺亚方舟实验室与北大、悉大联合整理了业内第一篇视觉Transformer综述。

2021年对于计算机视觉来说是非常重要的一年,各种任务的SOTA不断刷新。这么多Visiontransformer模型应该选择哪一个?新手应该选择哪个方向进入坑?华为诺亚方舟实验室的这个总结可能会对你有所帮助。

视觉Transformer

综述论文链接:https://ieexplore.iee.org/document/9716741/

诺亚开源模型:https://github.com/huawei-noah。

华为A+M社区:https://www.mindspore.cn/resources/hub。

引言

如何将Transformer应用于计算机视觉任务中,引起了越来越多研究人员的兴趣。在过去的很长一段时间里,CNN已经成为视觉任务中的主要模型架构,但现在Transformer具有巨大的潜力,有望在视觉领域击败CNN的主导地位。谷歌提出了VIT架构。首先,将图像切成块,然后直接将纯Transformer架构应用于图像块序列,完成图像分类,并在多个图像识别基准数据集中取得优异的性能。除了图像分类任务,Transformer还用于解决其他视觉问题,包括目标检测(DETR)、语义分割(SETR)、图像处理(IPT)等。由于其出色的性能,越来越多的研究人员提出了基于Transformer的各种视觉任务。为了让大家对近两年视觉Transformer的快速发展有一个清晰的感受,图1显示了视觉Transformer的发展里程碑,从图像分类到目标检测,从图像生成到视频理解,视觉Transformer表现出非常强的性能。

视觉Transformer

图1视觉Transformer的发展历程。

对于很多刚接触视觉Transformer的研究人员来说,看到这么多模型架构可能一时不知所措。面对具体的应用需求,他们不知道选择哪个视觉Transformer架构。此外,想成为视觉Transformer的学生经常问是否有新的方向可以挖掘。这些问题或多或少可以从这篇涵盖200多篇前沿论文的总结中找到答案:

根据视觉Transformer的设计和应用场景,本文系统地对视觉Transformer模型进行了分类,如表1所示:骨干网络、高/中视觉、底视觉、多模态等。,并在每章中详细分析和比较任务特征;

本文详细分析了高效的视觉Transformer,特别是标准数据集和硬件,并讨论了一些Transformer模型的压缩和加速方法;

华为是一家拥有软硬件全栈AI解决方案的公司。基于A+M生态,它在Transformer领域做了很多有影响力的工作。基于这些经验,它与业内知名学者进行了深入的思考和讨论,并给出了一些潜在的未来方向供参考。

视觉Transformer

表1视觉Transformer代表性工作。

附华为诺亚方舟实验室Transformer系列工作:

NLP大型盘古Alpha:https://arxiv.org/abs/2104.12369。

哪吒:https:/arxiv.org/abs/1909.00204。

轻量模型TinyBERTps://arxiv.org/abs/1909.10351。

底层视觉IPT:https://arxiv.org/abs/2012.00364。

多模态-悟空:https://arxiv.org/abs/211.0783。

TNT:https://arxiv.org/abs/2103.00112。

骨干网络

视觉transformer的所有组件,包括多头自注、多层感知机、残差连接、层归一化、位置编码和网络拓扑结构,在视觉识别中起着关键作用。为了提高视觉transformer的准确性和效率,业内提出了许多模型。下表总结了视觉Transformer骨干网络的结果,可以更好地分析现有网络的发展趋势。从图2中的结果可以看出,将CNN和Transformer结合起来可以获得更好的性能,这表明卷积的局部连接和注意力的整体连接可以相互补充。

视觉Transformer

代表性CNN与Transformer网络Imagenet结果的对比。

视觉Transformer

图2代表CNN与Transformer网络FLOPs/吞吐量对比。

目标检测

基于Transformer的目标检测方法也引起了广泛的兴趣。这些方法大致可分为两类:基于Transformer的检测集预测方法和基于Transformer骨干网络的检测方法。与基于CNN的检测器相比,基于Transformer的方法在准确性和运行速度方面表现出强大的性能。表3显示了基于Transformer的不同目标检测器在COCO数据集中的性能。

将Transformer应用于中高层视觉任务,在输入embedding、位置编码、损失函数和整体架构设计方面有更多的探索空间。一些现有的方法从不同的角度改进自注模块,如变形注意机制和自适应聚类。然而,利用Transformer解决中高层视觉任务的探索仍处于初步阶段,需要整个行业进一步研究。例如,在Transformer之前,是否有必要使用CNN或Pointnet等特征提取模块以获得更好的性能?如何利用大规模的预训练数据,如Bert和GPT-3在NLP领域所做的,充分利用Transformer的特点?如何结合具体任务的先验知识设计更强大的系统结构?以前的一些工作已经对上述问题进行了初步的讨论。我们期待更多的研究除目标检测外,Transformer还应用于图像分割、人体姿态估计、目标跟踪等其他中高层视觉任务。详情请参考原论文。

视觉Transformer

表3基于COCO2017上Transformer目标检测器的结果对比。

底层视觉

底层视觉是计算机视觉领域的一个重要问题,如图像超分辨率和图像生成。目前,还有一些工作要研究如何将Transformer应用于底层视觉。这些任务通常将图像作为输出(高分辨率或去噪图像),这比分类、分割和检测等高层视觉任务(输出是标签或框架)更具挑战性。图3和图4显示了在底层视觉中使用Transformer的方法。在图像处理任务中,首先将图像编码为一系列token。transformer编码器使用该序列作为输入,然后使用transformer解码器生成所需的图像。在图像生成任务中,基于GAN的模型直接学习解码器生成的token,通过线性映射输出图像,并基于transformer的模型训练自编码本,并使用自编码器学习自编码本。有意义的未来研究方向是为不同的图像处理任务设计合适的网络架构。

视觉Transformer

图3基于 Transformer 的图像生成

视觉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 具备构建一个能够处理大量应用的通用智能代理的潜力。

视觉Transformer

图 5 FILIP 框架

高效 Transformer

尽管 Transformer 模型在各种任务中取得了成功,但它们对内存和计算资源的高要求阻碍了它们在端侧设备(如手机)上的部署。文章还回顾了为高效部署而对 Transformer 模型进行压缩和加速的研究,这包括网络剪枝、低秩分解、知识蒸馏、网络量化和紧凑结构设计。表 4 列出了一些压缩 Transformer 模型的代表性工作,这些工作采用不同的方法来识别 Transformer 模型中的冗余。具体来说,剪枝侧重于减少 Transformer 模型中组件(例如,层、头)的数量,而分解将原始矩阵表示为多个小矩阵。紧凑模型也可以直接手动(需要足够的专业知识)或自动(例如通过 NAS)设计来得到。

视觉Transformer

表 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 能否通过更简单的计算范式和大量数据训练获得令人满意的结果?

本文版权归原作者所有,同心智造网(www.cn-im.cn)转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

(0)
上一篇 2022年2月24日 下午6:50
下一篇 2022年2月24日 下午6:50

相关推荐

扫码关注
扫码关注
加入社群
加入社群
QQ咨询
分享本页
返回顶部