Press "Enter" to skip to content

论NLP可解释的评估:什幺才是“好”的解释?

©PaperWeekly 原创 · 作者|李泺秋

 

学校|浙江大学硕士生

 

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

 

前言

 

深度学习模型已经成为 NLP 的标准工具,在解决许多问题上大显神通。然而其黑盒性质也成为一大问题,对系统的可控性、可信任度都造成影响。在医疗、金融等领域,对模型可解释的需求都日益增加。

 

目前,NLP 的可解释领域中已经有了不少工作,比如:

 

基于 probing task 测试模型的语义理解能力

 

从模型的 embedding、activation、attention 到 saliency 的可视化分析

 

构造特定语言现象的 challenge set 作某种方面质量评估的

 

用各种启发式方法生成 adversarial sample 分析模型鲁棒性的

 

生成模型预测的自然语言解释文本(NL Explanation Generation)

 

寻找简单的替代模型,或者将模型的局部分类面简化(LIME 等)

 

……

 

等等。以上每一条线都有许多不同的工作,感兴趣的读者可以从这篇概述入手了解。

 

但是或许我们需要先回答一个更加基本,也更核心的问题:

 

如何评估解释的好坏?

 

如果没有一个直接的、统一的标准,又有什幺制定标准的原则可以是值得参考和遵守的?

 

据个人目前了解,还没有工作提出一个能说服大部分人的解释的标准——或者只能定性而非定量分析(例如可视化方法),或者很大程度基于主观认识(例如 contrast set,或者和人工标注进行对比等),或者不能从根本上说明问题(例如对抗方法),有的甚至没有办法和其他方法进行比较孰优孰劣…… 说白了,所有人都像是在摸着石头过河。

 

但是,如果不将这一问题说明白,建立共识性的认知,那幺可以说所有的解释工具都只是自说自话,解释也将和深度学习本身一样化为“玄学”(甚至比玄学更玄,因为我们甚至不知道目标在哪里),再多 fancy 的 technique 也只会使我们离真实越来越远。

 

而这也正是目前大家所关心和纠结的问题:

 

https://www.zhihu.com/question/341190239

 

于是,本文将解读一篇发表在 ACL 2020 的综述文章 Towards Faithfully Interpretable NLP Systems: How Should We Define and Evaluate Faithfulness? ,分享其中关于可解释评估的一些现状分析和思考。(当然,或许仅凭借这一篇文章也无法给出正确的结论,但是至少它可以提供了一些讨论的基础)

 

为了节约大家时间,先把文章的结论放在这里,可以快速跳到相关的内容:

 

1. 可解释的评估包含似然性和忠实性的评估,而人的参与只会把评估变为似然性评估,对证明模型具有真正的可解释能力——即忠实性方面毫无用处。

 

2. 忠实性的评估可以分为三个基本的原则假设,即模型假设、预测假设和线性假设(关于具体假设的内容请见下文)。

 

3. 忠实性不应该是一个“是”或“否”的评估,不然完全忠实的模型如同真空中的球形鸡,是不存在的。我们应该在更细微的“灰度”上评估忠实度,即使这些解释不具有全局性和明确的忠实性,也可以使解释有用。

 

 

NLP可解释领域现存的问题

 

1. 当前的解释方法受实际用例和应用程序的启发,以非常特殊性(而非普遍性)的方式定义解释。 但是,这种视角通常无法区分解释质量的各个方面,例如 可读性 (readability), 似然性 (plausibility)和 忠实性 (faithfulness——Herman,2017 年)。

 

2. 此外,尽管很多工作可能会隐式或显式地评估对特定解释技术的忠诚度,但对忠诚度并没有统一和正式的定义。

 

3. 最后,当下还有一种趋势: 将忠实性视为二元属性,然后说明解释方法不忠实。 本文认为这是徒劳的——几乎不可能完全满足这些假设,并且通过反例来证明一种解释方法的真实性也太容易了。

 

针对以上内容,本文的贡献可以总结如下:

 

