Explaining Deep Neural Networks

Explaining Deep Neural Networks

翻译一下牛津小姐姐这这篇优秀的博士论文,可以大致当做一篇综述来看,如果有翻译不好的地方,请大家多多指点

附上论文地址 https://arxiv.org/pdf/2010.01496.pdf

😀😀😀

摘要

​ 深度神经网络在计算机视觉、自然语言处理和语音识别等不同领域取得了革命性的成功,因此越来越受欢迎。然而,这些模型的决策过程通常不能被用户解释。在各种领域,如医疗保健、金融或法律,了解人工智能系统所做决策背后的原因至关重要。

​ 因此,最近研究了几个解释神经模型的方向。在这篇论文中,我研究了解释深层神经网络的两个主要方向。第一个方向由基于特征的事后解释方法组成,也就是说,这些方法的目标是解释一个已经训练和固定的模型(后特殊),并根据输入特征提供解释,例如文本标记和图像超像素(基于特征)。第二个方向由产生自然语言解释的自解释神经模型组成,也就是说,模型有一个内置的模块,可以产生对模型预测的解释。在这些方面的贡献如下。

​ 首先,我揭示了仅使用输入特性来解释即使是小模型也存在一定的困难。尽管有明显的隐含假设,即解释方法应该寻找一种特定的基于真实值特征的解释,但对于预测通常有不止一种这样的解释。我还展示了两类流行的解释方法,它们针对的是不同类型的事实基础解释,但没有明确地提及。此外,我还指出,有时,这两种解释都不足以提供一个在实例上的决策过程的完整观点。

​ 其次,我介绍了一个框架,用于自动验证基于特征的事后解释方法对其目标解释的模型的决策过程的置信度。这个框架依赖于一种特定类型的模型的使用,这种模型用来提供对其决策过程的洞察。我分析了这种方法的潜在局限性,并介绍了减轻这些局限性的方法。引入的验证框架是通用的,可以在不同的任务和域上实例化,以提供现成的完整性测试,这些测试可用于测试基于特性的后特殊解释方法。我在情绪分析任务上实例化了这个框架,并提供了完备性测试,在此基础上我展示了三种流行的解释方法的性能。

​ 第三,为了探索为预测生成自然语言解释的自解释神经模型的发展方向,我在有影响力的斯坦福自然语言(SNLI)数据集之上收集了一个巨大的数据集,数据集约为570K人类编写的自然语言解释。我把这个解释扩充数据集称为e-SNLI。我做了一系列的实验来研究神经模型在测试时产生正确的自然语言解释的能力,以及在训练时提供自然语言解释的好处。

​ 第四,我指出,目前那些为自己的预测生成自然语言解释的自解释模型,可能会产生不一致的解释,比如“图像中有一只狗。”以及“(同一幅)图像片中没有狗”。不一致的解释要么表明解释没有忠实地描述模型的决策过程,要么表明模型学习了一个有缺陷的决策过程。我介绍一个简单而有效的对抗性框架,用于在生成不一致的自然语言解释时检查模型的完整性。此外,作为框架的一部分,我解决了使用精确目标序列的对抗性攻击的问题,这是一个以前在序列到序列攻击中没有解决的场景,它对于自然语言处理中的其他任务很有用。我将这个框架应用到e-SNLI上的一个最新的神经模型上,并表明这个模型会产生大量的不一致性。

​ 这项工作为获得更稳健的神经模型以及对预测的可靠解释铺平了道路。

第一章 简介

神经网络是一种计算系统,它被设计用来直接从图像或文本等原始数据学习从而执行任务,而不需要对特定任务的知识进行硬编码。由于它们的通用性和在各个领域的革命性成功,这些系统近年来越来越受欢迎。例如,在计算机视觉中,深度神经网络极大地提高了物体分类的技术水平,类似地,神经网络已经彻底改变了声学模型以及机器翻译,与传统的机器学习方法相比,在性能上有了显著的提升。不硬编码特定任务知识的学习是人工智能的一个突破。例如AlphaGo,仅仅通过观看大量人类棋局,然后反复与自己对弈,就学会了如何玩复杂的围棋游戏。2016年,AlphaGo以4比1击败了18次世界冠军李世石。此外,它还表明神经网络能够获得艺术能力和创造艺术。例如,神经网络可以识别艺术风格并将其转换成其他图像,并且他们也可以生成音乐。

1.1 解释深度神经网络的重要性

​ 研究表明,神经网络成功的一个关键因素是其深度的能力,例如,成功的神经网络都是由很多的非线性方法组成。直观地说,多层非线性函数允许网络在原始数据和预测之间的不同抽象层次上学习特征。然而,这是以可解释性为代价的,因为为大量非线性函数的复杂组成提供人类可理解的解释是一个困难的开放问题。因此,在安全关键的应用程序中,如健康诊断、信用额度或刑事司法,人们可能仍然倾向于使用不那么精确但可由人解释的模型,如线性回归和决策树。

​ 关于神经网络的决策过程的怀疑是合理的,因为它已经表明,看起来非常精确的这种系统可以很容易地依赖数据集的虚假相关性(也称为统计偏差,或人工影响)来提供正确的答案。一个臭名昭著的例子是预测肺炎患者的糟糕结果,虽然在这方面,神经网络大大优于传统方法。然而,事实证明,训练集包含的模式是,有哮喘病史的患者死于肺炎的风险较低这样的模式。出现这种模式是因为哮喘患者得到了更快和更高的关注(因此,他们的死亡率更低),因为事实上,他们的风险更高。显然,在实践中,使用依赖这种相关性的模型将是非常危险的。

​ 黑箱系统中不信任的另一个来源来自这些系统可能发展的潜在主观偏见,如种族主义、性别歧视或其他类型的歧视和主观性。例如,Dressel and Farid 对商业风险评估软件COMPAS在惯犯预测中的公平性提出质疑。这种偏差可能是从我们训练和测试我们的模型的数据集中缺乏代表性或不相关的统计相关性中学习到的。例如,Bolukbasi等人(2016)表明,单词嵌入表现出女性/男性的性别刻板印象,而韦伯斯特等人(2018)表明,现有的语体和系统更青睐男性实体。

​ 此外,大量的对抗性攻击已经显示出明显高度精确的神经网络的脆弱性。例如,图像处理神经网络只要通过对图像像素进行不可察觉的改变,就能将其任何预测变为任何其他可能的预测。神经网络中的对抗性攻击在其他领域也有显著的成功率,比如自然语言处理和语音识别。对抗性攻击揭示了深层神经网络的脆弱性,这使人们对这些方法的潜在的学习决策过程产生了怀疑。

​ 因此,神经网络系统要获得广泛的公众信任,并确保这些系统确实是公平的,我们必须对这些模型的决策有人类可理解的解释。

​ 首先,解释是必要的,它可以为最终用户(如病人和客户)提供正当的理由。提供这样的理由不仅是道德的,而且在一些国家,这甚至是法律所要求的,例如2016年GDPR中引入了“解释权”。

​ 其次,解释对于这些系统的雇主,如医生和法官,是有用的,可以更好地了解一个系统的优势和局限性,并适当地信任和使用系统的预测。

​ 第三,解释为知识发现提供了一个极好的来源。众所周知,神经网络在发现数据中的模式方面特别出色。因此,能够解释神经网络学习到的算法,可能会揭示人类难以从极大量的数据中挖掘的有价值的知识。例如,使用决策树从训练有素的神经网络中提取保护生物学知识。

​ 最后,能够解释神经网络可以帮助这些方法的开发者/研究者诊断和进一步改进系统。例如,Ribeiro等人(2016)表明,在看到一些解释后,即使是非机器学习专家,也能够检测出哪些词应该从数据集中删除,以改进一个不值得信任的分类器。

​ 鉴于上述解释的使用,目前对人工智能系统的预测的人类可理解的解释的需求越来越大,这也是我致力于这个主题的动机。

1.2 研究问题及大纲

​ 鉴于自然语言解释数据集的稀缺,我首先在SNLI(一个现有的有影响力的自然语言推理数据集)上收集了一个大数据集,其中包含约570K个人类编写的自由形式的自然语言解释实例(Bowman et al., 2015)。我把这个扩展数据集称为e-SNLI。例如,对于“一个女人在公园遛狗”这一事实的自然语言解释。与句子“A person is in the park.”相关。是“女人是人,在公园散步就意味着在公园里。”我将介绍在训练时从这些解释中学习并在测试时输出这些解释的神经模型。我还研究了使用来自自然语言解释的额外信号学习是否能在解决其他下游任务时提供好处。这些贡献将在第5章中介绍。

​ 虽然神经模型生成的自然语言解释可以让用户放心,当他们为解决任务展示正确的论证时,它们可能不能忠实地反映模型的决策过程。因此,在本文中,我也调查了以下研究问题:**我们能否验证解释是否如实地描述了他们所要解释的深度神经网络的决策过程?**为了解决这类产生自然语言解释的神经模型的问题,可以考虑两种不同的方法。第一种方法是研究生成的自然语言解释是否符合每个模型。例如,如果一个模型产生了相互矛盾的解释,比如“图像中有一只狗。”以及“(同一幅)图像中没有狗。”,那么这个模型就存在一个缺陷。缺陷可能存在于决策过程中,也可能存在于生成的解释反映模型决策过程的准确性上(或者两者都存在)。我介绍了一个框架,它检查生成自然语言解释的模型是否会生成不一致的解释。作为这个框架的一部分,我将处理针对完整目标序列的对抗性攻击问题,这是一个以前在序列到序列攻击中没有处理过的场景,它对于其他类型的任务可能很有用。我在一个最先进的神经模型上实例化了这个框架,并表明这个模型能够产生大量的不一致性。这些贡献将在第6章中介绍。

​ 第二种解释深层神经模型的方法包括开发事后解释方法,即旨在解释已经训练好的神经模型的外部方法。事后解释方法是广泛的,目前形成了技术的大多数提供解释的深度神经网络。虽然产生自己的自然语言解释的神经网络可能会被导致解释这类模型需要的相同类型的偏差所破坏,但外部的解释方法可能不太容易出现这些偏差。因此,检验模型产生的自然语言解释是否真实的一个有趣的方法就是考察外部解释方法所给出的解释与模型本身产生的自然语言解释之间的相关性。然而,外部解释方法也可能不能忠实地解释它们所要解释的模型的决策过程。因此,在本文中,我引入一个验证框架来验证外部解释方法的真实性。这些贡献将在第4章中介绍。

​ 在开发上述验证框架的过程中,我发现了仅使用输入特征来解释模型的某些特性,即输入的单位,如文本的标记,图像的超像素。例如,我指出,有时对于一个模型的同一预测存在不止一种真实值解释,这与目前的文献似乎暗示的情况相反。我还说明了两种流行的后特殊解释方法针对的是不同的事实基础解释,并揭示了它们的一些优点和局限性。这些见解对于用户如何选择解释方法以最适合他们的需要,以及验证解释方法的忠实性,都有重要的影响。这些贡献将在第3章中介绍。

​ 为了更好地理解这些贡献的范围,在深入研究这篇论文之前,我在第2章中提供了关于深度神经网络可解释性的背景知识。

​ 在每一章的结尾,我提出关于本章的结论和一些开放性的问题。最后,在第七章,我提供了关于深度神经网络可解释性的一般结论和展望。

第二章 深度神经网络解释的背景知识

​ 本论文假设并没有描述机器学习,特别是神经网络的基本知识。对深度神经网络感兴趣的读者可以看看Goodfellow等人(2016)的《深度学习》(deep Learning)一书。特别地,我推荐第10章(“序列建模:递归和递归网络”),因为递归神经网络在这篇论文中被广泛使用。本章的主要目的是提供解释方法的现状的必要背景,以方便阅读论文的其余部分,并把在此带来的领域的贡献的观点。

2.1 记号

本节描述了本论文中使用的符号。

变量。标量通常用非粗体字母表示,而向量用粗体表示。因此,我使用粗体小写罗马字母(如 x x x)表示一维向量,假设它们是列向量。向量的一个分量通过将变量字母的非粗体版本下标为该分量的索引来表示。例如,向量 x x x的第 i i i个分量用 x i x_i xi表示。

超参数通常用小写希腊字母表示。例如,一般来说, μ , α \mu,\alpha μ,α分别表示学习率和损失系数。

数据。数据。为了表示数据集,我使用了书法,大写罗马字母,例如 D D D。为了枚举数据集中的实例(也称为样本或数据点),我使用带括号的上标。例如,数据集 D = { x ( n ) , y ( n ) } n = 1 , N D=\{x^{(n)},y{(n)}\}_{n=1,N} D={x(n),y(n)}n=1,N包含 n n n个实例 x ( n ) x^{(n)} x(n)及其关联标量或分类目标 y ( n ) y^{(n)} y(n)。因此,为了表示数据集 D D D中第 n n n个实例的第 i i i个组件,我使用 x i ( n ) x_i^{(n)} xi(n)。在本文中特别重要的是由可变长度序列组成的数据点,如自然语言文本。对于输入序列 x x x, x t x_t xt表示序列中的第t个时间步长。例如,在句子x中, x t x_t xt能够表示第t个标记或字符。对于离散输入,当神经网络在每个时间步长t处的实际输入是令牌 x t x_t xt的嵌入向量(Mikolov et al., 2013)时,我使用标量符号 x t x_t xt表示时间步长t处的原始输入。

方法。功能。在本文中,函数的名称不包含其输入和输出的维数的指示。这些维度要么是陈述的,要么是从上下文推断的。与向量类似,函数输出的组件通过在参数(如果存在)前面的下标来引用。例如,函数 f f f在x点的向量输出的第 i i i个分量称为 f i ( x ) f_i(x) fi(x)。一种常用的

一种常用的函数类型是用于训练神经网络的损失函数,我用大写字母L表示,它通常是损失项的总和。

最后,神经网络本身也是函数。一般模型通常被称为 m m m。为了可读性,我使用缩写或首字母缩写作为神经网络(部分)的名称。例如,序列-序列神经网络的编码器和解码器可以分别称为enc(·)和dec(·),多层感知器可以称为MLP(·)。

大写 O O O记号。O(·)表示典型的大O符号。

词汇。在本文中,区分三种类型的算法是很重要的。首先,目标模型指的是我们想要解释的模型。第二,解释性方法(也称为explainer)是指旨在解释目标模型的方法。第三,验证框架是指验证解释方法是否忠实地解释目标模型的框架。

2.2 解释性方法的类型

​ 最近,越来越多的不同作品旨在阐明深度神经网络(Ribeiro et al., 2016;伦德伯格和李,2017年;Lapuschkin等人,2015年;Arras等人,2017年;Shrikumar等人,2017年;里贝罗等人,2018年;普拉姆布等人,2018年;Chen等,2018a;Kim等,2018b;Park等人,2018年;Lei et al., 2016;Yoon等,2019)。这些方法在许多方面有本质上的不同。以下是解释方法的不同分组。但是,我不会介绍所有可能的解释方法。这是因为有大量的方法组,因为这一章的目的是提供背景投入角度看其余的论文,我不想讨论与这篇文章无关的一些方法。如果读者对解释方法的分类有兴趣,我可以参考Gilpin et al.(2018)和Arrieta et al.(2020)的著作。

2.2.1 事后解释和自解释

当前的解释方法之间最显著的区别将它们分为两类。

  1. 事后解释方法是一种独立的方法旨在解释已经训练和固定的目标模型,例如,LIME(里贝罗et al ., 2016)是一种因果解释的方法,解释了目标模型的预测通过学习可说明的模型,如线性回归,在附近的预测模型的概念(我将解释2.3节)的一个实例。

  2. 自解释模型是一种目标模型是否将解释生成模块合并到它们的体系结构中,以便为它们自己的预测提供解释的模型。在更高的层面上,自解释的模型有两个相互关联的模块:(i)预测模块,例如,模型的一部分,致力于预测手头的任务,和(ii)一个解释模块,即模型的一部分,致力于提供所做出预测的解释。例如,Lei等人(2016)引入了一种自解释神经网络,其中解释生成器选择输入特征的一个子集,然后独家传递给预测器,预测器仅根据所选特征提供最终答案。他们的模型也被正则化,这样选择就很短。因此,选择的特征旨在形成对预测的解释。

    自解释模型不一定需要对解释进行监督。例如,Lei et al. (2016), Yoon et al. (2019), Chang et al.(2019)所介绍的模型并不对解释进行监督,而只对最终的预测进行监督。另一方面,Park et al.(2018)、Kim et al. (2018b)、Hendricks et al.(2016)和Gilpin et al.(2018)引入的模型需要解释级的监督。

一般情况下,对于自解释模型,预测器和解释生成器是共同训练的,解释生成器的存在会影响预测器的训练。这不是事后解释方法的情况,不影响所有的由已经训练和固定的目标模型做出的预测。因此,当一个神经网络增加一个额外的解释生成器时,其任务性能明显低于只训练来执行该任务的神经网络时,人们可能更倾向于使用后一种模型,后面跟着一个事后解释方法。另一方面,也有可能用解释生成器增强神经网络,并联合训练它们,从而在手头的任务中获得更好的表现。这可能是由于模型体系结构中附加的指导,或者是对解释的额外监督(如果可以的话)。例如,在情绪分析任务上,Lei等人(2016)得出,在不对解释进行监督的情况下,添加中间解释生成器模块并不会影响性能。在常识性问题回答的任务上,Rajani等人(2019)通过对解释进行监督的自解释模型比仅训练完成该任务的神经网络获得了更好的表现。因此,这两种解释方法各有利弊。

在第三章中,我将介绍两种主要类型的事后解释方法之间的根本区别。在第4章中,我将介绍一个基于自解释目标模型的事后解释方法的验证框架。在第5章和第6章中,我将只关注自解释的模型。

2.2.2 黑盒和白盒

解释方法之间的另一个区别在于解释者需要的关于目标模型的知识。我们有以下两类。

  1. 黑盒/模型无关的解释器 是一种假设只能访问目标模型输入的解释器。例如LIME (Ribeiro et al., 2016)、Anchors (Ribeiro et al., 2018)、KernalSHAP (Lundberg and Lee, 2017)、L2X (Chen et al., 2018a)和LS-Tree (Chen and Jordan, 2020)是模型不可知解释方法的几个例子。
  2. 白盒/基于模型的解释器 是一种假设可以访问目标模型体系结构的解释器,例如,LRP (Lapuschkin等,2015;Arras et al., 2017)、DeepLIFT (Shrikumar et al., 2017)、显著性地图(Simonyan et al., 2014)、integrated gradients (Sundararajan et al., 2017)、GradCAM (Selvaraju et al., 2019)以及DeepSHAP和MaxSHAP (Lundberg and Lee, 2017)是模型依赖解释方法的几个例子。

