0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

更深层的理解视觉Transformer, 对视觉Transformer的剖析

新机器视觉 来源:自动驾驶之心 2023-12-07 09:39 次阅读

写在前面&&笔者的个人理解

目前基于Transformer结构的算法模型已经在计算机视觉(CV)领域展现出了巨大的影响力。他们在很多基础的计算机视觉任务上都超过了之前的卷积神经网络(CNN)算法模型,下面是笔者找到的最新的在不同基础计算机视觉任务上的LeaderBoard榜单排名,通过LeaderBoard可以看到,基于Transformer算法模型在各类计算机视觉任务上的统治地位。

图像分类任务

首先是在ImageNet上的LeaderBoard,通过榜单可以看出,前五名当中,每个模型都使用了Transformer结构,而CNN结构只有部分使用,或者采用和Transformer相结合的方式。

3eba743c-949f-11ee-939d-92fbcf53809c.png

图像分类任务的LeaderBoard

目标检测任务

接下来是在COCO test-dev上的LeaderBoard,通过榜单可以看出,前五名当中,一半以上都是基于DETR这类算法结构进行延伸的。

3ed6d604-949f-11ee-939d-92fbcf53809c.png

目标检测任务的LeaderBoard

语义分割任务

最后是在ADE20K val上的LeaderBoard,通过榜单也可以看出,在榜单的前几名中,Transformer结构依旧占据是当前的主力军。

3ef59f1c-949f-11ee-939d-92fbcf53809c.png

语义分割任务的LeaderBoard

虽然目前Transformer展现出了巨大的发展前景,但是现在的计算机视觉社区还并没有完全掌握Vision Transformer的内部工作原理,也没有掌握其决策(输出的预测结果)的基础,那对其可解释性的需求就逐渐凸显了出来。因为只有了解了这类模型是如何做出决策的,才不仅可以提高它们的性能,还可以建立对人工智能系统的信任。

所以本文的主要动机就是探索Vision Transformer的不同可解释性方法,并根据不同算法的研究动机、结构类型以及应用场景进行分类,从而形成了一篇综述文章。

刨析Vision Transformer

因为刚才提到,Vision Transformer的结构在各类基础的计算机视觉任务中都取得了非常不错的成绩。所以之后计算机视觉社区涌现出了很多方法来增强它的可解释性。本文我们主要以分类任务为主线,从Common Attribution Methods、Attention-based Methods、Pruning-based Methods、Inherently Explainable Methods、Other Tasks这五个方面中,挑选出最新以及经典的工作进行介绍。这里放一下论文中出现的思维导图,大家可以根据自身感兴趣的内容,进行更加细致的阅读~

3f01ef42-949f-11ee-939d-92fbcf53809c.png

本文思维导图

Common Attribution Methods

基于属性方法的解释通常的出发点是对模型的输入特征如何一步一步得到最终输出结果过程的解释。这类方法主要用于衡量模型的预测结果和输入特征之间的相关性。

在这些方法中,例如Grad-CAM以及Integrated Gradients算法是直接应用于了基于视觉Transformer的算法上。一些其他的方法像SHAP和Layer-Wise Relevance Propagation(LRP)已经被用来探索基于ViT的架构上了。但是由于SHAP这类方法到的计算成本非常大,所以最近的ViT Shapely算法被设计出来用于适配ViT的相关应用研究。

Attention-based Methods

Vision Transformer正是得益于其注意力机制使其拥有了强大的特征提取能力。而在基于注意力的可解释性方法中,对注意力权重结果进行可视化则是一种非常有效的方法。本文对其中的几种可视化技术进行介绍

Raw Attention:该方法顾名思义,就是对网络模型中间层得到的注意力权重图进行可视化,从而对模型的效果进行分析。

Attention Rollout:该技术通过对网络的不同层中扩展注意力权重来跟踪从输入token到中间embedding之间的信息传输。

Attention Flow:该方法将注意力图视为一个流量网络,并使用最大流量算法计算从中间embedding到输入token的最大流量值。

