橦言无忌

一个不想改变世界的程序媛

On Interpretability of Artificial Neural Networks-A Survey

前言

title: On Interpretability of Artificial Neural Networks A Survey

链接: https://pan.baidu.com/s/1mmXJSe-n63EYjxNztRrCig
提取码: 8q5v
—来自百度网盘超级会员v6的分享

ANN 模型的解释综述文章~

摘要

由人工深度神经网络(DNN)实现的深度学习最近在处理文本、图像、视频、图形等的许多重要领域取得了巨大成功。 然而,DNN 的黑盒性质,成为了其在医疗诊断、治疗等关键应用中被广泛采用的主要障碍之一。 由于深度学习的巨大潜力,DNN 的可解释性最近引起了很多研究关注。 在本文中,我们提出了一种简单但全面的可解释性分类法,系统地回顾了神经网络可解释性的最新研究,描述了可解释性在医学中的应用,并讨论了未来的研究方向,例如与模糊逻辑和大脑科学相关的研究方向。

一,介绍

深度学习[71]已成为许多常见重要领域的主流方法,例如文本[40]、图像[181]、视频[132]和图形[88]。 然而,深度学习作为一种黑盒模型,虽然在实践中表现得很好,但很难解释其底层机制和行为。 人们经常会问这样的问题,深度学习如何做出这样的预测?为什么模型中某些特征比其他特征更受青睐?需要进行哪些更改来提高模型性能?不幸的是,目前能严谨回答这些问题的研究很有限。

深度神经网络(DNN)的可解释性对于许多领域至关重要,尤其是医疗保健领域[67]、[68]、[173],首先,模型稳健性是医疗应用中至关重要的问题。 最近的研究表明模型的可解释性和稳健性密切相关[131],一方面,模型稳健性的提高促进了模型的可解释性。 例如,通过对抗性训练(一种用对抗性示例增强训练数据的训练方法)训练的深度模型,比没有对抗性示例训练的相同模型表现出更好的可解释性(具有更准确的显著图)[131]。 另一方面,当我们深入理解一个模型时,我们可以彻底检查它的弱点,因为可解释性可以帮助识别复杂模型的潜在漏洞,从而提高其准确性和可靠性。 此外,可解释性在深度学习技术的道德使用中发挥着重要作用[57]。 为了建立患者对深度学习的信任,需要可解释性来让深度学习系统负责[57]。 如果模型构建者可以解释为什么模型在某些条件下做出特定决策,用户就会知道这样的模型是否会导致不良事件。 然后就可以建立标准和协议来更好地使用深度学习系统。

然而,缺乏可解释性已成为深度学习在关键任务应用中的主要障碍。 例如,欧盟于2016年提出规定,受算法影响的个人有权获得解释[61]。 尽管在深度学习的可解释性方面做出了巨大的努力,并且已经有了关于该主题的几篇综述,但我们认为仍然需要最新的综述,特别是考虑到该领域的快速发展。 Zhang和Zhu[201]的综述主要是视觉可解释性。 他们的综述中的代表性出版物,在我们综述中是特征分析、显著性和代理分类法。 Chakraborty 等人[28]采纳了Lipton [112]关于可解释性的意见,并相应地构建了他们的综述以提供深入的观点,但范围有限,例如只引用了49 篇参考文献。 杜等人的综述[43]也有类似的弱点,只涵盖了40篇论文,分为事后解释和临时解释,以及全局解释和局部解释。 他们的分类比较粗粒度,忽略了一些重要的出版物,例如关于文本解释、案例解释等的出版物。相比之下,我们的综述非常详细和全面,包括最新的研究结果。 [58]中的出版物将解释性分类为理解神经网络的工作流程、理解神经网络的表示和解释生成,我们涵盖了所有这些方面,并讨论了如何构建可解释神经网络原型的研究。 Guidotti 等人的综述[65] 以及 Adadi 和 Berrada [2] 涵盖了现有的黑盒机器学习模型,而不是专注于神经网络。 因此,他们的调查中缺少几篇解释神经网络的标志性论文,例如从数学和物理角度的解释。