这种划分主要适用于事后解释方法,因为在默认情况下,自解释模型在解释生成器和预测器之间表现出很强的联系。

​ 黑箱解释器比白箱解释器具有更广泛的适用性,因为前者可以应用于无法访问目标模型内部结构的情况。黑箱解释器通常以现成的方式使用起来更快,因为不需要将依赖模型的技术适应于模型的特定架构或新的层类型。然而,这些优势是以可能不那么准确的解释为代价的,因为黑箱解释者可以推断输入和预测之间的相关性,而这并不一定反映目标模型的真实内部工作方式。

​ 我将在第4章中介绍的验证框架可以应用于黑箱和白箱解释器。

2.2.3 基于实例和全局

划分解释方法的另一种方法是根据解释的范围。我们有以下两种类型的解释器。

  1. 基于实例的解释器 提供目标模型对于单个实例预测的解释。(Ribeiro等人,2016;伦德伯格和李,2017年;Chen等,2018a;普拉姆布等人,2018年;Lapuschkin等人,2015年;Arras等人,2017年;Simonyan等,2014;Shrikumar等人,2017年)。例如,LIME (Ribeiro et al., 2016)通过在实例的邻域上训练线性回归来学习对任何实例的实例明智解释。
  2. 全局整个目标模型的高层内部工作原理,例如Frosst和Hinton(2017)通过将神经网络提炼成软决策树来提供全局解释。

​ 例如,对于终端用户需要解释其特定用例所采取的决策的用例,实例型解释器特别有用。全局解释器是特别有用的,例如,对于可能的偏差的快速模型诊断或知识发现。由于全局解释器的目的是解释整个目标模型的行为,通常是通过将目标模型提炼成可解释的模型,因此它们也隐含地提供了实例方面的解释。然而,对于一个可解释的模型来说,要准确地捕捉高度非线性模型学习到的所有不规则性,虽然不是不可能,单是很困难的。因此,来自全局解释者的实例解释可能并不总是准确的。目前大部分的文献工作集中在设计实例型解释器。

​ 相反,实例解释可以是获得全局解释的起点。例如,Ribeiro et al.(2016)和Ribeiro et al.(2018)引入了子模块选取技术,从实例式的解释推导出模型内部工作的全局解释,而Ibrahim et al.(2019)使用聚类技术从实例式的解释出发,为子总体提供全局解释。

​ 这种划分主要与事后解释方法有关。默认情况下,自解释模型是基于实例的解释器,因为内置的解释生成模块将应用于每个实例。然而,上面提到的从实例到全局解释的技术同样适用于自解释的模型。

​ 本文仅针对实例型解释者。

2.2.4 解释的形式

解释方法也可以根据其所提供的解释的形式分为不同的组。下面我将简要描述几种常用的解释形式。我将更详细地讨论基于特征的和自然语言的解释,因为它们是本文的重点。

基于特征的解释。基于特征的解释是目前最广泛的解释形式,它包括评估一个实例的每个特征在该实例的模型预测中的重要性/贡献。常见的特征包括文本标记和图像超像素。

​ 基于特征的解释有两种主要类型:重要性权重和特征子集。重要性权重解释为实例中的每个输入特征提供一个实数,表示该特征对模型对该实例的预测的贡献。子集解释为每个实例提供最重要特征的子集,用于对该实例进行模型预测。例如,一个模型可以预测“这部电影非常好”这句话。”有一个4星的积极情绪(5),可以形成一个子集的解释的特性{“非常”,“好”},而重要性权重的解释,例如,对于属性特性”好“有3的权重而对于属性“非常”有1的权重(重要性权重的总和与4的总预测匹配;这个属性称为特性加性,将在下一节中详细讨论)。我将在2.3节中介绍这两种基于特性的解释。

“这部电影非常好”:4星的积极情绪

重要性权重解释特征子集解释
“好”:weight3 “非常”:weight4{“好”,“非常”}

​ 有大量的解释方法提供基于特征的解释。例如,LIME (Ribeiro et al., 2016)、SHAP (Lundberg and Lee, 2017)、L2X (Chen et al., 2018a)、LS-Tree (Chen and Jordan, 2020)、Anchors (Ribeiro et al., 2018)、LRP (Lapuschkin et al., 2015;Arras et al., 2017)、DeepLIFT (Shrikumar et al., 2017)、Integrated Gradients (Sundararajan et al., 2017)和grado - cam (Selvaraju et al., 2019),而基于特征解释的自解释方法包括RCNN (Lei et al., 2016)、INV ASE (Yoon et al., 2019)、CAR (Chang et al., 2019),以及有影响力的注意力等级模型(Bahdanau et al., 2015)等。只是众多基于特征的后特殊解释方法中的一小部分。

​ 我在第3章和第4章研究基于特征的解释。

自然语言解释。自然语言解释由自然语言句子组成,这些句子提供类似人类的论点来支持预测。例如,对于“一个女人在公园遛狗”这一事实(继承自“一个人在公园”)的自然语言解释是“女人是人,在公园散步就意味着在公园里。”

​ 为了训练解释方法提供自然语言解释,最近收集了新的人工书写自然语言解释数据集,以便在训练时监督解释,并在测试时评估生成的解释的正确性(Park et al., 2018;Hendricks等人,2016年;Kim等,2018b;凌等,2017;Jansen等,2018年;Rajani等,2019)。例如Park et al.(2018)引入了ACT-X和VQA-X这两个数据集,分别包含(除了视觉解释外)用于视觉活动识别和视觉答疑任务的自然语言解释。此外,Park等人(2018)还引入了自解释模型PJ-X(指向和理由解释),该模型被训练用于联合提供预测、基于特征的解释和自然语言解释,两种解释都支持预测。类似地,Kim等人(2018b)引入了BDD-X (Berkeley DeepDrive eXplanation)数据集,该数据集由支持自动驾驶汽车决策的自然语言解释组成。他们训练的模型组成的汽车控制器(预测)和一个解释发生器,无人驾驶汽车的决定是合理的用户与解释,如“汽车移动回到左边的车道,因为前面的校车停下来。”。另一项相关工作是Jansen等人(2018)的工作,他们为基础科学问题提供了自然语言解释图的数据集。然而,他们的语料库非常小,只有1680对问题和解释。类似地,Ling等人(2017)引入了用于解决数学问题的文本解释数据集。然而,这个数据集的焦点是狭窄的,而且很难转移到更一般的自然理解任务上。

​ 虽然大多数自然语言解释方法都是自解释模型,但也有一些工作,如Hendricks等人(2018)的作品,旨在以事后的方式提高自然语言解释的质量。

​ 在第5章中,我为解决自然语言推理这一有影响力的任务介绍了一个新的大型数据集(约570K自然语言解释)。此外,我开发了将自然语言解释纳入训练过程的模型,并在测试时生成这些解释。此外,在第6章中,我注意到 这样一个事实,即这样的模型可以产生不一致的自然语言解释,这暴露了模型中的缺陷。我介绍了一个对抗的框架来检测对不一致的解释,并展示了在第5章中训练的最好的模型可以产生大量不一致的解释。

**基于层次的解释 **基于概念的解释者旨在量化用户定义的高级概念(如卷曲或条带)对模型预测的重要性(Kim et al., 2018a;(Akula等,2020)。

基于实例的解释 基于实例的解释提供实例的解释,从中人们可以获得对模型预测的洞察力。例如,对于给定的实例,Koh和Liang(2017)的目标是追踪训练集中哪些实例对当前实例的模型预测影响最大。Kanehira Harada(2019) 提供了一些例子,展示了模型区分当前实例和其他实例的能力,这些实例相对于当前实例只有很少的本质区别。

代理解释代理解释器的目的是提供目标模型的可解释代理模型。例如,Alaa和van der Schaar(2019) 使用Meijer g函数对其代理解释器进行参数化。

解释形式的混合 一个解释器也可以提供一种以上的解释。例如Park et al.(2018)提出的PJ-X模型是一种既提供基于特征的解释又提供自然语言解释的自解释模型,对这两种解释进行联合训练可以提高这两种解释的能力。类似地,Kanehira和Harada(2019)引入了一种可以自我解释的模型,它可以生成自然语言和基于实例的解释。

2.3 基于特征的解释

如上所述,基于特征的解释有两种主要类型:重要性权重和特征子集。下面我将分别对它们进行描述。设 m m m为模型, x x x为实例, n n n个特征的潜在数量可变, x = ( x 1 , x 2 , … ) x = (x1, x2,…) x=(x1,x2)(例如, x i x_i xi是句子 x x x中的第 i i i个标记)。基于特性的解释可以看作是x到输出空间的映射。为了重要性权重解释,将 x x x每个特征映 x i x_i xi射为一个实数。对于子集解释, x x x映射到 x x x的子集集合,每个子集都是一个潜在的替代解释。

2.3.1 重要性权重

一个实例 x x x中每个特征 x i x_i xi的权重 w i ( m , x ) w_i(m,x) wi(m,x)表示特征 x i x_i xi对于预测 m ( x ) m(x) m(x)的重要性(也称为贡献)(Ribeiro et al., 2016;伦德伯格和李,2017年;Sundararajan等人,2017;Lapuschkin等人,2015年;Arras等人,2017年;Shrikumar等人,2017年;Simonyan等,2014;Chen and Jordan, 2020)。权重是有符号的实数,符号表示特征是将模型拉向预测(与预测符号相同的符号)还是与预测相反(与预测符号相反)。

2.3.1.1 加性特征权重

特征加性是一个在很多权重特征解释器中应用的性质,要求实例中出现的所有特征的重要性权重之和等于模型对该实例的预测减去模型的偏差对于分类任务,模型的预测被认为是预测类的概率,通常是每个可能类的预测概率中最高的概率。模型的偏差是模型对不带来任何信息的输入的预测,通常称为参考输入或基线输入。例如,全黑图像是计算机视觉的共同基线,而零矢量嵌入是自然语言处理的共同基线(Chen et al., 2018a;Sundararajan等人,2017)。同样,在一个实例 x x x中任何特征带来的信息可以通过阻塞(使用baseline特征来替代该特征,如黑色super-pixel或零向量嵌入)或遗漏(完全删除特征)(K´广告´ar et al ., 2017)消除,如果在技术上是可行的,例如,对于承认可变长度的输入序列的模型,如自然语言处理模型。如Sundararajan等人(2017)所述,遮挡和遗漏都可能导致输入分布不全,从而导致不可靠的重要性权重。

​ 形式上,对于模型 m m m和实例 x x x,在特征可加性约束下,特征 x i {x_i} xi的赋值权重为 { w i ( m , x ) } \{w_i(m,x)\} {wi(m,x)},即

∑ i = 1 ∣ x ∣ w i ( m , x ) = m ( x ) − m ( b ) (2.1) \sum_{i=1}^{|x|}w_i(m,x)=m(x)-m(b) \tag{2.1} i=1xwi(m,x)=m(x)m(b)(2.1)

其中 b b b为基线输入。对于回归模型, m ( x ) m(x) m(x)是模型对实例x的真实预测值,对于分类任务, m ( x ) m(x) m(x)是预测到的类的概率。

​ 大量的解释方法依赖于特征加性(Ribeiro et al., 2016;伦德伯格和李,2017年;Lapuschkin等人,2015年;Arras等人,2017年;Shrikumar等人,2017年;Simonyan等,2014;Sundararajan等人,2017)。例如,LIME (Ribeiro et al., 2016)在每个实例 x x x的邻域上学习一个局部线性回归模型,其中邻域由所有实例定义,这些实例通过将实例 x x x中所有可能的特征组合设置为一个基线值。

Shapley values Lundberg和Lee(2017)的目标是统一特征加性解释方法,通过表明唯一一组特征加性重要性权重可以验证三个特性——局部准确性、缺失性和一致性——由合作博弈论中的Shapley值给出(Shapley, 1951)。

  1. 局部精度 (在Sundararajan等人(2017)中也称为完整性)要求等式2.1成立。请注意,并不是所有的特性方法都保证提供的重要性权重满足这个等式,即使这是它们的目标。例如,当LIME在实例 x x x附近学习线性回归时,这个线性回归模型可能无法在实例 x x x上产生它要解释的相同预测。

  2. 缺失性 要求实例 x x x中不存在的特征对预测 m ( x ) m(x) m(x)的重要性权重为零。例如,对于句子 x x x的预测模型 m m m, 只有出现在句子 x x x中的token应该成为解释的一部分,因此可以给定一个非零的重要性权重,而其他词汇表中没有出现在句子中的token对于预测结果的重要性权重应该为0。

  3. 一致性 需要,如果两个模型 m m m 和 和 m ′ {m}' m,实例 x x x的一个特征 x i x_i xi的边际贡献对于 m m m来说比 m ′ {m}' m高,那么 x i x_i xi的重要性权重相应的也要高。形式上,对于一个特征子集 x s ⊆ x x_s\subseteq x xsx ,我们有

    m ( x s ∪ { x i } ) − m ( x s ) ≥ m ′ ( x s ∪ { x i } ) − m ′ ( x s ) (2.2) m(x_s\cup\{x_i\})-m(x_s)\geq {m}'(x_s\cup\{x_i\})-{m}'(x_s)\tag {2.2} m(xs{xi})m(xs)m(xs{xi})m(xs)(2.2)

    那么就有 w i ( m , x ) ≥ w i ( m ′ , x ) w_i(m,x)\geq w_i({m}',x) wi(m,x)wi(m,x)

Lundberg和Lee(2017)表明Shapley值是唯一满足上述三个特性的解,并且可以用以下封闭形式进行计算

w i ( m , x ) = ∑ x ⊆ x / x i ∣ x s ∣ ! ( ∣ x ∣ − ∣ x s ∣ − 1 ) ! ∣ x ∣ ! [ m ( x s ∪ { x i } ) − m ( x s ) ] (2.3) w_i(m,x)=\sum_{x\subseteq x/{x_i}}\frac{|x_s|!(|x|-|x_s|-1)!}{|x|!}[m(x_s\cup\{x_i\})-m(x_s)] \tag{2.3} wi(m,x)=xx/xix!xs!(xxs1)![m(xs{xi})m(xs)](2.3)

其中, s u m sum sum枚举 x x x中不包含特征 x i x_i xi的所有特征子集 x s x_s xs, |·|表示其参数的特征数量。对于那些特征的顺序很重要的任务,特征保持与它们在 x x x中出现的顺序相同。

​ 由于计算封闭形式的Shapley值需要在特征数量上花费指数时间,Lundberg和Lee(2017)提供了模型无关的(KernalSHAP)和模型依赖的(DeepSHAP和MaxSHAP)方法来逼近Shapley值。

2.3.1.2 非特征加性权重

大多数重要性权重解释器是基于特征加性的。然而,不依赖于特性加性的重要性权重解释器也正在开发中。例如,LS-Tree (Chen和Jordan, 2020)利用语言数据的解析树来为每个特征分配权重,这样权重就可以用来检测和量化句子中标记之间的交互。与Shapley方法相似,LS-Tree也从合作博弈论中得到启发。然而,LS-Tree并没有使用Shapley值,而是受到Banzhaf值的启发(Banzhaf- iii, 1964)。

2.3.2 最小充分子集

另一个流行的解释模型在实例 x x x上的预测的方法是提供一个最小特征子集 m s s ( m , x ) ⊆ x mss(m,x) \subseteq x mss(m,x)x,通过这些最小充分子集,如果所有的其他特征都丢失,仅依靠这些特征就能使模型达到相同的预测,形式上,

m ( m s s ( m , s ) ) = m ( x ) ∀ x s ⊂ m s s ( m , x ) , 有 m ( x s ) ≠ m ( x ) m(mss(m,s))=m(x)\\ \forall x_s \subset mss(m,x),有m(x_s)\neq m(x) m(mss(m,s))=m(x)xsmss(m,x),m(xs)=m(x)

​ 要计算一个模型 m m m对特征子集 x s x_s xs的预测,可以对 x − x s x-x_s xxs中的特征进行遮挡或删除,如上所述。

​ 最小性条件是保证不提供所有特征构成的平凡充分子集的必要条件。

​ 目标模型并不仅仅总是依赖于特征的子集,相反可能也需要实例中的所有特征。如果需要全部输入来解释预测,那么这种解释将是无信息的。尽管如此,模型可能只依赖于每个实例输入特征的子集。例如,在计算机视觉中,并不是所有的像素都是模型分类一个对象或提供一个问题的答案所必需的。同样,在情绪分析中,某些子短语足以识别情绪。

​ 一个实例可以有多个足够的最小子集。然后,每个最小充分子集都是对实例上的模型预测的一个独立的潜在解释。在这种情况下,要提供模型的完整视图,最好提供模型 m m m和实例 x x x的所有最小充分子集的集合,即 S ( m , x ) = { m s s k ( m , x ) } k S(m,x) = \{mssk(m,x)\}_k S(m,x)={mssk(m,x)}k。在第3章中,我将揭露提供某些足够的最小子集作为解释的问题。

​ 解释方法如L2X (Chen et al., 2018a)、SIS (Carter et al., 2019)、Anchors (Ribeiro et al., 2018)和INV ASE (Yoon et al., 2019)旨在提供此类解释。例如,L2X通过最大化模型对特征子集 m ( x s ) m(x_s) m(xs)的预测与对整个实例m(x)的预测之间的相互信息来学习一个最小充分子集。然而,L2X假设一个最小充分子集的基数是已知的,并且在所有情况下都是相同的,这在实践中是一个主要的限制,可能会导致最小性和充分性条件被违反。相反,通过使用角色评论家方法(Peters和Schaal, 2008), INVASE允许每个实例的最小充分子集的基数不同。L2X和INVASE都只提供了一个最小充分子集。另一方面,SIS提供了一组不重叠的最小充分子集。因此,SIS可能只标识整个集合 S ( m , x ) S(m,x) S(m,x)的一个子集 S ′ {S}' S

​ 在第3章中,我提供了更多关于基于基于shapley值解释和最小充分子集解释的优势和局限性的见解。

2.4 属性的解释

解释深层神经网络的目的是为了让人们理解这些模型的决策过程。因此,解释应该满足两个主要特性:解释应该是人类容易解释的,并且应该忠实地描述他们要解释的目标模型的决策过程。

容易解释(理解) 如果人类不能很容易地解释一个模型预测,那么对它的解释就没有意义。在极端情况下,由于神经网络是函数的组成,人们可以通过提供应用于实例的完整的函数链来解释任何预测,但这种解释对人类没有任何用处。

​ 每一种解释都有自己的解释。例如,一个最小的足够的子集的解释是被解释为特性的一个子集,当去除剩下的特征,模型仍然能够做出相同的预测,且没有其他的最小充分特征子集能够得到相同的结论。

​ 然而,并不是所有的解释方法都很容易被人类解释。例如,Shapley值形式的解释为每个特征给出了原始实例每个可能特征子集内的特征边际贡献的加权平均。可以论证的是,这样的数量是很难被人类解释的,人类可能只是求助于观察Shapley值的大小所赋予的特征的相对重要性,以及观察Shapley值符号所赋予的特征对模型的拉动方向。我将在第三章详细讨论这个话题。

置信度 置信度是指解释描述目标模型决策过程的准确性。解释的真实性不应与解释的属性混淆,解释为解决手头的任务提供了基础真理论证,这是独立于模型决策过程的。我将把后一个属性称为正确性(更多细节在第5章)。例如,如果目标模型内部只使用了解释提供的论证(以模型可理解的方式编码)来达到它的预测,那么自然语言解释就是忠实的。

​ 解释直接影响目标模型中用户的感知和信任。因此,不忠实的解释可能是危险的,因为它会鼓励用户信任不可靠的和潜在的危险的模型,或者阻止用户信任完全可靠的模型。

​ 如前所述,验证解释的真实性是本文的两个主要目标之一,将在第3、4、6章中具体说明。

第三章 基于特征解释的难点和主观性

本论文的主要目的之一是验证解释是否忠实地描述了它们所要解释的模型的决策过程。首先,我的重点是介绍一个框架来验证基于特征的事后解释方法所提供解释的真实性。要做到这一点,第一个挑战是定义什么是忠实的基于特性的解释。在本章的3.1节中,我展示了对于某些模型和实例,存在不止一个基于真实值特征的解释。因此,解释(或解释器)的忠实程度取决于实践中所偏好的基础真实解释的类型。

​ 此外,我指出两种有影响力的解释器,即Shapley解释器和最小充分子集解释器,针对不同类型的真实值解释。我还证明,在某些情况下,它们都不足以提供决策过程的完整视图。据我所知,文献中并没有强调可能有不止一种基于真实值特征的解释,也没有强调每个解释器都坚持哪一种基础真实值解释。然而,这些至关重要的信息对于用户,选择最适合他们的需求和解释正确的解释器,对于研究人员告诉用户预期行为、优点,和解释器的局限性,以及提供公平的自动评估解释方法比较。相反,有影响力的著作似乎暗示,只有一种基于真实值特征的解释是所有解释器的目标。

​ 在验证解释的真实性时,第二个挑战的方面恰恰是这样一个事实:一般来说,我们不知道神经模型的决策过程。为了解决这个问题,在本章的3.2节中,我研究了期望提供忠实解释的基于特性的自解释模型在多大程度上确实做到了这一点。这类模型将在第4章中作为验证基于特征的解释方法的实验平台。

​ 本章的发现部分基于(Camburu et al., 2019),不仅是我将在第4章介绍的验证框架的重要基础,而且就其本身而言,因为它们指向了可解释性的基本方面。

说明例子 在深入本章的核心内容之前,我向读者介绍了我将在以后广泛使用的举例说明的类型。更确切地说,我将使用假设模型来进行文本情绪分析,以举例说明本章的观点。这样的模型将评论作为输入,例如,一段包含对一个对象的意见的文本,并输出一个分数,这个分数反映了评论对该对象或对象的一个方面的看法。该任务是自然语言处理中的一个突出任务,具有重要的现实世界应用(McAuley et al., 2012;Maas等,2011)。与Lei et al.(2016)类似,我将任务视为回归,得分为一个实数,线性反映情绪的强度。在这些例子中,-1是最负的分数,1是最正的分数,因此0代表中立的分数。我们假设差异至少为0.1才显著。情绪分析任务的一种重要类型是在多方面回顾中识别对某一方面的情绪。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9BoeZl5p-1603511734275)(…\image\3.1.png)]

