专栏首页机器之心注意力机制不能提高模型可解释性?不,你这篇论文搞错了

注意力机制不能提高模型可解释性?不,你这篇论文搞错了

选自arXiv

作者:Sarah Wiegreffe、Yuval Pinter

机器之心编译

参与:魔王、张倩

最近,很多研究人员对注意力机制能否解释模型预测提出了疑问,比如今年 2 月份的论文《Attention is not Explanation》。而今天要介绍的这项研究针锋相对地反驳了上述论文,从标题中我们就可以看出来:Attention is not not Explanation VS. Attention is not Explanation。

注意力机制在 NLP 系统中起着重要作用,尤其是对于循环神经网络(RNN)模型。那么注意力模块提供的中间表征能否解释模型预测的推理过程,进而帮助人们了解模型的决策过程呢?近期,很多研究人员对这个话题产生了浓厚的兴趣。一篇题目为《Attention is not Explanation》(Jain and Wallace, 2019) 的论文表示,注意力机制并不能提高模型的可解释性。

这篇论文在多个自然语言处理任务上进行了实验,以评估注意力权重能够对模型预测提供何种程度上的有意义的「解释」。其结果表明:注意力权重基本上无法提高模型可解释性。例如,学习到的注意力权重通常与基于梯度的特征重要性度量没有关联,而且他们发现非常不同的注意力分布可以带来同样的预测。

来自佐治亚理工学院的 Sarah Wiegreffe 和 Yuval Pinter 挑战了这篇论文中的一些假设,认为其论断依赖「解释」(explanation)的定义,且测试该论断是否正确需要考虑模型的所有元素,使用更加严谨的实验设计。因此 Wiegreffe 和 Pinter 提出四种替代性测试方法,来确定注意力何时可用作「解释」、是否能作为「解释」,这四种方法分别是:简单的统一权重基线、基于多次随机种子运行的方差校准、使用预训练模型固定权重的诊断框架、端到端对抗注意力训练协议。

每一种方法都证明 RNN 模型中的注意力机制可以提供有意义的「解释」。该研究证明,即使存在可靠的对抗分布,它们在简单的诊断框架上也无法取得很好的性能,这表明《Attention is not Explanation》并没有驳倒「注意力机制可以提高模型可解释性」的说法。

《Attention is not not Explanation》写了啥

目前,注意力机制在 NLP 领域非常常见,它能否为模型预测提供解释也是一个热门话题。

近期研究《Attention is not Explanation》指出了一些可能导致研究者误用注意力分数解释模型行为的陷阱,其前提是可解释性注意力分布应该与其他特征重要性度量一致且对于给定预测具备排他性。

其核心论点是,如果可以找到使得输出结果与原始模型输出类似的其他注意力分布,则原始模型的注意力分数无法可靠地解释模型预测。

而 Wiegreffe 和 Pinter 则认为,尽管上述论文提出了一个重要问题,对使用注意力权重解释模型在英文数据集上的预测结果可能存在潜在误用提出担忧,但其实验设计中使用的一些核心假设在设置上存在很大的自由度,最终导致人们无法采取可行的方式衡量注意力分布在特定设置下的效用。

Wiegreffe 和 Pinter 提出一种更加模型驱动(model-driven)的方法来解决这一问题。他们证明,在一些数据集上,固定注意力分布与学习到的注意力权重效果一样好,从而得出结论:在这些案例中,随机分布或对抗扰动分布不能证明注意力无法作为「解释」。

《Attention is not Explanation》为什么认为「注意力机制不能提高模型可解释性」?

Wiegreffe 和 Pinter 介绍了《Attention is not Explanation》中的实验设计,并查看了其作者认为可以支撑「注意力不能提高模型可解释性」的实验结果。

Jain 和 Wallace 在实验中选取了八个分类数据集(大部分是二分类)和两个问答任务。他们首先展示了注意力分数和其他可解释性度量之间的关联分析,发现注意力与其他可靠的特征重要性度量(基于梯度的方法和留一法)之间不具备强相关,而后者彼此之间互相关联。

他们基于实验提出了关于一致性的论断:如果基于注意力的可解释方法与其他特征重要性度量之间不具备强相关,则「注意力能够提高模型可解释性」的观点并不准确。

接下来,Jain 和 Wallace 提出了一种替代性对抗注意力分布,它可以最小程度地改变模型预测结果。为此,他们控制训练好的模型的注意力分布(以下称之为 base),来判别是否存在替代性分布使得模型输出接近原始预测。

他们使用这些实验结果作为论据,来支持「由于注意力分布不具备排他性,因而它们无法用于解释模型」的论点。

值得注意的是,Jain 和 Wallace 把注意力分布和预训练网络输出层与用于计算它们的参数分离开来,将每个注意力分数看作独立于模型的单独单元。此外,他们还为每个实例单独计算对抗分布。

「注意力机制不能提高模型可解释性」的观点错在哪儿?

