本文转载自“机器之心”
机器之心编译
近日,加州大学洛杉矶分校的朱松纯教授等人发布了一篇使用决策树对 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] 只能粗略地令每个卷积核表征一个物体部位。而卷积核在一些困难的样本中也可能生成不正确的激活值。其次,每一个节点的决策模式忽略非显著性的物体-部位模式(卷积核)以确保决策模式的稀疏表征。
📚往期文章推荐
🔗IEEE IV 2018 “智能车辆中的平行视觉”研讨会征稿启事
🔗【敲黑板】距离第29届 IEEE IV 大会截稿还剩4天!
🔗距离IEEE IV 2018 “自主驾驶系统中的场景理解”研讨会截稿还剩3天!
🔗距离IEEE IV 2018 “无人驾驶的离线测试与评估”研讨会截稿还剩4天!
德先生公众号 | 往期精选
在公众号会话位置回复以下关键词,查看德先生往期文章!
人工智能|机器崛起|区块链|名人堂
虚拟现实|无人驾驶|智能制造|无人机
科研创新|网络安全|数据时代|人机大战
……
更多精彩文章正在赶来,敬请期待!
点击“阅读原文”,移步求知书店,可查阅选购德先生推荐书籍。