图3.1:Shapley解释器充分子集解释器分别给出至少两个基于真实特征的解释的例子。Shapley值由式2.3计算。假设分数是线性反映情绪的强度,0.1的差异是显著的。

例如,包含对该对象的多个方面的意见的综述。例如,BeerAdvocate数据集(McAuley et al., 2012)包含了人类撰写的评论,涵盖了啤酒的四个方面,即外观、口感、味道和气味。在这一章中,我将使用几个假设模型的例子来进行整体和多方面的情绪分析作为例证。

3.1 各种基于特征真实值的解释器

在本节中,我将展示一些模型和实例的案例,这些案例中存在不止一个基于真实值特征的解释。我还展示了两类流行的解释器,他们各自提倡不同的事实基础解释,但没有明确提及。据我所知,迄今为止的文献中还没有强调这一点。相反,目前有影响力的著作似乎暗示,对于一个模型的预测只有一种基于真实值特征的解释。尽管如此,用户和研究人员都必须意识到这些差异。

​ 此后,我将把明确旨在提供Shapley值作为解释的任何解释器标记为Shapley解释器。正如我们在第2章中看到的,Lundberg 27和Lee(2017)认为所有的特征加性解释器都应该以Shapley值作为解释的目标。然而,鉴于本章的发现,我想允许特征加性解释器坚持不同的观点。

​ 为了说明真实存在的多个特征对于一个实例的解释预测模型,在图3.1中,我提出一个假设的例子情绪分析回归模型。该模型使其预测如下:子字符串“very good”在输入文本的存在会导致一个非常积极的得分为0.9分。在没有“very good”的情况下,如果输入文本中出现了“nice”,那么模型提供了0.7的积极情绪。如果输入文本中既没有出现“very good”,也没有出现“nice”,那么模型就会给出0.6分,最后,如果这些积极指标都没有出现,那么模型就会默认得到中性的0分。因此,这是一个我们知道其决策过程的简单模型。将这个模型应用到实例 x ( 1 ) x_{(1)} x(1)上:“The movie was good, it was actually nice."。,模型预测 m ( x ( 1 ) ) m(x_{(1)}) m(x(1)) = 0.7,因为“nice”出现在输入实例中。因此,可以认为“nice”是0.7的预测中唯一重要的特性,而“good”则是另一个预测(0.6)中唯一重要的特性。然而,有人可能会辩称,对于这种预测,“good”也必须被标记为重要,原因如下:如果要取消“good”,那么该模型将依赖“good”给出高达0.6的分数,而不是低得多的0分。因此,我们看到对于基于特征真实值的解释应该是什么,即使对于这个简单的模型,也有两种同样有效的观点。因此,在实践中选择哪种视角是主观的。

​ 当试图用基于特征的解释来解释模型 m m m时所面临的困难在实例 x ( 2 ) x_{(2)} x(2)上更加明显:“The movie was nice, in fact, it was very good.”模型预测 m ( x ( 2 ) ) = 0.9 m(x_{(2)}) = 0.9 m(x(2))=0.9,因为“very good”是输入实例的子字符串。因此,特征“very good”和“good”构成了对这个预测的一个基本事实解释。然而,在这个例子中,如果“good”被剔除,模型依赖于“nice”(而不是“very”)来提供高达0.7的分数,而如果“good”和“nice”都被剔除,那么分数就会一直下降到0。因此,从这个角度来看,“nice”可以被视为比“very”更重要,按照重要性顺序提供“good”、“nice”、“very”的解释也是基于真实值特征的解释。

Shapley值与最小充分子集。上面描述的两种基本真实解释是由Shapley值和最小充分子集解释器这两类有影响力的解释器分别倡导的。一方面,Shapley 解释器 (Lundberg and Lee, 2017)告诉我们,在这个实例 x ( 1 ) x^{(1)} x(1)上,“nice”是该模型最重要的特征,权重为0.4,但“good”的显著贡献为0.3(见公式2.3)。另一方面,最小充分子集解释器发现只有“nice”特性是重要的(见公式2.4和2.5)。类似地,对于模型 m m m对实例 x ( 2 ) x_{(2)} x(2)的预测,Shapley解释告诉我们,“good”和“nice”是两个最重要的特征,重要性非常接近,而“very”的重要性大约是“nice”的三倍。另一方面,最小充分子集的观点告诉我们,两个最重要的特性是“good”和“very”,而“nice”根本不会被提到重要。

​ 两种类型的真实值解释之间的区别在于,与 Shapley 值一致的解释旨在为实例邻域的要素提供平均重要性权重 ,而与最小充分子集对齐的解释旨在提供模型在实例单独上使用的点态特性。Shapley值来自合作博弈论(Shapley, 1951),它的引入是为了促进在参与者之间分配联盟总收益的公平性。这就是Shapley值通过方程2.2中的一致性条件考虑玩家在任意子联盟中的表现能力的原因。另一方面,最小充分子集视角只奖励完全必要的联盟内的玩家。在图3.1的例子中,对于模型 m m m,“nice”在“very”和“good”相邻出现的情况下是不必要的,即使“nice”单独就能得到可观的0.7分。

​ 在此之后,我将把这两种真实值解释分别称为邻域解释和点态解释。这些名字是为了真实反映这两个解释的高层根本区别,对m关于 x ( 2 ) x^{(2)} x(2)的预测,如考虑“nice”是比“very”更重要的与考虑“nice”作为解释是不重要,而不是低层次的差异,如具体的Shapley值权重或最小充分子集提供子作为解释而不是权重,我将明确地称为Shapley解释(或Shapley explainer)和最小充分子集解释(或最小充分子集解释器),以避免混淆。

不总是区分。 尽管对于某些模型和实例,比如上面提到的例子,这两种真实值解释是截然不同的,但在很多情况下,它们是一致的。例如,对于相同的模型 m m m,但是应用于只包含三个关键子短语“very good”、“nice”和“good”中的一个的实例,例如“The movie was good”。邻域解释和点态解释都指向同样重要的特征。

没有在文献中强调 据我所知,Sundararajan等人(2017)在实例 x 1 = 1 , x 2 = 3 x_1= 1, x_2= 3 x1=1,x2=3上解释函数 m i n ( x 1 , x 2 ) min(x1, x2) min(x1,x2)的例子中,只是简要地提到了上述两种基于特征的真实值解释之间的根本区别。他们的方法称为综合梯度,将所有重要度权重( 1 = m i n ( 1 , 3 ) 1 = min(1,3) 1=min(1,3))赋值给关键特征 x 1 x_1 x1(因此对 x 2 x_2 x2的重要性为0),而Shapley-Shubik (Shapley and Shubik, 1971)属性为每个特征赋值为 0.5 = 1 2 m i n ( 1 , 3 ) 0.5 =\frac{1}{2}min(1,3) 0.5=21min(1,3)权重。他们还提到,偏爱一种解释而不喜欢另一种解释是一种主观问题。

​ 另一方面,她和李的有影响力的工作(2017)所示,只有一个图表的结果(图4),在他们的用户研究亚马逊机械Turk,所有参与者提供的解释对于方法 m a x ( x 1 , x 2 , x 3 max(x_1, x_2, x_3 max(x1,x2,x3) 在输入为 x 1 = 5 , x 2 = 4 , x 3 = 0 x_1 = 5, x_2 = 4, x_3 = 0 x1=5,x2=4,x3=0, x 1 x1 x1被赋予3的重要性权重, x 2 x_2 x2被赋予2的权重, x 3 x_3 x3被赋予0的权重。作者在他们的用户研究中没有提到参与者的数量或特征,也没有提供他们给参与者的精确指导。有必要对用户进行更广泛和有充分文件证明的研究,以得出一个基于事实的解释比另一个更有用的结论。

​ 当前工作中存在的另一种模式可能会阻碍人们承认一个以上的事实解释以及Shapley解释器和最小子集解释器之间的根本区别,因为他们直接比较了不同类别的解释器识别模型用于预测的真实特征的能力。例如,陈et al。(2018)和Yoon et al。(2019)比较L2X,一个最小充分子集解释器和shapley方法(她和李,2017),在已知真实特征的合成数据集上训练的模型使用的真实特征,称为二维异或、Orange Skin和开关特征。虽然这些特殊的合成数据集碰巧没有违反上面描述的两种基本事实解释中的任何一种,但是在比较的时候这些信息没有被提及。这样的比较有可能导致这样一种想法,即所有基于特征的解释器都应该致力于寻找一种基于真实特征的解释。

3.1.1 优点和局限

本节揭示了上面介绍的两种基于特征的解释的优点和局限性。

冗余特征。仅看图3.1中对 m ( x 1 ) m(x^1) m(x1)的Shapley解释,我们无法知道(1)模型是否需要“nice”和“good”两个特征来做出0.7的预测(m不是这样),还是(2)其中一个属性在其他属性存在时是冗余的(这是m的情况)。相反,最小充分子集解释不包含冗余特征(因为它们会违反方程2.5),因此, m ( x 1 ) m(x^1) m(x1)的最小充分子集解释能够区分两种情况。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eJsDi8Q7-1603511734280)(…\image\3.2.png)]

图3.2:举例说明两种基于特征的解释的优点和局限性,如3.1.1节所示。这五个规则对所有三种模型都是通用的。Shapley值由式2.3计算,并按其重要性(绝对值)递减排列;未提及的功能获得0权重。MSS表示最小充分子集。在最后一个例子中,“amazing”的上标区别了它的两次出现。

取消特征:真实 vs 人工。 在某些情况下,存在一些相互抵消的特征。在实例 x O x^O xO上,通过考虑所有三个方面,可以得出结论1。然而,最小的充分子集解释是{“amazing”,“appearance”},由于公式2.5,它不包含特征“bad”,“taste”,“good”,“smell”。有争议的是,用户可能希望在解释中看到这些被真正取消的特征。请注意,这些特征被Shapley解释标记为重要的,尽管如此,这并不能清楚地表明“good smell”和“bad taste”之间的完美消除。此外,Shapley的解释给人的印象是“smell”和“appearance”(0.15和0.12)比“taste”(0.03)重要得多,而 m O m^O mO通过设计,平等地考虑了所有方面。因此,Shapley和最小充分子集解释都不能很好地反映 m O ( x O ) m^O(x^O) mO(xO)的决策过程。

​ 当从实例中消除特性时,可能会出现人工操作,从而扭曲某些特性的重要性。图3.2说明了这样一个例子。当 m S m^S mS应用于 x S 1 x^{S1} xS1时,预测值为−0.3,最小充分子集解释为{“peculiar”,“smell”},可以说,这最能反映 m S ( x S 1 ) m^S(x^{S1}) mS(xS1)的决策过程。然而,在Shapley的解释中,“taste”似乎比“peculiar”重要两倍,“horrible”似乎和“peculiar”一样重要,尽管“peculiar”是嗅觉的实际情绪指标。此外,请注意,在实例 x S 2 x^{S2} xS2中,即使 m S m^S mS并不依靠对味道的感觉来预测对气味的感觉,但当只有对味道的感觉发生变化时,Shapley重要性权重戏剧性地发生变化。

多重最小充分子集:真实vs人工。在某些情况下,可能存在多个最小充分子集解释一个预测。例如,对于图3.2中的模型 m T m^T mT和实例 x T 1 x^{T1} xT1,特性“good”和“refreshing”中的任何一个都可以得到0.6分。理想情况下,最小充分子集解释器提供所有真正的最小充分子集,例如,{“taste”,“good”}和{“taste”,“refreshing”}。然而,许多极小充分子集解释器被设计为只检索一个极小充分子集(Chen et al., 2018a;Yoon等,2019)。一个例外是SIS explainer (Carter et al., 2019),它检索一组不相关的最小充分子集,这也可能是不详尽的(例如,SIS不会检索 m T ( x T 1 ) m^T(x^{T1}) mT(xT1)的第二个最小充分子集解释,因为“taste”已经被第一个最小充分子集占有)。另一方面,shapley的解释认为“good”和“refreshing”同样重要。然而,单凭这种解释,我们无法知道两者是否都有必要出现,或者某一个单独出现是否呢巩固实现0.6的预测。

​ 消除特性时发生的人工制品也可能导致某些特征子集出现为足够的最小子集。例如,对于图3.2中的 m T a 和 x T 2 m^Ta和x^{T2} mTaxT2,两个“amazing”出现中的任何一个都构成了一个足够的最小子集,但是第二个没有反映模型的决策过程。Shapley解释在这个案例中做出了区别。

​ 在本节中,我们看到在某些情况下,可以有多个基于真实特征的解释来解释一个模型的预测。我确定了两种解释类型,并称之为邻域解释和点态解释。我们还看到,Shapley解释器的目的是提供邻域解释,而最小充分子集解释者的目的是提供点态解释。两种类型的解释和解释器都为目标模型的决策过程提供了有价值的见解,它们都有各自的长处和局限性。因此,在不同的实际用例中,一种类型的解释可能比另一种更可取,因此,底层真相的选择最好留给用户。因此,用户需要了解不同类型的解释和解释器之间的优势、局限性和差异,以便选择和使用它们。

​ 最后,同时使用邻域和点态解释可以提供一个模型决策过程的完整画面。因此,将这两种解释结合起来的研究将是一项有趣的未来工作。此外,未来的工作可能包括一项全面的用户研究,以确定用户从每种解释以及它们的组合中获益的程度。

​ 最重要的是,本部分所描述的工作鼓励研究者特别注意他们的解释方法所要提供的解释背后的假设,并在他们的工作中直接陈述它们。例如,一个好的实践可以是,每一本介绍解释器或解释器验证框架的著作都有一个章节说明,其中作者陈述了他们方法的预期行为、优势和局限性。

3.2 信任选择器-预测器模型

验证事后解释器的可信度的一种潜在方法是使用基于特征的自解释模型作为实验平台,因为这些模型应该提供与预测相关的特征。在本节中,我将研究一种特殊类型的基于特性的自解释模型,我称之为选择器-预测器模型。**一个选择器-预测器模型由两个顺序模块组成:一个选择器和一个预测器。**选择器对输入特征的子集进行硬选择,只有选择的特征被传递给预测器,预测器输出最终的答案。对于用于建模选择器和预测器的神经网络类型没有限制。关键的是,只要选择器和预测器与监督一起训练最终的答案,就不需要对选择的特征进行监督。因此,这种基于特性的自解释模型非常吸引人。例如,Lei等人(2016)、Yoon等人(2019)和Chang等人(2019)引入了遵循这种高级架构的模型。