佐治亚理工学院的研究使用了四个量化实验。如下图 1 所示,左侧图中的每个花括号表示每个实验中对于标准 RNN-with-attention 架构操纵的组件。Wiegreffe 和 Pinter 鼓励 NLP 研究人员在自己的注意力模型上使用他们提出的方法,来评估注意力模块提供模型可解释性的效果。

  • 研究代码将于 9 月初开源:https://github.com/sarahwie/attention

图 1:带注意力的 LSTM 分类模型图示,图中包括《Attention is not Explanation》和《Attention is not not Explanation》的实验部分操纵或替换的组件。

Wiegreffe 和 Pinter 认为,出于以下原因,《Attention is not Explanation》中反事实的注意力权重实验无法支撑其论文的论点。

1. 注意力分布不是原语(Primitive)

从建模角度来看,分离模型各部分获得的注意力分数(即注意力机制)会降低模型性能。base 注意力权重并非由模型随机分配,而是通过必备组件计算得到,该组件的参数与其他层一同训练,它们的运行也互相依赖。

《Attention is not Explanation》提供了可带来类似预测结果的替代性分布,但是研究过程中移除了激发注意力分布可解释性的连接,即注意力模型需要关注其选择的 token。

2. 存在并不意味着排他

从更偏理论的角度来看,Wiegreffe 和 Pinter 认为注意力分数可以提供可解释性,但不是唯一的可解释性。LSTM 模型的最后一层能够用多种方式轻松产生可被聚合为相同预测值的输出,但是模型仍然使用其训练得到的注意力模块选择特定的权重分布。

这一具备数学灵活度的输出能力在二分类器中尤为明显。二分类器的预测值是一个标量,(IMDB 数据集的)平均实例包含 179 个 token,即模型输出需要聚合 179 个标量。

在每个实例上单独执行时,该效应会显著加强。因此,也难怪 Jain 和 Wallace 在这种自由度下找到了他们寻找的东西。

总之,由于《Attention is not Explanation》中的展示本质上是按实例进行的,且模型参数并非直接学得或操纵,因此 Jain 和 Wallace 并未证明能够输出对抗分布的对抗模型。也就是说,我们不能将这些对抗注意力作为模型预测同等可靠的「解释」。此外,他们没有提供学习到的注意力分布的期望变化基线,这使得读者疑惑他们发现的对抗分布到底对抗程度如何。

你需要注意力是什么样,它就是什么样

注意力能否解释模型取决于每个人对「解释」的定义:合理和/或可靠的解释。Wiegreffe 和 Pinter 认为,《Attention is not Explanation》和《Attention is not not Explanation》的实验结果都无法证明「注意力机制不能提高模型可解释性」。

但是,Wiegreffe 和 Pinter 确认了《Attention is not Explanation》中的原始假设:在一些分类任务中,LSTM 模型可以找到对抗分布。这可以阻止研究人员依靠注意力分布为模型预测提供可靠的可解释性。同时,该研究提供了一些实验,研究人员可以利用这些实验,在解释模型预测时,对模型注意力机制的质量做出明智的判断。

本文分享自微信公众号 - 机器之心(almosthuman2014)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 四篇NeurIPS 2019论文,快手特效中的模型压缩了解一下

    在即将过去的 2019 年中,快手西雅图实验室在 ICLR、CVPR、AISTATS、ICML 和 NeurIPS 等顶会上发表了十多篇论文。

    机器之心
  • YouTube视频推荐系统为什么那么强?看了这篇文章你就知道了

    论文地址:https://dl.acm.org/citation.cfm?id=3346997

    机器之心
  • 中文任务全面超越BERT:百度正式发布NLP预训练模型ERNIE

    ERNIE Github 项目地址:https://github.com/PaddlePaddle/LARK/tree/develop/ERNIE

    机器之心
  • 时间序列预测(中)

    上一篇文章我们介绍的时间预测的方法基本都是通过历史数据直接求平均算出来的的。这一篇讲一些用模型来预测的方法。

    张俊红
  • 谷歌大脑 Bengio:全新 Active Memory 模型提升机器翻译水平(附 NIPS 论文下载)

    【新智元导读】Samy Bengio,刚刚创业的 Youshua Bengio的弟弟,昨天在 Arxiv 上发布了他与同事、Google Brain 研究人员 ...

    新智元
  • 学界 | Bengio最新论文提出GibbsNet:深度图模型中的迭代性对抗推断

    机器之心
  • SQL优化快速入门

    最近遇到一个专门进行SQL技术优化的项目,对很多既有的老存储过程进行调优(现在已经不再新增任何存储过程),因此系统的对SQL语句编写进行一次科学的学习变得很有必...

    用户1216676
  • Python实现简单登陆验证(文件操作)

           1.用户名的验证,首先对存储用户名和密码的信息读取,然后再把输入的用户名和从文件中读取的用户名进行比对,如果比对成功则进行下一步的密码验证,如果没...

    py3study
  • 使用Excel批量生成SQL脚本

    我以为生活是猫吃鱼,狗吃肉,奥特曼打小怪兽。现实确是鼠整猫,羊耍狼,俩熊玩死光头强!这个世界这么疯狂,让我们如何坚强!

    张树臣
  • 内部分享-聊聊常用的线程模型

    Throwable

扫码关注云+社区

领取腾讯云代金券