前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ICCV2021 Oral-TAU&Facebook提出了通用的Attention模型可解释性

ICCV2021 Oral-TAU&Facebook提出了通用的Attention模型可解释性

作者头像
磐创AI
发布2021-08-05 10:14:01
9070
发布2021-08-05 10:14:01
举报


写在前面

通过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。

论文和代码地址

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

Motivation

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

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

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

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

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

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

方法

本文的方法使用模型的注意层来为网络中输入模态之间的每个交互,生成相关性映射(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结合的方式,是一种生成模型的常用方式,一个模态信息输入,输出是根据另一个模态的信息得到。

实验

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

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远超过其他可解释性方法,尤其在大物体的性能提升上非常明显。

总结

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.

推荐一个人工智能AI公众号,我们每日更新AI行业最新动态,机器学习干货文章,深度学习原创博客,深度学习实战项目,国外最新论文翻译等,为大家分享AI行业的新鲜事,希望大家喜欢。点击下方卡片关注我们吧~

✄------------------------------------------------

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 磐创AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.1. Relevancy 初始化
  • 3.2. Relevancy更新规则
  • 3.3. Adaptation to attention types
  • VisualBERT
  • LXMERT
  • VQA
  • Segmentation
  • 参考文献
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档