​ 我将研究选择器-预测器自解释模型的类型,因为对于任何实例来说,它似乎都方便地提供了一组相关的特性(被选中的)和不相关的特性(可能是未被选中的)。因此,似乎可以测试解释器是否正确地将不相关的特征识别为不相关的特征。然而,我们将在下面看到,这种类型的自解释模型可能并不总是忠实地解释自己。

​ 形式上,让我们定义 D D D是一个包含 x x x的数据集,其中 x x x n n n个特征 x = ( x 1 . x 2 , . . . , x n ) x=(x_1.x_2,...,x_n) x=(x1.x2,...,xn)。例如, x x x可以是一个句子, x i x_i xi是句子中的第 i i i个token。选择器我们称之为 s e l ( ⋅ ) sel(·) sel(),输入 x x x并返回一组特征子集 S x m ⊆ x S^m_x \subseteq x Sxmx。我们将 p r e d ( ⋅ ) pred(·) pred()称为预测器,仅仅将特征子集 S x m : = s e l ( x ) S^m_x:=sel(x) Sxm:=sel(x)输入,并仅仅通过这组特征子集做出预测,公式如下:

m ( x ) = p r e d ( s e l ( x ) ) = p r e d ( S x m ) m(x)=pred(sel(x))=pred(S^m_x) m(x)=pred(sel(x))=pred(Sxm)

我们把 N x m N^m_x Nxm叫做未选择特征, N x m = x / S x m N^m_x=x/S^m_x Nxm=x/Sxm

​ 例如,对于一个模型解决情感分析任务,选择器只能学会选择token“amazing”如果这个token在输入文本中,预测器可能学习,当它接收输入 S x m = “ a m a z i n g ” S_x^m={“amazing”} Sxm=amazing,它预测最积极情绪得分。

**选择器-预测器模型目标在于对最小充分特征子集的解释。**例如,为了鼓励选择器做一项有意义的工作,而不是简单地返回所有特性(除非必要),可以使用一个正则化器,根据所选特性的数量对模型进行比例惩罚,就像Lei等人(2016)的工作中所做的那样。因此,如公式2.4和2.5所定义的,这样的选择器预测模型的目标是一个最小的充分子集解释。例如,一个学习模仿图3.1中模型 m m m的决策过程的选择器-预测器模型可能不会选择“nice”特性,如果“very good”是输入的子字符串。这是因为,在“very”和“good”之外选择“nice”并不会改变预测,但会增加所选特性的数量上的惩罚。

不能保证最小化 虽然正则器可以激励选择特征数量的最小值,但不能保证一个选择器-预测器模型永远不会选择那些不是预测所严格需要的特征,因为这取决于模型在训练期间如何学习这样做。此外,如果对模型的查询小于 O ( 2 ∣ S x m ∣ ) O(2^{|S^m_x|)} O(2Sxm),则检查所选特征集是否最小是一个有待解决的问题,因为所选特征的任何子集都可能是一个足够的最小子集。

​ 从自解释模型的角度来看,不遵守最低限度条件有时可能是至关重要的。例如,如果学会了依靠伪相关模型,比如学习这个词“bottle”仅意味着积极的情绪,如果所选的特征包括真实情绪指数的话,那么所选择的特征所形成的解释会对用户隐藏模型所学习到的虚假关联。另一方面,正如3.1节中提到的,极小性意味着将相互抵消的特性视为不相关的,这可能并不总是需要的。因此,一个选择器-预测器模型可能并不总是满足最小条件,这一事实在实践中有时可能是有用的。

​ 从验证的角度来看,如果某些被选择的特征与预测无关,那么因为解释器没有表现出这些特征比其他同样无关的特征更重要而惩罚解释器是错误的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-55BNsKuv-1603511734286)(…\image\3.3.png)]

图3.3:一个选择器-预测器模型的例子,它并不总是选择足够的特征子集。对于包含“very good”或“not good”的实例,“good”是预测的一个关键特征,但模型没有选择它。但是,对于任何不包含“very good”或“not good”的实例,模型不会呈现这种不需要的行为。

不能保证充分性 选择器-预测器模型的另一个问题是,选择的特征不能保证形成一个充分的子集,即模型可以依赖它没有选择的特征。更准确地说, m m m可以学习其选择器和预测器之间的内部紧急通信协议(Foerster et al., 2016),通过选择器和预测器在训练中达成一致的隐藏编码,使未被选择的特征对预测产生重要影响。图3.3给出了一个模型没有选择足够子集的例子。对于包含子字符串“very good”或“not good”的实例,例如 x ( 1 ) x^{(1)} x(1):“the movie is very good”。和 x ( 2 ) x^{(2)} x(2):“The movie is not good。”,“good”特征对预测有影响,但模型没有选择它。然而,对于不包含“very good”或“not good”子字符串的任何实例,相同的模型不会显示不希望看到的行为。在实践中,数据集的假相关性可能导致更误导的特征选择做选择预测模型。幸运的是,与检查最小条件不同,检查选择器-预测器模型 m m m是否在实例 x x x上选择了足够的子集要花费的时间少得多,我们有

S x m 是一个充分子集 ↔ m ( S x m ) = m ( x ) S^m_x\text{是一个充分子集}\leftrightarrow m(S^m_x)=m(x) Sxm是一个充分子集m(Sxm)=m(x)

因此,选择-预测模型无论是作为自解释模型还是作为验证解释者的实验台,都必须事先检查其充分性条件。

在选择相互抵消特征时的不一致性。 我们看到,选择器-预测器不能保证选择足够的特性的最小集合。因此,在每个实例中,这样的模型可能会选择某些相互抵消的特征组,而不会选择其他的。这种不一致性有优点也有缺点。一方面,这样的模型有机会选择形成真正取消的特征,而不是选择形成人工造成的取消的特征。最小充分子集解释器和Shapley解释器都不能做到这一点。另一方面,相反的情况也可能发生,也就是说,选择器-预测器模型可能选择形成人工造成的取消的特征,而不是选择形成真正的取消的特征。因此,用户需要意识到这种风险。这是一个开放的问题,是否可以以少于指数数量的查询到模型是否有非选择特征抵消彼此。

3.3 结论和开放式问题

​ 在本章中,我揭示了使用基于特征的解释来解释模型的一些困难。首先,我说明了在实例上对模型的预测可以有不止一个基于真实特征的解释。我还展示了两种流行的基于特征的事后解释方法能够提供不同的事实解释,并且我发现了他们的优势和局限性。

​ 其次,我研究了一种基于特征的自解释模型,称为选择器-预测器,并展示了它在提供自己的解释方面的优势和局限性。

​ 本章的研究结果鼓励研究者直接陈述他们的解释器和验证框架的规格。他们也铺平了道路,进一步研究,如:(1)哪种类型的真实特征它们的解释或组合最适合用户在不同情况下的使用,和(2)在训练过程中是否可以对选择器-预测器模型进行正则化,以增强所选特征的充分性。

第四章 验证基于特征的事后解释方法

在本章中,基于(Camburu et al., 2019),我将介绍一个框架来验证基于特征的事后解释方法对其目标解释模型的决策过程的准确性。

4.1 动机

正如我们在第2章中看到的,最近开发了大量基于特征的事后解释方法,目的是阐明通过神经模型学习的决策过程(Ribeiro et al., 2016;伦德伯格和李,2017年;Lapuschkin等人,2015年;Shrikumar等人,2017年;Sundararajan等人,2017;Simonyan等,2014;里贝罗等人,2018年;Chen等,2018a;Chen and Jordan, 2020)。虽然目前的解释器设法指出某些模型的灾难性的偏差,比如依靠图像的背景来区分狼和哈士奇(里贝罗et al ., 2016),一个开放的问题是如何验证这些方法是否忠实地,低偏差地描述模型的决策过程。这是一项艰巨的任务,因为一般来说,深度神经网络的决策过程是未知的。因此,解释方法的自动验证通常要么依赖简单的场景(一个可翻译的但琐碎的目标模型,如线性回归模型,或一个在合成数据集训练的非平凡的目标模型),或假设准确的目标模型必须做出理智的行为,也就是说,他们不依赖于数据集中的伪相关性。例如,在他们的验证测试基于morphosyntactic协议,Poerner et al。(2018)假设根据动词前面的token预测动词是单数还是复数的一种模型,该模型必须通过将注意力集中确定为主语的名词上。这些假设可能不太好,因为最近的研究表明,神经网络能够学会依赖令人惊讶的虚假关联,即使它们提供了正确的答案(Gururangan等人,2018;McCoy等人,2019年;Glockner等,2018a)。因此,仅仅根据解释是否符合手头任务的要求来验证解释器的真实性是不可靠的。

​ 为了克服这些问题,我建议使用第3章中介绍的选择器-预测器模型,因为它有可能为每一个预测提供一组相关和不相关的特征。此外,这种类型的模型是一个可以在真实数据集上训练的非平凡的神经模型。然而,正如我们在前一章看到的,选择器-预测器模型可能有一定的限制,当使用它们作为验证解释器的试验台时,需要考虑到这些限制。因此,我引入检查来说明其中一些限制,以及可以进行进一步改进以减轻剩余的限制。

​ 我在Lei等人(2016)引入的选择器-预测器模型上实例化了SelPredVerif框架,并在BeerAdvocate数据集(McAuley et al., 2012)上进行了多方面情绪分析的训练。因此,我生成了三个完整性测试,分别针对BeerAdvocate中的每个方面。此外,我测试了三个流行的解释器,即LIME (Ribeiro et al., 2016)、KernalSHAP (Lundberg and Lee, 2017)和L2X (Chen et al., 2018a),并提供他们在这三个测试中的表现,以提高对这些解释器可能产生的不忠实解释的认识。

​ 这三个完备性测试可以用于测试现有的和将来基于特性的事后解释方法。此外,SelPredVerif是通用的,可以在其他任务、领域域和神经结构上实例化,用于选择器和预测器网络,从而生成大量的完备性测试。

4.2 最近的工作

尽管被提出的解释方法越来越多,但如何彻底验证它们与它们所要解释的目标模型的一致性仍然是一个开放的问题。通常有四种类型的验证:

  1. 可解释但简单的目标模型。通常,解释者通过线性回归和决策树(如Ribeiro et al.(2016))或支持向量表示(如Plumb et al.(2018))进行测试。虽然这种评估准确地评估了解释者对目标模型的忠诚度,但这些非常简单的模型可能不能代表实际中使用的大型和复杂的神经网络。
  2. 综合设置。另一种流行的设置是创建控制重要特征集的合成任务(Chen et al., 2018a;Yoon等人,2019年;伦德伯格和李,2017)。例如,Chen等人(2018a)对四个综合任务进行了评估。虽然在这些设置中训练的目标模型的复杂性没有限制,但它们的合成特性仍可能促使目标模型学习比实际应用所需的更简单的功能。反过来,这可能会减轻解释器的工作。
  3. 假设目标模型的合理行为。在这种情况下,一个人确定了某些直觉的启发,一个高性能的目标模型被假定遵循。例如,Chen等人(2018a)假设,在情绪分析方面表现良好的神经网络必须依赖传达预测情绪的标记。同样,Poerner等人(2018)认为,一个能很好地判断一个动词是单数还是复数的神经网络,必须依赖于一个与模型确定为动词主语的相同数量的名词。因此,在这个评价程序中,是根据解释器是否指出了与模型的预测具有真实相关性的特征来评价解释者的。然而,即使神经网络获得了很高的测试精度,它们也可能依赖于令人惊讶的假相关性(Gururangan等人,2018年;Ribeiro等人,2016年;McCoy等人,2019年;Glockner等,2018a)。因此,这种类型的验证对于评估解释器对目标模型的忠诚度是不可靠的。
  4. 改进人类对模型的理解。评估解释器的一种非自动方式是检查他们的解释如何帮助人类预测目标模型的行为。在这个评估中,人类会面对一个模型的一系列预测和来自不同解释器的解释,并被要求推断模型在一组单独的例子中会做出的预测。如果人们在看到 e 1 e_1 e1的解释后比 e 2 e_2 e2的解释后更善于预测模型的输出,那么就可以得出这样的结论(Ribeiro et al., 2018)。虽然这种类型的评估可以说是最有效的,因为它模拟了解释性方法在现实世界的使用,但如果它被应用到复杂的现实世界神经网络模型中,它是昂贵的,并且需要相当大的人力努力。因此,在进行人工评估之前,我们希望能够使用补充的自动完备性测试。

与上面的情况相反,SelPredVerif生成自动完备性测试,其中目标模型是一个在真实数据集上训练的非平凡的神经网络,并且我们知道它的部分决策过程。

​ SelPredVerif的目标与Adebayo等人(2018)引入的框架相似。然而,他们的框架测试的基本要求是,一个解释器应该对一个用真实数据训练的目标模型提供不同的解释,而不是对同一个用随机数据训练的目标模型提供不同的解释,或者对根本没有受过训练的目标模型提供不同的解释。SelPredVerif具有更大的挑战性,要求解释器对目标模型有更强的保真度。与Yang和Kim(2019)的并行工作类似,SelPredVerif检查了假阳性,即解释器是否相关性较低的特征高于相关性较高的特征。然而,他们的框架使用半合成数据集,因为他们在场景图像上随机粘贴对象,而SelPredVerif可以应用于任何真实世界的数据集。

4.3 验证框架

正如之前章节提到的,让 D D D是我们的数据集,其中 x x x实例有多个特征 x = ( x 1 , x 2 , . . . , x n ) x=(x_1,x_2,...,x_n) x=(x1,x2,...,xn)。让 m ( x ) = p r e d ( s e l ( x ) ) m(x)=pred(sel(x)) m(x)=pred(sel(x))是一个选择器-预测器模型,定义 S x m : = s e l ( x ) S^m_x:=sel(x) Sxm:=sel(x)为选择出的特征,没有被选择出的特征定义为 N x m = x / S x m N^m_x=x/S^m_x Nxm=x/Sxm。目标是找到一组实例 G m ⊆ D G^m \subseteq D GmD,对于其中的每个实例 x x x,我们已知一组特征子集对于模型 m m m关于实例 x x x的预测具有相关性和不具相关性,通过保证每个实例中特征的相关性的数据集 G m G^m Gm,我们可以验证解释器是否错误地将更重要的信息赋予了不相关的特征而不是相关的特征。

​ 在前一章中,我展示了选择器-预测器模型的目标是通过选择的特性提供一个最小充分子集作为解释。因此,这些模型的目标是点态类型的真实值解释。因此,这个验证框架是专门为这种事实基础解释而设计的。然而,我们也看到,所选特征的极小性和充分性都不能保证。因此,如果选择了冗余的特征(如图3.1中实例 x ( 2 ) x^{(2)} x(2)中的“nice”),则SelPredVerif生成的完备性测试可能不会对邻区解释进行惩罚。

​ 下面我将展示如何使用这样的模型作为解释器的测试台,以及随之而来的优点和局限性。

找到一组相关特征 这是一个开放的问题,如何检查选择的特征子集是否最小,而不需要对模型的指数数查询(对每个选择特征子集)。不能保证最低限度可能会带来以下问题:

  1. 某些选定的特征可能与预测无关,

  2. 某些相互抵消的特性组可能被选中,而其他的可能没有被选中。

问题(1)可能导致错误地惩罚解释器,因为他没有把一个不相关的特征置于另一个同样不相关的特征之上。为了避免这种情况,我确定了所选特征的子集,这些特征的单独缺失会显著改变预测。

更确切的说,我定义子集 S I R x m ⊆ S x m {SIR}^m_x\subseteq S^m_x SIRxmSxm
S I R x m = { x i ∈ S x m : a b s ( p r e ( S x m / { x i } ) − m ( x ) ) ≥ τ } (4.1) {SIR}^m_x=\{x_i\in S^m_x:abs(pre(S^m_x/\{x_i\})-m(x)) \geq \tau \} \tag{4.1} SIRxm={xiSxm:abs(pre(Sxm/{xi})m(x))τ}(4.1)
其中 τ \tau τ是一个阈值, a b s ( ⋅ ) abs(·) abs()是绝对值。 S I R x m {SIR}^m_x SIRxm代表被选择出的独立相关特征(Selected Independently Relevant features),强调这些特征的相关性取决于它们的缺失是否单独影响预测。需要注意的是,仅仅因为一个选中的特性在预测中没有做出显著的改变,并不意味着这个特性是不相关的,因为它可能与其他特性结合在一起是必不可少的。因此 S I R x m {SIR}^m_x SIRxm并不是唯一相关的特征集。然而,仅考虑相关特征的子集就足以获得结论性的结果,我们将在4.4节中看到。

​ 另一方面,在第3章中,我们看到一个特征的消除可以作为人工造成的取消的一部分影响预测。因此,这可能是存在于 S I R x m {SIR}^m_x SIRxm特征的特点。此外,鉴于问题(2),在某些情况下,解释器可能会(可能是错误的)受到惩罚,因为解释器将来自真实取消的特征列为比人工造成的取消更重要的特征,这是在后者没有被选择的情况下发生的。这是拟议的核查框架的一个重要限制。希望今后的工作能提供一个解决方案。在4.6节中,我提供了一种方法来减少这种极端情况发生的概率。

​ 对于任何实例 x x x,检入方程4.1在所选特性 ∣ S x m ∣ |S^m_x| Sxm的数量上花费了线性时间(这通常明显小于特性 ∣ x ∣ |x| x的总数)。然而,这个检查只需要做一次,以获得一个可以应用于任意数量的解释器的现成的完整性测试。

所选特征的充分性 正如我们在第3章看到的,通过探测是否 m ( S x m ) = m ( x ) m(S^m_x)= m(x) m(Sxm)=m(x),可以相对容易地检查所选特征的充分性。为了避免在实践中检查这个等式可能出现的噪音,对于这个验证框架,我检查更严格的条件:
S S x m m = S x m (4.2) S^m_{S^m_x}=S^m_x \tag{4.2} SSxmm=Sxm(4.2)
证明 m ( S x m ) = m ( x ) m(S^m_x)=m(x) m(Sxm)=m(x)

​ 证明:如果 S S x m m = S x m S^m_{S^m_x}=S^m_x SSxmm=Sxm,通过应用pred()模块,我们有 p r e d ( S S x m m ) = p r e d ( S x m ) pred(S^m_{S^m_x})=pred(S^m_x) pred(SSxmm)=pred(Sxm)

​ 因为有 m ( x ) = p r e d ( S x m ) m(x)=pred(S^m_x) m(x)=pred(Sxm)的约束,这上述等式可以写为 m ( S x m ) = m ( x ) m(S^m_x)=m(x) m(Sxm)=m(x)