对于第 1 点和第 2 点,本文对忠实性作出了定义:和似然性无关, 忠实的解释可以准确地表示模型预测背后的推理过程。 并且本文认为,在要求解释如实的情况下,不完善或误导性的评估可能会造成灾难性的影响。

 

本文通过明确所有可解释的尝试背后的三个假设,将看似不同的评估方法串联起来,并提供了有关忠实的理想属性的讨论基础。

 

对于第 3 点,本文主张在实践中对忠诚度有更实际的看法,采用分级标准来衡量一种解释在实践中是否忠实的程度和可能性。对于某个特定领域,如何构建这些标准的确切形式以及设计针对性的具体评估方法,是未来工作的主要挑战。

 

以下将详细说明。

 

 

区分忠实性与似然性

 

似然性(plausibility)和忠实性(faithfulness)是两个特别值得注意的标准: 似然性是指对人类的解释令人信服,而“忠诚”则是指它能准确反映模型的真实推理过程 (Herman,2017;Wiegreffe and Pinter,2019)。

 

此处参考文献:

 

arxiv 2017,《The promise and peril of human evaluation for model interpretability》EMNLP 2019,《Attention is not not explanation》

 

如果只考虑符合其中一个性质,这是很容易做到的。例如,考虑通过事后(post-hoc,即模型预测后)文本生成进行解释的情况,其中一个额外的“生成器”组件输出模型决策的文本说明,并在用文本解释作为监督信号的情况下学习生成器(Zaidan 和 Eisner,2008;Rajani 等,2019;Strout 等,2019)。在这种情况下,似然性是主要属性,而不能满足忠实性。

 

尽管这两个标准之间存在差异,但许多作者并没有明确区分,有时甚至将两者混为一谈:

 

NIPS 2017,《A unified approach to interpreting model predictions》

 

arxiv 2018,《Evaluating neural network explanation methods using hybrid documents and morphological prediction》

 

arxiv 2018,《Faithful multimodal explanation for visual question answering》

 

而且,即使明显属于某个阵营,大多数工作也没有明确列出要考虑的标准:

 

arxiv 2018,《A humangrounded evaluation benchmark for local explanations of machine learning》

 

arxiv 2016,《”what is relevant in a text document?”: An interpretable machine learning approach》

 

arxiv 2018,《Looking deeper into deep learning model: Attribution-based explanations of textcnn》

 

arxiv 2019,《A human-grounded evaluation of SHAP for alert processing》

 

我们认为这一混淆很危险,缺乏明确的主张可能会给该技术的潜在用户带来错误的信息,这些用户不熟悉其内部工作原理。因此,必须明确区分这些术语。

 

2019 年 microsoft 的一篇论文《Interpreting interpretability: Understanding data scientists use of interpretability tools for machine learning》指出,尽管没有保证,即使是专家也倾向于过于相信解释的真实性。

 

 

固有的解释性

 

通常的解释性方法分为以下两类:

 

通过事后方式解释现有模型;

 

设计固有可解释的(inherently interpretable)模型。

 

Rudin(2018)主张使用固有可解释的模型,该模型在设计上声称比黑箱模型的事后解释提供了更多忠实的解释(2018 arxiv,《Please stop explaining black box models for high stakes decisions》)。

 

本文认为不能以表面价值来论证这一观点: 所谓某个方法“固有地可解释”是需要验证的主张。 确实,虽然注意力机制被认为具有“固有的可解释性“(Ghaeini 等人,2018; Lee 等人,2017),但最近的工作使人们对其忠实性产生怀疑(Serrano 和 Smith,2019; Jain 和 Wallace,2019; Wiegreffe 和 Pinter,2019年)。

 

这里就不得不提到之前的一篇《The elephant in the interpretability room: Why use attention as explanation when we have saliency methods?》,对注意力解释方法的局限性和对应的显着性方法作出详细阐述。可以阅读以下本人的解读进一步了解:https://zhuanlan.zhihu.com/p/287126616

 

 