Arrieta等人[10]对可解释的人工智能(XAI)进行了广泛的回顾,其中澄清了概念和分类法,并确定了挑战。 虽然该综述涵盖了 AI/ML 的一般可解释性,但我们的综述是针对 DNN 的,并提供了独特的视角和见解。 具体来说,我们的综述在以下意义上是新颖的:

  • 1)我们分别讨论事后和临时可解释性,因为前者解释现有模型,而后者构建可解释的模型;
  • 2)我们的方向包括广泛研究的生成模型、总结深度学习理论进展、回顾先进的数学/物理方法以及可解释性在医学中的应用;
  • 3)通过定制示例和通过GitHub公开的代码来说明重要方法;
  • 4)可解释性研究是一个快速发展的领域,每年都会发表许多研究文章。
    因此,我们的综述应该是对文献的有价值且最新的补充。

在开始调查之前,让我们首先陈述有关可解释性的三个基本问题:

  • 1)可解释性意味着什么?
  • 2)为什么解释性很困难?
  • 3)如何建立良好的解释方法?

第一个问题在[112]中得到了很好的解决,为了完整性,我们将他们的陈述放在这里。 第二个问题在[112]和[145]中得到了部分涉及,我们将这些综述纳入其中并用我们自己的观点进行补充。 对于第三个问题,我们提出自己的看法。

A,什么是可解释性?

尽管“可解释性”一词被频繁使用,但人们对可解释性的确切含义并没有达成共识,这在一定程度上解释了当前解释方法如此多样化的原因。 例如,一些研究人员探索模型的事后解释,而另一些研究人员则关注模型机器之间的相互作用机制。 一般来说,可解释性是指人类理解和推理模型的能力程度。 基于Lipton[112]的分类,我们总结了不同层面的可解释性的含义。

可仿真性被认为是对整个模型的理解,从某种意义上说,我们可以在统一的理论框架中理解顶层模型的机制。一个例子是[140]中报道的:一类径向基函数(RBF)网络可以表示为带有正则化项的插值问题的解决方案,其中 RBF 网络是一种以 RBF 作为激活函数的人工神经网络。 从可仿真性来看,模型越简单,模型的可仿真性就越高。 例如,线性分类器或回归器是完全可以理解的。 为了增强可仿真性,我们可以改变模型的一些性质或使用精心设计的正则化项。

可分解性是指根据模型的组件(例如神经元、层、块等)来理解模型,这种模块化分析在工程领域非常流行。 例如,复杂系统的内部工作被分解为功能化模块的组合。 大量的工程实例,例如软件开发和光学系统设计,已经证明模块化分析是有效的。 在机器学习中,决策树是一种模块化方法,其中每个节点都有一个明确的效用来判断判别条件是否满足,每个分支输出一个判断结果,每个叶节点代表最终的结果,计算所有属性后做出决定。 模块化神经网络有利于网络设计的优化,因为我们知道整个模型的每个组件的作用。

算法透明度是为了理解模型的训练过程和动态,神经网络的目标函数的情况是高度非凸的。 深度模型没有唯一的解决方案这一事实损害了模型的透明度。 然而,有趣的是,当前基于随机梯度下降(SGD)的学习算法仍然高效且有效地执行。 如果我们能够理解学习算法为何起作用,深度学习的研究和应用将会加速。

B,为什么可解释性很难?

在理解了可解释性的含义之后,一个自然的问题是,是什么阻碍了实践者研究可解释性?这个问题在[145]中从商业障碍和数据的自然特性方面得到了部分解决。 在这里,我们用关于人类局限性和算法复杂性的其他方面来补充他们的观点,我们认为可解释神经网络的障碍来自以下四个方面。

人为限制

在许多应用中,专业知识对模型而言往往是不足的。 如今,深度学习已被广泛应用于解决复杂的问题,即使是专业人士也无法充分理解。 更糟糕的是,这些问题并不少见。 例如,在最近的一项研究[46]中,我们提出使用人工神经网络来预测伪随机事件。 具体来说,我们将 100000 个二进制连续数字输入到网络中,以预测序列中的第 100001 个数字。 在我们的预测中,高度复杂的隐藏关系被学会以 $3\sigma$ 的准确率击败纯粹的随机猜测。 此外,据推测,神经网络的高灵敏度和高效率可能有助于区分伪随机性和真实量子随机性之间的根本差异。 在这种情况下,神经网络的可解释性将会缺失也就不足为奇了,因为即使是最有才华的物理学家也对这个问题的本质知之甚少,更不用说完全理解神经网络的预测了。