最终的数据集 G m G^m Gm 为了获得所需的数据集 G m G^m Gm,我们首先将D修剪到一个数据集,其中通过公式4.2,对于每个实例,所选特征 S x m S^m_x Sxm形成一个充分的子集。从这个修剪过的数据集中,我们进一步删除 S I R x m = ∅ SIR^m_x=∅ SIRxm=的实例。因此,我们获得了数据集 G m G^m Gm,对于每个实例 x ∈ G m x\in G^m xGm,(1)所选特征是一个足够的子集,(2)这些特征的一个子集 S I R x m ⊆ S x m {SIR}^m_x⊆S^m_x SIRxmSxm都是独立相关的特征。

SelPredVerif检验在两个重要假设下,解释器是否将不相关的特征排在相关特征前面:(1)任何特征,不是充分子集的一部分,被认为是无关紧要(相互抵消的特征组可能不是充分子集的一部分),和(2),任何被选择出的独立相关特征被认为是有关(从人工造成的消除特征也可能被认为是相关的)。

度量。 让 f 1 e , m ( x ) , f 2 e , m ( x ) , . . . , f ∣ x ∣ e , m ( x ) f^{e,m}_1(x),f^{e,m}_2(x),...,f^{e,m}_{|x|}(x) f1e,m(x),f2e,m(x),...,fxe,m(x)是一组由解释器返回的按照重要性排序的特征,例如 f 1 e , m ( x ) f^{e,m}_1(x) f1e,m(x)是解释器e关于模型m对于实例x预测的最相关的特征。为了量化解释器将不相关特征排在相关特征前面的程度,可以使用以下误差度量。

(M1) 解释器提供的最相关特征属于不相关特征的实例百分比:
P C T f i r s t = 1 ∣ G m ∣ ∑ x ∈ G m 1 f 1 e , m ∈ N x m {PCT}_{first}=\frac{1}{|G^m|}\sum_{x_\in G^m}1_{f_1^{e,m}\in N_x^m} PCTfirst=Gm1xGm1f1e,mNxm
这里 1 代表指标函数

(M2) 至少有一个不相关特征的排序高于独立相关特征的实例的百分比:
P C T m i s r n k = 1 G m ∑ x ∈ G m 1 ∃ i < j ∣ f i e , m ∈ N x m a n d   f x e , m ∈ S I R x m PCT_{misrnk}=\frac{1}{G^m}\sum_{x\in G^m}1_{\exist i<j|f_i^{e,m}\in N^m_x and\ f^{e,m}_x \in {SIR}^m_x } PCTmisrnk=Gm1xGm1i<jfie,mNxmand fxe,mSIRxm
(M3) 不相关特征的平均数量高于独立相关特征的平均数量:
A V G m i s r n k = 1 ∣ G m ∣ ∑ x ∈ G m ∑ i < r ′ 1 f i e , m ( x ) ∈ N x m {AVG}_{misrnk}=\frac{1}{|G^m|}\sum_{x\in G^m}\sum_{i<{r}'}1_{f^{e,m}_i(x)\in N^m_x} AVGmisrnk=Gm1xGmi<r1fie,m(x)Nxm
​ 其中 r ′ = a r g m a x j { f j e , m ( x ) ∈ S I R x m } {r}'={argmax}_j\{f^{e,m}_j(x) \in SIR^m_x\} r=argmaxj{fje,m(x)SIRxm}是排序最后的独立特征的序号

Metric P C T f i r s t {PCT}_{first} PCTfirst显示了解释器告诉我们最相关的特征是与预测无关的实例的百分比。Metric P C T m i s r n k {PCT}_{misrnk} PCTmisrnk显示了至少有一个排序错误的百分比。 A V G m i s r n k {AVG}_{misrnk} AVGmisrnk给出了每个实例非相关特征比任意一个独立相关特征排序高的平均数。

​ SelPredVerif可以总结为以下步骤,您可以使用这些步骤根据选择器和预测器模块的其他任务、数据集或架构创建新的完备性测试。

  1. 选择一个任务和一组数据集D
  2. 选择一个选择器-预测器模型m
  3. 在数据集上训练m
  4. 使用训练后固定的模型m,从数据集D中剪枝出 G m ∈ D G^m\in D GmD通过移除不符合公式4.2的实例,并且进一步移除不符合公式4.1的实例(即 S I R x m = ∅ SIR^m_x=\varnothing SIRxm=)
  5. 使用上述定义的度量方式,测试解释器对m在 G m G^m Gm中的实例上的表现

4.4 试验

为了证明SelPredVerif的有效性,我在Lei et al.(2016)引入的RCNN模型上实例化了它,并将其应用于自然语言的情绪分析任务中。

RCNN。 一个选择器-预测器模型:

  1. 选择器(在他们的论文中称为生成器)以一个文本 x x x作为输入,对于每个特征(在我们的例子中是token) x i ∈ x xi∈x xix,输出 p i ∈ [ 0 , 1 ] pi∈[0,1] pi[0,1]。然后, p i p_i pi作为一个伯努利分布模型的参数,表征 x i x_i xi选择的概率,和

  2. 预测器(在他们的论文中称为编码器)以 S x m = x i ∼ B e r n o u l l i ( p i ) S^m_x= {xi∼Bernoulli(p_i)} Sxm=xiBernoulli(pi)(测试时 S x m = x i ∣ p i ≥ 0.5 ) S^m_x= {x_i|p_i≥0.5}) Sxm=xipi0.5)作为输入,并以[0,1]中的实数返回预测结果。

选择器和预测器都是循环卷积神经网络(Lei et al., 2015)(因此得名RCNN)。选择器还有一个特性是双向的,因此选择token的决定是基于围绕token的整个上下文的。对子集的选择没有直接的监督,选择器和预测器共同训练,只对最终的预测进行监督。为了训练RCNN,部署了两个正则化器:一个用于鼓励选择更少的token,另一个用于鼓励选择子短语,而不是断开连接的token。之所以采用后者,是因为在应用该模型的数据集中,相关的token通常会形成子短语。在训练时,为了规避中间抽样引入的不可微性,选择器的梯度被估计使用强化程序(Williams, 1992)。

数据 在本实验中,我使用了BeerAdvocate语料库3,在这个语料库上对RCNN进行了初步评估(Lei et al., 2016)。BeerAdvocate由总共约100K的人类生成的多方面啤酒评论组成,其中考虑的三个方面是:外观、香气和口感。尽管看起来只有一个数据集,每个评论都包含关于所有三个方面的信息,但在提供的到语料库的链接中,每个方面都有单独的数据集,看起来略有不同(例如,外观方面的训练集有10K,其他两个方面的实例比训练集多)。对于每个方面,评论都有0到5之间的分数评分,我将其重新设置为0到1之间,类似于Lei等人(2016)。同样按照Lei et al.(2016)的步骤,我用原始论文中的代码训练了三个独立的RCNN模型,每个模型分别针对各个方面。我没有做任何超参数搜索,但使用了他们代码中的默认设置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-opqlsCSc-1603511751409)(…/image/4.2.png)]

表格4.2 每个方面的静态数据集为 G a G^a Ga, ∣ G a ∣ |G^a| Ga是对数据集 D D D进行修剪后的数据集, ∣ x ∣ |x| x G a G^a Ga中评论的平均长度, ∣ S x a ∣ , ∣ S I R x a ∣ , ∣ N x a ∣ |S^a_x|,|{SIR}^a_x|,|N^a_x| Sxa,SIRxa,Nxa分别表示选择的token,选择的独立相关的token以及没有选择的token。括号中的为标准差。

% ( S S x a a ≠ S x a ) \%\left (S^a_{S^a_x}\neq S^a_x\right ) %(SSxaa=Sxa)表示模型没有提供足够最小充分子集而被删除的实例比例, % ( S I R x a = ∅ ) \%\left ({SIR}^a_x=\varnothing \right) %(SIRxa=)是由于因为没有选择那些对于预测有至少0.1改变的token的实例。

对于每个方面a和训练过的模型 R C N N a {RCNN}_a RCNNa,我根据步骤4.5获得一个剪枝版本的 G a G^a Ga来获得独立相关的token,我在公式4.1中选择了一个阈值,即gradient = 0.1。由于得分在[0,1],真实评级对应于{0,0.1,0.2,…, 1},预测0.1的变化对这个数据集来说很重要。

​ 表4.2显示了gadataset的统计信息。我们看到,每个实例只检测到一个或两个独立相关的token,这表明阈值0.1可能非常严格。然而,最好是更加保守,以确保完整性测试不会错误地惩罚解释器。我们还看到,为了确保充分条件,实例的百分比被大量地消除了(公式4.2),香气方面可达72%。因此,作为未来的工作,检验模型是否确实对如此大比例的实例提供了显著不同的预测,或者它是否只是做出了略微不同的选择,但仍然导致相同的最终预测,将是很有趣的。尽管如此,对于这项工作的范围,我们为每个完整性检查留下了大量的实例。

**验证解释器。**我测试了三个流行的解释器:LIME (Ribeiro et al., 2016)、KernalSHAP (Lundberg and Lee, 2017)和L2X (Chen et al., 2018a)。我使用每个解释器的代码作为原始存储库中提供及其默认设置文本的解释:(1)对于L2X,我字符嵌入维度为200 (与RCNN一样),我增加训练epoch的最大数目从5到30,和(2)LIME和KernalSHAP,我每个实例样本的数量增加到10 k,因为输入文本的长度是相对较大的(每个实例大约240个token)。由于时间限制,我只运行每个explainer一次,但是测试这些explainer的实例数量相当大(这三个方面的实例总数为44.5K)。

​ 正如在第三章中提到的,LIME和KernalSHAP坚持邻域类型的真实值解释,因此,这种验证并不是直接针对这些解释器。然而,我们在表4.1中看到,在实践中,LIME和KernalSHAP在大多数指标上都优于L2X,尽管L2X是一个最小的充分子集解释器。有几个假设可以解释为什么会这样。首先,可能是RCNN模型学会了选择大部分冗余特征,或者数据集中没有冗余特征。因此,理智测试可能对点态和邻域类型的真实值解释同样有效。在4.6节中,我将提供进一步的检查来验证这一点。其次,L2X最主要的限制在于需要提前知道每个实例最小充分子集的数量。事实上,L2X通过最大化目标模型在有K个特征的子集上和目标模型在全部实例上的相互信息,学会了一组特征上的分布,这里K假设是已知的并且对于所有实例都是相同的。在实践中,人们通常不知道一个模型每个实例依赖多少特性。为了在真实环境中测试L2X,我将K设为在McAuley等人(2012)手工注释的子集上由人类注释者突出显示的标记的平均数量。这三个方面我的平均K分别是23,18,13。

​ 从表4.1中我们可以看出,在指标 P C T f i r s t {PCT}_{first} PCTfirst中,所有的解释q器都倾向于认为最相关的标记是一个不相关的标记,在香气方面,LIME和L2X的解释比例分别为14.79%和12.95%。在指标 P C T m i s r n k {PCT}_{misrnk} PCTmisrnk上的结果显示,所有的解释器倾向于至少有一个不相关的token的排名高于独立相关的token,即在预测的排名中至少有一个错误。最后,结果指标 A V G m i s r n k {AVG}_{misrnk} AVGmisrnk显示_,对于前两个方面,KernalSHAP只在任何独立相关的标记前面放置一个不相关的标记,而对于第三个方面,最多可以放置9个token,而L2X将3-4个无关的标记放在所有三个方面独立相关的标记前面。

定性分析 在图4.1中,我展示了一个来自味觉完整性测试的示例,即使用针对味觉方面训练的RCNN创建的完整性测试。附录A中有香气和外观完整性测试的例子。

请注意,所有的解释器都倾向于将与模型预测无关的标记排在模型预测实际依赖的标记前面。例如,“gorgeous”,这个模型在给定实例中使用的唯一token,在LIME中被赋予几乎为零的权重,甚至没有进入L2X中排名前五的token之列。相反,L2X给出了“mouthfeel”,“lacing”,“and,even“,”作为最重要的token。值得注意的是,这样的解释可能会给人们留下不好的印象,降低他们对模型的信任,即使模型实际上依赖的是信息标记“gorgeous”。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wVL7IJlL-1603511751412)(…/image/4.1.png)]

图4.1 解释器对来自味觉完全测试的实例进行排名。每个解释器排列的前5个特征在右边。此外,热图与每个解释器提供的排名相对应,其中颜色的强度随标记的排名线性下降。出于可见性的原因,只显示K = 10排序的第一个记号。模型选择的标记, S x a S^a_x Sxa是粗体的(在本例中只有一个),检测到的独立相关标记 S I R x a {SIR}^a_x SIRxa是加下划线的(在本例中也是一个)。非粗体标记的排名不应该高于任何粗体和下划线标记。KernalSHAP简称SHAP。

4.5 说明

正如在第3章中提到的,对于介绍解释器或验证框架的工作来说,解释器陈述他们方法的预期行为、优势和局限性是非常重要的。因此,在本节中,我将提供SelPredVerif的规范。

4.5.1 预期行为

基于事实的解释 SelPredVerif是专为点态类型的真实值解释而设计的。因此,它可能会惩罚一个解释器,因为在存在其他比严格必要的特征更高的特征的情况下,解释器将一个多余的特征排序。例如,对于图3.1中实例 x ( 2 ) x^{(2)} x(2)上的模型 m m m, SelPredVerif可能会惩罚评级为“nice”高于“very”的解释者。然而,如果选择器-预测器模型也选择了冗余的特征(在我们的例子中,如果它选择了“nice”和“very”和“good”),那么框架不会惩罚解释器,不管它把这三个特征排列成什么顺序。在4.6节中,我提供了一种检查选择器-预测器模型和实例是否存在未被选择的冗余特征的方法。在需要邻里解释的情况下,这种检查将允许扩展框架来验证解释器。与此同时,当前的框架和结果应该只用于点态真实解释是需要的。因此,本章所谓的误差是指在点态角度下的误差,正如我们所看到的,在邻域角度下可能不是误差。

**是完整性检查,而不是完整的评估。**这个框架提供的完备性测试不能作为一个完整的评估来总结解释器的忠实性。这是因为我们不知道模型的全部行为,因此不能提供所有特征的排序。此外,与BAM框架类似(Yang和Kim, 2019), SelPredVerif框架不能保证识别所有假阳性。这是因为 S x m S^m_x Sxm的某些特征可能与预测有关,即使它们没有通过方程4.1的独立相关检验。因此,SelPredVerif生成必要但不充分的健全性测试。

**排序。**当前的度量假设解释方法根据特征与目标模型预测的相关性给出了特征的排序。然而,度量标准可以适应只提供重要特性子集的方法。

4.5.2 优势

**非平凡的神经模型,真实的数据集,和部分已知的决策过程。**如前所述,验证解释性方法的一个重要挑战是,如何在类似于现实世界中部署的神经模型上自动检查这些方法,而不推测这些网络的决策过程。据我所知,本章介绍的核查框架是朝这个方向迈出的第一步。虽然框架的现行版本仍然包含一些关于试验台模型的决策过程的未知因素,但第4.6节所提供的进一步改进的方向旨在减轻大多数这些未知因素。

**人工造成的最小充分子集。**这个验证框架的另一个重要优点是,它提供了(可能是一个超集)精确的最小充分子集,目标模型依赖于该子集对实例进行预测。这允许我们惩罚那些提供基于人工事实的最小充分子集的解释器,正如我们在第3章中看到的,这将不是忠实的解释,并且会因此扭曲用户对模型的感知和信任。仅通过探查解释器提供的子集是否足够来检查这一点是不可能的。

4.5.3 限制

框架的当前版本有两个主要的限制,我将在下面描述。虽然这些情况在实践中可能不会经常发生,但承认它们是很重要的。在4.6节中,我提供了可以减轻这些限制的检查。

**真正的取消。**如果选择器-预测器模型没有选择一组形成真正取消的特征,那么框架将惩罚解释器,因为解释器将这些特征置于独立相关的选择特征之上。此外,如果这个独立相关的被选择的特征是人工造成的取消的一部分,那么这可能是一个错误的惩罚。然而,要实现这一点,需要满足两个条件:模型必须(1)从人工造成的取消中选择特征,以及(2)不从真正的取消中选择特征。因此,我们有理由相信这种情况在实践中不会经常发生。

**真极小充分子集。**如果一个实例有几个真正的最小充分子集,并且如果选择器-预测器模型没有选择全部这样,我们的框架就会惩罚一个解释者,因为他把一个非选择的但同样真实的最小充分子集的特征排序,高于选择的真实最小充分子集的特征排序。这可能是对解释器不正确的惩罚。目前还不清楚这种情况在实践中发生的频率。

4.6 改进方向和指导方针

在本节中,我提供了扩展和改进SelPredVerif框架的三个方向,以及具体的指导原则。

检查未选择的冗余特征。 为了使SelPredVerif适应需要邻域类型解释的情况,可以根据下面的观察进一步消除包含未选择的冗余特征的某些实例:如果将选择器-预测器模型应用于仅由非选择特征组成的实例,其预测结果与模型对基线输入的预测结果有显著差异,则原始的非选择特征中存在冗余特征。正式,如果选择器-解释器模型 m m m和一个实例 x x x,我们有 m ( N x m ) ≠ m ( b ) m (N^m_x)\neq m(b) m(Nxm)=m(b) , b b b是对手头的任务的基线输入,这一特性将在新选定的 s e l ( N x m ) sel(N^m_x) sel(Nxm)特性中。

​ 然而, m ( N x m ) = m ( b ) m (N^m_x)=m(b) m(Nxm)=m(b)并不保证 N x m N^m_x Nxm中没有冗余的特性,这是因为可能存在冗余的特征,需要某些最初选择的特征才能被激活。例如,假设“nice”在“very good”出现时是多余的,并且模型还需要“taste”特性的出现来激活这些提供情感的特征。然后,举一个例子,比如“The beer tastes nice,very good。”模型可能会选择“taste”、“very”和“good”,而上面的检查不会将“nice”确定为冗余特性,因为“tastes”在 N x m N^m_x Nxm中是缺失的。

​ 未来的工作可能会集中在如何保证冗余特征的缺失,而不是简单地减少它们存在的可能性。

**检查其他真最小充分子集。**与上面的检验相似,如果 m ( N x m ) = m ( x ) m(N^m_x) = m(x) m(Nxm)=m(x),那么在未选择的特征中存在另一个真正的充分最小子集。然而,这种检查并不考虑与最初选择的特征相交的真正的等价子集。和以前一样,这个检查只是降低了错误地惩罚解释器的可能性。未来的工作可能会找到提供保证的方法。

