On Interpretability of Artificial Neural Networks
Fenglei Fan, Student Member, IEEE, Jinjun Xiong and Ge Wang, Fellow, IEEE
摘要
深度学习在处理文本、图像、视频、图形等许多重要领域都取得了巨大的成功。然而,深层人工神经网络的黑箱性质已经成为它们在诸如诊断和治疗的关键应用中被公众接受和广泛流行的主要障碍。由于深度学习的巨大潜力,解释神经网络已经成为最关键的研究方向之一。在本文中,我们系统地回顾了最近在理解神经网络机制方面的研究,并阐明了可解释性研究的一些未来方向(这项工作仍在进行中)。
1. Introduction
- 深度学习已经成为许多重要领域的主流方法,针对常见的对象,如文本(J. Devlin et al. 2018)、图像(G. Wang, 2016)、视频(J. Oh et al., 2015) 和图形(T. N. Kipf and M. Welling, 2016)。然而,深度学习在某种意义上是黑箱模型:虽然深度学习在实践中表现很好,但很难解释其潜在机制和理解其行为。人们经常会问,深度学习是如何做出这样的预测的,为什么一些特性会比其他特性更受模型的青睐,为了提高模型的性能,需要做哪些改变等等。不幸的是,在回答这些问题时,只取得了非常有限的答案。缺乏可解释性已成为深度学习在广泛应用中的主要障碍。
- 尽管在促进深度学习的可解释性方面做出了努力,但全面的综述还没有。…(省略一部分)为了方便起见,我们在一个统一的框架内整理了145篇关于神经网络可解释性的论文,以了解模型,了解训练过程,构建可解释性模型,并将解释方法应用于医学领域。…
- 在我们开始调查之前,让我们先陈述三个关于可解释性的基本问题:可解释性意味着什么?为什么可解释性很难?以及如何做出好的解读方法?值得注意的是,第一个问题已经在Lipton (2016)中得到了很好的解决,为了完整起见,我们在此纳入了他们的陈述。第二个问题在Rudin (2019)和Lipton (2016)中有部分涉及,我们将这些评论纳入其中,并用自己的观点进行补充。此外,我们就第三个问题提出了自己的观点。
- A.可解释性是什么意思?
- 虽然人们经常使用可解释性这个词,但许多人并没有认真考虑可解释性的确切含义,这部分解释了为什么目前的解释方法如此多样化。例如,一些研究人员只关注先验模型的事后解释,而一些研究人员只关注算法机制之间的相互作用机制。一般来说,可解释性是指人类理解和推理模型的能力的程度。基于Lipton (2016)的工作,我们从以下几个方面总结了可解释性的含义。
- Simulatability(可模拟性) 被认为是对整个模型的理解。在很好的意义上,我们可以在一个统一的理论框架中在顶层理解模型的机制,例如在Poggio and Girosi (1990)中所报告的,一类径向基函数网络可以用带有正则项的近似问题的解来表示。从可仿真性来看,模型越简单,模型的可仿真性越高。比如线性分类器或者回归器完全可以理解。为了提高模型的可模拟性,我们可以改变模型的一些设施或使用一些正则化技术。
- Decomposability(可分解性)是从模型的组成部分来理解模型:神经元、层、块等等。这种模块化分析非常流行:复杂系统的内部工作被分解为功能模块的组合。无数的工程实例,如软件开发和光学系统设计,证明了模块化分析的有效性。在机器学习中,决策树是一种模块化的方法。决策树中的每个节点都有明确的效用,其功能是判断某个判别条件是否满足。神经网络的模块化有利于网络设计的优化,因为我们知道它在整个模型中的作用。
- Algorithmic Transparency(算法透明度)是为了理解训练算法。支持向量机的训练可以理解为搜索具有最大余量的决策边界。神经网络的目标函数是高度非凸的。事实上,深度模型通常没有唯一的解决方案,这损害了模型的透明度。然而,有趣的是,目前基于随机学习下降(SGD)的学习算法仍然高效和有效地执行。如果我们能理解为什么那些算法会起作用,深度学习研究和转化就会加速。
- 由于我们调查的许多论文有多个方面,很难将它们与可模拟性或可分解性联系起来,因此,我们将第二节中的可模拟性和可分解性结合在一起作为“理解模型”,从而Lipton (2016)的三个含义被压缩为两个:理解模型和理解训练。
- B.为什么可解释性很难?
- 在我们了解了可解释性的含义之后,一个问题是什么导致了获得可解释性的困难。Rudin (2019)从成本和数据的角度部分回答了这个问题。在这里,我们从人和算法两个方面补充她的观点。我们认为可解释神经网络的障碍来自四个方面:human、cost、data 和algorithm。
- Human:在许多应用中,专业知识往往不足。如今,深度学习已被广泛用于解决复杂的问题,即使是专业人士也无法充分理解。更糟糕的是,这些问题并不是几乎看不到,而是相当普遍。我们来讲一个典型的例子,我们组在(F. Fan and G. Wang, 2018c)中提出用人工神经网络来预测伪随机事件。具体来说,我们将100000个二进制序列数字输入网络,以预测序列中的第100,001个数字。在我们的预测中,一些高度复杂的隐藏关系被学会以3σ的精度击败纯粹随机的猜测。此外,我们推测,神经网络的高灵敏度和高效率可能有助于区分伪随机性和真实量子随机性之间的根本区别,等同于测试经典问题:上帝玩骰子吗?在这种情况下,难怪神经网络的可解释性会缺失,因为即使是最有才华的物理学家也对这个问题的本质知之甚少,更不用说完全理解神经网络的预测了。此外,通常可以看到,一些实践者毫无疑问地接受深度学习的结果,因为他们倾向于相信深度学习强大的表达能力可以从以前没有意识到的数据中解码隐藏的模式。
- Cost:从商业角度来看,企业隐藏其模型的动机很强烈。首先,公司从黑盒模式中获利。公司从完全透明的模型中赚钱并不是一种常见的做法(Rudin,2019)。其次,模型不透明有助于保护艰苦的工作不被逆向工程。一个有效的黑匣子是理想的:被服务的客户可以获得满意的结果,而竞争对手不能够轻易窃取他们的知识产权(Rudin,2019)。第三,可解释的模型可能在财务、计算和其他资源方面花费太多。深度学习是一种彻底的方法。作为主干的现有开源高级模型可以自动构建特定于给定任务的性能良好的算法。然而,对结果模型的行为产生可靠和一致的理解需要更多的努力。
- Data:一方面,虽然我们处于大数据时代,但在许多领域,要拥有结构化数据等高质量数据往往非常困难。更糟糕的是,数据异构,杂乱无章。例如,在电网故障预测项目(Rudin,2019)中,数据库涉及文本文档、追溯到19世纪90年代的电力会计数据以及来自新检修孔检查的数据。高度异构和复杂的数据不仅阻碍了深度学习的准确性,也阻碍了可解释性的构建。另一方面,现实世界的数据具有高维性,这抑制了我们的推理能力。不幸的是,维度诅咒是如此普遍,尤其是在计算机视觉任务中。给定MNIST图像分类问题,输入图像的大小为28 * 28 = 784。因此,解决这个问题的深度学习模型必须学习784个变量的有效映射。就ImageNet基准而言,输入变量的数量是令人难以置信的512 × 512 × 3 = 768433。
- Algorithm:深度学习是一种大规模、高度非线性的算法。卷积、池化、非线性激活、捷径等等促成了神经网络的可变性。深度模型的可训练参数数量可以是百万、千万甚至更多。与经典的凸优化问题相比,优化深度学习模型是一个复杂的非凸优化问题,很难理解。尽管非线性不一定会导致不透明(例如,决策树模型不是线性的,而是可解释的),但在深度学习中,一系列非线性操作确实会阻止我们理解神经网络的内部工作。另外,递归是另一个麻烦制造者。一个典型的例子是非线性递归导致的混沌行为。众所周知,即使是简单朴素的递归数学模型也可能导致复杂的动力学(T. Y. Li and J. A. Yorke, 1975)。在Van der Maas et al. (1990)中,发现即使在简单的神经网络中也存在混沌行为,如分叉。在混沌系统中,初始输入的微小变化可能导致巨大的结果差异。显然,棘手的混沌动力学增加了解释方法的复杂性,尤其是那些敏感性方法。
- 如何设计一个好的解释方法
- 解释的另一个大问题是期望的可解释性的标准。由于定量评估方法还很不成熟,我们提出了五个通用的、定义明确的经验法则,即exactness 准确性、consistency 一致性、completeness完整性、universality普遍性和reward奖励。我们的经验法则是细粒度的,更侧重于解释方法的特征,不同于Doshi-Velez and Kim (2017)中描述的:基于应用、基于人类和基于功能。
- Exactness 准确性:精确意味着解释方法有多精确。仅仅局限于一个现象描述还是有深度的定量分析?一般来说,定量解释方法比定性解释方法更准确。例如,注意力地图提供了神经网络所关注区域的直接印象,但由于缺乏严格的数学证明,它无法提供内部工作细节。
- Consistency 一致性:一致性意味着解释中没有矛盾。对于多个相似的样本,公平的解释应该产生一致的答案。此外,解释方法应该符合原始模型的预测。例如,基于代理的方法是根据它复制原始模型的紧密程度来评估的。
- Completeness完整性:从数学上讲,神经网络就是学习最适合数据的映射。解释方法应该在支持神经网络的最大空间中显示出有效性。换句话说,如果一种解释方法只对有限数量的数据实例和数据类型有效,那么它就被认为是次优的。
- Universality普遍性:随着深度学习的快速发展,深度学习库在过去的几年里得到了极大的丰富。极其多样化的深度学习模型在广泛的应用中发挥着重要作用。最佳点是我们可以开发一个通用解释器,它可以解释不同的模型,从而节省人力和时间。然而,导出一个通用解释器在技术上是有挑战性的。例如,自动编码器与残差神经网络有很大不同。很容易想象,要对这两个模型获得统一的解释是多么困难。
- Reward奖励:增强对神经网络的理解有什么好处?除了来自实践者和用户的信任之外,可解释性的成果可以是对网络设计/培训等的优化的见解。正如我们所知,由于黑盒的性质,使用神经网络基本上是一个试错过程,辅以杂乱无章的有时矛盾的直觉。深入了解深度学习对于神经网络的研究和开发是很有帮助的,这样可以大大减轻应用它们的痛苦。
- 总之,我们的贡献有三个方面:(1)我们提出了好的可解释性的五个经验法则;(2)我们为我们的评论提出了我们的可解释性分类;(3)我们对许多可解释性结果进行了独立评估。
A SURVEY ON INTERPRETATION METHODS
- 在这一节中,我们首先介绍我们的分类法。我们在2019年8月24日北京时间16:00在综合研究数据平台维度ai中使用了抽象搜索中的“可解释性深度学习”。由于我们对最近的研究更感兴趣,时间范围被限制在2006-2019年,因为“深度学习”的复兴始于2006年。这些出版物的数量绘制在图1中,图1清楚地显示了该领域的指数趋势。通过调查,我们的动机是覆盖尽可能多的重要论文,因此在搜索相关论文时,我们不会将自己限制在维度ai之内。我们在Google Scholar、Web of Science、PubMed和IEEE Xplore中搜索了“解释方法/深度学习”和“解释方法/神经网络”。
Figure 1. Exponential increase of the papers on interpretability. - 我们的分类法是基于我们调查的论文和以前的分类法,如图2所示。根据可解释性的含义,我们首先将调查的145篇论文分为“理解模型”、“理解训练”和“构建可解释性模型”。“理解模型”一类进一步分为特征分析、模型检验、显著性、代理、高等数学/物理、案例解释和文本解释方法。