通过效用评估

 

尽管解释有许多不同的用例,例如模型调试,合法保证或对健康至关重要的保证,但另外一个具有突出评价文献的可能用例是通过人机交互(HCI)实现的自动模型的智能用户界面(IUI)来协助人类决策者。在此进行解释的目的是增加用户与系统之间的信任度,为用户对系统的决定是否可能正确提供更多的微妙依据。

 

在一般情况下,最终评估指标是用户在执行任务时的表现(Abdul 等人,2018)。例如,Feng 和 BoydGraber(2019)在琐事问答环境中评估了模型的各种解释。

 

此处引用:2018,CHI,《Trends and trajectories for explainable, accountable and intelligible systems: An HCI research agenda.》2019,IUI,《What can ai do for me? evaluating machine learning interpretations in cooperative play.》

 

但是,在忠实性的语境下,我们也必须警告拒绝受到基于人机交互(HCI)的评估: 在这种情况下,提高绩效并不意味着忠实的指示;相反,它只能表明解释的似然性与模型的性能之间存在的相关性。

 

举个例子,假设 HCI 评估环境中有一个不忠实的解释系统:给出的解释是文本输入的热图,将分数归因于各种标记。假设系统说明的行为如下:当输出正确时,说明由随机的内容词组成;当输出不正确时,它由随机标点符号组成。

 

换句话说,当模型正确时,这种解释更有可能看起来合理,而同时又没有反映模型的真实决策过程。使用者通过更美观的解释深信不疑,因此使用该系统的效果更好。但是,这种解释始终声称随机标记与模型的推理过程高度相关。尽管该系统特别有用,但解释所给出的主张并不能反映模型的决策。

 

尽管上述情况是极端的,但这种误解并非完全不可能,因为可信度与模型性能之间的任何程度的相关性都会导致用户性能的提高,而与忠诚度的概念无关。

 

这里的分析可以看出,所有基于可视化的方法的评估都无法证明解释的忠实性。然而,目前几乎所有的文章都是拿几个热力图比较一下,感性分析……

 

 

忠实性评估的几条指南

 

破了这幺多旧观念,终于该到立论的部分了——

 

本文提出以下准则来评估解释的真实性。这些指南解决了我们在文献中观察到的常见陷阱和次优实践的问题。

 

明确评估对象。 混用似然性和忠实性是有害的:应该明确评估其中一个,并针对每个评估使用适当的方法。当然,在设计解释技术时也应如此-明确要优先考虑的属性。

 

忠实度评估不应包括对解释质量的判断。 我们注意到:(1)人类无法判断一种解释是否忠实:如果他们理解了模型,那幺解释就没有必要了;(2)由于类似原因,我们也无法获得对此问题的监督。因此, 人的判断不应参与对忠诚度的评估,因为人的判断会衡量似然性。

 

这似乎是一个悖论:因为无法理解模型内部发生的事情,所以需要可解释方法;但是因为无法理解模型,我们也难以确定解释是否忠实反映了模型内部的决策过程…… 因此,对于忠实性最好的评估还是基于某些客观指标!

 

忠诚度评估不应涉及人为提供的金标准。 我们应该能够解释与正确的模型预测相同的错误模型预测。依靠金牌的评估方法受到人类先验对模型应该做什幺的影响,并再次将评估推向了似然性的方向。

 

不要相信“固有的可解释性”主张。 除非另有证明,否则固有的可解释性只是一个主张而非事实。“固有可解释”模型提供的解释必须遵循与事后解释方法相同的标准,并使用同一套评估技术对其忠诚度进行评估。

 

再次强调:注意力之类的方法只具有似然性,但是其对模型的工作方式的解释非常非常非常有限!具体请参考上面的专栏文章。

 

IUI 系统的忠实性评估不应依赖于用户表现。 HCI 设置中的最终任务用户性能仅表示似然性与模型性能之间的相关性,但是这种相关性很小。尽管评估某些用例的解释效用很重要,但它与忠诚度无关。

 

 