**检查那些相互抵消的未选择的特性。**为了降低在非选择特征中出现一组特征相互抵消的概率,可以检查是否每个非选择特征的消除单独改变了模型的预测。更准确地说,如果存在一个未被选择的特征 x i ∈ N x m xi∈N^m_x xiNxm m ( N x m / { x i } ≠ m ( x ) m(N^m_x/\{x_i\}\neq m(x) m(Nxm/{xi}=m(x),则存在一组没有被模型选择的相互抵消的特征。然而,这种检查同样不足以保证在未选择的特征中缺少这样一组特征。这是因为可能存在一组相互抵消的特征,但我们需要一次消除多个特征,才能观察预测的变化。例如,如果取消遵循这样的规则,如[“amazing”或“awesome”与“horrible”或“awful”]抵消,那么对于包含所有四个特性的实例,单独消除其中任何一个都不会改变预测。

**进一步的改进。**做所有上述消除可能会导致最终数据集 G m G^m Gm中只有少量实例。在这种情况下,可以通过以下方式挽救更多的实例。首先,我们可以用预测 m ( S x m ) ≠ m ( x ) m(S^m_x) \neq m(x) m(Sxm)=m(x)中的等式来检验充分性条件,而不是用公式4.2中的强条件。虽然,在理论上,不能保证任何实例会以这种方式被挽救,但在实践中,我注意到,即使当新选择的特征与最初选择的特征不同时,两个预测之间的差异也通常非常小。其次,我们可以根据新选择的特征和未选择的特征调整相关和不相关的特征集合,而不是消除不符合这些条件的实例。这样的调查留作以后的工作。

4.7 结论和开放式问题

在本章中,我介绍了一个能够生成自动完整性测试的框架,以验证事后解释器是否将与模型在实例上的预测无关的特性排在与模型在实例上的预测相关的特性前面。我在一个情绪分析任务上实例化了这个框架,并生成了三个完备性测试,在这些测试上我测试了三个解释器,即LIME、KernalSHAP和L2X。

​ 这个框架揭示了当前解释方法的某些问题,例如,它们可能指向一个不相关的特征作为预测中最重要的特征。发现这些问题是未来改进这些方法的第一步。

​ 是通用的,可以在其他任务和域上实例化,而这三个完备性测试可以用于现成的测试其他现有和将来的解释器。

​ 未来的工作包括执行4.6节中描述的改进,在其他任务和模式上实例化SelPredVerif,以及测试更多的解释性方法。

第五章 生成自然语言解释的神经网络

在本章中,我将基于(Camburu et al., 2018)探索自我解释的神经模型。更准确地说,我调查了如果在训练时对真实标签额外给予自然语言解释,神经模型是否能改善它们的行为,以及这些模型是否能在测试时对它们的预测做出这样的解释。

5.1 动机

正如在第一章中提到的,简单地训练以获得在外拉集上的高精度的模型往往会学会依赖浅输入统计量,从而导致模型的脆性。例如,Ribeiro等人(2016)提出了一种区分基督教和无神论的文档分类器,其测试准确率为94%。然而,仔细观察,该模型基于包含在标题中的单词(如“post”、“Host”和“Re”)将类分离。在训练集和测试集的假相关性允许这样的不期望的模型获得高精确度。更复杂的隐藏关联可能存在于任意大型的人工注释数据集中(Gururangan等人,2018年;Bhathena等人,2020年;陈等,2016a;Levy和Dagan, 2016年;Cai等,2017)。这种相关性可能很难发现,即使人们发现了它们,如何减轻它们也是一个悬而未决的问题(Belinkov等人,2019年)。

​ 在这一章中,我调查了一个方向,这个方向有可能使神经模型远离依赖虚假的相关性,并为这些模型的预测提供解释。这个方向是增强神经模型的能力,使其能够在训练期间学习自然语言解释,并在测试时生成这些解释。对于人类来说,解释在构建分类和泛化的概念表征方面发挥着关键作用(Williams和Lombrozo, 2010;Lombrozo, 2009)。人类也从第一次在一个环境中行动之前阅读解释中获益良多(Tsividis等人,2017)。因此,解释也可以用来建立一个模型在一个更好的初始位置,以进一步学习正确的功能。同时,在测试时,生成正确的论证,获得较高的精度,有可能使模型具有更高的透明度和信任度。

​ 将外部知识纳入神经模型可以产生更健壮的模型(Glockner等,2018b)。自由形式的自然语言解释是一种外部知识的形式,它比形式语言有以下优点。首先,人类很容易提供自由形式的语言,从而消除了学习生成正式语言的额外努力,从而使收集此类数据集变得更简单。其次,自然语言解释可能潜在地从现有的大规模自由格式文本中挖掘出来。最后,对于需要断言模型可靠性的终端用户来说,自然语言是容易理解的。

​ 尽管自然语言解释在提高学习能力和透明度方面具有潜力,但正如2.2.4节中所讨论的那样,社区中此类数据集仍然很稀缺。为了解决这个不足,我为SNLI数据集收集了一个巨大的、包含~ 570K人类注释的解释的语料库(Bowman et al., 2015)。我选择SNLI是因为它构成了自然语言理解的一个有影响力的语料库,而自然语言理解需要对常识性知识的细微差别进行深度同化。我把这个解释-扩充数据集叫做e-SNLI,我公开发布这个数据集是为了推动用自由形式的自然语言解释训练和生成方面的研究。

​ 其次,我要说明的是,对于一个神经模型来说,基于虚假的关联产生正确的自然语言解释,要比基于这种关联产生正确的标签困难得多。

​ 第三,我开发了预测标签并对其预测做出解释的模型,并调查所产生解释的正确性。

​ 最后,我研究了训练一个具有自然语言解释的神经模型是否可以产生更好的由该模型产生的通用语句表示,以及在域外数据集上有更好的性能。

注意 在这一章中,我用正确解释的概念来指代一个实例的真实标记的正确论证。这不应与忠实解释的概念相混淆,忠实解释是指解释描述模型决策过程的准确性,如2.4节所述。神经模型产生正确解释的能力是此类模型发展的一个重要方面。例如,在实践中有时需要正确的论证,以及正确的最终答案。因此,在这一章中,我将检视所介绍的神经模型所产生的解释的正确性。在下一章中,我将进一步证实这些解释的真实性。

5.2 背景

识别文本蕴涵是一项重要的自然语言理解任务。给定一对被称为前提和假设的句子,任务包括将它们之间的关系划分为(a)暗含,如果前提与假设相辅相成;(b)矛盾,如果假设与前提相矛盾;©中性,如果既不存在暗含也不存在矛盾。例如,前提“两个医生给病人做手术。”和假设“两个医生正在给一个人做手术。”构成一个中性的一对(因为如果病人是人,我们无法从前提中推断)。SNLI数据集(Bowman et al., 2015)包含约570K 61个人类生成的三元组(前提、假设、标签)实例,驱动了大量神经模型的开发(Rockt¨aschel et al., 2015;Nie和Bansal, 2017年;Parikh等人,2016;Chen等,2016b;Liu et al., 2016;Chen等,2018b;Conneau等,2017)。

​ 此外,SNLI的力量超越了自然语言推理的任务。Conneau等人(2017)表明,训练一个模型在SNLI上生成通用句子表示,与某些训练方法相比,在一个数量级更大但无监督的数据集上可以更有效、更准确(Kiros等人,2015;Hill等,2016)。在5.4.4节中,我进一步研究了自然语言解释的附加层是否可以带来进一步的改进。

​ 最近,对SNLI数据集中的虚假相关性以及不同模型如何依赖这些相关性进行了越来越多的分析(Bhathena等人,2020;Gururangan等人,2018年;Glockner等,2018b)。特别是Gururangan et al。(2018)表明,特定的单词假设往往是强大的指标的标签,例如,“friend”和“old”经常出现在中性假设,“animal”和“outdoor”大多数时候出现在暗含的假设,而“nobody”和“sleep”大多出现在矛盾的假设。他们还表明,一个不确定前提的模型,即,一个只接受假设作为输入并预测标签的模型,可以获得67%的测试准确率。在5.4.1节中,我展示了依靠虚假的相关性来产生解释要比产生标签困难得多。

5.3 e-SNLI数据集

在本节中,我将介绍我在亚马逊土耳其机器人上收集e-SNLI的方法。这个数据集必须回答的主要问题是:为什么一对句子是隐含、中立或矛盾的关系?我鼓励注释者把重点放在突出的元素上,这些元素引导出给定的关系,而不是在前提和假设中重复相同的部分。我也问他们去解释假设中没有出现在前提中的所有部分。另外,我要求注释者提供独立的解释,而不是只有在阅读了前提和假设之后才有意义的句子。例如,对这种形式的解释是“Anyone can knit,not just women。”,而不是“It cannot be inferred they are women”。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cH1nf1ol-1603511766390)(…/image/5.1.png)]

图5.1:来自e-SNLI数据集的例子。注释者得到了前提、假设和标签。他们强调了他们认为对标签至关重要的词语,并提供了解释。

​ 收集这个数据集的主要挑战是,在众包中,很难控制自由形式注解的质量。作为一种解决方案,我通过浏览器内检查预先阻止了明显不正确的解释的提交。例如,除非每个解释至少包含三个标记,而且不是前提或假设的副本,否则注释者不允许提交。指导注释者提供正确解释的第二种方法是要求他们分两个步骤进行。首先,他们被要求标出他们认为对给定关系至关重要的前提或假设中的单词。其次,注释者必须用他们强调的词语来表述每一个解释。执行浏览器内检查,以确保高亮显示的单词数量最少,并且至少有一半高亮显示的单词在解释中使用,以便解释与主题一致。为了说明每个关系的特殊性,需要突出显示的最小单词数量依赖于该关系。对于隐含对,注释者被要求从前提中突出至少一个词。注释者也被鼓励(但不是必须)标出假设中的单词。对于矛盾对,他们被要求在前提和假设中至少突出一个词。对于中性组,他们被要求在假设中至少突出一个词,而不允许他们突出假设中的词。引入这一特定约束是为了防止工人混淆前提和假设。中性配对经常让人感到困惑,因为注释者很容易从假设中找不到的前提去关注细节,而不是反过来。这不是矛盾对的情况,因为实体之间的矛盾关系通常是对称的,也不是隐含对的情况,因为隐含对的实体之间的关系是直观的(例如,人会自然地说“dog is an animal”。而不是“An animal is a dog.”)。因此,要求注释者用每个关联特有的限制来突出词语,这对于将注释者置于正确的思维模式中特别有用,而且还提供了一种过滤不正确解释的方法。此外,突出显示的单词也可能提供宝贵的未来资源,例如,为注意力模型提供监督或评估它们(Rockt¨aschel et al., 2015;Parikh等,2016)。最后,一个浏览器内检查也验证了注释者使用的不是突出显示的单词,因为正确的解释需要将这些单词之间的链接清晰地表达出来。

​ 我为训练集中的每个实例收集了一个解释,为验证和测试集中的每个实例收集了三个解释。表5.1展示了收集到的解释的例子。6325人,平均每人86±403个解释。

​ 请注意,一个可以自动产生的解释,比如“Just because[entire premise]doesn’t mean[entire hypothesis]”(对于中性对),“[entire]implies[entire hypothesis·]”(对于隐含对),或者“It can either be[entire premise]or[entire hypothesis]”(对于矛盾对),都是没有信息的。因此,我收集了一个可能的模板列表,如附录B所示,用于过滤这种无信息解释的数据集。更准确地说,如果某个模板的编辑距离小于10个字符,我过滤了解释。我在整个数据集上运行了这个模板检测,并重新注释了检测到的解释(总共11%)。

**收集的解释的质量。**为了衡量所收集解释的质量,我随机抽取了1000个例子,并手动将其正确性在0(不正确)和1(正确)之间打分。为了潜在,一个解释收到了一个潜在的部分分数 k n \frac{k}{n} nk,n个参数中有k个被提到了。对于中性和矛盾对,一个正确的论证就足以得出一个正确的解释。

​ 注释的总错误率为9.6%,隐含错误率为19.5%,中性错误率为7.3%,矛盾对错误率为9.4%。隐含对的较高错误率首先是由于部分的解释,因为注释者有动机提供更短的输入,所以他们经常只提到一个参数。第二个原因是,许多隐含对的假设几乎是前提的子集,促使注释者解释前提或假设。严格地说,这不会是一个错误,因为在这些情况下,没有什么突出的解释。然而,在这个注释中它被认为是一个错误,因为人们仍然可以制定一个类似于论证的解释,而不是简单地解释输入。未来的工作可能会研究自动检测不正确解释的方法,这样人们就可以重新注释它们。

5.4 实验

在本节中,我将执行一系列实验,以研究神经模型从e-SNLI中的自然语言解释中学习以及在测试时生成此类解释的能力。首先,我要说明的是,一个依赖SNLI中虚假相关性来提供正确标签的模型,也不能基于这些相关性提供正确的解释。进一步的实验阐明e-SNLI模型训练是否能够:(i)预测标签,并对于预测标签生成一个解释(2)生成一个解释,然后根据生成的解释预测标签(3)学习更好通用句子表示,(iv)在源域之外的自然语言推理的数据集表现得更好。

​ 在整个实验过程中,模型很大程度上遵循了Conneau等人(2017)的BiLSTM-Max模型的架构。更准确地说,BiLSTM- max使用两个内部大小为2048的双向长短期记忆循环单元(BiLSTM)分别对前提和假设进行编码(Hochreiter和Schmidhuber, 1997;舒斯特尔和帕利瓦尔,1997)。使用时间步上的最大池化来获取每个句子的向量表示(维度 2 ⋅ 2048 = 4096 2·2048 = 4096 22048=4096,由于双向性)。设u为前提的向量表示,v为假设的向量表示。最后的特征向量是 f = [ u , v , ∣ u − v ∣ , u ⨀ v ] f = [u,v,|u−v|,u\bigodot v] f=[u,vuvuv],它被传递到一个多层感知器(MLP),有三层,每层尺寸为512,没有非线性,它预测标签。这是SNLI经常采用的一个典型的高层架构(Bowman et al., 2015)。

​ 为了生成解释,我使用了一个单层的LSTM模块,它的内部大小是一个超参数,值在{512,1024,2048,4096}之间。我也尝试了门控循环单元(GRUs) (Cho等人,2014)作为解码器,然而,LSTMs单元在所有实验中表现最好。循环dropout(Srivastava et al., 2014)也应用于解释解码器,其比率固定在0.5。

​ 为了减少生成解释的输出词汇表的大小,将在解释训练集中出现次数少于15次的标记替换为<UNK>,从而产生一个∼12K标记的输出词汇表。

​ 预处理和优化与Conneau等人(2017)的方法相同。特别是,为了将句子输入到模型中,在实验过程中使用并固定了已经训练好的GloVe词嵌入(Pennington et al., 2014)。前提和假设被切割为最多84个token,而解释最多40个token(这些限制是根据数据集的统计来决定的)。

​ 所有模型均采用随机梯度下降(SGD)训练,学习率从0.1开始,每epoch衰减0.99倍。我尝试过Adam optimizer (Kingma and Ba, 2014),但是SGD在所有的实验中表现最好。批大小固定在64。

​ 对于大多数实验,我使用5个种子作为随机数生成器,并使用圆括号中的标准差来提供平均性能。如果没有报告标准偏差,则结果仅来自一颗种子。

5.4.1 前提不可知

Gururangan等人(2018)表明,一个仅能获得假设的神经模型可以依靠SNLI中的假相关性预测67%的正确标签。因此,评估一个模型在多大程度上也可以依赖虚假的相关性来产生正确的解释是很有趣的。

**模型。**Hyp2Expl模型由一个具有最大池的BiLSTM编码器和一个LSTM解码器组成,前者为假设提供向量表示,而LSTM解码器则将这种表示作为其初始状态和每个时间步的额外输入,并生成解释。

​ 为了进行公平的比较,我还为假设的编码器分别训练了一个具有相同体系结构的模型,但随后是用于预测标签而不是生成解释的3层MLP。我称之为Hyp2Lbl。该模型不执行超参数搜索。

**模型选择。**Hyp2Expl的超参数是解码器的内部大小(如上所述,值为512、1024、2048和4096)。模型选择是通过验证集的复杂度来实现的,当译码器的大小增加时,验证集的复杂度严格减小。然而,由于实际的原因,译码器内部大小没有增加到4096以上,这是这个模型的超参数的选择值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-goWPPbrn-1603511766393)(…/image/5.2.png)]

图5.2:BiLSTM-Max-PredExpl模型的架构

结果。我手工检查了Hyp2Expl对前100个测试实例生成的解释,正确性得分仅为6.83。另一方面,Hyp2Lbl对同一实例获得了66个正确标签。这验证了直觉,它是更加困难的(大约10倍于这个架构)依赖虚假的相关性来产生正确的解释,而不是依赖这些相关性来预测正确的标签。

5.4.2 预测后解释

在这个实验中,我研究了神经模型为其预测生成自然语言解释的能力。

模型。我使用解释生成器增强了BiLSTM-Max模型,方法是将特征向量f简单地连接到单层LSTM解码器,既作为初始状态,又在每个时间步中连接到字嵌入输入。我称这个模型为BiLSTM-Max-PredExpl。为了将解释限定在标签上,在解码器的第一个时间步输入标签(如“隐含”、“矛盾”或“中立”)。在训练时,提供了真实标签,测试时间,使用模型预测的标签。此体系结构如图5.2所示。

**Loss function。**分类损失和解释损失均采用负对数似然法。请注意,解释损失比分类损失在量级上要大得多,这是由于解释中大量词语的负对数概率之和。为了在训练时考虑到这一差异,我们使用了权系数 α ∈ [ 0 , 1 ] \alpha \in [0,1] α[0,1],使得总损失为
L t o t a l = α L l a b e l + ( 1 − α ) L e x p l a n a t i o n (5.1) L_{total}=\alpha L_{label}+(1-\alpha)L_{explanation} \tag{5.1} Ltotal=αLlabel+(1α)Lexplanation(5.1)
**模型选择。**在这个实验中,超参数是解码器的内部大小, α \alpha α(我选择的值从0.1到0.9,步长为0.1)和learning rate(同样,取值在512、1024、2048和4096之间)。为了考察一个模型在不牺牲预测精度的情况下如何产生解释,本实验仅以标签精度作为模型选择的标准。作为未来的工作,可以检查标签和解释性能之间的不同权衡。当 α = 0.6 \alpha = 0.6 α=0.6和解码器内部尺寸为512时,得到的最佳验证精度为84.37%。

