Visualizing and Understanding Convolutional Networks

Visualizing and Understanding Convolutional Networks阅读笔记

先来几条帮助阅读的链接:
导读1
导读2
导读3
地位:神经网络可视化研究的开山之作,不过个人关心的还是能有开源代码就好了,网上搜了几个:
GitHub代码python
GitHub代码jupyter notebook

可视化

原理:将指定的feature map映射到输入的像素空间,这样就能看到什么样的input pattern 能够导致这样的activation。
Deconvnet: 将feature activations 反映射到输入空间input pixel space。

论文方法

模型是Alexnet,主体方法是加入Deconvent:

A deconvnet can be thought of as a convnet model that uses the same components (filtering, pooling) but in reverse, so instead of mapping pixels to features does the opposite.(原文2.1)
一个反卷积被认为是一个使用相同组件(过滤,池化)但相反的卷积模型,所以不是将像素映射到要素而是相反。输入是feature map,输出是图像像素。

反卷积结构
如图所示这里右边是一个普通的卷积网络,左边便是附加的反卷积网络,注意这只是一层,在整个AlexNet网络中,为了可视化出来每层卷积后的结果,在每层的卷积网络中都会附加上这样的反卷积网络。

全过程是这样:(右下逆时针到左下)
右侧为卷积:input image =》卷积(卷积核F) =》Relu =》max-pooling =》feature maps
左侧为反卷积:feature maps =》max-unpooling =》Relu =》反卷积(卷积核F的转置) =》reconstruction image。

反池化:严格意义上的反池化是无法实现的,但是我们可以通过在一组开关变量Switches中记录每个池区中最大值的位置来获得近似的实现。在训练过程中记录每一个池化操作输入最大值的位置,这样在反池化的时候,就将最大值返回到其应该在的位置,其他位置的值补0。

Relu非线性纠正:卷积神经网络使用relu非线性函数来保证输出的feature map总是为正数。在反卷积的时候,也需要保证每一层的feature map都是正值,所以这里还是使用relu作为非线性激活函数。

卷积滤波:网络使用学习过的滤波器(卷积核)来卷积上一层的特征映射。反卷积使用相同滤波器的转置版本,与矫正之后的特征进行卷积,从而实现反卷积。

可视化结果

特征可视化

网络每层的可视化结果展示了网络层次化的特点,较低的网络层级学到的特征较为明显,一般表现为颜色、形状、纹理,随着网络层级的加深,网络学到的特征越抽象。同时,较低的网络层级收敛速度较快,但对输入图像的敏感性很高;较高层级收敛速度较慢,但对输入图像的鲁棒性较高。
各层可视结果

特征不变性

CNN模型对图像的平移、缩放具有较强的鲁棒性,但图像的旋转操作会对CNN的feature map影响较大。
特征不变性

遮挡实验

遮挡实验对模型的部分区域进行遮挡,从而证明模型是真的定位出了图像中的对象,而不是依靠其周围环境进行分类。图像的关键区域被遮挡之后对分类性能有很大的影响。
遮挡

一致性分析

不同图像的指定目标局部块之间是否存在一致性的关联,作者认为深度模型可能隐含的学习到了这种关联关系。作者通过对五张不同的狗的图像进行局部遮挡,然后分析原图和遮挡后的图像的特征之间的汉明距离的和值,值越小说明一致性越大。实验表明,对不同的狗的图像遮挡左眼、右眼和鼻子之后的汉明距离小于随机遮挡,证明存在一定的关联性。

特征泛化

论文表明了所用的模型在ImageNet数据集上,卷积部分在获得最新性能方面的重要性。这有可视化结果的支持,以及它显示卷积层中的复杂不变性。我们现在探索这些特征提取层的能力,以推广到其他数据集,即Caltech-101(Feifei等人,2006),Caltech-256(Grifffi等人,2006)和PASCAL VOC 2012。具体方法就是将模型的第1-7层固定并使用新数据集的训练图像在最上面训练一个新的softmax分类器(使用适当的类别数)。最后对比与重新训练的模型准确率要高,不过在PASCAL VOC 2012数据集上效果不明显,因为这里面每张图片包含的对象有多个。(个人感觉这就是迁移学习了)

补充

这篇博客给我对这篇文章有个新认识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值