如果一个机器学习的模型表现良好,我们为什么不能直接相信这个模型,并且忽略为什么它做了这样的决策?。原因是,仅靠一个指标(loss),例如分类准确性,是一个对现实世界中大多数任务的不完整描述。(Doshi-Velez and Kim 2017 5),所以我们想要知道为什么这个模型做了某个决策。
我们深入探讨解释性重要的原因是,当提到一个预测模型,你必须做出一个权衡:你仅仅是想知道预测的是什么吗?(例如,客户流失的可能性或某些药物对患者的有效性),还是你想知道模型为什么做了这个预测,为什么预测性能下降(性能下降的可解释)?在某些情况下,您不关心为何做出决策,只需知道测试数据集的预测性能良好即可。但在其他情况下,了解“为什么”可以帮助您更多地了解问题,数据无效或者模型失败的原因。某些模型可能不需要解释,因为它们用于低风险环境,意味着错误不会产生严重后果(例如电影推荐系统),或者该方法已经被广泛研究和评估(例如光学字符识别)。对可解释性的需求源于问题定义的不完整性(Doshi-Velez和Kim 2017),这意味着对于某些问题或任务来说,获得预测是不够的(什么)。该模型还必须解释它是如何进行预测的(为什么),因为正确的预测只能部分地解决您的原始问题。以下原因推动了对可解释性和解释的需求(Doshi-Velez和Kim 2017以及Miller 2017)。
人类的好奇心和学习:人类有一个他们对环境的感知模型,当意外发生时会更新。通过会对意外的发生找到一个合理的解释来进行更新行为。例如,一个人意外生病,他会想:“为什么我生病了?”。当他得知每次吃红莓都会生病。然后他就会更新了他的感知模型,并认定红莓引起疾病,因此应该避免。当不透明机器学习模型用于研究时,如果模型仅给出没有解释的决策,那么科学发现仍然是黑匣子。为了促进学习和满足好奇心,为什么机器做了某些预测或行为,可解释性和解释是至关重要的。当然,人类不需要解释所发生的一切。对于大多数人来说,他们不了解计算机的工作原理是可以的。但是,意外会让我们产生好奇。例如:为什么我的电脑意外关机?(手动滑稽,谁来帮我解释下,为什么我的电脑关机了)
与学习密切相关的是人类寻求世界意义的诉求。我们想要协调我们的知 识结构要素之间的矛盾或不一致。“为什么我的狗咬我,即使它之前从未这样做过?”人可能会问。在对狗的过去行为的认知下和现在被咬的知识下之间存在矛盾。兽医的解释调和了狗主人的矛盾:“狗在压力和痛苦之下”。机器决定对人的生命影响越大,机器解释其行为就越重要。如果机器学习模型拒绝贷款申请,申请人可能完全出乎意料。他们只能通过某种解释来调和期望与现实之间的这种不一致。这个解释没有必要完全解释所发生的所有情况,但是应该解释一个主要原因。另一个例子是算法产品推荐。就个人而言,我总是想到为什么某些产品或电影会被算法推荐给我。通常很明确:由于我最近买了一台洗衣机,而且我知道在接下来的几天里我会收到很多洗衣机的广告。如果我的购物车里已经有冬帽,建议买一副手套是行得通的。该算法推荐一部电影,因为喜欢我喜欢的电影的用户也会喜欢我推荐的电影。越来越多的互联网公司正在为他们的建议添加解释。一个很好的例子是亚马逊产品推荐,它基于经常购买的产品组合:
从亚马逊购买水彩颜料的推荐产品。
In many scientific disciplines there is a change from qualitative to quantitative methods (e.g. sociology, psychology), and also towards machine learning (biology, genomics). 科学的目标是获取知识,但是许多问题是由大数据集和黑盒机器学习模型解决的。模型本身成为知识的来源而不是数据。可解释性使得从模型获取额外知识成为可能。
机器学习模型承担了现实世界的任务,他需要一个能够保证安全的举措和测试。想象一下,自动驾驶汽车会根据深度学习系统自动检测骑车人。你想要100%确定系统所学习的是没有错误的,因为压到骑自行车的人是非常糟糕的。一个解释可能发现,学习到最重要的特征是识别自行车的两个轮子,这个解释可以帮助您考虑edge case(感觉应该是特殊情况),如带侧袋的自行车,也就是说车轮被遮挡的情况。
默认情况下,机器学习模型从训练数据中找出bias(偏差)。这能把您的机器学习模型变成种族主义者,他可能会产生歧视。在机器学习模型中,可解释性是找出bias的有用调试工具,能够消除歧视。你训练好的模型可能会发生这样的情况:比如你用来训练的自动批准或拒绝某个人的信用申请的机器学习模型,它会歧视少数人。由于你的主要目标是仅向最终会偿还贷款的人提供贷款,那么,在这种情况下,问题表述的不完整性在于,您不仅要尽量减少贷款违约的情况,但也有义务不要根据某些人口特征产生歧视(可能回因为是某种族,认为其大多是人是无力偿还的)。不产生歧视,是一个额外的约束,它是您的问题定义的一部分(以低风险和符合规定的方式发放贷款),在机器学习模型优化的损失函数并未涵盖这一约束。
将机器和算法集成到我们日常生活中的过程需要可解释性来增加社会接受度。人们将信仰,欲望,意图等赋予某个物体。在着名的实验中,Heider和Simmel(1944)6向参与者展示了一个形状的视频,其中一个圆圈打开了一扇“门”进入一个“房间”(这只是一个矩形)。参与者会想描述一个人的行为一样,去描述这个形状的行为,为形状赋予意图甚至情感和个性特征。机器人就是一个很好的例子,就像我的吸尘器一样,我把它命名为“Doge”。如果Doge卡在一个地方,我会想:“Doge想要继续清洁,但想要我帮忙,因为它被卡住了。”后来,当Doge完成清洁并去找自己的充电口时,我会想:“Doge有充电的愿望并且想要找到充电口。特别是当我发现Doge用吸尘器尽职尽责的打扫屋子时打碎一个花瓶。“我给它赋予了个性特征:”Doge有点愚蠢,但是很可爱。“对机器或算法的行为或结果做解释会更容易被大众接受。另见关于解释的章节,其中认为解释是一个社会过程。
解释用于管理社交互动。通过构建某事物的常识,解释者(Doge)会影响解释接受者(我们)的行为,情感和信念。对于与我们互动的机器,它想要塑造我们的情感和信念。也就是机器必须“说服”我们,以便他们能够达到预期的目标。如果机器没有在某种程度上解释它的行为,我不会完全信任我的Doge。构建一个常识,例如,“意外”事件(如Doge又一次卡在浴室地毯上......),Doge通过解释它仅仅是被卡住而不是在未授权就停止了工作。有趣的是,解释机器的目标(创建信任)和接收者的目标(理解预测或行为)之间可能存在偏差。也许Doge卡住的完整解释可能是电池电量非常低,其中一个车轮工作不正常,有一个由于遮挡导致机器人一遍又一遍地到达同一地点的bug。这些原因(以及其他一些原因)导致机器人卡住,常识只是说明了某些东西挡住了,这足以让我相信它的行为并获得该事故的常识。顺便说一句,Doge再次被困在浴室里。在我们让Doge吸尘之前,我们每次都要移除地毯。但它只是解释了某些东西挡在路上,这足以让我相信它的行为,并获得该事故的常识。
Doge,我们的吸尘器,卡住了。 作为事故的解释,Doge告诉我们它需要在平坦的表面上。
**
Doge本尊
机器学习模型只能在能够解释的情况下可以被调试和监听。即使在低风险环境中,例如电影推荐,解释能力在研发阶段以及部署后也很有价值。之后,当在产品中使用模型时,事情可能会出错。对错误预测的解释有助于理解错误的原因。它为如何修复系统提供了方向。考虑一个哈士奇与狼分类器的例子,将一些哈士奇错误归类为狼。使用可解释的机器学习方法,您会发现错误分类是由于图像上的雪。分类器学会使用雪作为将图像分类为“狼”的特征,这在将狼与哈士奇分离在训练数据集中可能是有意义的,但在实际使用中则不然。
如果您可以确保机器学习模型可以解释决策,您还可以更轻松地检查以下特征(Doshi-Velez和Kim 2017):
当我们不需要可解释性时。
以下场景说明了我们何时不需要甚至不希望机器学习模型的可解释性。
当问题得到充分研究时,不需要可解释性。一些应用已得到充分研究,因此对模型有足够的实践经验,并且随着时间的推移已经解决了模型的问题。一个很好的例子是用于光学字符识别的机器学习模型,它处理信封的封面并提取地址。这些系统有多年的经验,很明显它很有效。
可解释性可能使人或程序能够操纵决策系统。