[论文解读]CNN网络可视化——Visualizing and Understanding Convolutional Networks

  概述

虽然CNN深度卷积网络在图像识别等领域取得的效果显著,但是目前为止人们对于CNN为什么能取得如此好的效果却无法解释,也无法提出有效的网络提升策略。利用本文的反卷积可视化方法,作者发现了AlexNet的一些问题,并在AlexNet基础上做了一些改进,使得网络达到了比AlexNet更好的效果。同时,作者用“消融方法”(ablation study)分析了图片各区域对网络分类的影响(通俗地说,“消融方法”就是去除图片中某些区域,分析网络的性能)。

  1. 反卷积神经网络(Deconvolutional Network)

反卷积神经网络可以看做用与卷积神经网络相同的卷积核、池化层等等进行的相反过程。为了用反卷积神经网络去分析卷积神经网络,我们需要将反卷积网络各层与卷积神经网络各层衔接起来。如下图所示,右半部分进行的是卷积过程,而左半部分进行的是反卷积过程。从右边卷积的过程开始,首先用卷积核F对上一层池化出来的Pooled Maps进行卷积,得到Feature Maps, 然后在逐步进行Relu归一化(Rectified Linear)和最大值池化(Max Pooling)。而反卷积过程则是从反最大值池化开始(Max unpooling),逐步得到unpooled、rectified unpooled和reconstruction map。

反卷积神经网络主要组成部分:

  • 反池化:

对于最大值池化来说,它是不可逆的过程,因此作者的技巧就是在池化的时候记录下每个最大值的位置。这样的话,在反池化的时候只要把池化过程中最大激活值所在的位置激活,其它位置的值赋0。(具体反池化过程可参考hjimce的博客:http://blog.csdn.net/hjimce/article/details/50544370)

  • 反激活:

对于Relu激活函数来,激活值均为非负值。因此对于反向过程,同样需要保证每层的特征值为非负值,因此Reluctant反激活过程和激活过程相同。

  • 反卷积:

卷积网络就是网络利用学习到的卷积核对上一层的特征进行卷积得到本层的feature map。而反卷积就是这个过程的逆过程,用本层的feature map与转置后的卷积核进行卷积,得到上一层的特征。

2. 可视化结果

  •  特征曾学到了什么?

从上图可是化的结果中,我们可以看出,不同层的layer学习到的是不同的特征。对于Layer1和Layer2来说,网络学习到的基本上是边缘、颜色等图像中底层的特征;Layer3开始可以学习到一些复杂些的特征,类似网格纹理等;Layer4可以学习到更高维的特征,比如说狗头、鸟类的脚、同心环等;Layer5则是更加具有辨别性的关键特征。

  • 特征层是如何随训练演化的?

上图展示了网络中各个特征层是如何随着训练步数而进化的。各子图中每列分别代表训练了[1,2,5,10,20,30,40,64]个epoch。可以看出,对于较低的特征层来说,它们的特征很快就学到并稳定下来了。而对于像Layer5这样比较高维的特征层来说,则是在学习了30个epoch后才学习到了比较有辨别性的关键特征。说明训练步数的增加还是能够比较好地提升网络的学习和收敛能力的。

  • 可视化网络如何提升网络性能?

作者可视化了原版AlexNet各特征层,发现了对于AlexNet来说,第一层的卷积核大部分是高频和低频的特征,而对中频段图像特征整提取得不好。同时,第二层特征的可视化的结果显示出了由于第一层卷积步长太大(4)导致的“ 混叠伪影”。因此作者对AlexNet的改善包括:将第一层的卷积核从11x11减小为7x7;将卷积步长减小为2,而不是4。经过作者改善后的模型在ImageNet2012的分类误差均比AlexNet有提高。

  • 消融分析(Ablation Analysis)

作者用消融分析对三张图进行了分析,发现当遮挡掉图片中的关键部位后,相关卷积核卷出来的特征激励会大幅变小(上图第二列)。同时发现遮挡掉关键部位后,网络很容易将图片放入错误的分类中去,而遮挡一些背景部位则不会(第五列)。

这篇文章是CNN网络可视化相关研究非常重要的一篇文章,在这之后的许多研究工作都基于了这篇文章的成果。所以说是研究CNN 网络可视化的必读文献也不为过。

参考资料:

1. http://blog.csdn.net/hjimce/article/details/50544370

2. Zeiler, M. D. and Fergus, R. Visualizing and understanding convolutional networks. In ECCV, 2014.

原文地址:https://www.cnblogs.com/rocklamighty/p/9074083.html

时间: 2024-10-11 15:27:23

[论文解读]CNN网络可视化——Visualizing and Understanding Convolutional Networks的相关文章

0 - Visualizing and Understanding Convolutional Networks(阅读翻译)

卷积神经网络的可视化理解(Visualizing and Understanding Convolutional Networks) 摘要(Abstract) 近来,大型的卷积神经网络模型在Imagenet数据集上表现出了令人印象深刻的效果,但是现如今大家并没有很清楚地理解为什么它们有如此好的效果,以及如何改善其效果.在这篇文章中,我们对这两个问题均进行了讨论.我们介绍了一种创新性的可视化技术可以深入观察中间的特征层函数的作用以及分类器的行为.作为一项类似诊断性的技术,可视化操作可以使我们找到比

论文笔记 Visualizing and Understanding Convolutional Networks

之前,我知道可以可视化CNN,也只是知道有这么一回事情.至于它是"怎么做的.其原理是什么.给我们的指导意义是什么",也不清楚.说白了,就是我知道有"CNN可视化",仅仅停留在"知道"层面!但当自己需要运用.理解其他CNN可视化技术时,才晓得将这篇paper精读一下. Background 1)在很多分类任务中(如手写字符识别.人脸识别,以及极具挑战性的Imagenet Classification),CNN取得了极好的性能.但是,CNN是怎么做到

