微信扫一扫
分享到朋友圈

注意力机制可解释吗?这篇ACL 2019论文说……

作者:机器之心 来源:机器之心 公众号
分享到:

06-16

选自arXiv

作者:Sofia SerranoNoah A. Smith

机器之心编译

注意力机制最近推动了一系列 NLP 任务的发展。由于注意力层可以计算层的表征权重,也被认为可以用于发现模型认为重要的信息(如特定的语境词语)。研究人员通过修改已训练的文本分类模型中的注意力权重,测试了这一假设。并且分析了导致模型预测发生变化的原因。研究人员观察到,尽管在一些案例中,高注意力权重对模型的预测有更高的影响,但他们也发现了许多和这一现象不同的案例。研究者认为,虽然注意力机制预测了输入部分相对于模型整体的重要性,但这不是一个保险的说明重要性的方法。

此外,相比之前机器之心报道的注意力能否提高,本文更多的从语境词语级别(contextualized word level),探讨注意力机制是否可以被解释。遗憾的是,本文作者也同样认为,注意力层不足以解释模型所关注的重点。


链接:https://arxiv.org/abs/1906.03731


可解释性对于很多 NLP 模型来说都是一个紧迫的问题。随着模型愈加复杂,而且要从数据中学习,确保我们能够理解模型为何做出某种决策非常重要。


谈论可解释性的现有工作只是开始评估计算出的注意力权重传达出怎样的信息。在本文中,研究者应用了一种基于中间表征擦除的不同分析方法来评估是否可以依赖注意力权重来解释输入到注意力层本身的相对重要性。他们发现:注意力权重只是对中间成分重要性的嘈杂预测,不应被视为决策的理由。


测试集


研究者将重点放在包含注意力的 5 类和 10 类文本分类模型上,因为解释文本分类的原因一直是可解释性研究中一个吸引研究者目光的领域(Yang et al., 2016; Ribeiro et al., 2016; Lei et al.,2016; Feng et al., 2018)。


一个可解释的模型不仅需要提供合理的解释,还要确保这些解释是模型做出决策的真实原因。注意,这种分析不依赖于数据的真实标签;如果一个模型产生了一个不正确的输出,但它还给出了一个可信的解释,说明哪些因素在计算中发挥重要作用,我们也认为该模型是可解释的。


中间表征擦除


研究者感兴趣的是一个注意力层的一些语境化输入(I ′ ⊂ I)对模型输出的影响。为了测试 I ′ 的重要性,研究者将模型的分类层运行了两次(见图 1):一次不做任何修改,一次用 I ′的注意力权重归零对注意力分布进行重归一化,与其他基于擦除的工作类似。接下来,研究者观察了结果对模型输出的影响。他们在注意力层进行擦除,以将注意力层的效果与它前面的编码器隔离开来。重归一化背后的原因是避免输出文档表征被以训练中从未遇到过的方式人为地缩小到接近 0,这可能使后续的度量无法代表模型在其映射输入的空间中的行为。


图 1:用本文中的方法计算与归零注意力权重对应的表征重要性,假设有四个输出类。


数据和模型


研究者探索了一个主题分类数据集(Yahoo Answers)和三个评估评级数据集(IMDB、Yelp 2017、Amazon)上的四个模型架构。每个数据集的统计数据见表 1.


表 1:实验中用到的数据集。


本文中的模型架构受到分层注意力网络的启发,后者是一种包含两个注意力层的文本分类模型,首先注意每个句子中的词 token,然后注意得到的句子表征。对文档表征进行分类的层与最后的 softmax 层时线性关系。


研究者对注意力的 softmax 公式进行了测试,包括 HAN 在内的大多数模型都使用了该公式。具体而言,研究者使用 Bahdanau 等人(2015)最初定义的加性公式(additive formulation)。


单一注意力权重的重要性


测试开始阶段,研究者探索了当只有一个权重可以移除时的注意力权重相对重要性。使得 i^∗ ∈ I 成为具有最高注意力的成分,α_i^∗作为其注意力。研究者以两种方式将 i^∗的重要性与一些其他注意力项的重要性进行了比较、


模型输出分布的 JS 散度


