使用不确定性来解释您的模型

解释深度学习模型很难。了解如何使用不确定性估计来了解模型学到了什么。

来源:Another Datum

这是与 Inbar Naor 的联合文章。最初发表于 engineering.taboola.com。

这是与 Inbar Naor 的联合文章。最初发表于 engineering.taboola.com。 Inbar Naor engineering.taboola.com

随着深度神经网络 (DNN) 变得越来越强大,其复杂性也随之增加。这种复杂性带来了新的挑战,包括模型可解释性。

可解释性对于构建更强大、更能抵抗对抗性攻击的模型至关重要。此外,为一个新的、研究不充分的领域设计模型具有挑战性,能够解释模型正在做什么可以帮助我们完成这一过程。

模型解释的重要性促使研究人员在过去几年中开发了各种方法,去年的 NIPS 会议上专门为这个主题举办了一个完整的研讨会。这些方法包括:

各种方法 研讨会

在我们深入研究如何使用不确定性来调试和解释模型之前,让我们先了解一下不确定性为何如此重要。

为什么要关心不确定性?

一个突出的例子是高风险应用。假设您正在构建一个模型,帮助医生决定患者的首选治疗方法。在这种情况下,我们不仅应该关心模型的准确性,还应该关心模型对其预测的确定性。如果不确定性太高,医生应该考虑到这一点。

自动驾驶汽车是另一个有趣的例子。当模型不确定路上是否有行人时,我们可以使用此信息来减慢汽车速度或触发警报,以便驾驶员可以掌控。

不确定性的最后一个用途,也是这篇文章的目的,是作为从业者调试模型的工具。我们稍后会深入探讨这个问题,但首先,让我们谈谈不同类型的不确定性。

不确定性类型

不确定性和建模有不同类型,每种类型都有不同的用途。

模型不确定性 数据不确定性