机器学习的可理解性与可解释性 - kdnuggets


机器学习中可理解性interpretability和可解释性explainability是两个重要概念,对建立值得信赖和道德的AI系统非常重要。
在机器学习和人工智能的背景下,可理解性和可解释性经常互换使用。尽管它们之间有着密切的联系,一旦您开始更深入地研究机器学习系统,事情就会变得多么复杂。
可理解性interpretability大约是在系统内可以观察到因果关系的程度。或者换句话说,在输入或算法参数发生变化的情况下,它是您能够预测将要发生的情况的程度,然后检查对比一下算法逻辑继续运行,可理解性是指我可以看到这里发生了什么。
而可解释性explainability是机器或深度学习系统的内部机制可以以人类表达的方式进行解释的程度。
两者存在细微差别:可理解性interpretability是指能够辨认机制而不必知道原因。可解释性explainability能够从字面上(使用语言等形式表达)解释发生的事情。
例如:假设您正在学校进行科学实验。就您所看到的所做的事情而言,该实验可能是属于可理解性interpretability的,但是只有当您深入了解所发生的事情背后的化学反应时,该实验才真正可以可解释性explainability(包含了上下文背景)。
像医疗保健这样的领域希望部署人工智能和深度学习系统时,问责制和透明度问题尤为重要,如果我们无法在我们的算法中正确提供改进的可理解性interpretability以及最终的可解释性explainability,我们将严重限制人工智能的潜在影响。
但是,除了需要进行法律和专业考虑外,还有一种观点认为,即使在较为平淡的业务场景中,提高可理解性和可解释性也很重要。了解算法实际上是如何工作的,可以帮助使数据科学家和分析师的活动与组织的关键问题和需求更好地保持一致。
 
改善机器学习可理解性的技术和方法
尽管透明性和道德问题对于现场的数据科学家来说可能是抽象的,但实际上,可以做一些实际的事情来提高算法的可解释性和可解释性。

  • 算法概括

首先是提高概括性。这听起来很简单,但并不是那么容易。当您认为大多数机器学习工程都以一种非常特定的方式应用算法来发现某些期望的结果时,模型本身可能会感觉像是次要元素:仅仅是达到目的的一种手段。但是,通过改变这种态度,平衡考虑算法的整体运行状况以及运行该算法的数据,您可以开始为改善可解释性奠定坚实的基础。
  • 注意功能的重要性

这应该很明显,但是很容易被遗漏。仔细查看算法各种功能的设置方式,是切实解决各种问题的实用方法,从业务调整到道德准则。关于如何设置每个功能的辩论和讨论可能会花费一些时间,但是隐含地意识到已经以某种方式设置了不同的功能仍然是迈向可理解性和可解释性的重要一步。
  • LIME:本地可理解但模型不可知的可解释性

尽管上述技术提供了数据科学家可以采取的实际步骤,但LIME是研究人员开发的一种实际方法,旨在使算法内部发生的事情更加透明。研究人员解释说,LIME可以“通过学习围绕可预测的可理解模型,以一种可理解和忠实的方式来解释任何分类器的预测。”
在实践中,这意味着LIME模型通过对其进行测试以查看模型中某些方面发生变化时发生的情况来发展模型的近似值。本质上讲,它是通过尝试通过相同的输入尝试重新创建输出的方法。
  • DeepLIFT(深度学习重要功能)

在深度学习特别棘手的领域,DeepLIFT是有用的模型。它通过反向传播的形式工作:获取输出,然后尝试通过“读取”已形成原始输出的各种神经元将其拉开。本质上,这是一种追溯算法内部特征选择的方法(顾名思义)。
  • 逐层相关性传播

逐层相关性传播与DeepLIFT类似,因为它从输出向后进行工作,识别出神经网络中最相关的神经元,直到您返回到输入(例如,图像)为止。如果您想了解更多有关该概念背后的数学知识,Dan Shiebler的这篇文章是一个很好的起点
  
通过增加复杂性以解决复杂性:是否可以提高透明度?
可理解性和可解释性的中心问题是,您在开发过程中添加了额外的步骤。确实,您可能要添加多个步骤。从一个角度看,这似乎是您要尝试以更大的复杂度解决复杂性。
在某种程度上,这是事实。在实践中,这意味着如果我们要认真对待可理解性和可解释性,则在进行数据科学和工程的方式以及人们认为应该如何进行的方式上需要进行更广泛的文化变革。
那也许是真正具有挑战性的部分。