商业壁垒

在商业世界中,企业有强烈的动机隐藏其模型。 首先也是最重要的是,公司从黑盒模型中获利。 公司通过完全透明的模型获取资本的做法并不常见[145]。 其次,模型不透明有助于保护辛苦工作免遭逆向工程。 这样的黑匣子才是有效而理想的,因为被服务的客户可以获得满意的结果,而竞争对手无法轻易窃取他们的知识产权[145]。 第三,建立可解释模型的原型可能会在财务、计算和其他资源方面花费太多。 现有的开源高级模型可以轻松地为特定任务构建性能良好的算法。 然而,对结果模型的行为产生可靠且一致的理解需要付出更多的努力。

数据原生性

一方面,虽然现在是大数据时代,但很多领域往往无法获取高质量的数据。 例如,在预测电网故障的项目中[145],数据库涉及文本文档、追溯到1890年代的电力会计数据以及新沙井检查的数据。 高度异构和不一致的数据不仅阻碍了深度学习模型的准确性,而且阻碍了可解释性的构建。 另一方面,现实世界的数据具有高维度的特征,这抑制了推理。 例如,给定 MNIST 图像分类问题,输入图像的大小为 28 × 28 = 784,因此,解决此问题的深度学习模型必须学习 784 个变量到 10 个数字之一的有效映射。 如果我们考虑 ImageNet 数据集,输入变量的数量将达到 512×512×3 = 768 432。

算法复杂性

深度学习是一种大规模、高度非线性的算法。 卷积、池化、非线性激活、捷径等都有助于神经网络的可变性。 深度模型的可训练参数数量可以达到数亿甚至更多。 尽管非线性不一定会导致不透明(例如,决策树模型不是线性的,但可以解释),但深度学习的一系列非线性操作确实阻止了我们理解其内部工作原理。 此外,递归性是另一个困难来源。 一个典型的例子是非线性递归导致的混沌行为。 众所周知,即使是简单的递归数学模型也可能导致棘手的动力学[107]。 在[174]中,证明即使在简单的神经网络中也存在诸如分叉之类的混沌行为。 在混沌系统中,初始输入的微小变化可能会导致巨大的结果差异,从而增加解释方法的复杂性。

C,怎么构建好的可解释性方法?

第三个主要问题是评估所提出的解释方法质量的标准。 由于现有的评估方法还为时过早,我们提出了五个通用且明确的经验法则:

  • 1)准确性;
  • 2)一致性;
  • 3)完整性;
  • 4)普遍性;
  • 5)奖励。

与[42]中描述的方法相比,我们的经验法则是细粒度的,并且侧重于解释方法的特征:基于应用程序、基于人性化和基于功能。

准确度

准确度是指解释方法的准确程度。 仅限于定性描述还是定量分析? 一般来说,定量解释方法比定性解释方法更可取。

一致性

一致性表明解释中不存在矛盾。 对于多个相似的样本,公平的解释应该产生一致的答案。 此外,解释方法应符合真实模型的预测。 例如,基于代理的方法是根据它们复制原始黄金模型的程度来评估的。

完整性

从数学上讲,神经网络是学习最适合数据的映射。 一个好的解释方法应该显示出支持最大数量的数据实例和数据类型的有效性。

通用性

随着深度学习的快速发展,深度学习的宝库得到了极大的丰富。 这种多样化的深度学习模型在广泛的应用中发挥着重要作用。 一个重要的问题是我们是否可以开发一种通用解释器来解释尽可能多的模型以节省劳动力和时间。 但是,由于模型之间的高度可变性,这在技术上具有挑战性。

奖励

加深对神经网络的理解有哪些收获? 除了从业者和用户的信任之外,可解释性的成果还可以是对网络设计、训练等的深入了解。由于其黑盒性质,使用神经网络在很大程度上是一个试错过程,有时会产生相互矛盾的直觉。 对深度学习的透彻理解将有助于神经网络的研究和应用。

简而言之,我们在这篇综述中的贡献有三个:

  • 1)我们提出了一种用于神经网络可解释性的全面分类法,并用我们的见解描述了关键方法;
  • 2)我们系统地说明了可解释性方法作为教育辅助工具,如图3、5、6、7、9、10、16和17所示;
  • 3)我们在神经网络和规则的融合方面阐明了可解释性研究的未来方向,系统、神经网络和脑科学之间的协同作用以及医学的可解释性。

