自注意力归因:解释Transformer内部的信息交互

简介: 自注意力归因:解释Transformer内部的信息交互

论文标题:Self-Attention Attribution:Interpreting Information Interactions Inside Transformer


论文链接:https://arxiv.org/abs/2004.11207


论文来源:AAAI 2021


一、概述


  1. 概述


Transformer系列模型虽然获得了广泛的成功,但是它对于人来说仍然是黑盒的,因此有关Transformer的self-attention机制的可解释性研究也在同步进行。一些研究工作表明self-attention的注意力权重分布并非直接可解释的,同时一些研究也致力于将模型决策归因于输入的token,然而这些研究大多没有揭示模型的输入与模型的结构之间的信息交互。


本文提出了一种名为ATTATTR的自注意力归因(attribution)方法,用于解释Transformer内部的信息交互(information interaction),能够指示Transformer内部的信息流。本文的实验基于BERT模型进行,因为这是一种具有代表性的Transformer-based的模型。本文提出的方法是通用的,也可以应用于其他Transformer系列的模型。

本文主要内容如下:


①本文发现self-attention的注意力权重并不总是与它们对模型决策的贡献相关联,ATTATTR这种方法通过一种新的度量可以识别出Transformer内部的重要连接,并且本文提出了一种启发式的方法来构建自注意力归因树(self-attention attribution tree),能够有效地显示模型内部的信息流。


②ATTATTR也能够用来识别重要的注意力head,然后进行裁剪,这种裁剪的方法与泰勒展开方法(一种self-attention裁剪方法)取得的效果是差不多的。另外,本文还发现对于类似的任务来说,BERT的重要head甚至是一致的。


③最后,本文通过提取对模型决策贡献最大的pattern作为攻击模型的trigger,能够对模型进行有效的攻击使其性能大幅下降。


  1. 背景


  • multi-head self-attention


KI$E@}G([F(4]D%~AGM5_{H.png


  • BERT


本文以BERT模型为例进行实验,注意BERT的输入会有两个特殊的token[CLS][SEP],分别位于输入序列的开头和每个句子的结尾。BERT在微调阶段,会使用[CLS]这个token的最后一层的embedding后连接一个softmax分类器的方式来完成分类任务。


二、方法


下图展示了BERT的一个head的注意力权重,可以观察到尽管这些权重仅来自一个head,但是这些注意力权重仍然是非常稠密的,这对我们通过这些权重直接理解token之间的交互是非常困难的,另外,尽管某些权重的数值比较大,这也不代表这对token对模型的决策是重要的:


37DL`RG_D8R_{FYN{FCIGBN.png

                    attention score


K`~D@654})VSJ`HOHCKX2_6.png


下图展示了前面例子的归因得分,上述方法证明了注意力权重越大并不意味着会对模型决策作出更大的贡献,比如[SEP]这个token和其他token的注意力权重是很大的,但是归因得分就很小,模型对于例子中的两个句子得出contradiction的结论主要依赖于“don't”和“I know”之间的连接,这是更具有可解释性的:


A1%SP(79]5]{GDQMV_GKR@U.png

               attribution score


三、实验


本文使用BERT-base-cased模型进行实验,并且应用以下四个下游任务数据集:

①MNLI:预测一个前提是否包含假设(entailment),是否与给定的假设相矛盾(contradiction),或两者皆非(neutral);


②RTE:另一个文本蕴含数据集;


③SST-2:预测给定句子的极性;


④MRPC:预测成对的句子是否语义等价,也是文本蕴含数据集。


  1. 有效性分析


本文根据每一层的归因得分和注意力权重对模型的head进行裁剪,这里的归因得分依照数据golden label的概率进行计算,下图展示了不同的裁剪方式对MNLI数据集准确率的影响:


image.png

                                    有效性分析


对于上图的实验结果,需要注意以下几点:


①裁剪每层的前2个最高归因得分的head会造成一个显著的准确率下降;


②保留那些高归因得分的head(裁剪低归因得分的head)能够提高模型的准确率,最高能达到97%;


③即使仅保留两个最高归因得分的head,仍然能够使模型保持较好的性能;


④依据注意力权重对模型进行裁剪所表现出来的效果没有那么显著。


这个实验结果证明了本文提出的方法的有效性,至于如何计算一个head的归因得分,将在下面的小节进行介绍。


  1. 用例1:注意力头裁剪

先前的实验结果表明模型中只有一小部分head对模型的最终决策起作用,在这一小节主要介绍如何识别和裁剪不重要的head。


定义一个head的重要性评价指标为:


E3_8$J5KT5FM]U2%@ID@TAC.png

E3_8$J5KT5FM]U2%@ID@TAC.png


  • 注意力头裁剪实验结果


实验过程是计算三种方法在200个保留数据集样本上的得分,得分低的head会被优先裁剪,下图展示了实验的结果:


2~QE{~4DTOF_PDZ{49_GLLB.png

                                            实验


实验结果表明对比baseline的方法,ATTATTR是有效的,并且对比专门设计用来进行裁剪的基于泰勒展开的方法也可以与之媲美。


  • 重要注意力头的普遍性


本文除了做实验识别重要的head以外,还调查了对于不同的数据集和任务重要的head是不是一致的。实验采用Pearson系数对两组数据集中head归因得分的相关性进行了测量,实验结果如下,图中的每个点代表同一个head在两个数据集上的归因得分:


D3Z$M@(6T(UUW%@ZEA0@`)X.png

                                            实验


