0

写在前面

通过Self-Attention和Co-Attention机制,Transformer在多个多模态下游任务中达到了SOTA的性能。这些注意模块也在其他计算机视觉任务中发挥了作用,包括目标检测和图像分割等任务。与只使用Self-Attention的Transformer不同,具有Co-Attention的Transformer需要并行考虑多个Attention Map,以突出模型输入与预测的相关性。

关于Self-Attention的可解释性,作者在另一篇CVPR论文[1]中进行了论述,本文可以说是CVPR论文的一个扩充版,在那篇论文中,作者主要阐述了Self-Attention的可解释性,在本文中作者对三种Attention方式的可解释性进行了阐述,分别为(i) pure self-attention, (ii) self-attention combined with co-attention (iii) encoder-decoder attention。

1

论文和代码地址

论文:https://arxiv.org/abs/2103.15679
代码:https://github.com/hila-chefer/Transformer-MM-Explainability

2

Motivation

目前Transformer被用在了各种CV、NLP、Multi-modal的任务当中,并达到了前所未有的性能。多模态任务中的Transformer通常需要融合多个模态的信息(比如文本和图像)。

对于多模态信息的处理,主要有两种方式,第一种是:首先对于文本和图像信息分别用Transformer Encoder和CNN进行特征提取,然后通过对比学习的损失函数,使得这两个模态同一类样本的特征能够尽可能相似,不同类样本的特征尽可能不相似(如上图所示)。

第二种是:将文本特征和图像特征concat之后,送入到Transformer结构中,如上图所示。

还有一类是不只包含Self-Attention机制的Transformer模型,模型通常接收来自一个模态的输入,并根据另一个模态产生输出(如上图所示)。这些模型通常被用来做目标检测、图像分割、机器翻译等生成任务。

对于多模态信息的处理方式还有很多,相同点是这些结构都需要学习两个输入特征到输出的一个映射,这个映射包含了两种模式之间的相互作用。这些交互的模块通常采用的Attention-based模型。在Transformer中,除了Self-Attention,其他Attention的可解释性都还未被发掘。

为了填补Transformer可解释性这部分的空白,作者提出了适用所有Transformer结构的可解释性方法。相比于现有的可解释性方法,本文的方法更易实现。

3

方法

本文的方法使用模型的注意层来为网络中输入模态之间的每个交互,生成相关性映射(relevancy map)(相比于原始的attention map,这个relevancy map更具有可解释性)。

首先和分别为文本和图像的token输入为像个模态关联的变量。多模态任务中通常包含四种交互关系:,,为文本和图像模态内的交互关系;,为图像和文本模态间的交互关系,表示图像token对每个文本token的影响,表示文本token对每个图像token的影响。

为了构建模态内和模态间的交互关系,本文通过relevancy map来描述这种交互关系,,为模态内的可解释交互,,为图像和文本模态间的可解释交互关系。

本文的方法就是通过计算和更新relevancy map,来表示Transformer中attention模块的可解释性。

3.1. Relevancy 初始化

在进行Attention操作之前,每个token都是独立的,所以首先需要对相关性映射(relevancy map)进行初始化,模态内的relevancy map,只是将对角线的元素设置为1,其他元素设置为0(也就是一个单位矩阵);对于模态间的relevancy map,将所有元素都设置为0(也就是刚开始,所有token之间都没关系)。

3.2. Relevancy更新规则

Transformer中的Attention计算方式如下:

其中Q、K、V同一个模态的信息时,就是Self-Attention,如下图(a)所示;如果K、V为上下文信息,那就是Co-Attention,如下图(b)所示。

在本文的方法中,采用了每个注意层的Attention Map来更新相关性映射。由于每一个Attention Map都是由h个head组成的,作者使用梯度来平均h个head至于为什么不直接平均,还是乘上梯度之后再平均?作者在文中指出attention map每个head的重要性和相关性不同,因此简单的平均每个head的信息会导致扭曲整个Attention map的信息 )。Attention Map的计算如下所示:

最终,对于Self-Attention中的Attention操作,作者采用了下面的规则来更新相关性映射矩阵:

除了Self-Attention,作者提出了还有Co-Attention,由于Co-Attention在初始化的时候是全0的矩阵,所以采用上面的方式更新是不行的。因此,作者采用了另一种方式来更新Co-Attention的相关性映射矩阵:

3.3. Adaptation to attention types

上图展示了三种attention的结构

第一种(a)为VisualBERT使用的纯Self-Attention的结构,这种结构只使用Self-Attention来建模两个模态的信息;

第二种(b)为LXMERT的结构,采用了Self-Attention和Co-Attention结合的方式,这种结构通过co-attention模块来建模两个模态的信息;

第三种(c)为DETR的结构,采用了encoder和decoder结合的方式,是一种生成模型的常用方式,一个模态信息输入,输出是根据另一个模态的信息得到。

4

实验

作者根据在上面提出的三个结构上,对比了先前的可解释性方法和本文方法的效果。

VisualBERT

上图为VisualBERT测试的结果,(a)图像token的负样本扰动(按重要性从低到高扰动),(b)图像token上的正样本扰动、(c)文本token上的负样本扰动,(d)文本token上的正样本扰动。对于负样本扰动,较大的AUC更好;对于正样本扰动,较小的AUC更好。

可以看出本文的方法能够很好的衡量图像token和文本token在特定任务上的重要性。

LXMERT

上图为LXMERT上的测试结果,效果与VisualBERT相似,本文提出的方法能够很好的衡量图像token和文本token在特定任务上的重要性。

VQA

从上图可以看出,本文的方法相比于其他可解释方法,在可视化方面有非常大的优越性。

Segmentation

对于DETR结构,作者将本文方法和其他可解释方法的attention map可视化出来,发现本文的方法attention的区域基本就是物体的主体区域。

将本文的attention结果作为弱监督分割的结果,可以看出在performance远超过其他可解释性方法,尤其在大物体的性能提升上非常明显。

5

总结

Transformer在计算机视觉中扮演着越来越重要的角色,跨模态的Transformer也在各种下游任务中取得了非常好的performance。为了能够使得Transformer适应于各种下游任务,需要有对Transformer进行可解释性分析的方法。

而目前对Transformer进行可解释性分析的方法大多都是对Self-Attention进行可解释性分析,但是对于跨模态任务来说Co-Attention是一个更加重要的部分,本文作者提出的可解释方法能够对各种Transformer结构进行可解释性分析,并且通过实验证明了,本文的方法大大优于其他的可解释性方法。

参考文献

[1]. Chefer, Hila, Shir Gur, and Lior Wolf. "Transformer interpretability beyond attention visualization." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . 2021.

备注:TFM

Transformer交流群

Transformer等最新资讯,若已为CV君其他账号好友请直接私信。

在看,让更多人看到  