二,解释方法综述

在本节中,我们首先介绍我们的分类法,然后回顾分类法每个类别下的可解释性结果。 我们于2020年9月22日在Web of Science中输入搜索词“深度学习可解释性”、“神经网络可解释性”、“可解释神经网络”和“可解释深度学习”,时间范围为2000年至2019年,图1绘制了相对于年份的文章数量,它清楚地显示了该领域的指数趋势。 通过这项调查,我们的动机是涵盖尽可能多的重要论文。 因此,我们并不将自己限制在 Web of Science 内,还使用 Google Scholar、PubMed、IEEE Xplore 等搜索相关文章。

A,分类定义

如图2 所示,我们的分类法基于我们调查的论文和现有的分类法。 我们首先将调查的论文分为事后可解释性分析和即席可解释建模。 事后可解释性分析来解释现有模型,可以进一步分为特征分析、模型检查、显著性、代理、高级数学/物理分析、案例解释和文本解释。 即席可解释建模构建可解释模型,可以进一步分类为可解释表示和模型更新。 在我们提出的分类法中,高级数学/物理分析类是新颖的,但不幸的是在之前的评论中缺失了。 我们认为这门课相当重要,因为数学/物理的结合对于为深度学习奠定坚实的基础至关重要。 下面,我们澄清分类学的定义及其说明。 我们想强调的是,一种方法可能属于不同的类别,具体取决于人们如何看待它。

事后可解释性分析

事后可解释性是在充分学习模型后进行的。 事后方法的一个主要优点是不需要牺牲可解释性和预测性能,因为预测和解释是两个独立的过程,互不干扰。 然而,事后解释通常并不完全忠实于原始模型。 如果与原始模型相比,解释是 100% 准确的,那么它就成为原始模型。 因此,任何此类解释方法或多或少都是不准确的。 更糟糕的是我们常常不知道其中的细微差别[145]。 这样的细微差别使得从业者很难对一种解释方法有充分的信任,因为解释方法的正确性得不到保证。

特征分析技术的重点是比较、分析和可视化神经元和层的特征。 通过特征分析,识别敏感特征和处理它们的方法,从而在一定程度上解释模型的基本原理。
特征分析技术可以应用于任何神经网络,并提供有关网络学习哪些特征的定性见解。 然而,这些技术缺乏深入、严格和统一的理解,因此不能用于修正模型以获得更高的可解释性。

模型检查利用外部算法深入研究神经网络,系统地提取神经网络内部工作机制的重要结构和参数信息。
此类方法比特征分析中的方法在技术上更可靠,因为统计等分析工具直接参与性能分析。 因此,通过模型检查方法获得的信息更值得信赖和有价值。 在一项示例性研究[183]中,寻找重要的数据路由路径被用作理解模型的一种方式。 通过这样的数据路由路径,模型可以被忠实地压缩为紧凑的模型。 换句话说,可解释性提高了模型压缩的可信度。

显著性方法识别输入数据的哪些属性与模型的预测或潜在表示最相关。 在这一类别中,涉及人工检查来确定显著性图是否合理。 显著性图很有用,即,如果北极熊总是出现在与雪或冰一起出现的图片中,则模型可能误用了雪或冰的信息来检测北极熊,而不是利用北极熊的真实特征进行检测。 通过显著图,可以发现并避免这个问题。
显著性方法在可解释性研究中很流行,然而,广泛的随机测试表明,一些显著性方法可能独立于模型和数据[3]。即,某些方法提供的显著性图与边缘检测器产生的结果高度相似。 这是有问题的,因为这意味着这些显著性方法无法找到解释模型预测的输入的真实属性。 因此,在这些情况下应开发与模型相关和数据相关的显著性方法。

代理方法构建一个更简单、更可解释的代理,它非常类似于经过训练的大型复杂黑盒模型。 代理方法可以是局部空间中的局部方法,也可以是整个解决方案空间中的全局方法。 示例性代理模型包括决策树、规则系统等。 代理方法的弱点是构建代理模型需要额外的成本。

先进的数学/物理分析方法将神经网络置于理论数学/物理框架中,通过先进的数学/物理工具来理解神经网络的机制。 该类别中涵盖深度学习的理论进展,包括非凸优化、表征能力和泛化能力。
本类的一个问题是,为了建立合理的解释,有时会做出不切实际的假设来促进理论分析,这可能会损害解释的实际有效性。

