UCLA朱松纯丨从语义上理解卷积核行为,用决策树量化解释CNN

2018 年 2 月 12 日 德先生

本文转载自“机器之心”

机器之心编译

近日,加州大学洛杉矶分校的朱松纯教授等人发布了一篇使用决策树对 CNN 的表征和预测进行解释的论文。该论文借助决策树在语义层面上解释 CNN 做出的每一个特定预测,即哪个卷积核(或物体部位)被用于预测最终的类别,以及其在预测中贡献了多少。此前,斯坦福大学曾发表了一篇 AAAI 2018 的论文解释如何用决策树解释深度网络,由此可见可解释性的决策树在理解深度网络的进程中将发挥重要的作用。


卷积神经网络在许多视觉任务上取得了惊人的表现,例如物体分类和检测。然而,除了辨别能力,模型可解释性仍旧是神经网络的一大挑战。许多研究提出对CNN中隐藏的特征表征进行可视化、分析或者语义化,从而获得对网络表征的理解。


在此论文中,朱松纯等研究者提出了一种新任务,也就是使用决策树在语义层次上来量化解释CNN预测的逻辑。注意,这里的决策树泛指对不同图像的CNN预测生成先验解释的「一般性」树模型。


  • CNN记忆多少类模式?

  • 对每个输入图像,哪种物体-部位模式被用于预测?

  • 如何量化测量每个物体-部位模式对预测的贡献度?


解决上面三个问题需要:1)确定卷积层特征图中每个神经激活值的语义含义;2)量化测量不同神经激活值的贡献,这对当前最优算法是重大挑战。


在此论文中,研究者通过略微修正CNN而解开表征,并学习一种决策树来解释CNN的预测。给定特定领域的物体图像以及随机图像作为正例和反例样本,同时作为学习CNN和决策树的输入。在此过程中,我们并未标记任何部分或者结构作为附加的监督。首先,我们向CNN添加了论文Interpretable convolutional neural networks中提出的卷积核损失函数。其次,我们创造了一种决策树来量化解释对输入图像的决策模式,也就是哪个物体部位(卷积核)被用在预测中,贡献度有多大。


如下图1所示,决策树中的每个节点表示特定的决策模式,且该决策树以由粗到细的方式组织所有的决策模式。接近顶部根节点表征许多样本共享的通用决策模式。接近叶节点对应少数样本的细粒模式。特别是每个叶节点对应于CNN的输出关于图像中不同物体部位的梯度。


图 1. 在语义层次上解释CNN预测的决策树。我们学习到一种分类物体的CNN,带有顶部卷积层的解开表征,其中每个过滤层表征一个特定的物体部位。以一种由粗到精的方式,决策树解码CNN全连接层中隐藏的各种决策模式。给定一张输入图像,我们推断出一种解析树(红线)来量化分析CNN预测的基本原理,例如,哪些物体部位(或者过滤层)被用于预测,且其对预测的贡献度是多少。我们对总结低层节点并提供CNN预测紧密逻辑的高层决策模式更感兴趣。


因此如上所述,在这篇论文中,研究者们关注了一项新任务,即解开CNN的表征内容,并学习一个决策树以量化地解释每一个CNN预测的逻辑。他们提出了一种简单但高效的方法以在不使用标注的信息下学习一个决策树,因此可以在不使用物体部位作为额外的监督而实现学习CNN的过程。从理论上来说,研究者的方法是一种修正CNN的广泛技术,它能学到紧密耦合的CNN和决策树。实践上也证明了这种基于VGG网络方法的高效性。


论文:Interpreting CNNs via Decision Trees

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


本文提出的方法可通过学习决策树从而量化地解释预训练卷积神经网络(CNNs)每一预测的内在逻辑。我们的方法从两个方面提升了神经网络的可解释性。


1) 在CNN中,高层卷积层之中的每一个过滤层必须表征一个特定的物体部位,而不是描述无明确含义的混合模式。

2) 人们可以借助决策树在语义层面上解释CNN做出的每一个特定预测,即哪个过滤层(或物体部位)被用于预测,以及其在预测中贡献了多少。为了对CNN做出量化解释,我们的方法学习CNN高层卷积层中物体部位的明确表征,并挖掘存储在全连接层之中的潜在决策模式。决策树按照由粗到细的方式组织这些潜在的决策模式。最后,我们的实验表明了这一方法的有效性。


3. 算法


3.1. 准备工作:学习带有解开(disentangled)表征的 CNN


通过在顶部卷积层为每一个过滤层添加损失,[30] 获得了已学习的CNN解开表征,从而把过滤层的表征推向了一个特定的物体部位。注意人们无需为监督标注物体部位。CNN在端到端学习期间自动为每一个过滤层分配一个特定部位。