实验结果表明,只要任务是解决类似的问题,那么head的相关性会非常地高。这里的RTE,MPRC和MNLI数据集都是文本蕴含数据集,SST-2是情感分类数据集,同类数据集之间的Pearson系数非常高,不同类数据集之间就会比较低。


  1. 用例2:可视化Transformer内部的信息流


本文提出了一种启发式的方法来构建归因树,通过这种方法发现了Transformer内部的信息流,因此可以看到输入词之间的交互以及它们如何对最终的结果进行贡献,可以帮助我们理解Transformer倾向于捕捉什么样的依赖。


  • 归因树


本文采用一种贪婪自顶向下的启发式算法来构建归因树,这样的归因树能够指示信息如何从输入的token流向最终的预测。


`63`D@AM@IBB1G5M7AO~I5T.png


G69$~KGM2QTSXU{8BN({B}8.png

                                算法


ZDJB4}HW_7[$ZMZO6)[]BSA.png

[~1]JPN39ALJHY88{@{4VQX.png

                                        例子


  • 感受野


自我注意机制被认为具有捕获长期依赖的能力。为了更好地理解Transformer中的分层有效感受野,本文绘制了由归因树提取的交互的距离分布:


T]T0ADP1WZRS7S95H8WBBQ6.png

                                                   距离分布


实验表明模型的最后几层和第一层会更关注长程依赖,而第二层所关注的依赖是更加局部的。而且对于成对的句子输入(比如文本蕴含任务),模型更倾向于首先在每一个句子内进行encoding,然后匹配两个句子之间的交互。


  1. 用例3:对抗攻击


模型决策更多地归因于注意力连接和更大的归因分数。实验中观察到,模型倾向于过分强调某些单独的pattern来进行预测,而忽略了大部分的输入,因此本文决定采用这些over-confident的pattern来作为用于对抗入侵的trigger来攻击BERT。


实验中从不同的层里提取最大归因得分的注意力依赖,也就是)K)GT6C8GC$D{NPLBYIDDFJ.png,并且应用这些pattern作为对抗trigger。


举例来说,如下图,在原来的句子中 “floods-ice” 和“Iowa-Florida”对最终的预测“contradict”贡献最大,那么按照在原句子中的相对位置插入其他句子,可以让这些句子的预测结果从“neutral”或者“entailment”变成到“contradict”:


7~JRJ)EIO7$WWUK]ZK}~62N.png

                                             contradict