案例解释方法遵循基于案例的推理[90]。 人们喜欢例子。 人们可能不会被产品的无聊统计数字所吸引,但在聆听其他用户使用此类产品的体验时可能会感到惊讶。 这一理念赢得了许多从业者的心,并激发了基于案例的深度学习解释。 案例解释方法提供了抓住模型本质的代表性示例。
本类中的方法很有趣且鼓舞人心。 然而,这种做法更像是健全性检查而不是一般解释,因为从选定的查询案例中无法理解有关神经网络内部工作的太多信息。

文本解释方法在图像语言联合任务中生成文本描述,有利于理解模型的行为。 此类还可以包含生成用于解释的符号的方法。
此类中的方法在图像语言联合任务中特别有用,例如从 X 射线照片生成诊断报告。 然而,文本解释并不是任何深度学习模型的通用技术,因为它只有在模型中存在语言模块时才能起作用。

即席可解释建模

即席可解释建模消除了事后可解释性分析中或多或少存在的偏差。 尽管人们普遍认为可解释性和模型可表达性之间存在权衡[123],但仍然有可能找到一个既强大又可解释的模型。 一个值得注意的例子是[30]中报告的工作,其中可解释的两层额外风险模型赢得了 FICO 认可竞赛的第一名。

可解释的表示方法采用正则化技术来引导神经网络的优化朝着更可解释的表示方向发展。 可分解性、稀疏性和单调性等属性可以增强可解释性。 因此,正则化特征成为允许更多可解释模型的一种方式。 相应地,出于可解释性的目的,损失函数必须包含正则化项,这限制了原始模型执行其完整的学习任务。

模型更新方法通过设计更多可解释的机器并将其部署到网络中来寻求可解释性。 这些机器包括具有专门设计的激活功能的神经元、具有特殊功能的插入层、模块化架构等等。 未来的方向是使用越来越多的可解释组件,这些组件可以同时为不同的任务实现类似的最先进的性能。

B,事后可解释性分析

特征分析

基于反转的方法[41]、[117]、[163]、[200]通过将特征图反转为合成图像来破解神经网络的表示。 例如,Mahendran 和 Vedaldi [117] 假设输入为图像 $x_0$ 的神经网络 $\Omega_0$ 的表示被建模为 $\Omega_0 = \Omega (x_0)$,其中 $\Omega$ 是神经网络映射,通常不可逆。 然后,反演问题被公式化为找到一个图像 $x^\ast$,其神经网络表示最匹配 $\Omega_0$; 即 $\mathop {argmin}_x |\Omega (x) − \Omega_0 |_2 + \lambda R(x)$,其中 $R(x)$ 是表示有关输入图像的先验知识的正则化项。 目标是通过比较倒置图像和原始图像之间的差异来揭示丢失的信息。 Dosovitskiy 和 Brox [41] 直接训练一个新网络,以感兴趣模型生成的特征作为输入,图像作为标签,将中间层的特征反转为图像。 研究发现,即使从更深层次的特征中,仍然可以重建轮廓和颜色。 Zeiler 和 Fergus [200] 设计了一个由反池化、校正、反卷积操作组成的反卷积网络,与原始卷积网络配对,以便无需训练即可反转特征。 在反卷积网络中,通过使用最大值的位置来实现反池化层; 通过将负值设置为0来实现校正; 反卷积层使用转置卷积滤波器。

激活最大化方法[45]、[128]、[129]、[168]致力于合成图像,最大化感兴趣的神经网络或神经元的输出。 由此产生的图像被称为“深度梦”,因为它们可以被视为神经网络或神经元的梦境图像。

