A Survey on Neural Network Interpretability

A Survey on Neural Network Interpretability----《神经网络可解释性调查》

摘要

随着深度神经网络的巨大成功,人们也越来越担心它们的黑盒性质。可解释性问题影响了人们对深度学习系统的信任。它还与许多伦理问题有关,例如算法歧视。此外,可解释性是深度网络成为其他研究领域强大工具的理想属性,例如,药物发现和基因组学。在本次调查中,我们对神经网络可解释性研究进行了全面回顾。我们首先澄清可解释性的定义,因为它已在许多不同的上下文中使用。然后,我们阐述了可解释性的重要性,并提出了一个新的分类方法,沿着三个维度组织:参与的类型(被动和主动解释方法),解释的类型,以及重点(从局部到全局的可解释性)。这种分类法为相关文献中的论文分布提供了一个有意义的3D视图,因为其中的两个维度不是简单的分类,而是允许有序的子类别。最后,我们总结了现有的解释性评价方法,并在此基础上提出了可能的研究方向。

引言

近年来,深度神经网络(dnn)在计算机视觉[2]、[3]、语音识别[4]、自然语言处理[5]等领域取得了巨大的成功,而最新的应用则出现在这些研究中[7]-[9]。他们不仅击败了许多以前的机器学习技术(例如,决策树,支持向量机),而且在某些现实世界的任务[4],[10]上实现了最先进的性能。由 DNN 支持的产品现已被数十亿人使用,例如面部和语音识别。DNN 也已成为许多科学领域的强大工具,例如医学 [11]、生物信息学 [12]、[13] 和天文学 [14],这些领域通常涉及大量数据。

然而,深度学习仍然有一些明显的缺点。作为一个具有数百万个自由参数的非常复杂的模型(例如,AlexNet [2],6200 万个),DNN 经常被发现表现出意想不到的行为。例如,即使一个网络可以获得最先进的性能,并且似乎在物体识别任务上表现得很好,Szegedy等人[15]找到了一种方法,通过对输入图像施加某种不可察觉的变化,可以任意改变网络的预测。这种修改后的输入称为"对抗例子"。Nguyen等人[16]展示了另一种产生完全无法识别的图像(例如,看起来像白噪声)的方法,然而,DNN以99.99%的置信度将其识别为特定的对象。这些观察结果表明,尽管DNN可以在许多任务中获得卓越的表现,但它们的潜在机制可能与人类的机制非常不同,而且还没有被很好地理解。

A、可解释性的定义

为了打开深层网络的黑匣子,许多研究者开始关注模型的可解释性。虽然已在各种文件中探讨了这一主题,但尚未就可解释性的定义达成明确的共识。之前的大部分作品都忽略了澄清问题,将其保留为"一看就知道"。如果我们仔细观察,就会发现可解释性的定义和动机通常是不同的,甚至是不一致的。

之前对可解释性的一个定义是,在术语"解释"本身仍然难以理解的情况下,用人类[18]可理解的术语提供解释的能力。在回顾了之前的文献之后,我们在[18]的基础上对"解释"和"可理解的术语"做了进一步的澄清。

可解释性是用可理解的语言向人类提供解释的能力。 其中,(1)理想情况下,解释应该是符合逻辑的决策规则(if-then规则),或者可以转换成符合逻辑的规则。然而,人们通常不要求以规则的形式明确地解释(但只要求一些可以用来构造解释的关键元素)。(2)易于理解的术语应该来自与任务相关的领域知识(或根据任务的常识)。

我们的定义为可解释性研究提供了新的视角: (1)我们强调解释的形式而不是特定的解释者。毕竟,解释是用某种"语言"来表达的,无论是自然语言、逻辑规则还是其他东西。最近,人们强烈倾向于解释语言尽可能接近逻辑[19]。在实践中,人们并不总是需要一个完整的"句子",它允许各种解释(规则、显着性掩码等)。这是对现有文献中的研究方法进行分类的一个重要角度。(2)领域知识是构建解释的基本单元。由于深度学习已经显示出其处理原始形式数据的能力,因此人们很难用其原始输入表示来解释模型。有了更多的领域知识,我们就可以得到更多可理解的表示,这些表示可以由领域专家进行评估。表1列出了不同任务中常用的几种表示。

