Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

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

注意力机制最近推动了一系列 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 数据集上。这样说明,注意力相比梯度可能更加重要。

结论

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

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

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

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

理论NLP注意力机制ACL 2019可解释性
2
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

决策边界技术

在具有两类的统计分类问题中,决策边界或决策曲面是一个超曲面,它将底层的向量空间分成两组,每组一个。分类器会将决策边界一侧的所有点分为属于一个类,而另一侧属于另一个类。也即二元分类或多类别分类问题中,模型学到的类别之间的分界线。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

JS 散度技术

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

推荐文章
暂无评论
暂无评论~