在[16]、[85]、[108]、[196]和[210]中,有人指出可以从每个神经元中提取有关深度模型的信息。 Yosinski等[196]直接检查了每层神经元针对不同图像或视频的激活值。 他们发现不同输入的实时激活值变化有助于理解模型的工作原理。 Li等[108]对比不同初始化生成的特征,以研究神经网络在随机初始化时是否学习相似的表示。 感受野(RF)是神经元与输入体积连接的空间范围[111],为了研究神经元给定输入的 RF 大小和形状,Zhou 等[210]提出了一种网络剖析方法,首先选择感兴趣神经元的高激活值的K张图像,并为每张图像构建5000张遮挡图像,然后将它们的给定单位输入神经网络来观察感兴趣神经元激活值的变化,较大的差异表明存在重要补丁。 最后,对差异较大的被遮挡图像进行居中和平均以生成 RF,这种网络剖析方法已扩展到生成网络[17]。 此外,Bao等[16]将给定层的低分辨率激活图放大到与输入相同的大小,将图阈值化为二元激活图,然后计算二元激活图和真值之间的重叠区域的二进制分割图作为可解释性度量。 Karpathy等[85] 将 LSTM [73] 中的门定义为左饱和或右饱和,具体取决于其激活值小于 0.1 或大于 0.9。 在这方面,经常处于饱和状态的神经元很有趣,因为这意味着这些神经元可以长期记住它们的值。 Zhang等[202]剖析了网络中的特征关系,前提是每层中滤波器的特征图可以由较早层中的部分模式激活。 他们逐层挖掘零件模式,从每一层的特征图中发现零件模式的激活峰值,并构建一个解释图来描述层次特征的关系,每个节点代表一个零件模式,相邻层之间的边代表一个共激活关系。

模型检验

经验影响函数是衡量估计量对样本的依赖性[99]。 Koh和Liang[89]应用影响函数的概念来解决以下问题:给定一个样本的预测,数据集中的其他样本对该预测有正面影响还是负面影响? 该分析还可以帮助识别数据中存在的错误注释标签和异常值。 如图 3 所示,给定一个类似 LeNet-5 的网络,通过影响函数可以识别给定图像的两个有害图像。

Bansal[12],Lakkaraju[97]和张等[203]致力于检测神经网络中的故障或偏差。 例如,Bansal[12] 开发了一种与模型无关的算法来识别神经网络可能无法提供任何预测的实例。 在这种情况下,模型会发出“不要相信这些预测”之类的警告作为警报。 具体来说,他们用二进制属性集合标记所有失败的图像,并将这些图像聚集在属性空间中。 因此,每个集群都指示一种故障模式。 为了有效地识别数据集中那些具有高预测分数的错误标记实例,Lakkaraju 等[97]引入了两个基本推测:第一个是错误标记高置信度的实例是由于系统偏差而不是随机扰动,而第二个是每个失败的示例都具有足够的代表性和信息性。 然后,他们将图像聚类成几个组,并设计了一种多分支搜索策略,将每个组作为一个分支,计划在每个步骤中应该查询和采样哪个组。 为了发现代表性偏差,Zhang 等[203]根据人类的常识(火热与冰冷)利用属性之间的真值关系来检查神经网络挖掘的属性关系是否很好地符合真值。

Wang等[183]通过识别关键数据路由揭开了网络的神秘面纱。 具体来说,将门控制二元向量 $\lambda_k \in \{0, 1\}^{n_k}$ (其中 $n_k$ 是第 $k$ 层中的神经元数量)乘以第 $k$ 层的输出,并制定了寻找控制门值的问题为:搜索 $\lambda_1, \cdots,\lambda_k$ 满足下面公式公式

其中 $f_\theta$ 是由 $\theta$ 参数化的神经网络表示的映射,$f_\theta (x;\lambda_1,…,\lambda_k)$ 是控制门 $\lambda_1,…\lambda_k$ 固定时的映射。$d(·,·)$ 是距离度量,$\gamma$ 是控制损失和正则化之间权衡的常数,$|\cdot|_1$ 是 $l_1$ 范数,使得 $\lambda_k$ 是稀疏的,学习到的控制门可以暴露模型的重要数据处理路径。 Kim[86]开发了概念激活向量(CAV),它可以定量测量概念 $C$ 对于模型任何层的敏感性。 首先,训练二元线性分类器 $h$ 来区分由两组样本刺激的层激活:$\{f_l(x) : x \in P_C\}$ 和 $\{f_l(x) : x \notin P_C\}$,其中 $f_l(x)$ 是第 $l$ 层的层激活,$P_C$ 表示体现概念 $C$ 的数据。然后,CAV 被定义为线性分类器超平面的法向单位向量 $v^l_C$,该超平面分离具有/不具有定义的样本。 最后,$v^l_C$ 用于计算第 $l$ 层中概念 $C$ 作为方向导数的敏感性