如图2所示,人们为正样本设计L^2正模板T^+ = {T_1,1, T_1,2, . . . , T_L,L} 以表征当滤波器f的物体部位出现在x^(d) 上的L^2个不同位置候选处时的理想激活形状。负模板T^−同样用于描述负样本上的特征图。过滤层f的损失是作为所有特征图和所有模板之间的负互信息给出的。



其中X表征所有训练样本上过滤层f的特征图的集合,T表征所有的L^2+1模板。先验概率p(T) 被定义为一个常量。


图 2:过滤层f的特征图的正模板。每个模板表征当过滤层f的物体部位出现在特定的图位置时的理想激活形状。


3.2. 学习一个决策树


过滤层中的部位概念:等式 (1) 中的损失确保每个过滤层表征一个特定的物体部位。让我们聚焦在有特定过滤层f所产生的特征图xi , x ^(d)_ i ∈ R^L×L的第d个通道,该通道表征一个解开的物体部位。我们可以把等式 (1) 中的过滤层损失重写为



如图3所示,这一损失确保第d个过滤层f表征目标物体的一个部位。


图 3:普通CNN特征图与本研究中使用的解开特征图之间的对比。我们可视化对应于每一特征图的图像区域。


CNN预测的内在逻辑:如 [21] 所述,全连接层中为I_i编码的决策模式可以大致为分段线性表征所描述:



其中⊗表示卷积。关于特征图的梯度partial y_i除以partial x_i可通过梯度反向传播计算。


树:如图4所示,我们提取编码在CNN全连接层之中的决策模式,并构建一个决策树以组织决策模式的层级。从顶部节点到终端节点,决策树通过由粗到细的方式编码决策模式。


图 4:决策树的学习过程。P_3中的红线表示解析树以解释给定图像I的原理。


学习:决策树学习的基本思想是从不同样本的特定决策模式中总结常见的决策模式,从而表征CNN预测的基本原理。


开始时,通过设定和α = 1,我们把每一个正样本I_i的梯度g_i初始化为一个终端节点。因此如图4所示,我们构建了一个初始树Q,其中顶部节点把所有正样本的梯度作为后代。接着,在每一步中,我们在第二个层中选择并合并两个节点v, v0 ∈ V(即,顶部节点的后代)以获得一个新节点u,其中V表征第二层中的节点集合。v和v^'成为了u的后代,并且u替代v和v^'成为了顶部节点的新后代。通过这种方式,在T合并操作之后我们逐渐把初始树P_0 = Q修改为最后的决策树:

整体如下:


3.3 解释 CNN


给定一个测试图像I_i,我们使用CNN以预测y_i。我们使用决策树对预测的基本原理进行莲花的计算。在推断过程中,我们能自上而下构建一棵解析树,图4中的红线展示了这样的解析树。如果读者希望了解更多解释CNN预测类别的过程,请查看原论文的该章节。


4. 实验


表 1:在决策树第2、5、10、50和100层的平均节点数。


表 2:在决策树第2、5、10、50、100和底层上的平均分类准确度。


表 3:在决策树第2、5、10、50、100和底层节点上的平均预测误差。


表 4:在决策树第2、5、10、50、100和底层节点上对卷积核拟合度的平均贡献。


上表1展示了决策树的结构,其余展示了各层级的特性。下图5可视化了决策树中的决策模式,而图6展示了物体部位的分布对CNN预测的贡献,该贡献通过使用决策树第二层节点进行估计。


一般来说,当我们使用更加细粒度的决策模式来解释预测逻辑时,该解释将更好地拟合CNN中的实际逻辑,并且使用决策模式预测y_i的误差也会降低。然而,更加细粒度的决策模式并不会展现更高的分类准确率,因为我们方法的目标是总结预训练CNN模型的决策模式,而不是提升分类准确度。


图 5:可视化决策树第二层节点所对应的决策模式,我们展示了每一个决策模式中的典型样本。


图 6:对CNN预测的物体-部位贡献。饼图展示了不同部位的贡献比例,它们都通过第二层节点进行估计。热力图表示顶部卷积层的神经元激活值分布,该热力图并不代表「贡献」的分布,因为神经元激活值并没有被g_i加权。右图为不同卷积核的图像感受野。基于这些感受卷积核,我们可以通过不同的物体部位分配卷积核,因而能计算物体部位的贡献。


本论文再最后的结语中表明,决策树理论上只为CNN的预测提供近似的解释,它不会对CNN的表征细节进行准确的重构。首先,我们并没有准确的物体-部位标注以监督CNN的学习,[30] 只能粗略地令每个卷积核表征一个物体部位。而卷积核在一些困难的样本中也可能生成不正确的激活值。其次,每一个节点的决策模式忽略非显著性的物体-部位模式(卷积核)以确保决策模式的稀疏表征。