partialLRP:该方法是用于可视化Vision Transformer中的多头注意力机制提出来的,同时还考虑了每个注意力头的重要性。

Grad-SAM:该方法用于缓解仅依靠原始注意力矩阵来解释模型预测的局限性,促使研究人员将梯度以用于原始的注意力权重中。

Beyond Intuition:该方法也是一种用于解释注意力的方法,包括注意力感知和推理反馈两个阶段。

最后放一张不同可解释性方法的注意力可视化图,大家可以自行感受一下不同可视化方法的区别。

3f0985e0-949f-11ee-939d-92fbcf53809c.png

不同可视化方法的注意力图对比

Pruning-based Methods

剪枝是一种非常有效的方法,被广泛应用于优化transformer结构的效率和复杂性。剪枝方法通过对冗余或者没用的信息进行删减,从而降低模型的参数量和计算复杂度。虽然剪枝算法侧重于提高模型的计算效率,但是该类算法依旧可以实现对模型的可解释性。

本文中针对基于Vision-Transformer的剪枝方法,大体可以分成三大类:explicitly explainable(显式可解释)、implicitly explainable(隐式可解释)、possibly explainable(可能可解释)。

Explicitly Explainable

在基于剪枝的方法当中,有几类方法可以提供简单而且更可解释的模型。

IA-RED^2:该方法的目标是在算法模型的计算效率以及可解释性之间实现一个最优的平衡。并且在这个过程当中,保持原有ViT算法模型的灵活性。

X-Pruner:该方法是一种用于剪枝显著性单元的方法,通过创建一个可解释性的感知掩码来衡量每个可预测单元在预测特定类中的贡献。

Vision DiffMask:该剪枝方法包括在每个ViT层上加入门控机制,通过门控机制,可以实现在屏蔽输入的同时保持模型的输出。除此之外,该算法模型可以清晰地触发剩余图像中的子集,从而实现更好地对模型预测的理解。

Implicitly Explainable

基于剪枝的方法当中,也有一些经典的方法可以被划分为隐式的可解释性模型类别中。

Dynamic ViT:该方法采用轻量级预测模块,根据当前的特征去估计每个token的重要性程度。然后将该轻量级的模块加入到ViT的不同层中,以分层的方式来修剪冗余的token。最重要的是,该方法通过逐步定位对分类贡献最大的关键图像部分来增强可解释性。

Efficient Vision Transformer(EViT):该方法的核心思想是通过重组token的方式来加速EViT。通过计算注意力得分,EViT保留最相关的token,同时将不太相关的token融合到另外的token中。同时论文的作者为了评估EViT的可解释性,对多个输入图像可视化了token的识别过程。

Possibly Explainable

虽然这类方法最初并不是为了提高ViT的可解释性,但是这类方法为进一步研究模型的可解释性提供了很大的潜力。

Patch Slimming:通过自上而下的方法来专注图像中的冗余patch来加速ViT。该算法选择性的保留了关键补丁的能力来突出重要的视觉特征,从而增强可解释性。

Hierarchical Visual Transformer(HVT):该方法的引入用于去增强ViT的可扩展性和性能。随着模型深度的增加,序列长度逐渐减小。此外,通过将ViT块划分为多个阶段,并在每个阶段应用池化操作,显著提高了计算效率。考虑到对模型最重要组成部分的逐渐集中,有机会探索其对增强可解释性和可解释性的潜在影响。

Inherently Explainable Methods

在不同的可解释方法中,有一类方法主要是开发能够内在地解释算法模型,然而,这些模型通常难以达到与更复杂的黑盒模型相同的精度水平。因此,必须在可解释性和性能之间考虑谨慎的平衡。接下来对一些经典的工作进行简要的介绍。

ViT-CX:该方法针对ViT模型定制的基于掩码的解释方法。这种方法依赖patch embedding以及其对模型输出的影响,而不是聚焦对它们的关注。该方法包括掩码生成和掩码聚合两个阶段,从而提供更有意义的显著性图。

ViT-NeT:该方法是一种新的神经树解码器,通过树形结构和原型来描述决策过程。同时,该算法还可以对结果进行可视化解释。

