添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

学校|浙江大学硕士生

研究方向|自然语言处理、知识图谱

本文是对 AAAI 2021 最佳论文亚军得主《Self-Attention Attribution: Interpreting Information Interactions Inside Transformer》的翻译和思考。

首先,贴一下之前认为 attention 不适合用于作为归因的看法在这里:

https://zhuanlan.zhihu.com/p/287126616

在上面的文章中,我们认为: 相比 attention score 作为输入归因,使用梯度信息或者擦除对预测的影响作为输入归因在理论和实践中都有更好的表现。

没有想到这么快就有新的结论了——这一篇来自 AAAI 2021 的 Best Paper Runner Up 就使用了 attention 相关的归因方法( 当然,重点在于 attention 的显著性信息 )。

论文标题:

Self-Attention Attribution: Interpreting Information Interactions Inside Transformer

论文链接:

https://arxiv.org/abs/2004.11207

这篇文章提出的 注意力归因图 (Attention Attribution Graph)方法为 transformer 的注意力层求梯度显著性作为注意力归因,然后将不同层的注意力归因作为带权边构造词依赖图:

在提出了方法的基础上,作者进行了验证和拓展实验有:

1. 剪枝 attention head: 并通过将 attention heads 按 attribution sum 作为重要性剪枝,和现有模型剪枝方法进行比较,经验性地证明了这一方法获得的归因图最好地保留了模型的信息流动;

2. 错误模式挖掘: 通过归因图的可视化,可以发现模型对某些 pattern 的异常依赖——这些模式可以用于生成 对抗 样本,结合对抗样本,可以展示模型预测中的问题并针对性训练以调整之,从而提高模型的泛化能力。

总体而言, 个人认为本文的亮点在于提出了新方法,整合了注意力解释和显著性解释两个方法的优势:

1. Attention 由于属于模型的一部分,可以通过修改和剪枝对模型预测过程进行 主动干预 ,从而验证重要性的判断,这一点对于显著性方法这种事后解释而言是难以实现的;

2. Attention 可以 建模输入词对彼此的交互和依赖关系 ,当然,局部的依赖是没有什么意义的,因此作者考虑了全部层的 attention attribution,并且构建了 全局的依赖图

3. 由于 attention score 被证明无法提供输入的重要性解释,采用了积分梯度这一显著性方法,它克服了简单梯度的饱和(saturation)现象,能够很好地反映输入(即 attention) 对输出的影响程度 而不受其值影响,这一点作为归因图的边权重。

以下内容将介绍本文的算法和实验结果,文末有个人对本文的详细评价(指挑刺)。

注意力归因

我们之前的文章(上面的链接)提到,注意力权重不能反映输入重要性,而基于梯度的显著性信息能够反映重要性却无法表示输入的交互依赖。于是本文就提出了一种结合二者的方案:对每一层的注意力权重求梯度显著性,这就是注意力归因(Attention Attribution,ATTATTR)。

首先,我们回顾一下 transformer 中的多头注意力机制(multi-head attention)。

单头注意力的计算为:

那么多头注意力的计算为:

代表线性插值的权重,当其值为 0 时代表所有 token 间的 attention 权重为 0。这样一来,计算结果既考虑了 attention 权重,同时也包含了输出对这一层 attention 权重的敏感程度。

当然,我们无法直接计算积分,只能用黎曼和近似求解归因值矩阵:

其中 m 为近似的步数,文章中设置为 20。

下面可以看到,单个注意力归因图显然比其权重图更加稀疏:

归因图构造算法

在计算单层的注意力权重归因以后,本文设计了一种注意力归因图构造算法,将各层的注意力归因作为词依赖边的权重,进行图的构造,并使用构造的图作为一种可视化方法来分析模型学到的句子内词的依赖关系。

具体思路和过程如下:

1. 将各层的注意力归因按头相加作为该层的注意力归因:

2. 按照(1)最大化归因图中边权重的和,以及(2)最小化归因图中边的数量进行图的构造。这一目标形式上表达为:

用于过滤出相对较大的注意力归因值,实验中为 0.4。

3. 由于上面的组合优化问题难以解决,这里采用一种启发式的自顶向下的方法来构造图,基于以下几个 原则

  • 按从后往前构造图,即层数从大到小;

  • 每个节点都有自连边,因为 transformer 中有残差连接;

  • 信息流动中,重复边和反向边应该被去除;

  • 如果 [SEP] 为叶节点(即,没有出现从 [SEP] 出发指向其它 token 的边),就在图中忽略它,毕竟这个 token 只是一个特殊标记而不包含语义信息。

根据上面的原则,设计了如下算法:

概括一下,就是从最后一层注意力归因出发,在每层找到权重较大的边(通过阈值 τ 进行过滤,并去除已有的边和与已有边反向的边),最终合并各层的边形成完整的图。看看效果图吧:

设计了归因图以后,自然需要验证它是否真的有效。case study 就不必多言,文章中还通过注意力头剪枝的方法证明了注意力的归因值与其对模型预测的影响的相关性,以及 ATTATTR 方法的有效性。