定义忠实性

 

那幺,如何定义解释方法的忠实性?

 

直观地,我们希望所提供的解释能够在做出决策时反映模型的真实推理过程。但是,什幺是模型的推理过程?如何将推理过程相互比较?

 

由于缺乏标准定义,不同的工作通过引入测试来衡量他们认为良好的解释应该满足的特性来评估他们的方法。其中一些测试可衡量忠诚度的各个方面。 这些临时定义通常对于每篇论文都是唯一的,并且彼此不一致,因此很难找到共同点。

 

我们发现了所有这些方法背后的三个假设,使我们能够沿标准化轴组织文献,并关联看似不同的工作方式。此外,公开基本假设可以就其有效性和优点进行知情的讨论(我们或其他人将其留给未来的工作)。据我们所知,这些假设包含了研究界对忠诚度的当前有效定义:

 

假设1(模型假设):当且仅当两个模型使用相同的推理过程时,它们才会做出相同的预测。

 

推论 1.1:如果解释系统导致对做出相同决策的模型进行不同的解释,那幺它就是不忠实的。

 

这一推论可以用作反示例(counter-example)的证明。从理论上讲,如果所有可能完美地模仿模型决策的模型也提供相同的解释,则可以认为它们是忠实的。相反,表明两个模型提供了相同的结果却有不同的解释,则证明了该方法不具有真实性。

 

2019,EMNLP,《Attention is not not explanation.》展示了如何通过对抗性训练模型推导这些反例,这些模型可以模仿原始模型,但提供不同的解释,同时还利用了这一假设来表明某些解释确实包含有关模型行为的有用信息。

 

推论1.2:如果解释导致的决定与其解释的模型不同,则它是不忠实的。

 

一个更直接应用是通过保真度(fidelity)的概念(Guidotti 等,2018;Lakkaraju 等,2019)。对于解释本身就是能够做出决策的模型的情况(例如决策树或规则列表(Sushil 等人,2018)),保真度定义为 解释模型可以模仿原始模型决策的程度 (比如准确性accuracy score)。

 

对于解释不是可计算模型的情况,Doshi-Velez 和 Kim(2017)提出了一种通过众包将解释映射到决策的简单方法,方法是要求人们模拟模型的决策而无需访问模型,而只能访问输入和解释(称为正向仿真)。Nguyen(2018)进一步探索并实践了这一想法。

 

2018,ACM,《A survey of methods for explaining black box models.》

 

2019,AAAI,《Faithful and customizable explanations of black box models.》

 

假设2(预测假设):对于相似的输入,当且仅当其推理相似时,模型才会做出相似的决策。

 

推论2:如果解释系统为相似的输入和输出提供不同的解释,则它是不忠实的。

 

由于解释是模型“推理”的代理,因此应满足相同的约束条件。换句话说,对类似决策的解释应该相似,而对不同决策的解释应该相似。

 

这种假设对于证明解释不具有忠实性更有用,因为证伪解释的不忠实需要找到适当的情况,可能证明需要检查(非常大)令人满意数量的示例,甚至整个输入空间。

 

NLP 社区中最近的一次讨论(Jain 和 Wallace,2019 年; Wiegreffe 和 Pinter,2019年,即《Attention is not explanation》和《Attention is not not explanation》的讨论大战)涉及使用这一基本假设来评估注意力热图作为解释。前者试图针对每个实例对类似决定提供不同的解释。后者对前者提出了批评,并在很大程度上基于上述模型假设。

 

此外,Kindermans等(2019)《The (un)reliability of saliency methods.》建议对输入空间引入恒定的转移,并评估解释是否随着最终决定保持不变而发生显着变化。AlvarezMelis和Jaakkola(2018)《On the robustness of interpretability methods.》在术语可解释性健壮性下正式化了这种技术的概括:解释应不变于输入中的小扰动(预测假设的直接结果)。Wolf 等(2019)《A formal approach to explainability.》进一步扩展了这个概念,即“模型解释的一致性”。 不幸的是,由于离散输入,很难在 NLP 设置中应用鲁棒性度量。

 