R-Cut:该方法是通过Relationship Weighted Out and Cut来增强ViT的可解释性。该方法包括两个模块,分别是Relationship Weighted Out和Cut模块。前者侧重于从中间层提取特定类的信息,强调相关特征。后者执行细粒度的特征分解。通过对两个模块的集成,可以生成密集的特定于类的可解释性映射。

Other Tasks

就如同在文章开头提到的,除了分类之外,基于ViT的架构对其他CV任务的解释性仍在探索中。有几种专门针对其他任务提出的可解释性方法,接下来就对相关领域的最新工作进行介绍~

eX-ViT:该算法是一种基于弱监督语义分割的新型可解释视觉转换器。此外,为了提高可解释性,引入了属性导向损失模块,该模块包含全局级属性导向损失、局部级属性可判别性损失和属性多样性损失三种损失。前者使用注意图来创建可解释的特征,后两者则增强属性学习。

DINO:该方法是一种简单的自监督方法,并且是一种不带标签的自蒸馏方法。最终学习到的注意图能够有效地保留图像的语义区域,从而实现可以解释的目的。

Generic Attention-model:该方法是一种基于Transformer架构做预测的算法模型。该方法应用于三种最常用的架构,即纯自注意、自注意与共同注意相结合和编码器-解码器注意。为了检验模型的解释性,作者使用了视觉问答任务,然而,它也适用于其他CV任务,如目标检测和图像分割。

ATMAN:这是一种模态不可知的扰动方法,利用注意机制生成输入相对于输出预测的相关性图。该方法试图通过记忆效率注意操作来理解变形预测。

Concept-Transformer:该算法通过突出显示用户定义的高级概念的注意分数来生成模型输出的解释,从而确保可信性和可靠性。

未来展望

虽然目前基于Transformer架构的算法模型已经在各类计算机视觉任务上取得了非常出色的成绩。但是目前来看,对于如何利用可解释性方法的好处来促进模型调试和改进,以及提高模型的公平性和可靠性,特别是在ViT应用中,一直缺乏明显的研究。

所以本文以图像分类任务出发,对现有的基于Vision Transformer的可解释性算法模型进行归类整理,从而帮助人们更好的理解此类模型架构,希望可以对大家有所帮助。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4456

    浏览量

    90761
  • 计算机视觉
    +关注

    关注

    8

    文章

    1600

    浏览量

    45619
  • Transformer
    +关注

    关注

    0

    文章

    130

    浏览量

    5899