我们注意到一些研究区分了interpretability和explainability(或understandability、comprehensibility、transparency、human-simulatability等[17]、[23])。在本文中,我们不强调这些术语之间的细微差别。具体来说,我们专注于(深度)神经网络(很少是循环神经网络)的可解释性,其目的是提供对其内部工作原理和输入输出映射的解释。还有一些关于生成对抗网络(GAN)的可解释性研究。然而,作为一种生成模型,它与用作判别模型的常见神经网络略有不同。对于这个主题,我们希望读者参考最新的作品[24]-[29],其中许多作品与本文的"hidden semantics"部分(见第二节)有相似的观点,试图解释隐藏神经元或潜在空间的含义。

根据我们的定义,Linux 操作系统的源代码是可解释的,尽管它对于开发人员来说可能会令人不知所措。深度决策树或高维线性模型(在可解释的输入表示之上)也是可解释的。有人可能会说它们是不可模拟的[17](即人类能够在短时间内在他/她的脑海中模拟模型从输入到输出的处理过程)。然而,我们声称它们仍然是可以解释的。

除了上述(训练有素的神经网络)可解释性的限制范围外,还有一个更广泛的理解一般神经网络方法的领域,这是本文无法涵盖的。例如,DNN的经验成功给理论家提出了许多未解决的问题[30]。DNN 架构 [31]、[32] 的优点(或归纳偏差)是什么?DNN 的损失面/临界点 [33]-[36] 有哪些特性?为什么 DNN 仅通过简单的正则化就能很好地泛化 [37]-[39]?DNN 的鲁棒性/稳定性如何[40]-[45]?还有关于如何生成对抗性示例 [46]、[47] 和检测对抗性输入 [48] 的研究。

B、可解释性的重要性

许多论文[17]、[18]、[49]已经强调了可解释性的必要性,强调缺乏可解释性可能有害的情况。然而,缺乏对此类论证的清晰组织的阐述。我们将可解释性重要性的论点归纳为三类。

1)高可靠性要求 :尽管深度网络在一些相对较大的测试集上表现出了良好的性能,但实际环境仍然要复杂得多。由于一些意外的失败是不可避免的,我们需要一些方法来确保我们仍然在控制中。深度神经网络不提供这样的选择。在实践中,它们经常被观察到在某些情况下会出现意想不到的性能下降,更不用说来自敌对示例[50]、[51]的潜在攻击了。

可解释性并不总是需要的,但对于一些需要高度可靠的预测系统来说很重要,因为错误可能会导致灾难性结果(例如,人员生命、重大经济损失)。可解释性可以使潜在的故障更容易检测(借助领域知识),避免严重后果。此外,它可以帮助工程师查明根本原因并提供相应的解决方案。可解释性并不会使模型更可靠或其性能更好,但它是构建高度可靠系统的重要组成部分。

2)伦理和法律要求: 第一个要求是避免算法歧视。由于机器学习技术的性质,经过训练的深度神经网络可能会继承训练集中的偏差,这有时很难注意到。当 DNN 在我们的日常生活中使用时,例如抵押贷款资格、信用和保险风险评估,会存在公平性问题。

深度神经网络也已用于新药发现和设计[52]。计算药物设计领域由传统的机器学习方法(如随机森林和广义相加模型)主导,部分原因是当时它们的高效学习算法,也因为领域化学解释是可能的。新药要获得监管机构(如食品和药物管理局)的批准,也需要可解释性。除了临床试验的结果,通常还需要支持这些结果的生物学机制。医疗设备也是如此。

可解释性的另一个法律要求是"解释权"[53]。根据《欧盟通用数据保护条例》(GDPR)[54]第22条,人们有权不受到对其产生法律效力或类似重大影响的自动决策的约束。数据控制者应保障数据所有者获得人为干预、表达观点和对决定提出异议的权利。如果我们不知道网络如何做出决定,就无法确保这些权利。