研究者希望比较 i^∗对模型输出分布的影响与从 I 统一抽取的随机注意力项 r 对应的影响。第一个方法是计算两个 JS 散度:一个是从只移除 i^∗后模型的原始输出分布到其原始输出分布的 JS 散度,另一个是只移除 r 后模型的输出分布的 JS 散度,并将它们进行比较。


他们用移除 i^∗后的输出 JS 散度减去移除 r 的输出 JS 散度:


公式一:∆JS 的计算公式


直观地说,如果 i^∗真的是最重要的,那么我们将期望 Eq. 1 是正的,这也是大部分时候的真实情况。此外,从图 3 可以看出,几乎所有的∆JS 值都接近于 0。通过图 4 可以看出,在 i^∗影响较小的情况下,i^∗的注意力和 r 注意力之间差别不大。这一结果比较鼓舞人心,表示在这些情况下,i^∗和 r 在注意力方面几乎是「相连的」。


图 3:注意力权重大小差异 vs HANrnn 的∆JS。


图 4:HANrnn 模型的测试实例计数,i^∗的 JS 散度更小。


然而,当开始考虑图 3 中正∆JS 值的大小时,注意力的可解释性变得更加模糊。研究者注意到,在数据集中,即使注意力权重的差异非常大,比如 0.4,许多正的∆JS 仍然非常接近于零。尽管最终发现,一旦∆α增大,∆JS 就会飙升,表明分布中只有一个非常高的注意力权重,关于 i^∗和 r 的影响究竟能有多大,这里就存在很大的争议了。


自注意力归零引起的决策翻转


由于注意力权重通常被认为是对于模型 argmax 决策的解释,所以第二个测试关注模型输出中另一个更直观的变化:决策翻转(decision flip)。为清楚起见,此处仅讨论 HANrnn 的结果,该结果反应了在其他架构中观察到的相同模式。


图 9:利用前面给出的关于 i^∗的定义,与一个不同的随机选择注意力项进行比较,上图数字是所有模型上的四个测试集中的每个决策翻转指示器变量类别的测试实例百分比。由于研究者要求随机项不能为 i^∗,他们从分析中排除了最终序列长度为 1 的所有实例。


在多数情况下,擦除 i^∗不会改变模型的决策(图中的「no」列)。这可能和分布在文档中的与分类相关的信号有关(例如,Yahoo Answers 数据集中一个关于「Sports」的问题可以用几句话表示「sports」,其中任何一句都足以正确分类)。


注意力层权重的重要性


为了解决注意力层的可解释性,并解决单权重测试中的问题,研究者采用了一种新的测试,用于研究多注意力层权重在预测器上的表现。


表 2:每个 HANrnn 的每个决策翻转指示器变量类别中测试实例的百分比。


多权重测试


对于假设的重要性排序,例如由注意力权重层表示的排序,研究者希望排序最高的注意力神经元可以作为模型决策的简明解释。这些解释越不简明,真正推动模型决策的注意力神经元的排名就越靠后,那么它就越不可能更好地解释重要性。换句话说,研究者希望,在有效的重要性排名中,最高排名的神经元中只需要使用一小部分重要的信息去引导模型的决策。


重要性排序的具体方法


研究者提出了两种重要性排序的具体方法。


第一种是对重要性进行随机排序。研究者希望这种排序产生一种表现糟糕,但可以和注意力权重降序方法进行对比的结果。


第二种排序方法,是对 attention 层的权重进行排序。这种方法需要对决策函数的梯度和每个注意力权重进行降序排列。因为每个数据集都是 5 个或者 10 个类,根据真实模型输出的向量的决策函数是:

注意力机制不是描述模型决策的理想方式


根据图 5 的结果分析,研究者发现,根据注意力权重进行重要性排序的方法,对有编码器的模型来说并不理想。尽管使用降序注意力权重移除中间表示的方法往往可以使决策翻转比随机排序更快,在许多情况下,这种方法比梯度排序或梯度-注意力-乘积排序的决策翻转效率更低。


