如果机器学习模型表现良好,为什么我们不信任该模型而忽略它为什么做出某个决定?”问题在于,单一指标,如分类精度,是对大多数现实任务的不完整描述。”(Doshi Velez和Kim 2017 5)

    让我们深入探讨解释性如此重要的原因。当涉及到预测建模时,你必须做出权衡:你只想知道预测的是什么吗?例如,客户流失的可能性或某种药物对患者的有效性。或者你想知道为什么要做出预测,并可能通过预测性能的下降来支付可解释性?在某些情况下,您不关心为什么做出决策,只需知道测试数据集的预测性能良好即可。但在其他情况下,了解“为什么”可以帮助您更多地了解问题、数据以及模型可能失败的原因。有些模型可能不需要解释,因为它们是在低风险环境中使用的,这意味着错误不会产生严重后果(例如电影推荐系统),或者该方法已经被广泛研究和评估(例如光学字符识别)。对可解释性的需求源于问题形式化的不完整性(Doshi Velez和Kim,2017),这意味着对于某些问题或任务,不足以得到预测。模型还必须解释它是如何得出预测的,因为正确的预测只能部分解决您的原始问题。以下原因推动了对可解释性和解释性的需求(Doshi Velez和Kim 2017以及Miller 2017)。

    人类的好奇心和学习能力:人类有一个环境的心理模型,当意外事件发生时,这个模型会被更新。通过查找意外事件的解释来执行此更新。例如,一个人突然感到不舒服,问:“为什么我感觉如此不舒服?”。他知道他每次吃那些红浆果都会生病。他更新了自己的思维模式,认为浆果导致了疾病,因此应该避免。当不透明的机器学习模型用于研究时,如果该模型只给出预测而不给出解释,那么科学发现将完全隐藏。为了促进学习并满足好奇心,即为什么某些预测或行为是由机器产生的,可解释性和解释性至关重要。当然,人类并不需要对所发生的一切做出解释。对大多数人来说,他们不了解计算机是如何工作的是可以的。意外事件使我们好奇。例如:为什么我的电脑意外关机?

    与学习密切相关的是人类寻求世界意义的欲望。我们希望协调知识结构各要素之间的矛盾或不一致。”为什么我的狗会咬我,尽管它以前从未咬过我?”一个人可能会问。对狗过去行为的了解与新发生的令人不快的咬伤经历之间存在矛盾。兽医的解释调和了狗主人的矛盾:“狗受到了压力和咬。”机器的决定对人的生活影响越大,机器解释其行为就越重要。如果机器学习模型拒绝贷款申请,这对申请人来说可能是完全出乎意料的。他们只能通过某种解释来调和期望和现实之间的矛盾。这些解释实际上不必完全解释情况,但应该解决一个主要原因。另一个例子是算法产品推荐。就我个人而言,我总是在想为什么某些产品或电影会被算法推荐给我。通常很清楚:我最近买了一台洗衣机,所以互联网上的广告会跟着我,我知道在接下来的几天里,我会看到洗衣机的广告。是的,如果我的购物车里已经有一顶冬季帽子,建议戴手套是有道理的。算法推荐这部电影,因为喜欢我喜欢的其他电影的用户也喜欢推荐的电影。越来越多的互联网公司正在为他们的建议添加解释。一个很好的例子是基于经常购买的产品组合的产品建议:
    image.png
    图2.1:经常一起购买的推荐产品。

    在许多科学学科中,从定性方法到定量方法(如社会学、心理学)以及机器学习(生物学、基因组学)都发生了变化。科学的目标是获取知识,但许多问题都是通过大数据集和黑箱机器学习模型来解决的。模型本身成为知识的来源,而不是数据。可解释性使得提取模型捕获的额外知识成为可能。

    机器学习模型承担现实世界中需要安全措施和测试的任务。设想一辆自动驾驶汽车基于深度学习系统自动检测骑车人。您需要100%地确保系统学习到的抽象是无错误的,因为碾过骑车人是非常糟糕的。一个解释可能会揭示出,最重要的学习特征是识别自行车的两个车轮,这个解释可以帮助您思考边缘情况,例如自行车的侧袋部分覆盖车轮。

    默认情况下,机器学习模型从训练数据中提取偏差。这会让你的机器学习模型变成种族主义者,歧视代表性不足的群体。可解释性是机器学习模型中检测偏差的有用调试工具。你所训练的自动批准或拒绝信用申请的机器学习模式可能会歧视历史上被剥夺权利的少数人。你的主要目标是只向最终会偿还贷款的人发放贷款。在这种情况下,问题表述的不完整性在于这样一个事实,即您不仅希望最大限度地减少贷款违约,而且还必须不基于某些人口统计进行歧视。这是一个额外的约束,是问题公式的一部分(以低风险和合规的方式发放贷款),机器学习模型优化的损失函数不包括该约束。

    将机器和算法融入我们日常生活的过程需要可解释性,以提高社会接受度。人们把信仰、欲望、意图等归因于物体。在一个著名的实验中,Heider和Simmel(1944)6向参与者展示了一个圆圈打开“门”进入“房间”(即一个长方形)的形状视频。参与者描述形状的动作就像他们描述人类代理人的动作一样,为形状分配意图,甚至情感和个性特征。机器人就是一个很好的例子,比如我的吸尘器,我把它命名为“多格”。如果多格被卡住了,我想:“多格想继续打扫,但因为它卡住了而向我寻求帮助。”后来,当多格清理完并搜索了基地进行充电时,我想:“多格有充电的欲望,并打算找到基地。”我还将个性特征归因于:“多格有点笨,这是我的想法,尤其是当我发现多吉在尽职尽责地打扫房子时撞翻了一棵植物。解释其预测的机器或算法将获得更多的认可。另见解释一章,该章认为解释是一个社会过程。

    解释用于管理社交互动。解释者通过创造某事物的共同意义来影响接受解释者的行为、情绪和信念。为了让机器与我们互动,它可能需要塑造我们的情感和信念。机器必须“说服”我们,这样才能实现预期目标。我不会完全接受我的机器人吸尘器,如果它不能在某种程度上解释它的行为。真空吸尘器创造了一个共同的含义,例如,一个“事故”(比如再次被困在浴室地毯上),它解释说它被卡住了,而不是简单地停止工作而不加评论。有趣的是,解释机器的目标(创建信任)和接收者的目标(理解预测或行为)之间可能存在偏差。也许对多格被卡住的完整解释可能是电池电量很低,其中一个轮子工作不正常,还有一个错误使得机器人一次又一次地去同一个地方,即使有障碍物。这些原因(还有其他一些原因)导致机器人卡住,但它只是解释了有什么东西挡住了路,这足以让我相信它的行为,并对那次事故有共同的意义。顺便说一下,多格又被困在浴室里了。我们每次都得把地毯揭下来,然后再让多格吸尘。
    image.png
    图2.2:我们的吸尘器Doge卡住了。作为对事故的解释,多格告诉我们,它需要在一个平坦的表面上。

    机器学习模型只有在可以解释时才能进行调试和审核。即使在低风险环境中,如电影推荐,在研发阶段以及部署后,口译能力也是很有价值的。后来,当一个模型用于一个产品时,事情可能会出错。对错误预测的解释有助于理解错误的原因。它为如何修复系统提供了方向。考虑一个哈士奇与狼分类器的例子,将一些哈士奇误分类为狼。使用可解释的机器学习方法,您会发现错误分类是由于图像上的雪造成的。分类器学会了使用雪作为将图像分类为“狼”的特征,这可能有助于在训练数据集中将狼与哈士奇分开,但在实际应用中则不然。

    如果您能够确保机器学习模型能够解释决策,您还可以更容易地检查以下特征(Doshi Velez和Kim 2017):
    公平性:确保预测不带偏见,不含蓄或明确歧视代表性不足的群体。一个可解释的模型可以告诉你为什么它决定某个人不应该获得贷款,并且人类更容易判断这个决定是否基于习得的人口统计学(例如种族)偏见。
    隐私:确保数据中的敏感信息受到保护。
    可靠性或稳健性:确保输入中的小变化不会导致预测中的大变化。
    因果关系:检查是否只提取因果关系。
    信任:与黑盒子相比,人类更容易信任解释其决策的系统。

    当我们不需要可解释性时。

    下面的场景说明了我们不需要甚至不想要机器学习模型的可解释性。

    如果模型没有重大影响,则不需要解释性。想象一下,一个名叫迈克的人正在进行一个机器学习方面的项目,根据Facebook的数据预测他的朋友们下一个假期将去哪里。迈克只是喜欢用有根据的猜测让他的朋友们惊喜,他们将去哪里度假。如果模型是错误的,就没有真正的问题(最坏的情况是,迈克会感到有点尴尬),如果迈克不能解释他的模型的输出,也没有问题。在这种情况下,没有可解释性是完全好的。如果迈克开始围绕这些度假目的地预测建立业务,情况就会改变。如果模型是错误的,企业可能会赔钱,或者由于后天习得的种族偏见,模型对某些人的效果可能会更差。一旦模型产生重大影响,无论是财务还是社会影响,可解释性就变得重要起来。

    当问题得到很好的研究时,不需要解释性。一些应用已经得到充分的研究,因此有足够的模型实践经验,并且随着时间的推移,模型的问题已经得到解决。一个很好的例子是用于光学字符识别的机器学习模型,它处理来自信封的图像并提取地址。这些系统有多年的使用经验,很明显它们是有效的。此外,我们对获取有关手头任务的更多见解并不感兴趣。

    可解释性可能使人或程序能够操纵系统。欺骗系统的用户的问题源于模型创建者和用户的目标不匹配。信用评分是这样一个系统,因为银行希望确保贷款只提供给可能归还贷款的申请人,而申请人的目标是获得贷款,即使银行不想给他们贷款。这两个目标之间的不匹配为申请者提供了刺激,促使他们与制度博弈,以增加获得贷款的机会。如果申请人知道拥有两张以上的信用卡会对其分数产生负面影响,他只需归还第三张信用卡以提高分数,并在贷款获得批准后重新组织一张信用卡。虽然他的分数有所提高,但偿还贷款的实际概率保持不变。只有当输入是因果特征的代理,但实际上不会导致结果时,系统才能被玩弄。只要有可能,就应该避免使用代理功能,因为它们使模型可以玩。例如,谷歌开发了一个名为“谷歌流感趋势”的系统来预测流感爆发。该系统将谷歌搜索与流感爆发联系起来,但表现不佳。搜索查询的分布发生了变化,谷歌流感趋势错过了许多流感疫情。谷歌搜索不会导致流感。当人们寻找像“发烧”这样的症状时,这仅仅是与实际流感爆发的相关性。理想情况下,模型将只使用因果特征,因为它们不可玩。