**结果。**在5种以上种子中,BiLSTM-Max的测试精度为84.01%(0.25)。而BiLSTM-Max-PredExpl模型的测试精度基本相同,为83.96%(0.26),这表明可以在不牺牲标签精度的情况下获得额外的解释。

​ 对于生成的解释,测试混乱度为10.58 (0.40),BLEU(双语评价替补)得分(Papineni et al., 2002)为22.40(0.70)。由于e-SNLI对验证和测试集中的每个实例都有三种解释,因此可以通过计算第三种解释相对于前两种解释的BLEU分数来获得一个内部注释者的BLEU分数。通过这种方式,我获得了一个内部注释BLEU的22.51分。为了一致性,在计算生成的解释的BLEU分数时,我使用了同样的两种解释作为参考。

​ 鉴于内部注释者的分数很低,并且生成的解释的BLEU分数几乎与内部注释者的BLEU分数相匹配,我们可以看出,这个指标在评估生成解释的质量和正确性方面是不可靠的。因此,我手工注释了测试集中的前100个实例(遵循与5.3部分相同的部分评分)。由于解释是以预测的标签为条件的,所以当模型预测不正确的标签时,就不能期望它生成正确的解释。因此,解释的正确度量是预测标签正确的子集中正确解释的百分比。对于测试集中的前100个实例,正确解释BiLSTM-Max-PredExpl的百分比只有34.68%(在模型预测正确标签的80个实例中)。虽然这个百分比非常低,但是应该记住,对于BiLSTM-Max-PredExpl的选择标准仅仅是标签的准确性。在下一个实验中,我将展示如何在预测的标签也是正确的情况下,仅为生成解释而进行选择(和训练),从而获得更高的正确解释百分比。

5.4.3 解释后预测

在之前的实验中,BiLSTM-Max-PredExpl生成了一个基于其预测标签的解释。然而,这种类型的模型可能不能提供忠于模型决策过程的解释。例如,解释生成器不能访问分类器的内部工作(参见图5.2)。为了增加获得忠实解释的概率,可以将标签预测和解释生成的顺序颠倒过来。因此,我提出了一个模型,首先给出一对(前提、假设)来生成一个解释,然后预测一个只给出生成解释的标签。我将这种类型的模型称为BiLSTM-Max-ExplPred,下面将提供它的两个版本。对于e-SNLI数据集,这是一种合理的分解,因为有以下关键观察结果:对于e-SNLI,可以很容易地检测为哪个标签提供了解释。这可能不是一般的情况,因为同样的解释可以正确地证明不同的标签,这取决于前提和假设。例如,“A women is a person。“这对于隐含的一对来说都是正确的解释(“A women is in the park”,“A person is in the park”)和矛盾组(“A women is in the park”,“There is no person in the park”)。然而,有多种解释方式。在我们的例子中,对于矛盾对,一个人也可以解释“There cannot be no person in the park if a women is in the park”,单独阅读就可以推断出这一对是矛盾的。后一种解释在e-SNLI数据集中占主导地位。

**模型。**对于模型BiLSTM-Max-ExplPred的部分,我提出了两个架构,它可以预测给出一个前提和一个假设的解释。首先,BiLSTM-Max-ExplPred-Seq2Seq是一个简单的序列到序列模型。本质上,它与BiLSTM-Max-PredExpl相同,但是没有MLP分类器(在解释之前没有标签)。其次,BiLSTM-Max-ExplPred-Att是这个BiLSTM-Max-ExplPred-Seq2Seq的关注版。神经网络中的注意机制在不同领域对非注意对立部分带来了持续的改进,例如计算机视觉(Xu et al., 2015)、演讲(Chan et al., 2016)和自然语言处理(Gong et al., 2018;(Bahdanau等,2015)。类似于BiLSTM-Max-ExplPred-Seq2Seq,编码器是两个2048-BiLSTM单元,解码器是单层LSTM。不同之处在于,BiLSTM-Max-ExplPred-Att在生成解释时,使用两个独立但相同的注意力头来关注来自前提和假设的token。最后,我训练了一个名为ExplToLbl的神经模型,它只给出一个解释就能预测一个标签。ExplToLbl由最大拉码编码器2048-BiLSTM和3层MLP分类器组成,测试精度为96.83%。这种高测试精度证明了将该模型分解为两个独立模块是合理的。图5.3展示了该模型的两个版本。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FXb8cg7c-1603511766396)(…/image/5.3.png)]

图5.3:BiLSTM-Max-ExplPred两个版本的架构。最上面的是ExplToLbl模型,它仅根据一个解释来预测一个标签。左边是BiLSTM-Max-ExplPred-Seq2Seq模型。右边是BiLSTM-Max-ExplPred-Att模型。

模型选择 在这个实验中唯一的超参数是解码器的内部尺寸。模型选择准则是对e-SNLI验证集的混乱度。内部尺寸为1024时,得到了BiLSTM-Max-ExplPred-Seq2Seq和BiLSTM-Max-ExplPred-Att的最佳混乱度度。

结果 通过上述设置,标签精度从BiLSTM-Max-PredExpl中的83.96%(0.26)下降到BiLSTM-Max-ExplPredSeq2Seq中的81.59%(0.45)和BiLSTM-Max-ExplPred-Att中的81.71%(0.36)。而对测试集中前100个实例生成的解释进行手工注释,其正确解释的比例显著提高:BiLSTMMax-ExplPred-Seq2Seq为49.8%,BiLSTM-Max-ExplPred-Att为64.27%。值得注意的是,模型选择只考虑对生成解释的混乱程度,而使用注意机制可以显著提高解释的质量。这个实验表明,尽管标签的准确性略有下降,但可以提高模型预测正确标签的实例所产生解释的正确性。

​ 表5.1总结了所有模型的结果。

表5.1:BiLSTM-Max- predexpl、BiLSTM-MaxExplPred和BiLSTM-Max基线的性能。平均值超过5个种子,标准差在括号内。Expl@100是在e-SNLI测试集的前100个实例中,模型预测到正确标签的实例子集中,正确解释的百分比。解释的正确性是通过人工注释获得的。粗体是最好的结果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gWbDwYk2-1603511766398)(…/image/5.4.png)]

**定性分析。**在表5.2中,可以看到(a) BiLSTM-Max-PredExpl, (b) BiLSTM-Max-ExplPred-Seq2Seq和© BiLSTM-Max-ExplPred-Att产生的解释的例子。在每个解释的结尾,括号中是我手动分配的分数,如5.3节所述。请注意,对于所有三种模型的解释主要是关于主题的,只有少数例外,比如(1c)中提到的“伪装”。还要注意,即使是错误的,产生的解释有时也会令人沮丧地接近正确。例如,在20个单词中,解释(2b)只差一个单词就对了。

​ 当预测的标签不正确时,检查所提供的解释也是有趣的。例如,在(1a)中,我们看到网络从前提中省略了“面对摄像机”的信息,因此将这对组合归类为中性的,这是由其本身在其他方面正确的解释所支持的。我们还看到model BiLSTM-Max-ExplPred-Seq2Seq正确地将这一对分类为entailment。然而,它只生成了导致隐含性的三个必要论据中的一个,而且它还挑选了可能最简单的论据。另一方面,注意力模型认为这种情况(1c)是中性的,并认为“站着”和“面对相机”并不足以得出“摆姿势拍照”的结论,而人类则认为这种情况是含蓄的。然而,这些解释也提到了“伪装”,这和连帽衫不一定一样。因此,我将此解释标注为不正确(括号中为0分)。

表5.2:从(a) BiLSTMMax-PredExpl, (b) BiLSTM-Max-ExplPred-Seq2Seq和© BiLSTMMax-ExplPred-Att中预测标签和生成解释的例子。括号中是正确性得分,部分得分如5.3节所述。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hPjHwDfM-1603511766403)(…/image/5.5.png)]

虽然还需要更多的研究来了解产生的解释是否为模型的决策过程提供了可靠的线索,但令人欣慰的是,这些解释是可信的。

5.4.4 通用的句子表示

获取通用句子表示是训练编码器提供短语/句子语义上有意义的定长表示的任务(Kiros et al., 2015;Hill等人,2016年;Conneau等,2017)。这些表示在其他下游任务中进一步作为特征使用,特别是在缺少标记训练数据的任务中。在计算机视觉中,预先训练的基于imagenet的编码器为其他下游任务提供标准的图像特征提取器(Deng et al., 2009)。然而,在自然语言处理中,对于通用的句子编码器仍然没有共识。这是一个开放的问题,在哪个任务和数据集应该训练这样的编码器。传统方法利用74个非常大的无监督数据集,需要数周的训练(Kiros et al., 2015)。最近,Conneau等人(2017)表明,仅对自然语言推理进行训练,比对数量级较大但无监督数据集进行训练更准确、更省时。他们的结果鼓励了这样一种想法,即更多的监督可能比更大但没有监督的数据集更有益。因此,研究以自然语言解释的形式增加一层监督是否能进一步提高普遍句子表征的学习是很有意义的。

模型 我使用5.4.2节中训练过的BiLSTM-Max-PredExpl模型。为了确保BiLSTM-Max- predexpl比BiLSTM-Max的潜在改进来自于解释,而不仅仅是添加了语言解码器,我将介绍BiLSTM-Max- autoenc模型作为额外的基线。BiLSTMMax-AutoEnc遵循与BiLSTM-Max-PredExpl相同的架构,但是它没有使用解码解释,而是使用一个共享的LSTM解码器从它们对应的向量表示中解码前提和假设。对于BiLSTMMax-AutoEnc,我使用与BiLSTM-Max-PredExpl相同的hypeparameters。

评价指标 通常情况下,句子表示法是通过将它们作为固定的特征来评估的,浅层分类器在此基础上进行训练,以执行一系列下游任务。Conneau等人(2017)提供了一个优秀的工具,用于评估10种不同任务的句子表征:电影评论(MR)、产品评论(CR)、主观性/客观性(SUBJ)、意见极性(MPQA)、问题类型(TREC)、情绪分析(SST)、语义文本相似性(STS)、释义检测(MRPC)、隐含(sicke)和语义相关性(sickr)。MRPC用accuracy/ f1评分进行评估。用Pearson/Spearman相关性评估STS14。用皮尔逊相关来评估SICK-R。对于所有其他任务,精确性用于性能评估。这些任务和评估工具的详细描述可以在他们的论文中找到。

表5.3:BiLSTM-Max-PredExpl以及基线BiLSTMMax和BiLSTM-Max-AutoEnc在10个下游任务上的性能。结果是5次不同种子运行的平均值,标准差在括号中显示。每个任务的最佳结果用粗体表示。’ * '表示与基线相比,在0.05水平上存在显著差异。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mTgq3mBQ-1603511766407)(…/image/5.6.png)]

结果 表5.3显示了BiLSTM-Max- predexpl、BiLSTM-Max和BiLSTM-Max- autoenc对上述10个下游任务的结果(平均值超过5个用不同种子训练的模型,标准差在括号内)。为了检验BiLSTM-MaxAutoEnc和BiLSTM-Max- predexpl与BiLSTM-Max基线之间的性能差异是否显著,我进行了Welch 's t检验。5在0.05显著性水平下显着的结果用“*”表示。

我们看到,在6个任务上,BiLSTM-Max-AutoEnc的性能显著低于BiLSTMMax,而在两个任务上显著优于它。这表明添加语言生成器实际上会损害性能。相反,BiLSTMMax-PredExpl在四个任务上显著优于BiLSTM-Max,而在一个任务上显著优于它。因此,我们可以得出结论,解释训练有助于模型学习整体更好的句子表征。

5.4.5 域外数据集的性能

众所周知,在一个实例分布上训练的模型在另一个实例分布上的性能并不好。例如,Bowman等人(2015)在对SNLI模型进行训练并对其进行disease - e评估时仅获得了46.7%的准确性(Marelli et al., 2014)。因此,研究解释是否能帮助模型在域外数据集上提高其在标签预测和解释生成方面的性能是很有趣的。我使用了SICK-E数据集以及MultiNLI数据集。

模型 我使用5.4.2节中训练过的BiLSTM-Max-PredExpl模型。作为基线,我再次使用已经训练好的BiLSTM-Max和BiLSTM-MaxAutoEnc模型。

结果 表5.4显示了在不对SICKE和多项进行微调的情况下对BiLSTM-Max-PredExpl、BiLSTMMax和BiLSTM-Max-AutoEnc进行评估时的性能。我们看到使用BiLSTM-MaxPredExpl获得的改进非常小。因此,我们不能得出结论的有效性的解释,以提高性能的模型的领域外数据集。

​ 为了评估BiLSTM-Max-PredExpl生成正确自然语言解释的能力,我手工注释了这个模型为test set中的前100个实例生成的解释。标签被正确预测的子集中正确解释的百分比为30.64%,而对多项的正确解释只有1.92%。在注释过程中,我注意到在SICK-E中的解释,即使是错误的,一般都是切题的、有效的陈述,而在多项中的解释一般都是无意义的或离题的。这并不奇怪,因为与多项相比,SICK-E不那么复杂,更类似于SNLI。

结论和开放性问题

在本章中,我介绍了e-SNLI,这是一个巨大的数据集,包含~ 570K人类编写的自然语言解释,用于有影响力的自然语言推理任务。我说过,对于一个神经模型来说,基于SNLI中虚假的相关产生正确的标签,要基于这些相关产生正确的解释是非常困难的。这带来了经验证据,证明产生正确解释的模型比只预测正确标签的模型更可靠。

​ 我实现了各种模型,为它们的标签预测生成自然语言解释,并量化了这些模型在预测正确的标签时生成正确解释的能力。我还研究了在训练时间提供这些解释的有用性,以获得更好的通用语句表示,并提高了在域外数据集上的模型的性能。

​ 因此,本章所描述的工作为未来发展鲁棒神经模型铺平了道路,该模型可以在训练时从自然语言解释中学习,也可以在测试时生成正确的自然语言解释。此外,e-SNLI数据集还可以用于其他目的。例如,与Das等人(2016)对可视化问题回答的评估相似,e-SNLI中突出显示的标记可能为注意力模型提供监督和评估来源(Rockt¨aschel等,2015;Parikh等,2016)。

​ 如何自动评估生成的解释的质量仍然是一个有待解决的问题,因为我们已经看到,自动的衡量标准,例如BLUE分数,是不合适的。

​ 如何验证生成的解释是否忠实地描述了模型的决策过程也是一个开放的问题。

第六章 验证产生自然语言解释的神经网络

在本章中,基于(Camburu et al., 2020),我介绍了一个简单而有效的对抗性框架来验证神经模型是否能产生不一致的自然语言解释。

6.1 动机

为了解释黑箱神经模型产生的预测,越来越多的研究提出用自然语言解释生成模块来扩展这些模型,从而获得用人类语言解释自身的模型(Hendricks et al., 2016;Park等人,2018年;Kim等,2018b;Jansen等,2018年;凌等,2017;Rajani等,2019)。

​ 在本章中,我首先提请注意这样一个事实,即这些模型虽然很有吸引力,但却容易产生不一致的解释。如果两种解释对其要解释的实例和预测提出了相互矛盾的论点,那么这两种解释就被认为是不一致的。例如,考虑一个视觉问题回答(VQA)任务(Park et al., 2018)和两个图像相同但问题不同的例子,比如“图像中有动物吗?”和“你能在图像中看到一只哈士奇吗?”首先,如果模型预测“是的”。并给出解释:“因为图片里有一只狗。”, 而对于第二种情况,同一个模型预测的结果是“否”。并生成解释:“因为图片里没有狗。”,那么这个模型就产生了两种不一致的解释。

​ 不一致的解释至少揭示了以下不希望出现的行为之一:(i)至少有一个解释没有忠实地描述模型的决策过程,或者(ii)模型在至少一个实例中依赖于一个错误的决策过程。对于两种不一致的解释,需要进一步的调查来确定这两种行为中哪一种才是真正的行为(而且可能会因具体情况而有所不同)。事实上,两个前后矛盾的解释并不一定意味着至少有一个解释是不忠实的。在前面的例子中,如果图像包含一条狗,可能是模型识别狗当它处理图像与第一个问题,和模型不确定狗一起当它处理图像的第二个问题,因此这两种解释将忠实地反映模型的决策过程,即使他们是不一致的。同样,两个不一致的解释也不一定意味着模型依赖于一个错误的决策过程,因为这些解释可能不能忠实地描述模型的决策过程。

​ 在研究如何确定这两种不期望的行为中哪一种对于一对不一致的解释是正确的之前,明智的做法是首先检查一个模型是否能够产生不一致的解释。为此,我介绍了InconsistVerif框架。对于一个给定的模型 m m m和一个实例 x x x,InconsistVerif旨在生成至少一个输入 x ^ \hat x x^导致 m m m来生成一个解释不一致的解释。因此,InconsistVerif属于的类别对抗的方法,例如,方法寻找输入导致模型产生不希望的答案(Biggio et al ., 2013;Szegedy等,2014)。

​ 作为InconsistVerif的一部分,我解决了使用精确目标序列的对抗性攻击的问题,这是一个以前在顺序到顺序攻击中没有解决的场景,它对其他领域可能很有用,比如对话系统。最后,我将这个框架应用到前面章中提出的BiLSTM-Max-ExplPred-Att中,并表明这个模型可以产生大量不一致的解释。

6.2 相关工作

**验证产生自然语言解释的模型。**对产生自然语言解释的模型进行验证的工作非常少。Hendricks等人(2018)指出了在输入中没有任何证据存在的情况下,生成来自强类的属性的自然语言解释的风险。在这一章中,我将注意到另一个风险,即产生不一致的解释。

**产生敌对的例子。**生成对抗性实例是自然语言处理中一个活跃的研究领域(Zhang et al., 2020;Wang等,2019)。例如,Jia和Liang (2017b)分析了抽取式问题回答模型对通过添加反向生成的分散文本获得的示例的鲁棒性。然而,大多数工作都是基于这样的要求,即对抗性输入应该是对原始输入的一个小干扰(Belinkov和Bisk, 2018;Hosseini等人,2017年;Cheng等,2018),或者应该保持原始输入的语义(Iyyer等,2018)。我们的设置没有这个需求,任何一对导致模型产生不一致的解释的任务-现实输入就足够了。最重要的是,据我所知,序列对序列模型之前的对抗性攻击不会生成精确的目标序列,也就是说,给定一个序列,找到一个输入,使模型生成精确的给定序列。与这个目标最接近的是,Zhao等人(2018)提出了一个对抗框架,用于在机器翻译任务的目标序列中移除或添加token。类似地,Cheng等人(2018)要求在目标序列的任何位置都存在预定义的token。它们只测试最多三个需要的token,对于自动摘要任务,它们的成功率从一个标记的99%急剧下降到三个标记的37%。因此,他们的方法可能不能一般化到精确的目标序列。

