ITPub博客

首页 > 人工智能 > 自然语言 > 模型可解释性之谜 - KDnuggets

模型可解释性之谜 - KDnuggets

自然语言 作者:ITPUB社群 时间:1970-01-01 08:33:46 0 删除 编辑

更新:此后我在《模型可解释性的迷思》(The Mythos of Model Interpretability)中完善了这些想法,这是一篇在2016年ICML机器学习人类可解释性研讨会上展示的学术论文。

关于机器学习模型的可解释性,有一种流行的说法:像逻辑回归这样的简单统计模型产生可解释的模型。另一方面,神经网络则是黑箱。这种说法暗示我们可以输入数据,观察输出结果,但缺乏对中间过程进行推理的能力。

为了确认这种叙事的普遍性,我在Google上搜索了“neural network black box”,得到了2,410,000条结果。相比之下,“logistic regression black box”只有600,000条结果。后者中的大多数文章提到逻辑回归只是为了将其作为神经网络的可解释替代方案来呈现。

在之前的一篇文章(《深度学习的深层缺陷》)中,我审视了一波对深度网络的批评,其中深度网络因其容易对对抗性选择的样本进行错误分类而受到质疑。虽然这确实是一个问题,但我展示了像线性分类器和决策树这样的简单方法同样容易受到这个问题的困扰。

本着类似的精神,我想质疑这样一种观念:现实世界中大规模的线性分类器必然比神经网络更具可解释性。首先,我们应该承认,究竟什么构成可解释性是一个充满争议的话题。文献中大量的分歧表明,这个词的定义本身就涵盖了许多相关和不相关的概念。有鉴于此,对该领域的认识论研究值得进行哲学思考。然而,在这篇文章中,我将保持简单,专注于黑箱这一概念。

让我们从考虑一个逻辑回归分类器开始,该分类器被训练用于根据数千个输入特征来诊断患者是否患有糖尿病。对于这样一个定义明确的问题,我们可以假设任何模型都能以某种可衡量的准确率进行诊断预测。对于任何正在考虑的模型,无论多么黑箱,其准确率都可以被评估。然而,即使性能特征已知,某些模型可能被认为是可解释的,而其他模型则不然。所以很明显,可解释性——无论我们指的是什么,无论我们出于什么目的需要它——必定是准确率之外的东西。

一种直观的解释概念可能是:它由对模型行为的某种自然语言说明组成。例如,对于糖尿病模型的一个阳性预测,一种解释可能是“模型预测你很可能患糖尿病,因为你的糖摄入量高且身体质量指数大。然而,由于你经常锻炼,模型给出的概率比原本可能给出的略低。”

关于可解释性的第一个概念,我们应该质疑线性模型的可解释性是否被夸大了。诚然,给定模型的权重,你可以设计一个流程来提取对给定预测贡献最大的组成部分,并用语言模板进行总结。对于一个特征较少的小模型,这或许能合理地描绘正在发生的事情。

但如果模型有一百万个特征呢?如果预测的证据分散在所有特征中呢?这样的场景经常出现。考虑基因组学研究中的高维数据集。如果我们的解释生成过程通过解释几个显著特征来总结模型行为,这能忠实地描述模型的行为吗?

另一个问题是,这种解释可能说明了模型的行为,但并未深入揭示底层数据中的因果关联。这是因为线性模型在特征选择过程中会受到协变量效应的影响。如果你期望仅通过模型的权重来理解底层现实,这可能会带来问题。

对于糖尿病模型,你可能会认为如果糖尿病模型训练得当,糖分摄入必然与糖尿病正相关,因此应获得正权重;或者运动必然与糖尿病负相关,因此应获得负权重。但给定一个更具预测性的特征,比如血糖水平,模型会将权重转移到更好的特征上。

这种情况之所以发生,是因为特征之间可能高度相关,因此一个特征可能仅在另一个特征缺失时才有用。在高维模型中,直觉上应为正的特征实际上可能获得负权重。当模型建立在数千或数百万个特征之上时——这在许多问题领域中很常见——这些问题可能更难理清。

