引子:在机器学习中,可解释性的概念既重要又难以捉摸。我们能相信模型吗?它在部署过程中会起作用吗?关于这个世界,模型还能告诉我们什么?模型不仅应该是好的,而且应该是可以解释的,然而,可解释性似乎没有具体的说明和定义。本文编译自 Zachary C. Lipton 的一篇文章https://queue.acm.org/detail.cfm?id=3241340,希望对模型的可解释性能够有所认知。
有监督的机器学习模型往往具有显著的预测能力,很多学术文献为解释性提供了多样的、有时是稍有矛盾的描述,并提供了很多的技术来呈现可解释的模型。可解释性的定义并不明确,但是,人们还是都宣称他们的模型是可解释,尽管没有进一步的论据。问题在于,我们目前还不清楚这些关于模型可解释性技术的共同特性到底是什么。
本文试图定义可解释性。通过了解以前文章中对可解释性的描述,发现这些描述是多样的,有时候甚至存在着部分的矛盾。然后,探讨了模型的性质和技术思想,以明确可解释性,进而确定对人类的透明度和事后解释是有竞争的概念。在整个过程中,讨论了关于可解释性不同概念的可行性和可取性。从而可以看到,“线性模型是可解释的,而深层神经网络模型不是”这一论断可能是有问题的。
关于解释
在现实中,如果我们申请贷款,一个银行的工作人员可能决定了成败与否。如果去医院就医,一个医生会试图对我们的病患分类,并建议治疗。对于这样的结果性决策,我们可能会要求银行的工作人员或者医生作出解释。在社会背景下,做出决定的原因往往很重要。例如,在司法中,故意杀人与过失杀人是不同的犯罪。然而,今天的预测模型基本上不具备推理能力。
在过去的20年里,机器学习的快速发展导致了自动决策过程的部署。在实际应用中,大多数基于最大似然法的决策过程是这样的: 对最大似然算法进行训练,以获取一些输入并预测相应的输出。例如,给定一组描述金融交易的属性,机器学习算法可以预测长期投资回报。给定 CT 扫描的图像,算法可以给出图像中可能存在癌肿瘤的概率。机器学习算法吸收了大量成对的输入输出,并输出一个模型,该模型可以预测之前未见的输入所对应的输出。形式上,这种问题称为监督式学习。然后,为了完全自动化决策,我们将模型的输出输入到一些决策规则中。例如,垃圾邮件过滤器以编程方式丢弃电子邮件,因为那些邮件被预测为垃圾邮件的置信度超过了某个阈值。
因此,基于机器学习的系统不知道为什么给定的输入应该接收某个标签,只知道某些输入与该标签相关。例如,对于一个给定的数据集,篮球是其中唯一的橙色物体,图像分类器通过学习后可能会所有橙色物体分类为篮球。这个模型即使在图像糟糕的情况下也能达到很高的精确度,尽管它没有抓住真正起作用的区别。
随着机器学习渗透到诸如医学、刑事司法系统和金融市场等关键领域,人们无法理解这些模型似乎是个问题。有些人建议将模型的可解释性作为一种补救办法,但在文献中,很少有作者明确阐述可解释性意味着什么,或者提出的模型究竟如何有用。
尽管缺乏定义,但越来越多的文献提出了据称是可解释的算法。至此,可以得出两种结论: (1)可解释性的定义是普遍一致的,只是没有人费心把它写下来; 或者(2)可解释性的定义并不明确,关于模型可解释性的看法可能并不科学。遗憾的是,现实属于后者。研究模型可解释性的文献所提出的目标和方法是多样的,这表明可解释性不是一个单一的概念。
本文关注的是监督式学习,而不是如强化等其他的机器学习范式,主要是监督式学习在现实世界中的应用地位,以及对所谓“线性模型是可解释的而深层神经网络是不可解释的”这一说法的兴趣。
有人认为,可解释的模型是可取的,因为它可能有助于揭示观测数据的因果结构。有时候,可解释性的目标可能仅仅是从模型中获得更多有用的信息。许多人都提出可解释性是产生信任的一种手段。这导致了一个同样令人烦恼的认识论问题: 什么是信任?这是否意味着一个可信任的模型会有很好的表现?或者可解释性仅仅意味着对模型的低层次机械理解?信任是主观定义的吗?
虽然可解释性的目标是多种多样的,但通常指的是标准的机器学习公式,例如,训练数据完全代表的一组数据的最大准确度与它们要解决的复杂现实任务并不能不完全匹配。考虑有纵向数据的医学研究而言,真正的目标可能是发现潜在的因果关系,用于指导干预,就像吸烟与癌症那样。然而,大多数监督式学习模型的优化目标是简单地减少错误。这种不匹配的另一个例子是,可用的训练数据不能完全代表可能的部署环境,真实的环境往往具有不断变化的动态。想象一下为一个在线商店训练一个产品推荐系统,在这个系统中新产品会定期推出,顾客的偏好会随着时间的推移而改变。在更极端的情况下,来自基于机器学习系统的操作可能会改变环境,使未来的预测失效。
一些论文将可解释性等同于易懂性或可理解性(即可以掌握模型是如何工作的)。在这些论文中,可理解的模型有时被称为透明模型,而不可理解的模型被称为黑盒子。但是什么是透明度呢?看看算法身: 它会收敛吗?它是否产生了一个唯一的解决方案?或者可以看看它的参数: 知道每一个代表什么吗?再或者,可以考虑模型的复杂性: 它是否足够简单,可以由人们一次性进行完全部的检查?
事后解释可能解释了预测,却没有阐明模型工作的机制,例如,人们的口头解释或用于分析深层神经网络的显著图。因此,尽管人脑具有黑盒子性质,但人类的决策可能承认事后可解释性,这揭示了两种流行的可解释性概念之间的矛盾。
为什么需要可解释性?
当监督式学习的正式目标(测试集的预测性能)与生产环境中的实际结果之间出现不匹配时,对可解释性的需求就会出现。
通常,评估指标只需要预测结果和真实的数据。当涉众另外要求可解释性时,可能要推断出目标的存在,而这些目标却不能以这种方式捕获。大多数常用的监督式学习评估指标只需要预测,再加上基本事实,就能得出一个分数。因此,有时仅仅根据预测和计算的指标不足以描述模型的特征。
通常,现实世界的目标很难用简单的数学函数进行编码。否则,它们可能只是被纳入到目标函数中,问题就被认为已经解决了。例如,雇佣决策的算法应该同时优化生产力、道德和合法性。但是,如何写一个衡量道德或法律的函数呢?当希望对训练和生产环境之间的动态变化具有鲁棒性时,也可能会出现这个问题。
信任
一些人认为解释性是信任的先决条件。什么是信任呢?仅仅是因为相信一个模型会有好的表现吗?如果是这样的话,一个足够精确的模型应该被证明是值得信赖的,而可解释性也没有任何意义。信任也可以从主观上定义。例如,一个人可能会对一个理解透彻的模型感到更自在,即使这种理解没有任何明显的目的。另外,当训练和生产目标不一致时,信任可能表示相信模型将在实际目标和场景方面表现良好。
例如,考虑到越来越多地使用机器学习模型来预测犯罪率,以便分配警官。这个模型可以做出准确的预测,但是不能考虑训练数据中的种族偏见,也不能考虑模型自身的影响,即过度监管某些社区。
在另一种意义上,如果最终用户愿意放弃对ML模型的控制,那么他们可能会被认为信任这个机器学习模型。通过这个透镜,人们可能不仅关心一个模型的正确频率,而且还关心它对哪些例子是正确的。如果模型倾向于只在人类也会犯错误的输入上犯错误,因此当人类是准确的时候通常也是准确的,那么人们可能会相信这个模型,因为没有任何放弃控制的预期成本。然而,如果一个模型倾向于在人类精确分类的输入上犯错误,那么维持人类对算法的监督可能总是有好处的。
因果关系
尽管监督式学习模型只是为了建立联系而进行优化,人们仍然经常使用它们来推断自然世界的属性。例如,一个简单的回归模型可能会用来揭示吸烟与肺癌之间的密切联系。
通过监督式学习算法学习到的关联关系并不能保证反映的是因果关系。对于这两个相关的变量,总是有一些未被观察到的其他因素。然而,人们可能希望通过解释监督式的学习模型,可以生成可以检验的假设。例如,某些人强调回归树和贝叶斯神经网络,认为这些模型是可解释的,因此能够更好地提供生理信号和情感状态之间因果关系的线索。从观测数据推断因果关系的任务得到了广泛的研究。然而,因果推断方法往往依赖于强有力的假设,特别是在大型且复杂的数据集上,并没有被从业人员广泛的使用。
可传递性
通常,训练和测试数据是通过从相同的分布中随机分割样本示例来选择的。然后根据模型在训练和测试数据上的表现差距来判断模型的泛化误差。然而,人类能够表现出更丰富的概括能力,将学到的技能转移到不熟悉的环境中。机器学习算法也已经在这些情况下得到了应用,比如当环境是非平稳的时候。模型还可能部署在其可能改变环境、使其未来预测失效的环境中。
更糟糕的是,在一些情况下,比如为了安全而进行的机器学习,环境可能会变得非常不利,例如CNN的敏感性。CNN 对那些不知不觉受到干扰的图像进行了错误的分类。当然,这在传统意义上并不合适。该模型在训练数据上取得了较好的结果,并且用于对测试数据进行分类时能够进行得很好。关键的区别在于,这些图像被改变了,虽然对人类观察者来说很微妙,但在模型训练中从未遇到过。然而,这些是人类不会犯的错误。如今,监督式学习模型经常受到这种对抗性的挑战。
另一个例子是用于生成信用评级的模型——得分越高意味着个人偿还贷款的概率越高。有人使用 Logit模型模型来训练信用模型,并把可解释性作为选择模型的动机。特征包括账户平均年龄、债务比率、逾期付款的数量以及信誉良好账户的数量。这其中的几个因素可以被请求信贷的人随意操纵。例如,一个人可以简单地请求增加定期信贷额度,同时保持消费模式不变,就可以改变债务比率。事实上,银行一般都承认信用评级是可以被操纵的,甚至还提出了改善信用评级的建议。这些提高评级的策略可能会从根本上改变一个人偿还债务的能力。个人的信息状态和评级系统的博弈可能会使其预测能力失效。
信息量
有时候,将决策理论应用于监督模型的输出,以便于在现实世界中采取行动。然而,在另一种常见的使用范式中,监督模型被用来向人类决策者提供信息。虽然机器学习的目标可能是减少错误,但现实世界的目的是提供有用的信息。模型传递信息最明显的方式是通过其输出,但也可能通过某些程序向人类决策者传递额外的信息。
即使不阐明模型的内部工作原理,一个模型也可能被证明是有用的。例如,诊断模型可以通过指出相似的案例来支持诊断决策,从而为人类决策者提供直觉。在某些情况下,当真正的任务更接近于监督式学习的时候,会训练一个非监督式的学习模型。真正的目标可能是探索数据的底层结构,而目标的标注只起到弱监督的作用。
公平合理的决策
目前,政客、记者和研究人员都表示担心,必须通过解释来评估算法自动生成的决定是否符合道德标准。怎么能确定预测中没有基于种族的歧视呢?传统的评估指标,如准确性或 AUC (曲线下面积),很少保证基于ML的决策行为是可接受的。因此,对公平的要求往往导致对可解释模型的要求。
可解释性的透明度概念
为了赋予可解释性,我们需要探讨模型所涉及的技术和模型属性。它们大致可分为两类。第一个与透明度有关(例如,模型是如何工作的?),第二种是事后的解释(例如,模型还能告诉我什么?)
非正式地说,透明度是不透明或“黑盒子”的反义词,它意味着对模型工作机制的某种理解。这里在整个模型级别(可模拟性)、单个组件级别(如参数级别,可分解性)和训练算法级别(算法透明性)上考虑透明性。
可模拟性
从严格的意义来讲,如果一个人能够同时考量整个模型,那么这个模型可以被称为透明模型。这个定义表明,可解释的模型是一个简单的模型。例如,为了充分了解一个模型,人们应该能够将输入数据与模型的参数一起考量,在合理的时间步长内完成生成预测所需的每一次计算。这符合通常的说法,即稀疏线性模型,表明可解释性模型是一种“可以很容易地用视觉或文本组件呈现给用户”的模型。
为了应用单一预测,模型大小和计算之间的权衡因模型而异。例如,在某些模型(如决策树)中,与执行推理所需的时间(从根到叶的传递长度)相比,模型的大小(节点总数)可能会变得相当大。这表明,可模拟性可能包含两个子类型: 一个基于模型的大小,另一个基于执行推理所需的计算。
在确定可模拟性的概念时,用“合理”表示的量是主观的。然而,很明显,由于人类认知能力有限,这种模糊性可能会跨越几个数量级。在这种情况下,无论是线性模型、基于规则的系统,还是决策树,本质上都是不可解释的。高维的模型、笨重的规则列表和深度的决策树都可以被认为不如相对紧凑的神经网络透明。
可分解性
关于透明度的第二个概念可能是,模型的每个部分都是什么?输入,参数,计算需要有一个直观的解释。例如,决策树中的每个节点可能对应于一个简单的文本描述。类似地,线性模型的参数可以描述为表示每个特征和标签之间关联的强度。
请注意,这种可解释性的概念要求输入本身是可以单独解释的,会使一些具有高度工程化或匿名特征的模型无效。虽然这种观点很流行,但不应盲目地接受。线性模型的权重看起来似乎很直观,但是在特征选择和预处理方面可能是脆弱的。例如,与流感风险和疫苗接种之间的联系相应的系数可能是正的或负的,这取决于特征集合是否包括老年、婴儿或免疫缺陷的指标。
算法透明度
最后一个关于透明度的概念是机器学习算法的本身。在线性模型的情况下,可以理解误差曲面的形状。即使是对于以前没有见过的数据集,我们也可以证明训练将收敛到一个唯一的解决方案。这可能会提供一些信心,即模型将在需要对以前看不到的数据进行重新训练的在线设置中运行。另一方面,现代的深度学习方法缺乏这种算法的透明度。虽然神经网络的启发式优化程序显然是强大的,但我们不知道它们是如何工作的,目前也不能保证它们能够先验地工作在新的问题上。
事后解释
事后解释性是从学习模型中提取信息的一种独特方法。虽然事后解释通常不能精确地阐明一个模型是如何工作的,但是它们可能为机器学习的实践者和最终用户提供有用的信息。一些常见的事后解释方法包括自然语言解释、学习表征或模型的可视化,以及通过例子解释(例如,这个肿瘤被归类为恶性肿瘤,因为在模型中它看起来与其他的恶性肿瘤很相似)。
在某种程度上,我们可能认为人类是可以解释的,这是一种适用的可解释性。就我们所知,人类做决定的过程和解释决定的过程可能是截然不同的。这种可解释性概念的一个优点是,不透明的模型可以在事后解释,而不牺牲预测的效果。
文字解释
人类经常口头上为自己的决定辩护。类似地,一个模型可能被训练来产生预测,另一个单独的模型,如递归神经网络语言模型,来产生解释。这样的系统一般是,其中一个模型(强化学习)选择行动,以优化累积收益;另一个模型将模型的状态表示映射到对策略的口头解释上。这些解释被训练来最大限度地从人类那里得到先前观察到的真实性解释的可能性,并且可能不会忠实地描述代理人的决定。这种方法与最近的神经图像字幕研究存在一定的联系。在这种神经图像字幕研究中,区分性的 CNN (图像分类训练)所学习的表征被第二个模型所吸收,从而生成字幕。这些字幕可以被看作是伴随分类的解释。
在推荐系统的研究中,使用文本来解释潜在因素的模型决策。方法包括同时训练评级预测的潜在因素模型和产品评论的主题模型。在训练期间,在减少评分预测的平方差和增加评论文本的可能性之间交替。这些模型之所以连接在一起,是因为它们使用规范化的潜在因子作为主题分布。也就是说,潜在因素被正则化,因此它们也能很好地解释评论文本中的话题分布。然后,通过检查主题中与其潜在因子的匹配成分相对应的顶部词汇来解释用户项的兼容性。注意,通过显示顶部词汇来解释主题模型的做法本身就是一种特殊的解释技术,已经引起了进一步的关注。此外,在这里只讨论了解释的形式因素(包含自然语言) ,但是并没有讨论正确性的确切含义。到目前为止,很多文献已经回避了正确性的问题,有时通过拥抱对问题的主观观点,询问人们他们更喜欢什么来回避这个问题。
可视化
事后解释的另一种常见方法是可视化,以希望定性地确定一个模型学到了什么。一种流行的方法是利用 t-SNE (t 分布随机邻域嵌入)对高维分布表示进行可视化,这是一种使邻近数据点可能紧密地出现在一起的二维可视化技术。
在计算机视觉领域,通过改变图像分类网络的输入梯度下降法来增强从隐藏层中选择的特定节点的激活,从而解释图像分类网络学到了什么,检查受到干扰的输入可以提供模型所学到的线索。类似的方法已经开始被探索,以研究在神经网络的不同层次上保留了哪些信息。例如,通过一个有区别的 CNN 传递一个图像来生成一个表示。然后,原始图像可以恢复高保真度,即使从合理的高级别表示(例如6层的 AlexNet)通过执行梯度下降法的随机初始化像素。和前面的文本解释一样,关于可视化的讨论主要集中在形式因素和兴趣点上,但是我们仍然缺乏严格的正确性标准。
局部解释
虽然简洁地描述神经网络学习到的完整映射可能是很困难的,但是一些文献集中于解释神经网络依赖于局部的哪些因素。深层神经网络的一个流行的方法是计算显著性映射。通常,它们采用与给定输入向量相对应的正确分类的输出梯度。对于图像,这个渐变可以作为蒙板,突出显示输入区域,如果改变,将最大程度地影响输出。需要注意的是,这些关于模型关注点的解释可能会产生误导。显著性图只是一个局部解释。一旦移动了一个像素,可能会得到一个非常不同的显著性图像。这与线性模型相反,线性模型模拟了输入和输出之间的全局关系。
通过学习一个单独的稀疏线性模型来解释第一个模型的决策,从而解释在特定点附近的局部区域中任何模型的决策。奇怪的是,尽管该方法对显著性映射的兴趣点在于它能够为不可微的模型提供了解释,但是它更常用于需要解释的模型实际上是可微的情况。在这种情况下,除了对梯度进行噪声估计外,还能提供什么信息尚不清楚。是否比普通的渐变信息更多,可能在很大程度上取决于如何选择超像素。此外,如果没有一个严格定义的目标,谁能说哪些超参数是正确的呢?
例证式的可解释性
一个解释模型所确定的特别机制可能是报告哪些其他的例子与模型最相似,训练一个深层的神经网络或潜变量模型,不仅可以预测一个有区别的任务,而且还可以学习表示。然后,对于任何示例,除了生成预测之外,还可以使用隐藏层的激活来根据模型所学空间的邻近程度识别 k近邻。这种例证式的解释在人类如何通过类比来证明行为的合理性方面有先例。例如,医生经常引用个案研究来支持计划的治疗方案。
在神经网络文献中,有人使用这种方法来检验word2vec 模型训练后的学习表征。在训练模型进行skip-gram预测的同时,为了检验模型学习到的关系,模型根据潜在空间中计算的距离,列举了词的最近邻。
主要结论
可解释性的概念显得既重要又难以捉摸。前面分析了解释性的动机和学者们赋予它的一些尝试。现在让我们考虑一下这个分析的含义,并提供几个要点。
- 严格来说,线性模型并不比深层神经网络更具可解释性。尽管这一说法流行已久,其价值取决于可解释性中的哪一个概念正在使用。关于算法透明度,这一说法似乎没有争议,但对于高维或大量的工程特征,线性模型分别失去了可模拟性或可分解性。
在线性模型和深度模型之间进行选择时,我们必须经常在算法透明性和可分解性之间进行权衡。这是因为深层神经网络倾向于对原始或轻微处理的特征进行操作。因此,如果没有其他事情,这些特征直观上是有意义的,而事后推理是合理的。然而,为了获得可比的性能,线性模型通常必须在大量手工设计的特征上运行。在这种情况下,线性模型只能以可分解性为代价来逼近递归神经网络(RNN)的性能。
- 对于某些类型的事后解释,深层神经网络显示出明显的优势。考虑到可解释性的要求,线性模型似乎在研究自然世界方面有更好的记录,但是似乎没有理论上的原因说明为什么必须如此。可以想象,在类似的情况下,事后解释可能证明是有用的。
- 关于可解释性的说法必须加以限定。可解释性并不是一个单一的概念。为了有意义,任何关于可解释性的断言都应该先确定一个特定的定义。如果模型满足了某种形式的透明性,则可以直接显示这一点。对于事后的可解释性,应确定一个明确的目标,并证明所提供的解释形式实现了这一目标。
在某些情况下,透明度可能与通用人工智能的目标相悖。一些反对黑盒算法的论点似乎排除了任何能够在复杂任务上匹配或超越人类能力的模型。一个具体的例子是,通过提高透明度与医生建立信任的短期目标可能与改善保健的长期目标相冲突。在放弃预测能力时要小心,因为透明度的要求是合理的,而不是简单地向反对新方法的机制让步。
事后解释可能会产生误导,谨防盲目地拥抱特定的可解释性概念,尤其是在通过优化以安抚主观需求的时候。在这种情况下,优化算法可能会提出似是而非的解释。一些记者和社会学家已经证明,由于诸如领导力或原创力等美德而作出的决定往往掩盖了种族或性别的歧视。
关于模型可解释性的未来
首先,对于某些问题,现实生活和机器学习目标之间的差异可以通过开发更丰富的损失函数和性能指标来缓解。这一方向的典型例子包括了稀疏导致的正则化和代价敏感的研究。其次,这种分析可以扩展到其他的机器学习范例,比如强化学习。强化学习可以直接建模模型和环境之间的交互,从而实现可解释性研究的部分(但不是全部)目标。然而,这种能力可能会以允许模型在现实世界中进行实验为代价,从而产生真正的后果。
值得注意的是,强化学习能够学习自己行为和现实世界的影响之间的因果关系。然而,像监督式学习一样,强化学习依赖于一个定义良好的度量目标。对于像公平这样的问题,我们尽力用语言表达可解释性的精确定义,机器学习范式的转变不太可能消除可解释性面临的问题。