Structural Attention Graph 帮助图像分类的理解|| 深度学习可解释性新思路...

机器之心编辑部

当前卷积神经网络(CNN)越来越深,动辄一个几十层以上的黑箱。CNN到底是怎么分类的?用的是图像的纹理特征还是形状特征?特斯拉基于 CNN 的视觉系统为什么有缺陷?

深度网络在社会中的应用已越来越普遍,其安全性就变得尤为重要。尤其是近年来,所谓的长尾问题(long-tail problem)越来越普遍,工业应用中经常需要搞清楚深度网络每个错误的来源。因此,用人类能看懂的方式解释 CNN 的分类,一直是领域内的一个热点。研究者们提出了很多方法,其中最常见的一大类方法是 Saliency Map 或者叫热点图(heatmap),一般通过某种算法在图像上优化出一个热点图,来显示哪些区域在 CNN 的分类中是重要的。近年来,各种热点图算法五花八门,基于梯度的、基于优化的,有数百种不同的热点图算法。然而,热点图真的能解释 CNN 是怎么分类的么?

论文地址:https://arxiv.org/abs/2011.06733

NeurIPS 2021 的一篇论文《Structured Attention Graphs for Understanding Deep Image Classifications》表明了使用单张热点图解释 CNN 的局限性:下图 (a) 取自 ImageNet,其分类为 “美洲金翅雀”,CNN 可以正确将其分类。那么,CNN 到底是用了金翅雀的什么特征呢?(b), (c) 展示了两种热点图算法的结果。其中一张(Grad CAM)认为鸟的头部和翅膀更为重要,而另一张(I-GOS)则认为翅膀和腹部更为重要,哪种热点图说的更对呢?

答案其实是 “都对,也都不对!” 如果做一个干预性(interventional) 的实验:把图像所有部分遮挡住,只露出一小块送入训练好的 CNN 进行分类,会发现,如图 (d), (e), (f) 的三种完全不同的遮挡方式,CNN 都能以很高的置信度(predicted class-conditional probability)对遮挡后的图片给出正确的分类。

可见,热点图只能表示出 “这个区域对 CNN 分类是重要的”,但它并不是唯一重要的,所以这个解释就不全面。CNN 分类时,也许用的是“或” 的逻辑:如果看到了区域 1,那么这是只金翅雀,或者看到区域 2,也足够判断这是金翅雀,或者看到区域 3,也足够判断这是金翅雀了。说明无论哪种热点图,都没有全面地解释 CNN 的所有分类依据。本质上,热点图没法表示 “Region 1 或 Region 2 或 Region 3” 这种 “或” 的逻辑。

实际上,机器学习的可解释性中的一个大难题,就是如何把像 CNN 这种做出连续判断的黑箱系统转化为人类更熟悉、更容易理解的离散的逻辑系统,比如说用一个(概率)逻辑表达式来表示 CNN 的分类方式。之前学者们提出过一些使用决策树来近似 CNN 的方法,但是对于复杂的 CNN 来说,用简单的决策树很难近似它的分类决策。如果能用如上这种逻辑表达式来表示 CNN 的分类,从而让人更容易理解,无疑是在可解释性的研究中迈出了一大步。

借助搜索的方法解释 CNN 的分类

那么,首先需要解决的问题是,这种 “或” 的逻辑,究竟是偶然现象,还是普遍存在的呢?在该论文中,研究者们创造性地提出使用搜索的方法来枚举 CNN 所有可能的热点图。

该研究将图像分成 7x7 的网格,共 49 个小块(patch),这些小块的组合可以产生不同的遮挡方式(mask),如果遮挡之后,CNN 的分类结果和全图的分类结果相同,并且预测的概率也差不多,就可以认为这种遮挡方式之后露出的小块足以让 CNN 做出分类。这里使用集束搜索(beam search)的方式搜索出所有这样的遮挡图像。Beam search 首先将图像全部遮挡住,然后搜索所有只露出一个小块的图像,将每个图像输入 CNN 后,得到此图属于和全图同一类的概率,然后保留 K 个预测概率最高的小块 mask 进入下一轮。下一轮中在每个 mask 上试着增加一个小块,并同样保留 K 个预测概率最高的 mask,直到可以完全解释 CNN 在此图上的分类为止。