3)科学用法:深度神经网络正在成为科学研究领域的强大工具,这些领域的数据可能具有复杂的内在模式(例如基因组学[55]、天文学[14]、物理学[56]甚至社会科学[57])。"科学"一词源自拉丁语"scientia",意思是"知识"。当深度网络达到比旧模型更好的性能时,它们一定发现了一些未知的"知识"。可解释性是揭示它的一种方式。

C. 相关工作和贡献

已经有人尝试总结神经网络可解释性的技术。然而,它们大多数只提供基本的分类或枚举,没有明确的分类法。Lipton [17] 指出,可解释性一词并没有明确的定义,并且在不同的研究中通常具有不同的含义。然后,他对可解释性研究中的需求(如信任、因果关系、公平决策等)和方法(事后解释)进行了简单的分类。Doshi-Velez和Kim[18]对可解释性的定义和评价进行了讨论,启发我们制定更严格的定义,并在此基础上对现有的方法进行分类。Montavon等人[58]将解释的定义限定为特征重要性(在其他地方也称为解释向量),并回顾了通过网络解释已学习概念和个体预测的技术。它们的目的不是提供一个全面的概述,只是包括一些有代表性的方法。Gilpin等人[59]将方法分为三类:解释数据处理、解释数据表示和解释生成网络。在这种分类下,线性代理模型方法和规则提取方法同样被视为代理方法,而没有注意到它们之间有很多差异(前者是局部方法,而后者通常是全局方法,并且它们产生的解释不同,我们将请参阅我们的分类法)。Guidotti等人[49]考虑了所有的黑箱模型(包括树集合、支持向量机等),并给出了一个基于四个维度(可解释性问题的类型、解释器的类型、黑箱模型的类型、数据的类型)的细粒度分类。然而,他们将决策树、决策规则、显着性掩模、敏感性分析、激活最大化等视为解释器。在我们看来,有些是某种类型的解释,有些是用于产生解释的方法。Zhang和Zhu[60]回顾了在计算机视觉领域中理解网络中间层表示或使用可解释表示学习网络的方法。

本调查有以下贡献: (1)在参考文献[18]的基础上,我们进一步向可解释性的定义迈进了一步。在这个定义中,我们强调解释的类型(或格式)(例如,规则形式,包括决策树和决策规则集)。这是我们提出的分类法中的一个重要维度。以前的论文通常将现有方法组织成各种孤立的(在很大程度上)解释器(例如决策树、决策规则、特征重要性、显着性图等)。(2)我们分析了可解释性的真正需求,并将其总结为三组:可解释性作为系统的重要组成部分,应该具有高度可靠性;道德或法律要求;并且可解释性提供增强相关科学领域知识的工具。相比之下,之前的一项调查[49]仅通过提供黑盒模型可能存在危险的几种案例来显示可解释性的重要性。(3)我们提出了一种新的分类法,包括三个维度(被动与主动方法、解释格式以及局部-半局部-全局可解释性)。请注意,尽管以前的文献中已经讨论了分类学的许多成分,但它们要么是在完全不同的上下文中提到的,要么是相互交织的。据我们所知,我们的分类法提供了现有方法最全面、最清晰的分类。

我们的分类组织的三个自由度允许一个示意图的3D视图,说明了在深层网络可解释性方面的各种尝试是如何相关的。它还通过填补可解释性研究中的一些空白,为可能的未来工作提供了建议(参见图2)。

分类方法

我们提出了一种具有三个维度的新分类法(见图 1):(1)被动与主动方法维度,(2)产生的解释的类型/格式,以及(3)分别从局部到全局的可解释性维度。 第一个维度是分类的,有两个可能的值:被动解释和主动可解释性干预。它根据是否需要改变网络架构或优化过程对现有方法进行划分。被动解释过程从经过训练的网络开始,所有权重均已从训练集中学习。此后,这些方法尝试提取逻辑规则或提取一些可理解的模式。而主动方法则需要在训练前进行一些改变,如引入额外的网络结构或修改训练过程。这些修改使网络变得更加可解释(例如,更像一个决策树)。最常见的是,此类主动干预以正则化条款的形式出现。