ZFNet: Visualizing and Understanding Convolutional Networks

目录 论文结构 反卷积 ZFnet的创新点主要是在信号的"恢复"上面,什么样的输入会导致类似的输出,通过这个我们可以了解神经元对输入的敏感程度,比如这个神经元对图片的某一个位置很敏感,就像人的鼻子对气味敏感,于是我们也可以借此来探究这个网络各层次的功能,也能帮助我们改进网络. 论文结构 input: \(3 \times 224 \times 224\), filter size: 7, filter count: 96, stride: 2, padding: 1, 我觉得是要补一层

目标检测论文解读2——Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

背景 用ConvNet方法解决图像分类.检测问题成为热潮,但这些方法都需要先把图片resize到固定的w*h,再丢进网络里,图片经过resize可能会丢失一些信息.论文作者发明了SPP pooling(空间金字塔池化)层,让网络可以接受任意size的输入. 方法 首先思考一个问题,为什么ConvNet需要一个固定size的图片作为输入,我们知道,Conv层只需要channel固定(彩色图片3,灰度图1),但可以接受任意w*h的输入,当然输出的w*h也会跟着变化:然而,后面的FC层却需要固定长度的

Visualing and understanding convolutional networks

这篇文章主要是基于Alex的CNN代码利用可视化技术将卷积神经网络每层学习到的特征以人眼可见的方式变现出来,即Feature Visualization,并试图提出改进.相当于是卷积神经网络的逆过程. 主要框架如下图: 主要利用到的技术有unpooling ,rectification,filtering(逆滤波) 主要的分析过程有: 1.Architecture Selection 发现的问题:The first layer lters are a mix of extremely high

论文笔记之:Visual Tracking with Fully Convolutional Networks

ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做是一个 黑匣子,只是用来提取特征,而是在大量的图像和 ImageNet 分类任务上关于 CNN 的 feature 做了大量的深度的研究.这些发现促使他们设计了该跟踪系统,他们发现: 不同的卷积层会从不同的角度来刻画目标.顶层的 layer 编码了更多的关于 语义特征并且可以作为种类检测器,而底层的层懈怠了更多的具有判别性的信息,并且可以更好的区分具有相似外观的目标.在跟踪的过程中利用这两种层的不断切换而完成

CNN卷积可视化与反卷积

1.<Visualizing and Understanding Convolutional Networks> 2.<Adaptive deconvolutional networks for mid and high level feature learning> 3.<Stacked What-Where Auto-encoders> https://blog.csdn.net/lemianli/article/details/53171951 https://b

Very Deep Convolutional Networks for Large-Scale Image Recognition—VGG论文翻译

Very Deep Convolutional Networks for Large-Scale Image Recognition Karen Simonyan∗ & Andrew Zisserman+ Visual Geometry Group, Department of Engineering Science, University of Oxford {karen,az}@robots.ox.ac.uk 摘要 在这项工作中,我们研究了在大规模的图像识别环境下卷积网络的深度对识别的准确率

Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)

摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有效的推理和学习产生相应尺寸的输出.我们定义并指定全卷积网络的空间,解释它们在空间范围内dense prediction任务(预测每个像素所属的类别)和获取与先验模型联系的应用.我们改编当前的分类网络(AlexNet [22] ,the VGG net [34] , and GoogLeNet [35] )到完