ICCV2021 Oral-TAUFacebook提出了通用的Attention模型可解释性相关推荐

  1. [ICCV2021 Oral] PoinTr 代码理解

    [ICCV2021 Oral] PoinTr 代码理解 整体代码 Point Proxy DGCNN_Grouper MLP Geometry-aware Transformer Block 点云生成 ...

  2. ICCV 2021 Oral | 清华提出PoinTr:几何敏感的点云补全Transformer

    本文转载自:AI科技评论 作者 | 于旭敏    编辑 | 王晔 我们提出了一种几何敏感的点云补全Transformer,通过将点云表示成为一组无序的点代理,并采用Transformer的Encode ...

  3. 法向量 点云pca_CVPR 2019 | 旷视研究院Oral论文提出GeoNet:基于测地距离的点云分析深度网络...

    全球计算机视觉三大顶会之一 CVPR 2019 (IEEE Conference on Computer Vision and Pattern Recognition)将于 6 月 16-20 在美国 ...

  4. CVPR 2019 | 旷视研究院Oral论文提出GeoNet:基于测地距离的点云分析深度网络

    全球计算机视觉三大顶会之一 CVPR 2019 (IEEE Conference on Computer Vision and Pattern Recognition)将于 6 月 16-20 在美国 ...

  5. UDSMProt:蛋白质分类通用深度序列模型

    今天给大家介绍由德国弗劳恩霍夫·海因里希·赫兹研究所的研究人员发表在Bioinformatics上的一篇文章.该文章针对大多数蛋白质分类的最先进方法都是为单个分类任务量身定制,并且依赖手工制作特征的问 ...

  6. Tensorflow 自动文摘: 基于Seq2Seq+Attention模型的Textsum模型

    Github下载完整代码 https://github.com/rockingdingo/deepnlp/tree/master/deepnlp/textsum 简介 这篇文章中我们将基于Tensor ...

  7. 基于多篇经典论文综述Attention模型方法(附源码)

    来源:PaperWeekly 本文约4163字,建议阅读8分钟. 本文基于几篇经典的论文,对 Attention 模型的不同结构进行分析.拆解. 先简单谈一谈 attention 模型的引入.以基于 ...

  8. 13亿参数,无标注预训练实现SOTA:Facebook提出自监督CV新模型

    作者|陈萍 来源|机器之心 Facebook AI 用 10 亿张来自Instagram的随机.未标注图像预训练了一个参数量达 13 亿的自监督模型 SEER,该模型取得了自监督视觉模型的新 SOTA ...

  9. CVPR 2019 | 旷视研究院提出极轻量级年龄估计模型C3AE

    全球计算机视觉三大顶级会议之一 CVPR 2019 将于当地时间 6 月 16-20 日在美国洛杉矶举办.届时,旷视研究院将带领团队远赴盛会,助力计算机视觉技术的交流与落地.在此之前,旷视每周会介绍一 ...

最新文章

  1. 使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果
  2. 机器学习入门-决策树算法
  3. git 为什么会有多个head_继续学习Git
  4. Http、Socket、WebSocket之间联系与区别
  5. JZOJ 5392. 【NOIP2017提高A组模拟10.5】Lucky Transformation
  6. 近期有哪些值得读的QA论文?| 专题论文解读
  7. cpu和内存之间——地址映射
  8. Java魔法类:Unsafe应用解析
  9. 9岁女孩联合国演讲上热搜,网友:自愧不如
  10. 计算机上没有office2010,《我安装了office2010,为什么桌面-右键-新建中没有excel呢?》 excel文件找不到...
  11. win8.1已阻止java_win8系统下打开java程序时出现应用程序已被安全设置阻止的解决方法...
  12. git 远程仓库回滚
  13. python数据驱动创建账号_Django创建超级管理员账号和修改密码
  14. 空调库存创新高,格力计划挖掘三四五线城市
  15. js事件对象鼠标与键盘事件对象
  16. IDEA2021.2安装与配置(持续更新)
  17. aardio - MsSql数据库+虚表示例
  18. H5页面微信授权登录——前端部分
  19. Linux权限drwxrwxrwx是什么意思?
  20. Java 实现顺时针螺旋二维数组输出

热门文章

  1. 基于多源文档片段的神经网络排序模型(Neural Ranking Models with Multiple Document Fields)
  2. 事业单位考试考试【转载】
  3. Kalman Filter : 理解卡尔曼滤波的三重境界
  4. Bundle Adjustment简述(转载)
  5. Matlab【基础】【02】 将APP打包生成可执行EXE文件
  6. 线性代数【9】 - 特征值和特征向量
  7. java实体序列化_java – 在JPA实体序列化(JSON)上防止JAX-RS中...
  8. python 图片读写_Python各种图像库的图像的基本读写方式
  9. matlab符号函数绘图法_matlab制图—符号函数(显函数、隐函数和参数方程)画图
  10. 遍历磁盘扩展分区_win7系统如何创建磁盘管理扩展分区【图文教程】