前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一层一层剥开黑匣子:深度卷积网络的可视化

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

作者头像
IT阅读排行榜
发布2018-08-16 14:32:04
3980
发布2018-08-16 14:32:04
举报
文章被收录于专栏:华章科技华章科技

导读:由于深度卷积网络的架构复杂,参数量巨大,许多朋友会感觉它就像一个神秘的黑匣子。但其实我们已有许多手段探查深度卷积网络的具体运作,并了解其决策的原因。在此我们以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年以上的研发经验。 在人工智能与信息科技方面,对深度学习、机器学习、计算机图形学、智能硬件等有较为深入的研究。

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

延伸阅读《深度卷积网络:原理与实践》

转载请联系微信:togo-maruko

点击文末右下角“写留言”发表你的观点

推荐语:20年开发经验专家/知乎大V,从技术理论、工作原理、实践方法等方面系统、深入讲解DCNN。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据DT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档