Abstract
本文学习一个图模型,名为解释图,该解释图揭示隐藏于预训练CNN内的知识层次。考虑预训练CNN中每个filter通常表示一个目标部分的混合,我们提出一个简单有效的方法自动从每个filter中解开不同的部分模式,并构建一个解释图。在解释图中,每个结点代表一个部分模式,每个边编码不同模式间的共激活和空间关系。更重要的是,我们以一种非监督的方式学习预训练CNN的解释图,即不需要标注目标部分。实验结果表明,每个图结点在不同图像中持续表示同一目标部分。将解释图中的部分模式迁移到目标定位任务中,该方法表现优于其他方法。
Introduction
CNN在目标分类和检测中取得了优异的效果。然而,端到端的学习策略使得CNN更像是一个黑箱。当CNN训练用于目标分类任务时,卷积层编码了丰富的隐含模式。因此,我们希望提供一个关于预训练的CNN中视觉知识如何组织的一个全局视角,这将面临很大的挑战,例如:
(1)CNN中每个filter记住了多少种模式;
(2)哪些模式被共激活以描述一个目标部分;
(3)两个模式间的空间关系是什么样的。
在该研究中,给定一个预训练的CNN,我们从卷积层中挖掘中间层目标部分模式,以一种无监督的方法在解释图中组织这些模式。
Representing knowledge hierarchy
解释图具有多个层,对应于CNN中的不同卷积层。每个图层拥有多个结点。用这些结点总结不同卷积层中隐藏于混沌特征图中的知识。因为卷积层中的每个filter会潜在表示目标的多个部分,我们用图结点表示所有候选部分的模式。一个图边连接相邻层的两个结点以编码他们之间的共激活逻辑和空间关系。
我们并没有将每个模式的位置修正到卷积输出的一个指定神经元。相反,给定不同输入图像,一个部分模式会出现在特征图的多种位置。例如,图1中的马脸和马耳朵会出现在不同图像中的不同位置,只要它们是共激活的,并保持一定的空间关系。
Disentangling object parts from a single filter
如图1所示,卷积层中每个filter会被不同的目标部分激活(例如滤波器的特征图会被马头和脖子同时激活)。为了澄清知识表示,我们希望以一种非监督的方式从同一个filter中解开不同目标部分的模式。
在本文中,我们提出一种不需要额外标注的,简单有效的方法自动从一个特征图中自动发现目标部分。以这种方式,可以同特征图中滤除噪声激活,并保证每个每个图结点持续在不同图像中表示同一目标部分,
给定CNN一张图像,解释图可以告诉我们(1)一个结点是否被激活;(2)特征图中部分的位置。
Graph nodes with high transferability
就像字典一样,解释图提供目标部分的可供选择的模式,这提供了一种将卷积层中知识迁移到其他任务的可能性。考虑CNN中所有filter是由很多图片学到的,我们可以将每个图结点视作一个探测器,该探测器可以在数千张图像学到一个目标部分。和卷积层的混沌特征图相比,解释图可以更加精确和有意义的表示CNN中的知识。
为了提供以上assertion,对不同CNN学习解释图并从不同角度进行分析。
(1)Visualization & reconstructions:
图结点中的模式可以以两种方式可视化。首先,对于每个图结点,可以列举强结点激活的目标部分。第二,可以利用图结点的激活状态重建与结点相关的图像区域。
(2)Examining part interpretability of graph nodes:
评估图结点部分层次可解释性。给定一个解释图,检查一个结点是否在不同目标部分中持续表示相同目标语义。
(3)Examining location instability of graph nodes:
除了部分解释性,还定义一个矩阵,即位置不变性,以评估解释图中每个结点的语义含义。假设图结点持续表示同一目标部分,则推理部分和目标实际语义部分之间的距离在大部分图片之间会保持不变。
(4)Testing transferability:
在多目标定位任务中,将图结点和显式部分名称联系起来。其优越的表现显式出图结点优异的可迁移性。
Contributions:
(1)提出一种简单有效的方法,澄清隐藏于预训练的CNN中的混沌知识,利用解释图模型总结其深度知识层次。该图模型从CNN的每个filter中解开部分模型。实验结果表明,在不同图像中,每个图结点持续表示同一目标部分;
(2)该方法可以应用于不同CNN结构,如VGG,残差网络,VAE-GAN,自编码器;
(3)所挖掘的模式具备良好的迁移性,在多目标部分定位任务中,尤其明显。该方法在没有部分标注的情况下预训练,我们基于迁移学习的部分定位由于其他具备部分标注的其他方法。
Related Work
Semantics in CNNs
CNN的可解释性和判别力是其非常重要的两个方面。近年来,越来越多的方法用于探索CNN中隐含的语义含义。许多统计学方法用于分析CNN特征的特点。Zhang等人证明,尽管具备良好的分类性能,CNN会由于数据集的偏差编码具有偏差的知识表示。CNN也经常使用不可靠的背景进行分类。例如,CNN会从头发中提取特征识别微笑属性,因此,我们需要可视化隐藏于CNN中的知识层次。
Visualization & interpretability of CNN filters:
可视化CNN的滤波器是探索隐藏于神经元内模式的最直接方法。反卷积方法可以用于将特征图逆回到图像。相应的,基于梯度的可视化技术展示出一个给定神经元最大化的表现,这更接近与理解CNN知识的精神。虽然这些研究达到了清晰的可视化结果,理论上讲,基于梯度的可视化技术可视化了高卷积层滤波器的一个局部最小。即当一个滤波器表现了多个模式,这些方法会选择性的选取其中的一个模式,否则,可视化结果会是混沌的。相似的,Bau等人选择分析每个filter最高5%激活的语义,相反,我们的方法提供了一个解决方案,同时解释每个filter的强激活和弱激活,这样可以挖掘每个filter的所有可能模式。
Pattern retrieval:
一些研究超越被动可视化方法,在不同应用中主动从CNN中检索神经元。像中间级特征提取,模式检索,主要学习CNN知识的中间级别表示。Zhou等人从特征图中挑选神经元以描述场景。Simon等人从无标签图像的特征图中探索目标,以一种监督形式选择filter描述每个部分。然而,很多方法简单的假设每个filter主要编码一个视觉概念,忽略高卷积层的filter所编码的是一个模式的混合。Zhang等人从一个filter的特征图中提取一个特定神经元,以一种弱监督的方法描述一个目标部分。
在本研究中,在不需要部分标注的前提下,解释图模型可以解开CNN的不同部分模式。相比于粗糙的特征图,图结点的模式更具可解释性。
Weakly-supervised knowledge transferring
知识迁移观点在深度学习中应用广泛。典型的研究包括端到端微调和在不同类别或数据集间迁移CNN知识。部分知识的透明表示会创造一个迁移部分知识到其他应用的新的可能性。因此,我们构建解释图以表示隐藏于CNN中的部分模式,这可以迁移部分模式到其他任务。实验结果表明我们的方法在多目标定位中的有效性。
Algorithm
Intuitive understanding of the pattern hierarchy
如图2所示,一个filter的特征图通常会被不同位置的不同目标部分激活。假设一个特征图被N个峰激活。一些峰值代表目标的共同部分,我们称这些激活峰为部分模式,其他峰值被认为是背景噪声。
我们的任务在于从一个filter对应的特征图的噪声峰中挖掘代表部分模式的激活峰。假设如果一个峰值对应一个目标部分,其他filter的一些模式会在相似图位置被激活,反之成立。这些模式表示相同部分的子区域,并保持一定的空间关系。因此,在解释图中,我们连接低卷积层中的每个模式到其相邻高一层的一些模式。逐层挖掘部分模式。给定从上层卷积层中挖掘的模式,选择本层激活峰,作为当前卷积层的部分模式,所选定的激活峰会在不同图片之间和特定上层模式保持稳定的空间关系。
如图2所示,高卷积层的模式通常表示大尺度目标部分。同时,低卷积层中的模式通常描述相对简单的形状,在语义层面,可辨识度较低。我们利用高卷积层模式滤除噪声,并解开低层模式。从另一个角度来讲,我们认为低层模式是高层模式的组成部分。
Learning
Notations: 给定一个由训练样本集 I 预训练的CNN网络。G表示目标解释图模型。G包含多个层,对应于CNN中的卷积层。我们解开L卷积层中第d个filter为个不同的部分模式,并将其建模为G中第L层的个节点集合,记为。其中,表示CNN中d-th filter的结点集。L-th这些结点的参数为,主要编码这些结点之间的空间关系,以及其与(L+1)层结点之间的空间关系。
给定训练图像,CNN会生成L层的特征图,记为。对于每个结点,可以利用解释图去推断V的模式是否出现在了的 第d个通道,若模式出现了,则可以推断其位置。利用表示L层所有结点的位置推断结果。
Objective function
以一种自顶向下的方式构建解释图。给定所有训练样本I,首先解开CNN顶层的模式,构建解释图顶层。然后,利用顶层结点/模式的推断结果解析其相邻下一层的模式。以这种方式,可以逐层完成解释图G的构建。给定CNN中(L+1)层的推断结果,(),我们希望所有模式同时满足以下两个条件:(1)可以被很好拟合;(2)与其相邻上层在大量图像中保稳定的空间关系。因此,第L层的目标函数为:,即结点参数可以最好拟合训练图像的特征图。
注意图像I 的卷积特征图。为了方便,在以下的段落中省略上标I。将描述为“神经激活实体”的分布。考虑中每个神经元神经激活为激活实体的数目。换言之,每个神经元x位于的通道位置处。表示位置处的激活值,其中是x的归一化响应值,是一个常量。
因此,类似于高斯混合模型,我们用中的所有模式作为一个混合模型联合解释中d通道激活实体的分布:
其中,设每个结点是隐变量,或者用于描述激活实体的可选成分。是一个常量先验概率。测量利用结点V描述处激活实体的兼容性。此外,由于噪声激活无法用任何模式解释,我们加入一个dummy成分到混合模型中描述噪声激活。因此,V和px之间的兼容度是基于V和G中其他结点的空间关系计算的,其计算方法为:
在以上等式中,结点V具有在其上层M相邻模式组成的集合,记为,会在学习过程中被确定。整体兼容度可以分解为节点V与每个相邻节点V’之间的空间兼容度。代表V'的位置推断结果。是一个归一化常量。是一个常量,可以粗略保障,该参数会在学习过程中被消掉。
如图3 所示,一个直观的idea是,节点V和V’之间相对位置在不同图像之间不会改变太多。令和分别表示V和V’的先验位置。然后,若结点V可以很好的拟合处的激活值,则与之间的值会非常接近。因此,给定和假设V和V’之间的空间关系服从式(4)的高斯分布,其中,
以这种方式,学习的核心是确定一个相邻模式的最佳集合,评估其先验位置。该方法只是建模了相对位置。