其中 $h_{l,k}$ 表示输出类 $k$ 的训练二元线性分类器的 logits。 You等[195]将神经网络映射为关系图,然后通过大量实验(将图转录为网络并在数据集上实现网络)研究神经网络的图结构及其预测性能之间的关系。 他们发现网络的预测性能与两个图形度量相关:1)聚类系数,2)平均路径长度。

显著性

有很多方法可以获取显著性图。 部分依赖图(PDP)和个体条件期望(ICE)[53]、[59]、[74]是与模型无关的统计工具,用于可视化因变量和预测变量之间的依赖性。 为了计算 PDP,假设输入维度为 $p$,并令 $S,C \subseteq {1,2,…,p}$ 为两个互补集,其中 $S$ 是固定的集合,$C$ 是可变的集合。 然后,$x_S$ 的 PDP 定义为 $f_S =\int f(x_S,x_C)dx_C$,其中 $f$ 是模型。ICE 的定义很简单,$x_S$ 处的 ICE 曲线是通过固定 $x_C$ 并改变 $x_S$ 获得的。 图 4 显示了一个简单的示例,说明如何分别计算 PDP 和 ICE。

一种简单的方法是研究删除一个特征后预测的变化,也称为留一归因[4]、[83]、[105]、[143]、[211]。 例如,Kádár[83]利用这个想法定义了一个消去分数:$1−\mathop{cosine}(h(S), h(S_{\setminus i}))$,其中 $\mathop{cosine}(\cdot,\cdot)$ 是余弦距离,$h$ 是句子的表示 ,$S$ 是完整的句子,$S_{\setminus i}$ 是没有第 $i$ 个单词的句子,并分析每个单词的重要性。 Adler[4]建议衡量相关输入的间接影响,例如,在房屋贷款决策系统中,种族不应该成为决策的因素。 然而,仅仅去除种族因素并不足以排除种族的影响,因为一些剩余因素,例如“邮政编码”,与种族高度相关。

此外,合作博弈论中的Shapley值被用于[6]、[27]、[39]、[113]和[115]中,在数学上,集合函数 $\hat f$ 相对于特征 $i$ 的 Shapley 值定义为

其中,$|\cdot|$ 是集合的大小,$P$ 是 $N$ 个层的总层集合,并且集合函数 $\hat f$ 将每个子集 $S \subseteq P$ 映射到一个实数。 此外,通过用零值替换输入中不属于 $S$ 集合中的特征,可以将 Shapley 值的定义扭曲为神经网络函数 $f$。 为了减少组合爆炸带来的令人望而却步的计算成本,Ancona 等[6]提出了一种新颖的 Shapley 值多项式时间近似,它基本上计算随机组合的期望,而不是枚举每个组合。 图 5 显示了如何为在加州住房数据集上训练的全连接层网络计算 Shapley 值的简单示例,其中包括八个属性,例如作为输入的房屋年龄和房间号以及作为标签的房价。

研究人员并没有删除一个或多个特征,而是采用了梯度。 Simonyan[156],Smilkov[160],Sundararajan [167]和Singla[159]利用梯度的思想来探测输入的显著性。 Simonyan[156]计算了类别分数相对于图像像素的一阶泰勒展开,通过该一阶系数生成类别的显著性图。 Smilkov[160]证明梯度作为显著性显示了属性和标签之间的相关性,但是,通常梯度相当嘈杂。 为了消除噪声,他们提出了用SmoothGrad将噪声多次添加到输入图像中并对结果进行平均,$\widehat{M_c}(x)=(1/N)\sum^N_{n=1}M_c^{(n)}(x+N(0,\sigma^2)) $,其中 $M_c^{(n)}$ 是以 $\sigma$ 为标准方差的高斯噪声。 基本上,$M(x)$ 是显著图的平滑版本。 Sundararajan[167]为显著性方法设定了两个基本要求:1)(敏感性)如果输入和基线之间只有一个特征不同,输入和基线的输出不同,那么这个特征应该被赋予非零值; 2)(实现不变性)两个功能等效的网络中相同特征的属性应该是相同的。 注意到早期基于梯度的显著性方法不满足上面两个要求。他们提出了积分梯度,公式是:$(x_i-x_i’)\int^1_0[\partial F (x’+\alpha (x-x’))/\partial x_i]d\alpha $

