人工智能

应用机器学习和深度学习

什么是可解释AI?

如何以及何时使用可解释的AI技术

本文来自FAU工程与计算机科学博士和教授Oge Marques。
尽管取得了令人印象深刻的成就,但深度学习(DL)模型本质上是不透明的,缺乏解释其预测、决策和行动的能力。为了规避这些限制,通常被称为“黑箱”问题,人工智能(AI)中的一个新领域出现了:XAI(可解释的人工智能)。这是一个广阔的领域,包括广泛的工具和技术
在这篇博客文章中,我们将重点介绍用于计算机视觉任务的XAI技术,并演示如何成功地使用它们来增强您的工作。在此过程中,我们就如何以及何时明智地应用这些技术提供了实用的建议。

重要的事情先说

XAI是一个广阔的研究领域,随着该领域的发展,其边界正在被重新划定,XAI能做什么(不能做什么)也越来越清晰。在这一点上,甚至这个新兴领域的基本方面,如术语(例如,可解释性vs.可解释性)、范围、哲学和有用性,都在被积极讨论。
从本质上讲,XAI旨在为当代人工智能模型提供解释其预测、决策和行动的能力。这主要可以通过两种不同的方式实现:
  1. 通过设计模型本质上可判断的,即,其架构允许提取决策如何做出的关键见解,以及如何计算值。这个类别中最流行的例子之一是用于分类任务的决策树。就其本质而言,决策树算法将选择最重要的特征、相关的阈值以及算法为达到预测所采取的路径(图1)。

图1 -一个使用决策树的购车推荐系统:一个可解释的模型,可以自动解释它的决策(例如,建议一辆60年代的老式红色跑车,行驶里程很低)。

  1. 通过生产事后解释(因此有了拉丁短语因果),这在计算机视觉和图像分析任务中已变得相当流行,我们将在接下来看到。

运用你的判断力

在花时间将XAI方法应用到您的计算机视觉解决方案之前,我们建议您回答四个基本问题:
  1. 你在做什么?需求和动机?
    使用XAI的原因可能有很大不同。XAI的典型用途包括:用于构建模型的代码的验证和确认;对同一任务的竞争模型的结果进行比较;符合法规要求;还有纯粹的好奇心,仅举几例。
  2. 有什么特点任务在忙吗?
    不同的任务可能比其他任务更能从XAI提供的额外见解中受益,我们将在下面的示例中看到这一点。
  3. 哪一个数据集是否被用于训练、验证和测试模型?
    数据集的大小、性质和统计属性(例如,数据集的不平衡程度)将在很大程度上决定XAI是否会影响您的工作。
  4. 哪一个工具是否可以支持你的工作?金宝app
    XAI工具通常由一个(复杂的)算法组成,该算法计算用于推断模型决策的参数(如深度神经网络中的权重和梯度),以及一个将这些决策传达给用户的用户界面(UI)。两者都是必不可少的,但在实践中,UI是最薄弱的环节,因为它的工作是以一种对用户清楚的方式传达XAI方法的发现,同时隐藏底层计算的复杂性,从而确保满意的用户体验。

例子

我们选择了三个示例,它们展示了使用XAI技术来帮助您改进工作的不同方式。当我们一起探索这些例子时,你应该更好地了解如何以及何时在以下计算机视觉任务中使用XAI,这些任务是根据它们的有用性和受欢迎程度选择的:
(1)图像分类(2)语义分割(3)视觉检测中的异常检测。
对于每个示例/任务,我们建议您考虑一个检查表
1.在这种情况下,使用事后XAI是否增加了价值?为什么(不)?
2.结果有意义吗?
3.结果是预期的吗?
4.我能做些什么不同的事情?
这些问题的答案可以决定XAI热图实际上为您的解决方案增加了多少价值(除了满足您的好奇心)。

例1:图像分类

使用预先训练的卷积神经网络(cnn)进行图像分类已经成为一项可以完成的简单任务少于10行代码.本质上,图像分类模型预测最能描述给定图像内容的标签(名称或类别)。
给定一个测试图像和一个预测标签,可以使用事后XAI方法来回答以下问题:模型认为图像的哪些部分是最重要的?
我们可以使用不同的XAI方法(例如gradCAMocclusionSensitivity而且imageLIME,所有这些都是深度学习工具箱的一部分),以产生覆盖在实际图像上的颜色图的结果(参见示例在这里).这很好,可能有助于满足我们的好奇心。我们可以说,尽管结果和可视化方法存在差异,但事后XAI技术可以帮助“解释”或增强图像分类结果。
图2显示了使用gradCAM对于两个不同的任务(与相关的数据集)和测试图像:狗vs.猫分类器和狗品种分类器。在这两种情况下,我们都从预先训练好的GoogLeNet开始使用迁移学习方法。
任务 测试图像 预测的标签 “解释”
给定一个图像,预测图片中的动物是否是一只或者一个 “狗”
“猫”
给你一张狗的图片,预测它的品种 “小猎犬”
“金毛猎犬”
“小猎犬号”(错误的)
让我们逐行分析结果。
  • 前两行指的是“狗vs.猫”任务。这两个结果都是正确的,并且Grad-CAM热图在某种程度上保证了分类器在这两种情况下都“看到了图像的正确部分”。太棒了!
