一层一层剥开黑匣子:深度卷积网络的可视化

导读:由于深度卷积网络的架构复杂,参数量巨大,许多朋友会感觉它就像一个神秘的黑匣子。但其实我们已有许多手段探查深度卷积网络的具体运作,并了解其决策的原因。在此我们以AlexNet为例。

01

对于某张输入图像,可观察每层的神经元的输出图像(经ReLU后的)。以AlexNet的conv1层和conv5层为例,它们分别有64和256个神经元,如下图所示。

可见,大多数神经元的输出是全黑的,即纯零。用专业术语说,它们具有稀疏性(sparsity)。这是件好事,因为如果希望网络准确判断图像的分类,最佳的情况就是每个神经元对应某种特征,且每次只有与图像内容真正相关的神经元被激活,其余神经元不会产生干扰。

02

看卷积核的权重。初始的权重是随机噪声,随着网络的训练,权重将出现各种结构。可选择conv1和conv2的部分卷积核显示如下图所示。

可见conv1作为第1层,卷积核很有特点。这里的权重来自于原始的AlexNet,其中把网络切开成2部分,因此可看到其中一半学会了高频的灰度结构,一半学会了低频的彩色特征。这里的灰度卷积核有些像计算机视觉理论中的Gabor 滤波器,是有效的分析图像纹理的手段。

而conv2的卷积核是5*5,比较小,就很难直接看出其目的。由于我们在现代网络中大量使用3*3卷积核,会更难看清楚。实际上,应该将每层的卷积核结合之前层的卷积核,才能看到它所对应的图像特征。这就是下面方法的思路。

03

在《Visualizing and Understanding Convolutional Networks》(https://arxiv.org/pdf/1311.2901.pdf)中提出了一种有效手段,对于某个神经元,可看到在训练图像中最能激活这个神经元的图像特征(可认为是神经元的识别目标),以及相应的训练图像。以AlexNet第1至3层的部分神经元为例,如下图所示。

可见,第1层的神经元可识别各种角度的边缘以及某些颜色,符合此前看到的conv1的卷积核的情况。第2层可识别简单的形状和纹理(这些特征是由第1层的边缘和颜色组成)。第3层可识别物体的更大更复杂的局部(是由第2层的概念组成)。由此类推,对应着越来越复杂的概念,最后在高层已经基本可看出物体的分类情况。

例如,第4层和第5层的识别目标如下图所示。

在左边的识别目标图中,还可看到每个神经元会聚焦到图像的相关部位,忽略图像的背景。

再看神经元的训练过程。以第3层的几个神经元为例,从左到右是随着训练的进行,神经元的识别目标的变化,如下图所示。可见,一开始神经元并没有明确的识别目标,但随后会逐渐成型,明确针对某一类目标进行识别:

由于神经元是随机初始化,所以它们会有不同的演变方向,就像下山时朝着不同的路线前进,最终会分别识别不同类型的目标。

04

可通过遮挡图像,发现哪些区域对于类别识别最为关键。具体方法是每次将图像的一部分清零(在下图中显示为灰色),观察是否会影响正确的识别结果。影响越大,就说明挡住的区域越为重要。可将结果画成热力图。

图中的蓝色代表最关键的区域,红色代表最无关紧要的区域。可见,博美犬的面部对于判断品种很重要,车轮对于判断车轮很重要,阿富汗猎犬的整个身体都对于判断品种很重要。

05

可采用2017年6月发布的SmoothGrad技术(https://pair-code.github.io/saliency/),找到更细致的判断依据。下图中分别为:输入源图像,网络判断为足球的原因所在,正确答案马尔济斯犬的原因所在:

可见,网络判断为足球是根据足球表面的六边形纹理,而正确答案马尔济斯犬来自于小狗的纹理。

06

注意到AlexNet的fc2层的输出在ReLU后是4096个数字,可认为它们代表了图像的4096维的语义编码。通过使用t-SNE聚类,可以将这4096维降维到2维,即,为每个图像找到一个2维坐标,使得坐标相近的图像对应于编码相近的图像。效果如下图所示。

可见,车辆、植物、动物等等都会自动聚集在一起,且可观察到语义的平滑过渡。

07

在http://people.csail.mit.edu/torralba/research/drawCNN/drawNet.html还提供了清晰的AlexNet网络运作示例,如下图所示。

▲AlexNet的运作

选定其中的某个卷积神经元,可直接看到它与其他卷积神经元之间的连接权重的可视化,以及最能激活这些卷积神经元的样本图像区域。

08

通过GAN架构,可更清晰和全面地展现某个神经元所学会判别的事物(https://arxiv.org/pdf/1612.00005.pdf)。例如,某个神经元看上去是识别人脸,但经过分析,它实际也会对建筑的门窗,以及绿色产生反应,如下图所示。图中是通过GAN技术生成的能激活这个神经元的图像。

关于作者:彭博,人工智能、量化交易、区块链领域的技术专家,有20年以上的研发经验。 在人工智能与信息科技方面,对深度学习、机器学习、计算机图形学、智能硬件等有较为深入的研究。

本文摘编自《深度卷积网络:原理与实践》,经出版方授权发布。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180531G1VCVB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券