其中 $F(\cdot)$ 是神经网络映射,$x = (x_1, x_2, \cdots, x_N )$ 是输入,$x’ = (x’_1 ,x’_2 ,\cdots,x’_N )$ 是基线且满足 $(\partial/\partial x)F(x)|_{x=x’} = 0$。实际中,积分可以转化为离散求和 $[(x_i − x_i’)/M] \times \sum^M_{m=1}[\partial F (x’ + (m/M)(x − x’))/\partial x_i]$,其中 $M$ 是积分近似的步数。 Singla[159]提出使用泰勒展开的二阶近似来生成显著图,以考虑特征依赖性。

Bach[11]提出了分层相关性传播(LRP),通过假设模型表示 $f(x)$ 可以表示为像素相关性 $R^l_p$ 之和,来计算一个属性与预测的相关性,其中 $x$ 是输入图像,$l$ 是层的索引,$p$ 是 $x$ 的像素的索引。 因此,$f(x) = \sum_p R^L_p$,其中 $L$ 是最后一层,$RL = [(w_p x^{L−1}_p )/(\sum_p w_p x^{L−1}_p )]f (x)$,其中 $w_p$ 是连接第 (L − 1) 层和最后一层的像素 $p$ 的权重。 给定前馈神经网络,输入的像素相关性得分 $R^1_p$ 是通过向后计算 $R^l_p =\sum_j[z_{pj} /(\sum_{p’}z_{p’j} )]R^{l+1}_j$ 得出的,其中 $z_{pj} = x^l_p w^{(l,l+1)}_{pj}$,其中 $w^{(l,l+1)}_{pj}$ 是第 $l$ 层的像素 $p$ 和第 $(l + 1)$ 层的像素 $j$ 之间的权重。 此外Arras[9] 将 LRP 扩展到循环神经网络(RNN)以进行情感分析。 蒙塔冯等人。 [125]采用深度泰勒分解的整个一阶项来产生显著图,而不仅仅是梯度。 假设 x 是模型 f(x) 精心选择的函数根:f(x) = 0,因为 f(x) 可以分解为 f(x) = f(x)+([∂f/ ∂x]|x=x)T · (x−x)+ε = 0+ i(∂f/∂xi)|x=x(xi−xˆi)+ε,其中 ε 是高阶项, 像素 i 的像素相关性表示为 Ri = [∂f /∂xi]|x=x(xi − xˆi)。 Shrikumar 等人受到这样一个事实的启发:即使神经元没有被激发,它仍然有可能揭示有用的信息。 [155]提出 DeepLIFT 来计算每个神经元的激活与其参考之间的差异,其中参考是当网络提供参考输入时该神经元的激活,然后将差异反向传播到图像空间层 像LRP一样层。 辛格等人。 [158]引入了上下文分解,其层传播公式为 βi = Wβi−1 + [|Wβi−1|/(|Wβi−1| + |Wγi−1|)] · b 且 γi = Wγi−1 + [| Wγi−1|/(|Wβi−1| + |Wγi−1|)]·b,其中W是第i层和第(i−1)层之间的权重矩阵,b是偏置向量。 限制条件为gi(x)=βi(x)+γi(x),其中gi(x)是第i层的输出。 βi(x) 被认为是输入的上下文贡献,γi(x) 意味着输入对 gi(x) 的贡献不包含在 βi(x) 中。

图 6 展示了使用类似 LeNet-5 的网络对原始梯度、SmoothGrad、IntegratedGrad 和 Deep Taylor 方法的评估。 其中,IntegratedGrad 和 Deep Taylor 方法在五位数上表现出色。
用于量化深度模型的输入和潜在表示之间的关联的互信息度量也可以类似地起到显著性的作用[63]、[148]、[193]。 此外,还有其他方法来获取显著性图。 罗斯等人。 [144]定义了一个新的损失项
i (Ai(∂/∂xi) Kk=1 log(yˆk))2 用于训练,其中 i 是像素的索引,Ai 是要优化的二进制掩码,yˆk 是标签的第 k 位,K 是班级数量。 这种损失是为了惩罚梯度的锐度,以获得更清晰的解释边界。 Fong 和 Vedaldi [52] 探索学习要删除的最小区域,即找到最优的 m*

// 代码折叠