深度学习方法不允许通过内省单个模型参数来获得简单解释。因此,当特征集较小时,它们可能更难理解。但对于特征高度相关的大型数据集,它们是否比线性模型更难解释尚不明确。

模型可解释性的另一种含义是,人们可以推理出模型是如何从该族中所有可能的模型中被选出的。换句话说,你可能不了解确切模型内部是如何运作的,但你理解创建它的学习算法。

这可能意味着人们可以确凿地说该模型是否是其类别中所有模型里最好的。这也可能意味着你对模型的泛化性质有一些先验理解。换句话说,你有多确定模型能泛化到未见过的样本上。当然,线性模型的优化性质实际上被理解得更好,即使对于高维数据也是如此。

一般来说,根据我的经验,对可解释性的需求来自核心机器学习社区之外。它们来自机器学习在实际应用中的利益相关者。通常,这种算法分析并不是核心机器学习社区之外的人所说的可解释性。更常见的是,最终用户想了解模型层面发生了什么,而不是算法层面。

预测的口头解释可能具有误导性

值得考虑的是,对复杂机器学习模型的简单口头解释可能会误导用户。再次以线性模型为例。查看哪些特征获得高权重,在缺乏更广泛背景的情况下,可能会产生可疑的解释。如果一个权重很高,但它对应的特征在95%的情况下取相同的值呢?在这种情况下,这个权重可能无法为解释某些决策是如何做出的提供有用信息。

对于真正复杂的模型,用简洁的言辞来解释其全部动态可能是不合理的。也许产生简单解释的困难并不令人意外。有时,我们构建复杂模型的目的正是为了让它们能够表达我们可能无法简洁指定的复杂假设。我们应该质疑这样一个命题:期望一个简短的摘要能有意义地解释一个复杂模型是合理的。即使对于线性模型,我们有时构建模型正是为了让它们能够从比任何人类能有意识考虑的更大量的特征中学习。有时可能无法以既简洁表达又合理的方式来解释预测。

让我们回到线性模型和深度模型的相对可解释性。进一步增加复杂性:深度学习方法通常作用于原始或轻度处理的特征,而线性模型通常需要大量的预处理。TF-IDF变换、降维和临时特征工程改变了每个特征的含义。但线性模型所谓的优越可解释性归因于模型参数与特征之间的一一对应关系。当分配的权重取决于预处理策略的细微差异时,线性模型的可解释性会怎样?

在这些情况下,线性模型的可解释性可能因我们无法为重度工程化的特征赋予直观含义而消失。在比较线性模型和神经网络时,我们可能会问:是使用简单模型但不可解释的特征,还是使用简单特征但不可解释的模型,两者之间是否存在权衡?

我们还应该注意到,决策树虽然常因其可解释性而备受推崇,但也可能同样不透明。为了获得与其他方法相媲美的准确率,通常会将数百甚至数千棵决策树组合成一个集成模型。如果我们只想要一棵决策树,这可能会以牺牲模型的准确率为代价。而且即使只有一棵树,如果它生长得太大,也可能不再具有可解释性,就像高维线性模型一样。

我们还可以考虑线性模型和神经网络在某些方面具有可解释性。它们从头到尾都是可微的。因此,对于给定的样本,可以追踪每个输入对输出的贡献,并展示哪些输入在略微增加或减少时会使输出变化最大。然而请注意,对于神经网络而言,这些解释是局部的。因此我们不应假设它们必然是有意义的。

由于对可解释性的需求所引发的问题,在医学领域常常成为绊脚石,从业者不愿将判断权交给机器是可以理解的。有时,这种理由被用来排除强大的模型,因为人们认为它们缺乏可解释性。我要提醒的是,在某些情况下,我们可能已经在依赖可疑的解释,甚至来自逻辑回归、决策树或支持向量机等传统方法。


转载声明:本文为转载整理,原文版权归原作者及原站点所有。

原文来源:KDnuggets

原创地址:https://www.kdnuggets.com/2015/04/model-interpretability-neural-networks-deep-learning.html#comment-184073

原文作者:https://www.facebook.com/kdnuggets;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-11-21

  • 博文量
    1148
  • 访问量
    547768