有效性验证——注意力头剪枝(1)

这里主要分为两点。

首先是按归因值大小(降序或者升序)对各层注意力头进行剪枝,下图中可以看到按归因值升序剪枝中间竟然出现了效果提升的现象?图中也按注意力值升序和降序进行剪枝实验,结论显然是:注意力值大小对模型预测没什么影响。

对这个剪枝我有点疑惑,是对所有测试样本统一的剪枝方式吗?还是对每个样本针对性地剪枝不同的注意力头呢?而且按归因值升序剪枝,acc 竟然不降反升?有必要验证一下……

第二点,探究不同层 attention attribution 反映出的感受野(Receptive Field)。这一部分没有得出什么结论,更高的层具有更大的感受野,这是显然的。

有效性验证——注意力头剪枝(2)

进一步,这里细化了剪枝的实验,提出了按重要性剪枝的方法。注意力头重要性的定义如下:

表示该头最大的注意力归因值。

这里,作为参考进行比较的还有基于精确度差(accuracy difference)和泰勒展开(Taylor Expansion)作为重要性的剪枝方法(参考:2019,arxiv,《Are sixteen heads really better than one?》)。

按重要性从低到高剪枝,对模型表现的影响如下:

看起来,基于 ATTATTR 归因的重要性更能保留模型中重要的信息流动(其实效果和泰勒展开差不多)。

那么,对于不同任务和数据集(或者说领域 domain),这种重要性是否一致?本文也进行了相关性分析,从下图中可以看到,RTE、MRPC 和 MNLI 都具有很大的相关性,RTE、MRPC 和 SST-2 相关性很低,而 RTE、MRPC 和 MNLI 都是 2 句分类的任务,区别在于一个和 MNLI 是同领域,一个不同,而 SST-2 是单句分类任务。

这说明,基于归因值的注意力头重要性只跟 任务类型 有关,和数据是否同领域无关。

ATTATTR 方法提供了层次化的归因解释,从解释中我们可以发现模型判断的非正常依赖——这一点表现在对某些重复出现的句子特征的记忆等,对于真正理解语义是有害的。我们可以借此构造对抗样本来训练和提升模型的泛化性能。

对抗样本生成

这里通过每个句子中最大的归因值找出有明显依赖的词对,并将此用于构造对抗性触发词(Adversarial Triggers),将其插入到正常文本中干扰原始预测,生成对抗样本,如下图:

这里构造 trigger 的方式参考了 2019,EMNLP,Universal adversarial triggers for attacking and analyzing NLP。

具体的实验设计中,从 3k 句子中抽取了 trigger,每个 trigger 包含不超过 5 个 token,并且具有一个分数,即其中每个 token 的归因值平均值。在 SST-2 中,注意避开了具有明显情感倾向的词(具体做法是列黑名单)。

我有两点疑惑:1)这里显然插入了两个不同的词对(trigger)才成功实现了 attack。是不是说明只插入一对词的影响不大呢?2)这里的插入位置具体是怎么确定的呢?总不会是人工确认吧……这一部分在文章里也没有详细介绍。

实验结果如下:

本文提出了一种基于注意力归因(ATTATTR)的解释方法,这一方法可以解释 transformer 模型内部的信息交互,并使得注意力方法具有更好的解释性。

本文进一步提出了注意力归因图的构造算法,归因图展示了模型内部的信息流动。然后文章提出了量化的分析方法验证 ATTATTR 算法的有效性,并用它标记出了重要的注意力头,提出了一种新的剪枝方法。

最后,本文提出了一种对抗方法,根据注意力归因发现的重要依赖构造对抗性的 trigger,构造新的对抗样本。

个人评价(姑妄言之)

本文的思路上,采用剪枝方法验证经验上的合理性,实现了自圆其说(目前领域内对生成的解释还没有比较合理的指标);应用上,提出模型对模式(指 trigger)的依赖和构造对抗样本,属于锦上添花,对后续工作具有一定的指导意义。

个人认为本文存在的不足之处有:

1. 实验细节存在缺失 :剪枝部分内容有一些细节没有详细阐述,对抗样本生成的过程也比较简单, 但是这部分本该是需要详细说明,并且和其他方法进行对比的。

2. 归因图的构造算法比较依赖直觉 :如果像《Axiomatic Attribution for Deep Networks》中提出公理并给出数学证明一样那将绝杀,可惜换不得;

3. 基于阈值的方法比较经验: 文章里没有说 τ 是怎么取的,为什么不取 0.3,0.5 或者其他数值;

4. 实验可以更全面: 看完全文似乎主要只对文本分类(SST-2,MRPC)和文本推理(MNLI,RTE),但这不影响本文的质量,属于后续工作。

5. transformer 模型除了 multi-head attention 部分以外,还有 feed-forward network 部分,因而归因图其实没有覆盖模型内全部的信息流动。当然,这一点实验效果说了算:)