​ 最后,Minervini和Riedel(2018)试图找到在SNLI (Bowman et al., 2015)上训练的模型违反一组逻辑约束的输入。理论上,这种情况可能导致寻找导致产生不一致解释的输入。但是,他们的方法需要枚举和计算输入中可能非常大的一组干扰,例如,删除子树或用同义词替换标记,因此计算成本很高。此外,他们的场景没有解决自动生成不需要的(不一致的)序列的问题。

6.3 框架

考虑一个模型 m m m,它为每个实例 x x x生成其对实例的预测的自然语言解释。我们将 m m m x x x的解释称为 e m ( x ) e_m(x) em(x)。对于实例 x x x,我提出了一个框架,其目标是生成新的实例,模型为这些实例生成与 e m ( x ) e_m(x) em(x)不一致的解释。

​ InconsistVerif由以下高级步骤组成。对于实例 x x x, (A)创建一个与 e m ( x ) e_m(x) em(x)不一致的解释列表,(B)在A中创建的列表中给出一个不一致的解释,找到一个导致 m m m生成精确的不一致解释的输入。

步骤 我们所面临的设置有三个期望的属性,使它不同于在自然语言处理中通常研究的敌对设置:

  • 在步骤(B),模型必须生成一个确切的目标序列,因为目标是生成在步骤(A)中确定的与解释 e m ( x ) e_m(x) em(x)不一致的确切解释。
  • 对抗性的输入不一定是一个解释或对原始输入的小干扰,因为目标是产生不一致的解释而不是不正确的预测——这些可能会作为副产品发生。
  • 对抗性的投入必须对手头的任务是现实的。

据我所知,这项工作是解决这种设置的第一个工作,特别是由于生成准确的目标序列的挑战性要求,如6.2节所述。

**上下文相关的矛盾。**在某些任务中,实例由上下文(例如一幅图像或一段文字)和对上下文的一些评估(例如一个问题或一个假设)组成。由于解释可能涉及(有时隐含地)上下文,评估两种解释是否不一致也可能依赖于它。例如,在VQA中,两种解释的不一致“因为图像中有一只狗。”以及“因为图片中没有狗。”这取决于形象。然而,如果图像是相同的,这两种解释是不一致的,不管对图像提出了什么问题。

​ 由于上述原因,给定一个实例 x x x,我区分了实例中会在InconsistVerif中保持不变的部分((称为上下文部分,记为 x c x_c xc)和InconsistVerif会将实例的部分改变,以获得不一致(称为可变部分,记为x_v),因此, x = ( x c , x v ) x=(x_c,x_v) x=(xc,xv)。在VQA中, x c x_c xc代表图片,而 x v x_v xv 代表问题。

**独立的不一致。**有些情况下,无论输入是什么,解释都是不一致的。例如,纯粹由背景知识形成的解释,如“女人是人”。和“女人不是人。”1 .总是前后矛盾(有时甚至是离谱的),不管导致这些矛盾的原因是什么。在这些情况下,InconsistVerif可以把整个输入变量,也就是说, x c = ∅ x_c =∅ xc=并且 x ^ v = x {\hat x_v}= x x^v=x

步骤 InconsistVerif包括以下步骤:

  1. 通过训练一个RevExpl模型,将生成的解释和输入的上下文部分映射到输入的变量部分,即 R e v E x p l ( x c , e m ( x ) ) = x v RevExpl(x_c,e_m(x)) = x_v RevExpl(xc,em(x))=xv
  2. 对于每一个解释 e = e m ( x ) e=e_m(x) e=em(x):
    • 创建一个与 e e e不一致的语句列表,称为 L e L_e Le
    • 对于每一个 e ^ ∈ L e \hat e \in L_e e^Le 以及上下文 x c x_c xc。得到新的变量 x ^ v = R E V E X P L ( x c , e ^ ) {\hat x}_v=REVEXPL(x_c,\hat e) x^v=REVEXPL(xc,e^),这可能会导致产生不一致的解释。
    • 通过反向输入来获取 m m m对于输入的反向解释 e m ( x ^ ) e_m(\hat x) em(x^)
    • 通过检查 e m ( x ^ ) ∈ L e e_m(\hat x) \in L_e em(x^)Le,来检查反向解释 e m ( x ^ ) e_m(\hat x) em(x^)是否确实和 e e e不一致

为了执行步骤(2a),对于任何任务,可以定义一组逻辑规则来将解释转换为不一致的对应项,例如否定或用特定任务的反义词替换任务本质标记。例如,在解释自动驾驶汽车(Kim et al ., 2018 b),可以将“绿灯”替换为“红灯”,或是“路是空的”与“道路拥挤”(特定于任务的反义词),得到不一致的和危险的解释如“汽车加速,因为是红灯。”。

​ 获得不一致解释的另一种策略是交换来自相互排斥的标签的解释。例如,假设一个推荐系统预测电影X对于用户Y来说是一个糟糕的推荐,“因为X是一部恐怖电影”。,暗示用户Y不喜欢恐怖电影。如果同一个系统还预测movie Z是一个很好的推荐给同一个用户Y,“因为Z是一部恐怖电影。,那么我们就不一致了,因为后者暗示用户Y喜欢恐怖电影。

​ 虽然这一步需要对手头的任务进行一定程度的具体调整,但可以论证的是,为了确保部署的系统是一致的,这是一个很小的代价。未来工作的一个有趣的方向是自动化这一步,例如,通过训练神经网络,在对手头任务的不一致解释的数据集进行群聚后,产生特定任务的不一致。

​ 为了执行步骤(2d), InconsistVerif当前检查一个反向解释和步骤(2a)中创建的任何不一致解释之间的确切字符串匹配。或者,人们可以训练一个模型来识别一对解释是否形成了不一致。

​ 最后,尽管框架本身并不直接执行任务的对抗是现实的,他们是由一个模型,是在现实的数据引发的大多数对抗现实,我们会看到下面的实验。

6.4 实验

我对上一章介绍的模型BiLSTM-Max-ExplPred-Att进行不一致检验。我将 x c x_c xc设置为前提(因为这代表了解决自然语言推理任务的给定上下文),而 x v x_v xv设置为假设。然而,由于SNLI的性质,决定大多基于常识知识,解释大部分时间独立于前提,如“狗是一种动物。”因此,也有可能逆转前提,而不仅仅是假设,这是留给未来的工作。

​ 对于RevExpl模型,我使用与BiLSTM-Max-ExplPred-Att相同的神经结构和超参数。因此,RevExpl以一个前提解释对作为输入,生成一个假设。经过训练的RevExpl模型能够以32.78%的测试准确率重建出完全相同的假设(即字符串匹配)。

生成 L e L_e Le。为了执行步骤(2a),我使用了否定和交换解释。对于否定,我只需删除标记“not”和“n not”(如果它们存在的话)。如果这些标记在一个解释中出现不止一次,我就会产生多个不一致通过每次删除一个。我不尝试添加否定标记,因为这可能导致语法错误的句子。

​ 为了交换e-SNLI上的解释,我们注意到这个数据集中的解释很大程度上遵循一组标签特定的模板。这是任务和SNLI数据集的自然结果,而不是e-SNLI集合的要求。例如,注释者经常使用“不能同时使用X和Y”。“解释一个矛盾”是中性的,“因为X不代表y”,或者“X暗示y”是含蓄的。由于任何两个标签是互斥的,从一个模板到另一个标签的模板转换解释应该自动创建一个不一致。例如,对于“人不能同时吃饭和睡觉”这一矛盾的解释。,其中一人将X与“吃”、Y与“睡”匹配,得出了“吃就睡觉”这一前后矛盾的解释。使用隐含模板“X意味着y”。因此,对于每一个标签,我创建了一个列表的最常用的模板e-SNLI我手动确定的解释,可以在附录c中找到一个运行的例子创建一致的解释通过交换在附录c。如果没有否定,没有模板匹配,实例被丢弃。在我们的实验中,只有2.6%的e-SNLI测试集因为这个原因被丢弃。这一过程可能导致语法或语义上不正确的不一致的解释。但是,我们将在下面看到,即使输入解释不正确,RevExpl也能很好地生成正确的和相关的逆向假设。这并不奇怪,因为RevExpl已经被训练成输出真实假设。

​ 其余步骤如(2b) - (2d)中所述。更准确地说,对于 L e L_e Le中每一个不一致的解释,RevExpl都返回一个反向假设,然后反馈给BiLSTM-Max-ExplPred-Att,得到一个反向解释。为了检查反向解释是否与最初的解释不一致,我检查了与步骤(2a)中不一致解释列表中的解释是否完全匹配的字符串。

结果和讨论。InconsistVerif标识了从包含9824个实例的e-SNLI测试集开始的总共1044对不一致的解释。然而,平均有1.93±1.77个不同的逆向假设,导致同一对不一致的解释。由于假设是不同的,每一个实例都是一个独立的有效的对抗性输入。然而,如果一个人严格地对不一致解释的不同对的数量感兴趣,那么,在消除重复之后,仍然有540对不同的不一致解释。

​ 由于自然语言的生成总是由人类来评估的,所以我手工注释了100对随机的不同的对。我发现82%的逆向假设与前提一起构成了现实的实例。我还发现,绝大多数不现实的实例是由于假设中某个标记的重复造成的。例如,“一个小孩骑着头盔训练。是一个生成的逆向假设,非常接近一个完全有效的假设。

​ 假设检测到的不一致中有82%是由现实的逆向假设引起的,那么InconsistVerif检测到约443对不同的不一致解释。虽然这意味着InconsistVerif在BiLSTM-Max-ExplPred-Att上的成功率只有~ 4.51%,但令人担忧的是,这个简单且未得到充分优化的对抗框架在一个以~ 570K示例为训练对象的模型上检测到大量的不一致性。在表6.1中,我们看到了检测到的不一致的例子。注意在给出相关前提的情况下,反向假设是如何现实的。

**手动扫描。**通过蛮力手动扫描,人们可以在多大程度上发现不一致,这是一个有趣的调查。我做了三个这样的实验,都没有成功。相反,当扫描Carmona等人(2018)提出的一般对抗性假设时,我注意到对不一致有很好的稳健性。

​ 在第一个实验中,我手动分析了测试集中的前50个实例,没有发现任何不一致。然而,这些例子涉及不同的概念,因此减少了发现不一致的可能性。为了说明这一点,在第二次实验中,我通过简单的选择包含这些词的测试集中的解释,分别围绕woman、prisoner和snowboarding的概念构建了三组。我选择了这些概念,因为InconsistVerif检测到关于它们的不一致(见表6.1)。

​ 对于女性,在测试集中有1150个例子,BiLSTM-MaxExplPred-Att生成了包含这个单词的解释。我随机查看了20个解释,没有发现任何不一致的地方。在单板滑雪中,测试集中有16个实例对bilstm - max - explelet产生了包含该词的解释,它们之间没有不一致。88对于prisoner,在测试集中只有一个实例BiLSTM-MaxExplPred-Att生成了包含该单词的解释,因此仅通过扫描测试集无法发现模型与该概念不一致。

​ 我只看了测试集与不一致的公平比较,如果那只是应用在这个集。

​ 即使人工扫描是成功的,它也不应该被认为是一个合适的基线,因为它不能带来与不一致扫描相同的好处。实际上,手动扫描需要相当多的人力来检查一大堆解释,以便发现其中任何两个是否不一致。即使只有50个解释,也需要不可忽视的时间。此外,将我们自己限制在原始数据集中的实例中,显然不如能够生成新实例有效。InconsistVerif框架解决了这些问题,并直接提供了对不一致的解释。尽管如此,这个实验对于解释BiLSTM-Max-ExplPred-Att并没有经常提供不一致的解释是有用的。

​ 在手工扫描的第三个实验中,我从Carmona et al.(2018)引入的数据集中手工创建了一些假设。分别。对于模型是否会被它似乎表现出健壮性的概念(如toddler或swan)欺骗,进一步的研究需要在以后的工作中进行。这些假设已经被证明在标签层面上引起混淆。然而,BiLSTMMax-ExplPred-Att对所检查假设的不一致性显示了良好的稳健性水平。例如,对于中立的一对(前提:“一只鸟在水面之上。,假设:“天鹅浮在水面上。”),BiLSTM-Max-ExplPred-Att产生了“不是所有的鸟都是天鹅”的解释。,而当“鸟”与“天鹅”互换时,即为一对(前提:“一只天鹅在水面之上。”,假设:“一只鸟在水面上。”),BiLSTM-Max-ExplPred-Att产生了“天鹅是鸟”的解释。,很好地理解了实体“天鹅”和“鸟”之间的关系。同样的,在(前提:一个小孩通过一扇窗户看外面的世界。,假设:“一个蹒跚学步的孩子通过一扇窗户观察外面的世界。”)不会混淆模型,从而产生“不是每个孩子都是蹒跚学步的孩子”。和“一个蹒跚学步的孩子是一个小孩。”

6.5 结论和开放问题

在本章中,我提请注意一个事实,即产生自然语言解释的模型容易产生不一致的解释。这是一个普遍的问题,可以产生很大的实际影响。例如,如果自动驾驶汽车的解释模块容易说“汽车加速是因为没有人过十字路口”,用户可能不会接受自动驾驶汽车。还有“汽车加速是因为有人过十字路口。”

​ 我介绍了一个识别这种不一致性的通用框架,并展示了在第5章中产生了对e-SNLI的正确解释的最高血统的模型BiLSTM-Max-ExplPred-Att,可以产生大量的不一致性。

​ 有价值的对未来的工作方向包括:(1)为检测不一致,开发更先进的框架(2)调查是否不一致是由于不忠的解释或错误的决策过程的模型,和(3)发展中更健壮的模型,不产生矛盾。

第七章 一般结论和观点

在这篇论文中,我研究了解释深层神经网络的两个主要方向:基于特征的事后解释方法和为预测生成自然语言解释的自解释神经模型。对于这两个方向,我都调查了验证这些解释是否忠实于它们所要解释的模型的决策过程的问题。此外,对于生成自然语言解释的自解释模型的课程,我调查了这些模型是否由于在训练时以自然语言解释的形式进行了额外的监督而表现出改进的行为。结果如下。

​ 首先,我展示了,尽管有一个明显的隐含假设,即对一个实例的模型预测只有一种基于真实特征的解释,但通常会有更多这样的真实值解释。此外,我还展示了两类重要的事后解释方法,它们的目的是提供不同类型的基于事实的特征的解释,但没有明确说明,我还揭示了每种类型的某些优势和局限性。此外,对于某些情况,这些类型的解释都不足以为模型的决策过程提供一个明确的观点。我还说明了被期望为每个预测提供相关特性的选择器-预测器类型的神经模型在这样做时有一定的局限性,并且我提供了可以减轻这些局限性的解决方案。

​ 为了在实践中正确使用这些方法,今后有必要对解释方法进行严格的规范。对解释如何提供模型决策过程的完整视图进行更多的研究也将是有价值的。此外,将选择器-预测器模型用于对决策过程提供可靠的见解也将是一个重要的研究方向。

​ 其次,我介绍了一个框架来验证基于特征的事后解释方法所提供解释的真实性。该框架依赖于使用选择器-预测器模型作为目标模型,在这类模型的局限性得到缓解之后。这个框架是自动的,并在一个真实的场景中验证解释器,例如,在真实数据集上训练的非平凡的神经模型上。该框架也是通用的,因此,通过在选择器和预测器模块的其他任务和其他架构上实例化,可以生成潜在的大量现成的完整性测试。对三种常用解释方法的测试结果表明,该框架具有揭示这些方法所提供的不诚实解释的潜力。我还提出了进一步改进这个框架的方法。

​ 作为今后的工作,可以进一步改进引进的核查框架,例如,使用我在第4.6节中介绍的准则。另外,其他类型的基于特性的自解释方法也可以用作验证解释者的测试平台。此外,请回忆一下,引入的框架是一个完整性检查,而不是一个评估框架,用于提供完全通用的解释器性能。也非常需要完整的评价框架。

​ 第三,我研究了一类自我解释的神经模型,这些模型为他们的预测生成自然语言的解释。为了解决自然语言解释数据集的不足,我引入了一个新的大型数据集,数据集约为570K人类编写的自然语言解释,我称之为e-SNLI。此外,我还指出,神经模型依靠虚假的相关来提供正确的解释比提供正确的标签要困难得多。这从经验上支持了一种直觉,即能够产生正确的论证和正确的预测的模型比只提供正确预测的模型更可靠。此外,我还展示了在测试时生成自然语言解释的一系列模型在生成正确解释方面的性能相对较低。然而,我也展示了更好的架构可以带来改进。最后,我展示了在训练时出现的附加解释,这些解释引导模型学习更好的通用句子表示,以及更好地解决域外实例的能力,尽管这些改进对于被测试的模型来说微不足道。

​ 未来的工作将进一步开发e-SNLI数据集,以推进研究的方向,训练和生成自然语言解释。本文中介绍的模型,虽然提供了令人鼓舞的结果,但还不能在现实世界中部署,需要做更多的工作来推进这个有希望的方向。新的自然语言解释数据集也将非常有益。

​ 第四,为了验证生成的自然语言解释的真实性,我引入了一个对抗性框架来检查神经模型是否生成了不一致的自然语言解释。不一致的解释要么暴露了不诚实的解释,要么暴露了模型的错误决策过程,这两者都是不可取的。我将这个框架应用到在e-SNLI上产生最高比例正确解释的模型上,我证明了这个模型能够产生大量不一致的解释。此外,作为引入的框架的一部分,我解决了使用完整目标序列进行对抗性攻击的问题,这个场景以前在序列到序列攻击中没有研究过,它对于其他自然语言任务可能很有用。

​ 验证由自解释模型产生的自然语言解释的真实性仍然是一个悬而未决的问题。本文引入的对抗性框架检验模型是否能产生不一致的自然语言解释。然而,这种不一致是由于不诚实的解释,还是由于模型决策过程中的缺陷,还需要进一步研究。此外,未来建立更稳健的模型,不会产生不一致的解释的工作也非常有价值。我的希望是,在未来,我们将会有强大和准确的神经模型,忠实地解释自己的人类语言。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值