此外,虽然基于乘积的排序比梯度排序往往(但不是总是)需要稍微少一点神经元的移除,研究者发现纯粹的无注意力的梯度排序和它(的表现)相当接近,且比纯粹基于注意力的排序表现更好。在 16 个有编码器的模型中的 10 个模型上,发现有超过 50% 的测试集案例中通过移除梯度比移除注意力实现了更小的决策翻转。研究发现,在每一个有编码器的模型上,仅基于梯度的排序导致决策翻转的速度比基于注意力的速度更快。在测试集上,这种案例的数量是其反例(注意力导致的决策翻转更快)的 1.6 倍。


决策翻转发生较迟


在每个排序机制和许多模型上,研究者都遇到了需要移除很大一部分神经元才能达到决策翻转目的的问题。对于 HAN 来说,这并不令人惊讶,因为这些注意力机制从更短的文本中计算注意力。对于 FLAN 来说,这种结果有些出乎意料。FLAN 经常在有几百个字符的序列上计算注意力,每个注意力的权重很可能非常小。


对于研究的模型,特别是 FLAN(使用上百个字符计算注意力),这一事实可能有解释性的问题。Lipton 认为,「如果一个人看一次就了解了整个模型,这个模型就是透明的」(The mythos of model interpretability. arXiv preprint arXiv:1606.03490.)。根据这种解释,如果某个重要的解释需要考虑几百个 token 的注意力权重,即使每一个注意力都很小,这依然会带来严重的透明性问题。


图 5:在三种模型架构上,在不同的排序方案下,第一次决策前被移除的项的分数分布发生翻转。


语境范围对注意力可解释性造成的影响


在机器翻译中,以前的研究观察到,在一个完整序列上,循环神经编码器可能对 token 的信号进行移动,从而导致之后的注意力层反直觉地计算。研究者假设在文本分类的实验设置中,双向循环神经网络,如 HANrnn 和 FLANrnn 编码器可能选择从一部分输入 token 而非其他语境表示中调整分布信号。对比图 5 中的 FLANconv 和 FLAN-rnn 的决策翻转结果可以支持这个理论。研究者注意到,决策翻转的速度比两个基于 rnn 的模型都要快,说明双向循环网络可以有效地学习如何广泛地重新分布分类信号。相反的,卷积编码器只根据输入字符的前后两个字符学习语境表示。


在两种 HAN 架构的结果对比中可以看到一样的情况,虽然不太明显。这可能是因为 HAN 对更少的一部分 token 抽取语境表示(句的表示而非词),所以根据字符近邻抽取语境表示已经是完整序列的很大一部分了。


如果对比没有编码器的模型架构,这种差别会更加明显,如图 6 所示。对比其他两个模型架构,可以看到重要的模型部分被擦除后,决策翻转的速度下降。同时可以看到,随机排序比之前表现更好,说明决策边界更脆弱了,特别是在 Amazon 数据集上。这样说明,注意力相比梯度可能更加重要。


结论


注意力机制被认为是解释模型的一种工具,但研究者发现,注意力层和重要性不是充分对应的。


在某些情况下,两者是相关的。例如,当对比高注意力权重和低权重时,高注意力权重对模型的影响往往更大。然而,当考虑到在一些例子中,最高注意力权重无法产生很大的影响时,这种图景是暗淡的。


从多权重测试中,研究者发现注意力权重往往无法发现对模型最终决策发挥最重要作用的表示。甚至于,即使在基于注意力层的重要性排序翻转模型决策的速度比其他排序要快的情况下,零参与神经元的数量通常也太大,对解释(这一过程)毫无帮助。


研究人员同时注意到,语境范围先于注意力层影响了模型的决策。尽管注意力层很大程度上在未抽取语境表示的例子中更有效,在其他情况下,其获取决策依据的糟糕表现是一个问题。研究人员认为,在他们测试的设置中,注意力层不是一个用于发现特定输入是否造成了特定输出的理想工具。注意力层也许可以用其他方法变得可解释,但绝不是在重要性排序中。(在重要性排序问题上),注意力层无法解释模型决策。



本文为机器之心编译,转载请联系本公众号获得授权

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

加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告 & 商务合作:bd@jiqizhixin.com

阅读38779
注意力 
举报0
关注机器之心微信号:almosthuman2014

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“机器之心”微信公众号,文章版权归机器之心公众号所有。

评论
更多

文章来自于公众号:

机器之心

微信号:almosthuman2014

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com   免责声明
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。