与以前的调查不同,其他两个维度允许序数值。例如,前面提出的解释器[49]的维度类型产生了诸如决策树、决策规则、特征重要性、敏感性分析等子类别。然而,这些预先认可的解释器之间并没有明确的联系(决策树和特征重要性之间的关系是什么)。相反,我们的第二个维度是解释的类型/格式。通过检查不同方法产生的各种解释,我们可以观察到它们的明确程度的差异。逻辑规则提供了最清晰和明确的解释,而其他类型的解释可能是隐含的。例如,显著性映射本身只是某个输入的掩码。通过观察显著性图,人们构建了一种解释:"模型之所以做出这种预测,是因为它聚焦于(输入的)这个高度有影响力的部分和那个部分"。希望这些部分对应于一些领域可理解的概念。严格来说,隐含的解释本身并不是完整的解释,需要进一步的人类解释,而这通常是人们在看到它们时自动完成的。我们在这里认识到四种主要的解释类型,逻辑规则、隐藏语义、归因和举例解释,并按解释能力递减的顺序排列。在之前的文献中也有类似的讨论,例如,Samek等人[61]提供了一个关于"解释类型"的简短小节(包括解释习得表征、解释个体预测等)。然而,它与我们将在下一段中介绍的可解释性研究的另一个独立维度混合在一起。最近的一项调查[62]遵循同样的哲学,将显著性映射和概念归因[63]视为不同类型的解释,而我们认为它们是相同的,只是在下面的维度上有所不同。

最后一个维度,从局部可解释性到全局可解释性(相对于输入空间),在最近的论文中变得非常常见(例如,[18]、[49]、[58]、[64]),其中全局可解释性意味着能够理解模型的整体决策逻辑,局部可解释性侧重于单个预测的解释。然而,在我们提出的维度中,全局可解释性和局部可解释性(即半局部可解释性)之间存在过渡而不是硬性划分。局部解释通常利用目标输入的信息(例如,它的特征值,它的梯度)。但全局解释试图推广到尽可能广泛的输入(例如,规则学习中的顺序覆盖、特征重要性排名的边际贡献)。这种观点也得到了几种半局部解释方法[65]、[66]的存在的支持。也有人尝试以自下而上的方式将局部解释融合到全局解释中[19],[67],[68]。为了帮助理解后两个维度,表II列出了分类法下不同子类别产生的典型解释的示例。

相关推荐
AI完全体9 分钟前
【AI知识点】偏差-方差权衡(Bias-Variance Tradeoff)
人工智能·深度学习·神经网络·机器学习·过拟合·模型复杂度·偏差-方差
GZ_TOGOGO21 分钟前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为
sp_fyf_202421 分钟前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-02
人工智能·神经网络·算法·计算机视觉·语言模型·自然语言处理·数据挖掘
新缸中之脑23 分钟前
Ollama 运行视觉语言模型LLaVA
人工智能·语言模型·自然语言处理
卷心菜小温44 分钟前
【BUG】P-tuningv2微调ChatGLM2-6B时所踩的坑
python·深度学习·语言模型·nlp·bug
胡耀超1 小时前
知识图谱入门——3:工具分类与对比(知识建模工具:Protégé、 知识抽取工具:DeepDive、知识存储工具:Neo4j)
人工智能·知识图谱
陈苏同学1 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
吾名招财1 小时前
yolov5-7.0模型DNN加载函数及参数详解(重要)
c++·人工智能·yolo·dnn
FL16238631292 小时前
[深度学习][python]yolov11+bytetrack+pyqt5实现目标追踪
深度学习·qt·yolo
羊小猪~~2 小时前
深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)
pytorch·python·rnn·深度学习·机器学习·数据分析·lstm