在第二个任务中,事情变得更加有趣。
  • 第一个案例显示了一只被正确分类的小猎犬和一个令人信服的梯度摄像头热图。到目前为止,一切顺利。
  • 然而,第二个案例带来了一个令人惊讶的方面:尽管这只狗被正确地识别为金毛猎犬,但相关的Grad-CAM热图与我们之前看到的(在“猫vs.狗”案例中)有显著不同。这很好,除了在品种分类器的情况下,热图表明网络对眼睛区域的重视程度非常低,这有点出乎意料。
  • 第三个案例说明了事后XAI方法经常受到批评的原因之一:它们提供了类似的“解释”(在这种情况下,集中在狗的头部区域),即使它们的预测是不正确的(在这种情况下,拉布拉多寻回犬被错误地识别为比格犬)。
使用我们的检查表,我们可能会同意XAI结果有助于突出显示底层图像分类器认为测试图像的哪些区域最重要。但是,我们已经看到,如图2中的最后两个案例所示,事后XAI并不是万能的。
当然,有一件事我们可以做得不同,那就是使用其他的事后XAI技术——这基本上包括修改一行代码。您可以使用以下示例代码(链接)作为你自己实验的起点。

例2:语义分割

语义分割是神经网络将图像中的每个像素分类为属于场景中出现的一个或多个对象的语义类的过程。结果可以通过对每个语义类进行不同颜色的伪着色来可视化,这为用户提供了关于分割结果质量的清晰而精确的(像素级)反馈(图3)。

图3 -使用属于每个语义区域的伪着色像素的任意约定的语义分割结果示例

就像我们对图像分类任务所做的那样,我们可以使用Grad-CAM来查看图像的哪些区域对于每个语义类别的像素分类决策是重要的(图4)。

图4 -使用Grad-CAM进行语义图像分割的结果示例

查看我们的清单,我们可以认为,与图像分类场景相反,尽管它易于使用,但Grad-CAM热图提供的额外信息确实如此显著地增加了我们对解决方案的理解,也没有为我们的整体解决方案增加价值。然而,它确实帮助我们确认了底层网络的某些方面(例如,早期层中的特征提取)按预期工作,因此证实了这个网络架构确实适合这项任务的假设。

例3:目测中的异常检测

在最后一个例子中,我们展示了可以在视觉检查任务中执行异常检测并产生可视化结果来解释其决策的深度学习技术。
由此产生的热图可以引起对异常的注意,并提供模型适用于这种情况的即时验证。值得一提的是,每个异常实例都可能与其他异常不同,这些异常通常很难被人类质量保证检查员发现。
在不同的环境和行业(制造业、汽车、医学成像等)中,这个问题有许多不同的形式。这里有两个例子:
1.检测混凝土中的不良裂缝。
这个例子使用用于分类数据集的混凝土裂缝图像其中包含2万张图片,分为两类:图像,即没有道路上明显的裂缝,以及积极的图像,即具有特定异常的图像(在本例中为裂缝)。图5显示了无裂纹和有裂纹图像的结果。
从我们的检查表的角度来看结果,不应该讨论额外的解释/可视化层增加了多少价值。在真正的阳性结果中突出显示为“热点”的区域是有意义的,并有助于将注意力转移到图像中包含裂缝的部分,而在真正的阴性结果中缺乏“热点”区域会让我们安心地知道图像中没有什么可担心的(即没有不希望出现的裂缝)。
图5 -结果示例:视觉检查任务(混凝土裂缝)中的异常检测
2.检测有缺陷的药片。
这个例子使用pillQC数据集它包含三种类型的图像:没有缺陷的正常图像,药丸中有芯片缺陷的图像,以及有污垢污染的图像。图6显示了正常图像和缺陷图像的热图结果。再一次,根据我们的检查表评估结果,我们应该同意,有令人信服的证据表明XAI和可视化技术在这种情况下是有用的。
缺陷药丸图像异常热图 正常图像异常热图
图6 -结果示例:目视检查任务中的异常检测(有缺陷的药丸)

关键的外卖

在这篇博客文章中,我们展示了如何使用事后XAI技术来可视化图像的哪些部分对于三种不同的计算机视觉应用程序是最重要的。
这些技术可能除了解释正确的决策之外还很有用,因为它们还可以帮助我们识别错误,即模型学习图像错误方面的情况。我们已经看到,这些XAI方法的有用性和附加价值在不同的情况下可能有所不同,这取决于任务和相关数据集的性质以及对解释的需求等许多方面。
回到这篇博客文章的标题,我们已经证明了回答“如何”的问题要容易得多(多亏了MATLAB中的一些后期XAI可视化技术)而不是什么时候的问题(我们希望为这个问题提供了额外的见解和有用的清单)。
请记住,XAI不仅仅是由这篇博客文章中所描述的后期技术生成的颜色图,而且这些技术及其相关的颜色图可以是有问题的,我们将在本系列的下一篇文章中讨论。
与此同时,你可能想看看这个博客(和同伴代码)的“医学图像的可解释人工智能”,并尝试基于ui的UNPIC(理解网络预测图像分类)MATLAB应用程序
|
  • 打印
  • 发送电子邮件

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。