如何定义 “完全解释 CNN 在此图上的分类”?假设 CNN 在全图上预测的分类概率(predicted class-conditional probability) 为,作者定义极小充分解释 (Minimal sufficient explanation ,MSE)为极小的,可以使 CNN 给出至少倍分类概率的部分遮挡图片。极小的意义是在这个部分遮挡图片中去掉任何一个小块,都会导致分类概率低于倍。这个在文中取 90%,即部分遮挡图片的分类概率要超过全图的 90%,才被认为是个极小充分解释。找到极小充分解释后,即称图片被解释了。

在 ImageNet 数据集上对每张图像进行搜索实验的结果见下图和表:

上图描述了有多少图像可以被少量的小块解释。从图中可以看出,通过 beam search 方法,有 80% 的图像可以被不超过 10 个小块所解释——在全图 49 个小块中,10 个小块大致是 20%,即说明 80% 的 ImageNet 图像,可以仅显示 20% 的内容即可被 CNN 分类。另外值得注意的是,用 beam search 搜索的方法,在同样的块数时,可以比 Grad-CAM/I-GOS 一类优化 / 梯度的热点图方法解释更多的图片—如显示 10 个小块时,Grad-CAM/I-GOS 只能解释 50% 左右的图像,而通过搜索方法可以解释 80% 的图像!说明即使仅仅是搜索热点图,搜索方法也远好于基于梯度或优化的方法!

上表描述了每个图像平均存在解释的个数:如果要求小块之间不能重叠,采用 K=15 的 beam search 可以为每个图像找到平均 1.87 个解释,如果要求小块之间可以有一块重叠,则每个图像平均可以找到 4.51 个解释!由此可见,试图通过单张热点图来解释 CNN 在一张图像上的分类依据,是想得过于简单了。

既然很多图像都有多个解释,那么接下来应该考虑一下如何更好地显示这些解释。简单的方法是将其罗列,但该文选择的方式是对每一个解释给出一个树状结构,从而体现去掉某些小块对 CNN 输出概率的影响。作者称之为 Structural Attention Graph(SAG)。如下图所示,红框的是被去掉的块,高亮的部分是输入 CNN 的块。可以看到,最左边的解释中去掉上方的块之后,CNN 的分类概率从 97% 降到 10%,而去掉下方的块后,CNN 的分类概率仅仅降到 53%,从中可以发现不同的块对 CNN 分类概率的不同影响。

那么,这种新的解释效果如何呢?作者们在 60 个用户身上进行了 user study。为了测试不同的解释方式能否让用户明白 CNN 的分类机制,user study 中用户需要预测 CNN 在被遮挡小块上的行为,如下图:

用户需要在左右两张部分遮挡的图片中选择 CNN 会对哪一图预测的概率更高。其实,很多验证 CNN 解释方法的用户研究经常陷入一个误区即去询问用户 CNN 提供的解释是否能帮助用户更好的分类。但是,对于日常的图片,用户不需要看 CNN 就已经都认识了!所以 CNN 当然没法提高用户的分类精度。然而,用户却不一定能准确的说出 CNN 什么时候会判断正确,什么时候会判断错误。而这种对 CNN 内部机理的了解,或称为用户对 CNN 的 Mental model,是决定 CNN 模型能否部署在实用应用中的关键。因此,本文的用户实验侧重研究用户根据给出的解释,是否能判断 CNN 在一个新场景(此处使用一种用户没有见过的遮挡方式)下是否判断正确。你能从下面的 SAG 图中,猜出上面问题的答案吗?

用户实验发现,普通的热点图方法 GradCAM 和 I-GOS 对此任务没有任何显著的帮助,而该文提出的 SAG 则可以提高用户答题准确率 30% 之多。