📚往期文章推荐

人工智能名人堂第49期 | 斯坦福研究院名人堂成员:Peter E. Ha

🔗OpenPV:中科院研究人员建立开源的平行视觉研究平台

🔗IEEE IV 2018 “智能车辆中的平行视觉”研讨会征稿启事

🔗【敲黑板】距离第29届 IEEE IV 大会截稿还剩4天!

🔗距离IEEE IV 2018 “自主驾驶系统中的场景理解”研讨会截稿还剩3天!

🔗距离IEEE IV 2018 “无人驾驶的离线测试与评估”研讨会截稿还剩4天!

🔗综述论文 | 机器学习中的模型评价、模型选择与算法选择

🔗FAIR提出人体姿势估计新模型:效果惊艳,升级版Mask-RCNN!

🔗埃隆·马斯克最感性专访:我期待失败,也期待真爱

🔗盘点丨国之优才!细数近年来入选长江学者的女科学家!

🔗Hinton:人类就是机器,通过生物方式制造的机器



德先生公众号 | 往期精选


在公众号会话位置回复以下关键词,查看德先生往期文章!


人工智能|机器崛起|区块链|名人堂

虚拟现实|无人驾驶|智能制造|无人机

科研创新|网络安全|数据时代|人机大战

……

更多精彩文章正在赶来,敬请期待!


点击“阅读原文”,移步求知书店,可查阅选购德先生推荐书籍。

登录查看更多
9

相关内容

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。 分类树(决策树)是一种十分常用的分类方法。他是一种监管学习,所谓监管学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【Nature论文】深度网络中的梯度下降复杂度控制
专知会员服务
38+阅读 · 2020年3月9日
理解 YOLO 目标检测
AI研习社
20+阅读 · 2018年11月5日
用模型不确定性理解模型
论智
11+阅读 · 2018年9月5日
卷积神经网络的最佳解释!
专知
12+阅读 · 2018年5月1日
直白介绍卷积神经网络(CNN)
Python开发者
25+阅读 · 2018年4月8日
斯坦福完全可解释深度神经网络:你需要用决策树搞点事
中国人工智能学会
4+阅读 · 2018年1月10日
学界 | NCSU&阿里巴巴论文:可解释的R-CNN
机器之心
6+阅读 · 2017年11月27日
特征工程的特征理解(一)
机器学习研究会
10+阅读 · 2017年10月23日
【深度】Deep Visualization:可视化并理解CNN
专知
10+阅读 · 2017年9月30日
已删除
Arxiv
32+阅读 · 2020年3月23日
Interpretable CNNs for Object Classification
Arxiv
20+阅读 · 2020年3月12日
Interpretable Adversarial Training for Text
Arxiv
5+阅读 · 2019年5月30日
Explanatory Graphs for CNNs
Arxiv
4+阅读 · 2018年12月18日
Arxiv
22+阅读 · 2018年2月14日
Arxiv
4+阅读 · 2017年11月14日
VIP会员
相关VIP内容
【Nature论文】深度网络中的梯度下降复杂度控制
专知会员服务
38+阅读 · 2020年3月9日
相关资讯
理解 YOLO 目标检测
AI研习社
20+阅读 · 2018年11月5日
用模型不确定性理解模型
论智
11+阅读 · 2018年9月5日
卷积神经网络的最佳解释!
专知
12+阅读 · 2018年5月1日
直白介绍卷积神经网络(CNN)
Python开发者
25+阅读 · 2018年4月8日
斯坦福完全可解释深度神经网络:你需要用决策树搞点事
中国人工智能学会
4+阅读 · 2018年1月10日
学界 | NCSU&阿里巴巴论文:可解释的R-CNN
机器之心
6+阅读 · 2017年11月27日
特征工程的特征理解(一)
机器学习研究会
10+阅读 · 2017年10月23日
【深度】Deep Visualization:可视化并理解CNN
专知
10+阅读 · 2017年9月30日
相关论文
已删除
Arxiv
32+阅读 · 2020年3月23日
Interpretable CNNs for Object Classification
Arxiv
20+阅读 · 2020年3月12日
Interpretable Adversarial Training for Text
Arxiv
5+阅读 · 2019年5月30日
Explanatory Graphs for CNNs
Arxiv
4+阅读 · 2018年12月18日
Arxiv
22+阅读 · 2018年2月14日
Arxiv
4+阅读 · 2017年11月14日
Top
微信扫码咨询专知VIP会员