原文标题:更深层的理解视觉Transformer, 对视觉Transformer的剖析

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何更改ABBYY PDF Transformer+界面语言

    在安装ABBYY PDF Transformer+时会让您选择界面语言。此语言将用于所有消息、对话框、按钮和菜单项。在特殊情况下,您可能需要在安装完成后更改界面语言以适应需求,方法其实很简单,本文
    发表于 10-11 16:13

    关于单片机ADC的详细参数描述,助你更深层次的理解ADC采样

    很多情况下,对于ADC采样只能看到表象,无法理解更深的层次,那么造成的结果可能就是ADC采样有误差,采样不准确,这篇文章帮你更深层次的理解ADC采样
    发表于 02-26 13:42

    计算机视觉论文速览

    AI视野·今日CS.CV 计算机视觉论文速览transformer、新模型、视觉语言模型、多模态、clip、视角合成
    发表于 08-31 08:46

    视觉新范式Transformer之ViT的成功

      这是一篇来自谷歌大脑的paper。这篇paper的主要成果是用Transformer[1]取代CNN,并证明了CNN不是必需的,甚至在大规模数据集预训练的基础上在一些benchmarks做到
    的头像 发表于 02-24 09:31 6511次阅读
    <b class='flag-5'>视觉</b>新范式<b class='flag-5'>Transformer</b>之ViT的成功

    Transformer模型的多模态学习应用

    随着Transformer视觉中的崛起,Transformer在多模态中应用也是合情合理的事情,甚至以后可能会有更多的类似的paper。
    的头像 发表于 03-25 09:29 9940次阅读
    <b class='flag-5'>Transformer</b>模型的多模态学习应用

    用于语言和视觉处理的高效 Transformer能在多种语言和视觉任务中带来优异效果

    白皮书《Transformer-LS:用于语言和视觉处理的高效 Transformer》中提出了“长-短 Transformer” (Transfo
    的头像 发表于 12-28 10:42 1343次阅读

    基于卷积的框架有效实现及视觉Transformer背后的关键成分

    来自清华大学和 Meta AI 的研究者证明了视觉 Transformer 的关键,即输入自适应、长程和高阶空间交互,也可以通过基于卷积的框架有效实现。
    的头像 发表于 09-09 15:44 901次阅读

    普通视觉Transformer(ViT)用于语义分割的能力

    本文探讨了普通视觉Transformer(ViT)用于语义分割的能力,并提出了SegViT。以前基于ViT的分割网络通常从ViT的输出中学习像素级表示。不同的是,本文利用基本的组件注意力机制生成语义分割的Mask。
    的头像 发表于 10-31 09:57 4003次阅读

    视觉Transformer在CV中的现状、趋势和未来方向

    全面性和可读性:本文根据它们在三个基本CV任务(即分类、检测和分割)和数据流类型(即图像、点云、多流数据)上的应用,全面回顾了100多个视觉Transformer。论文选择了更具代表性的方法
    的头像 发表于 11-08 14:20 2224次阅读

    基于视觉transformer的高效时空特征学习算法

    视觉Transofrmer通常将图像分割为不重叠的块(patch),patch之间通过自注意力机制(Self-Attention)进行特征聚合,patch内部通过全连接层(FFN)进行特征映射。每个
    的头像 发表于 12-12 15:01 1084次阅读

    CVPR 2023 | 清华大学提出LiVT,用视觉Transformer学习长尾数据

    Transformer 处理长尾分布数据的能力和特性,还有待进一步挖掘。 目前,已有的长尾识别模型很少直接利用长尾数据对视觉 Transformer(ViT)进行训练。基于现成的预训练权重进行研究可能会导致不公平的比较结果,因
    的头像 发表于 06-18 21:30 348次阅读
    CVPR 2023 | 清华大学提出LiVT,用<b class='flag-5'>视觉</b><b class='flag-5'>Transformer</b>学习长尾数据

    使用 Vision Transformer 和 NVIDIA TAO,提高视觉 AI 应用的准确性和鲁棒性

    Vision Transformer(ViT)正在席卷计算机视觉领域,提供令人难以置信的准确性、复杂现实场景下强大的解决方案,以及显著提升的泛化能力。这些算法对于推动计算机视觉应用的发展发挥
    的头像 发表于 08-04 17:40 368次阅读
    使用 Vision <b class='flag-5'>Transformer</b> 和 NVIDIA TAO,提高<b class='flag-5'>视觉</b> AI 应用的准确性和鲁棒性

    汽车领域拥抱Transformer需要多少AI算力?

    Transformer在汽车领域应用自然是针对视觉的,ChatGPT3这种至少需要八张英伟达A100显卡的大模型是绝对无法出现在汽车上的。
    发表于 08-17 14:57 580次阅读
    汽车领域拥抱<b class='flag-5'>Transformer</b>需要多少AI算力?

    LLM的Transformer是否可以直接处理视觉Token?

    多种LLM Transformer都可以提升Visual Encoding。例如用LLaMA和OPT的不同Transformer层都会有提升,而且不同层之间也会体现不同的规律。
    发表于 11-03 14:10 252次阅读
    LLM的<b class='flag-5'>Transformer</b>是否可以直接处理<b class='flag-5'>视觉</b>Token?

    视觉Transformer基本原理及目标检测应用

    视觉Transformer的一般结构如图2所示,包括编码器和解码器两部分,其中编码器每一层包括一个多头自注意力模块(self-attention)和一个位置前馈神经网络(FFN)。
    发表于 04-03 10:32 351次阅读
    <b class='flag-5'>视觉</b><b class='flag-5'>Transformer</b>基本原理及目标检测应用