总的来说,该论文从热点图方法不能全面解释 CNN 的局限性开始,致力于寻找一种方法把 CNN 的分类结果解释为逻辑表达式的形式,从而更全面地解释 CNN 的分类依据。其中,该研究创造性地采用了搜索而非优化的方法寻找 CNN 在每张图片上全部可能符合 “或” 逻辑的解释。并提出了 Structural Attention Graph(SAG)来把多个存在 “或” 关系的热点图用树状形式展示给用户。这种新的解释方式,跳出了单张热点图的窠臼,给深度学习的可解释性提供了新的思路。

(0)

相关推荐

  • 中考数学热点题型专项分类

    中考数学热点题型专项分类

  • 【首发】眼科人工智能企业致远慧图完成数千万元A轮融资

    近日,国内领先的人工智能医疗影像企业北京致远慧图科技有限公司(简称"致远慧图")向动脉网披露了最新的融资进展.本轮融资由丹麓资本领投,披露数额为数千万元民币,募集资金将用于眼科方向 ...

  • 【精品博文】不可避免的图像噪声

    第一次接触"噪声"这个专业词汇,是在信号与系统课上,老师当时的解释是"不想要的干扰信号".后来在模电和FPGA设计中,也经常遇到这个词(FPGA中的毛刺).如今 ...

  • 透过新视角理解深度学习中的泛化

    文 / Google Research 团队 Hanie Sedghi 和哈佛大学 Preetum Nakkiran 如何理解泛化是深度学习领域尚未解决的基础问题之一.为什么使用有限训练数据集优化模型 ...

  • 想理解深度学习,究竟应该降维打击 or 升维思考?

    让我们从一道选择题开始今天的话题. 什么是神经网络? 请选择以下描述正确的一项或多项. A.神经网络是一种数学函数,它接收输入并产生输出. B.神经网络是一种计算图,多维数组流经其中. C.神经网络由 ...

  • 10分钟理解深度学习中的~卷积~

    今年来深度学习中的卷积神经网络(上图是一个卷积神经网络形态)技术开始显现威力,通过简单的几行代码就能实现对图片.视频等信息的处理.学习和预测. 然而,理解卷积神经网络,特别是对于第一次接触深度学习领域 ...

  • 理解深度学习泛化的新视角

    视频介绍:理解深度学习泛化的新视角 理解泛化是深度学习中尚未解决的基本问题之一.为什么在有限的训练数据集上优化模型会在保留的测试集上获得良好的性能?这个问题在机器学习中得到了广泛的研究,其悠久的历史可 ...

  • 人人都看得懂的神经网络,如何形象直观地理解深度学习

    最近看到一组漫画 ,解释了深度学习的原理.什么是深度学习?下图表示了深度学习与机器学习的关系,可见深度学习是属于机器学习的一种,但是中间的推理过程是类似于人脑的神经元的构成,而机器学习更像是一棵树状的 ...

  • 看懂这十步,8岁的小朋友都能理解深度学习

    本文转自AI新媒体量子位(公众号 ID: QbitAI) 如何用最浅显的方式,给大众解释什么是深度学习呢? 法国博主Jean-Louis Queguiner撰写了这篇<给我8岁的女儿解释深度学习 ...

  • 物理学对于深度学习可解释性的启发

    令人惊讶的是,这个局部块旋转结构从训练过程中出现,表明DNN是自组织的,以实现块旋转重整化...无需手动干涉,它在学习. 如今,人工智能几乎存在于我们生活的每一个角落.智能手机.社交媒体供稿.推荐引擎 ...

  • 物理学对于深度学习可解释性的启发(精确对比)

    (精确对比) https://m.toutiao.com/is/JTsFWbp/ 令人惊讶的是,这个局部块旋转结构从训练过程中出现,表明DNN是自组织的,以实现块旋转重整化...无需手动干涉,它在学习 ...

  • 消除Aliasing!加州大学&英伟达提出深度学习下采样新思路:自适应低通滤波器层

    极市导读 Aliasing(锯齿)是采样过程中常见现象,本文为这一问题的解决提出了有效新思路:内容自适应低通滤波层,并提出一种用于评价语义/实例分割的平移一致性的新度量准则.作者在分类.分割等多种任务 ...