假设3(线性假设):输入的某些部分对模型推理比其他部分更重要。而且,输入的不同部分的贡献彼此独立。

 

推论3:在某些情况下,热力图的解释可能是不忠实的。

 

该假设被考虑输入上的热图(例如,注意力图、显着性图)作为解释的方法采用,在 NLP 中特别流行。热图是关于输入的哪些部分比其他部分与模型决策更相关的主张。因此,我们可以设计“压力测试”以验证它们是否支持其主张。

 

为此,一种建议的删除方法是擦除,根据解释,将输入中“最相关”的部分从输入中删除,以期模型的决策会改变(Arras 等人,2016;Feng 等人;2018 年;Serrano and Smith,2019年)。否则,可能会删除输入中“最不相关”的部分,以期望模型的决定不会改变(Jacovi 等人,2018)。Yu 等(2019)今儿 DeYoung 等(2019)提出了两种全面性和充分性的度量方法作为对擦除的正式概括:通过去除高级特征或仅包含高级特征对模型的影响程度。

 

 

实现忠实的解释是不可能的吗?

 

上述假设目前用于以二进制方式评估忠实度:解释是否严格忠实。具体来说,通过构造假设不成立的案例,它们最常被用来表明一种方法是不真实的(无论是基于attenton,还是基于saliency,还是其他的方法)。

 

换句话说,对于各种解释方法,存在通过反例进行证明的明显趋势,即它们不是全部忠实的。

 

然而这种方式的评估是无用的,因为我们期望这些各种方法能够持续产生负面(而不是忠实)的结果,从而延续当前的趋势。这是因为解释的作用近似于模型或决策的真实推理过程,因此定义会丢失信息。根据鸽笼原理,在解释和推理之间会有偏差。

 

在实践中,这在众多显示对抗行为或病理行为分析的工作中得到了观察,这些行为或病理行为是由当前模型的深层非线性和高维决策边界引起的。此外,由于我们缺乏对哪些模型或决策确实可映射到人类可读概念的监督,因此我们不能忽略近似误差。

 

那幺,如果我们需要一个能提供忠实解释的系统,我们应该怎幺做?

 

 

通往更好的可解释评估

 

我们认为,摆脱目前僵局的方法是采用一种更实用,更细致的方法来定义和评估忠诚度。我们向社区提出以下挑战: 我们必须对忠实性进行正式的定义和评估,从而使我们可以自由地说出一种方法在实践中足够忠实可以用于实用。

 

在此,我们提出两种可能的方式:

 

 

跨模型和任务: 在特定模型或任务级别的忠诚度(以灰度表示)。也许某些模型或任务可以进行充分忠实的解释,即使对于其他模型或任务并非如此。例如,该方法可能不忠于某些问答任务,但忠实于情感分析,可能基于这些任务的各种句法和语义属性。

 

跨输入空间: 在输入空间的子空间级别(如相似输入的邻域或奇异输入本身)上的忠诚度。如果我们能够在某种程度上确信特定决策的解释是否忠实于模型,即使该解释方法不被普遍认为是忠实的,也只能将其用于特定领域或实例。

 

 

 

结论

 

本文提出的意见有两个方面:

 

首先,可解释性评估通常包含对忠诚度和真实性的评估。我们应该把这两个定义分开,只专注于评估忠诚度,而不会影响解释的说服力。

 

其次,对忠诚度的评价通常采用二进制“忠实或不忠实”的方式,我们认为严格忠实的解释是“独角兽”,这将永远找不到。相反,我们应该在更细微的“灰度”上评估忠实度,即使这些解释不具有全球性和明确的忠实性,也可以使解释有用。

 

这篇文章我认为非常值得一读。可解释性不应该成为玄学,有了更系统和科学的评估以后,更好地帮助这一领域发展。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注