让你的论文被更多人看到

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢? 答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是 最新论文解读 ,也可以是 学习心得 技术干货 。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人 原创作品 ,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

现在,在 「知乎」 也能找到我们了

进入知乎首页搜索 「PaperWeekly」

点击 「关注」 订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击 「交流群」 ,小助手将把你带入 PaperWeekly 的交流群里。

©PaperWeekly 原创 ·作者|李泺秋学校|浙江大学硕士生研究方向|自然语言处理、知识图谱本文是对 AAAI 2021 最佳论文亚军得主《Self-Attention Attri... OCR 方向的工程师,一定需要知道这个 OCR 开源项目:PaddleOCR 短短半年时间,累计 Star 数量已超过 11.5K,频频登上 Github Trending 和 Paperswithcode 日榜月榜第一,在《Github 2020数字洞察报告》中被评为中国 Github Top20 活跃项目。 称它为OCR 方向目前最火的 repo绝对不为过。 最近,它又带来两项全 发布: AAAI 2021 顶会 论文 开源:PGNet: Real-time Arbitrari... 为最先进的 梯度 和基于扰动的 归因 方法 提供了统一的框架。 研究人员和从业者可以使用它来更好地理解推荐的现有模型,以及对其他 归因 方法 进行基准测试。 它支持Tensorflow以及Keras与Tensorflow后端。 Tensorflow V2,有一个开放的拉取请求,如果禁用了急切执行,则该请求有效。 实现以下 方法 : 基于 梯度 归因 方法 在它的第一个变体中使用 Rescale 的 方法 作为修改后的链式规则实现,在 Ancona等人,ICLR 中有更好的 解释 。因此,结果可能与原始实现略有不同。 基于扰动的 归因 方法 什么是 归因 ? 考虑一个网络和这个网络的特定输入(例如,一个图像,如果网络被训练用于图像分类)。 输入是多维的,由多个特征组成。 在图像的情况下,每个像素都可以被视为一个特征。 归因 方法 的目标是针对感兴趣的目标神经元(例如,对应于正确类别的神经元的激活R(x_i)确定每个输入特征的真实值R(x_i)
论文 名称:Heterogeneous Graph Neural Network via Attribute Completion 论文 链接:https://www.aminer.cn/pub/60641c2a9e795e72406b65b4?f=cs 异质信息网络(HINs)也称为异质图,它是一种由多种类型的节点和边组成的复杂网络,包含了全面的信息和丰富的语义。图神经网络(GNNs)作为处理图结构数据的强大工具,在网络分析任务中表现出了卓越的性能。最近相继提出了许多基于图神经网络的异质图模型,并取得了巨大的
本文研究的问题是,将深度网络的预测结果 归因 到输入的特征中。 本文确定了两条 归因 的基本公理:Sensitivity和Implementation Invariance,并基于这两个公理设计了一种 归因 方法 ,称为 积分 梯度 法(Integrated Gradients)。 该 论文 之前的许多 归因 方法 并不完全满足这两条公理。 积分 梯度 法(Integrated Gradients)使用起来很简单,不需要修改原   基于 transformer 的模型的巨大成功得益于强大的多头自我注意机制,该机制从输入中学习token依赖并编码语境信息。先前的工作主要致力于针对具有不同显著性度量的单个输入特性的贡献模型决策,但是他们没有 解释 这些输入特性如何相互作用以达到预测。这篇 论文 就提出了一种用于 解释 Transformer内部信息交互的自注意属性算法ATTATTR。文章以 BERT 模型为例进行了以下实验:   (1)提取各层最显著的依赖关系,构造属性图,揭示Transformer内部的层次交互;   (2)用自我注意 本文是在Transformer的基础上进行的改进,首先作者提出Transformer在长时间序列预测中的三个局限性: 自注意力的二次计算复杂度O(L2)O(L^2)O(L2)(L表示输入序列的长度) 堆叠J层编码器(解码器)后会是内存使用量达到O(JL2)O(JL^2)O(JL2),这限制了模型接收长序列输入的可伸缩性 Transformer解码器中step-by-step推断流程,会导致在预测长输出时速度急剧下降 Transformer 既然是在Transformer的基础上,就先了解下Tran
自注意力 归因 解释 Transformer内部的信息交互 《Self- Attention Attribution: Interpreting Information Interactions Inside Transformer》 1. 目的 ​ Transformer在NLP任务中取得了巨大的成功,特别是许多预训练语言模型都是将多个Transformer堆叠起来作为骨干网络。先前的研究主要是致力于将模型最终的决策 归因 到输入的单词上,但是并没有揭示出单词间的交互信息以及模型所学习到的结构。因此,本文
CV可 解释 性方向,第一次整理 论文 笔记,如有错误请批评指正。 原文链接:https://www.semanticscholar.org/paper/Do-Feature-Attribution-Methods-Correctly-Attribute-Zhou-Booth/426734685283b4a0c08b34cd9e996e2e30e7f7ee 代码:https://github.com/YilunZhou/feature-attribution-evaluation Abstract