实验中从3000个输入样本中提取了最大归因得分的依赖连接作为trigger,每个trrigger少于5个token,在情感分类数据集上不会使用具有明显情感倾向的词作为trigger。实验结果如下:


64KVU{1PKJ9@UI7L_0XTVIQ.png

                                                 对抗入侵

相关文章
|
11天前
|
机器学习/深度学习 编解码 并行计算
【FasterVIT】试图从FasterVIT网络结构中窥探出一些有用的信息
【FasterVIT】试图从FasterVIT网络结构中窥探出一些有用的信息
31 0
【FasterVIT】试图从FasterVIT网络结构中窥探出一些有用的信息
|
11天前
GPT-4 vs. ChatGPT:19个弱项问题(多步逻辑推理、概念间接关联)的横向对比
GPT-4在逻辑推理和概念关联上的准确率提升至100%,超越ChatGPT,其智力可能超过95%的人。在逻辑和多模态理解上有显著进步,但数数和某些逻辑推理仍是挑战。擅长处理成本计算和复杂情境,能建立概念间的间接关联,如遗忘与老龄化的联系。在数学和物理领域表现出色,但处理复杂间接关系和抽象概念时仍有局限。总体而言,GPT-4展现出超越人类智能的潜力,但仍需面对认知任务的挑战。![GPT-4进步示意](https://developer.aliyun.com/profile/oesouji3mdrog/highScore_1?spm=a2c6h.132)查看GPT-5教程,可访问我的个人主页介绍。
48 0
GPT-4 vs. ChatGPT:19个弱项问题(多步逻辑推理、概念间接关联)的横向对比
|
11天前
|
机器学习/深度学习 人工智能 算法
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
77 0
|
11天前
|
机器学习/深度学习 自然语言处理 并行计算
【大模型】解释自我注意力的概念及其在LLM表现中的作用
【5月更文挑战第6天】【大模型】解释自我注意力的概念及其在LLM表现中的作用
|
11天前
|
机器学习/深度学习 自然语言处理 运维
大模型开发:解释自编码器以及它们在表示学习中的作用。
自编码器是一种神经网络,用于无监督学习中的数据降维和压缩,由编码器和解码器组成,学习低维稀疏表示。它们分为收缩、正则和变分类型,常用于图像重构、聚类、机器翻译等任务,能生成类似训练数据的新样本。自编码器在特征学习和多种任务中展现强大能力。
79 7
|
11天前
|
机器学习/深度学习 自然语言处理 算法
深度解析预训练权重的本质和作用
深度解析预训练权重的本质和作用
78 1
|
11天前
|
机器学习/深度学习 计算机视觉 网络架构
【FCN】端到端式语义分割的开篇之作! 从中窥探后续语义分割网络的核心模块(一)
【FCN】端到端式语义分割的开篇之作! 从中窥探后续语义分割网络的核心模块(一)
324 0
【FCN】端到端式语义分割的开篇之作! 从中窥探后续语义分割网络的核心模块(一)
|
11天前
|
自然语言处理 算法
【论文精读】COLING 2022 - CLIO: 用于文档级事件抽取的角色交互多事件头注意力网络
【论文精读】COLING 2022 - CLIO: 用于文档级事件抽取的角色交互多事件头注意力网络
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
CasEE: 一种用于重叠事件抽取的级联解码联合学习框架 论文解读
事件抽取(Event extraction, EE)是一项重要的信息抽取任务,旨在抽取文本中的事件信息。现有方法大多假设事件出现在句子中没有重叠,这不适用于复杂的重叠事件抽取。
184 0
|
9月前
|
机器学习/深度学习 自然语言处理 BI
FourIE:基于图卷积网络的跨任务实例表征交互和标签依赖的联合信息抽取模型
现有的信息抽取(IE)工作主要是分别解决四个主要任务(实体提及识别、关系抽取、事件触发词检测和论元抽取),无法从任务之间的相互依赖中获益。
85 2