论文学习7“Visualizing and Understanding Convolutional Networks”文章学习

本文是ECCV2014年很有重量的一篇文章,作者是Hinton的得意弟子Matthew D. Zeiler,文章译为“看懂卷及神经网络”其主要内容就是通过反卷积的方法对CNN进行深入了解,了解每一层的特征对应着图像的哪里。

作者在Alexnet的网络结构下进行反卷积,反卷积的过程如下:

1)UNpooling

Alexnet网络的池化层选用max pooling,那么反向的就是记录池化过程中最大池的

位置,UNpooling中将最大值注到记录位置,其余填零。

2)矫正

在正向网络中激励函数选用relu,滤掉小于0的部分,反向矫正阶段一样有效,所

以也采用relu函数。

3)反卷积

在逆过程里,将矫正过的特征与正向卷积核矩阵的转置进行卷积,获得原图。至于

原因,文章中并未提及,我尝试用矩阵卷积的数学方法进行推导,并不理想。但我用python对图像进行卷积操作,发现:当卷积核矩阵是对称矩阵时,相应的反卷积操作不起作用,但不是对称矩阵时,反卷积时乘以核矩阵的逆的确可以大致恢复出原图像。如下图所示:

论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第1张图片
图1 原图


论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第2张图片
图2.对称卷积核进行正卷积
论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第3张图片
图3 对图2反卷积


论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第4张图片
图4 不对称卷积核正卷积


论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第5张图片
图5 对图4反卷积

整个网络的逆过程如下图所示,由于以上三个过程都会有误差,所以重构图片会不连续,像很多碎片一样。

论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第6张图片

文章算法部分就上面所说,接下来就是对CNN的可视化工作。

    特征可视化:如下图分别为不同层对图像重构的结果,可以看出,每组重构特征都有很强的关联性;层次越高不变形越强,也就是更能提取出来有辨别性的特征;特征图都是图像具有代表性的特征;一幅图片的平移、旋转、缩放等变化对于浅层输出影响较大,但深层影响较小,然而在这里,旋转操作不具有不变形。

论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第7张图片

遮蔽敏感性:我们想要探究到底那一部分在分类时起到了作用,所以对不同部位进行遮挡,查看最终分类结果。如下图,灰色方块是遮挡物,当遮挡在关键区域时,分类性能急剧下降。可以用这个方法查找分类的关键区域。

论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第8张图片

实验部分:

模型结构:在Alexnet基础上进行改进,将第一层卷积核大小由11*11改为7*7,将步长由4缩短为2。整体结构如下图所示。

论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第9张图片

ImageNet 2012:作者选用Alexnet模型进行重构,并对其进行相应调整,分类loss相比Alexnet的12年冠军还降低了0.5个百分点。

同时,文章测试了遮蔽、改变层数等对分类结果的影响。当移除某个卷积层时,错误率只有轻微上升,当移除3、4或者6、7两个卷积层时,loss上升了3个百分点,还可以接受,但当把中间所有卷积层去除,只剩下4层的模型分类能力显著下降。然后对每层神经元个数作调整,改变微小。结果如下图,上表是Alexnet模型结果,下表是本文改进的模型结果。

论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第10张图片

特征泛化能力:为了验证模型的泛化能力,文章又在 Caltech-101 , Caltech-256 and PASCAL VOC 2012三个数据集上进行实验。

首先,在Caltech-101实验结果如下图,没有预训练的卷机模型效果惨淡,而基于ImageNet的卷积模型准确率超过了13年Bo等人的最好成绩。

论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第11张图片

然后,在Caltech-256数据集进行实验,出现了和之前Caltech-101数据集一样的效果,如下图。

论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第12张图片

在PASCAL VOC 2012中训练,PASCAL VOC 2012一张图片中包含很多个物体,而我们的模型一张图片只能给出一个预测,所以效果不佳,但在某些类别上仍旧超越了之前的模型,具体结果如下图。

论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第13张图片

特征分析:保留训练模型的前n层(下图括号里的数字n),后接softmax或SVM分类器,在Caltech-101和Caltech-256两个数据集上进行实验,观察分类结果。可以看出,保留层数越多,分类结果越好。

论文学习7“Visualizing and Understanding Convolutional Networks”文章学习_第14张图片

你可能感兴趣的:(论文学习7“Visualizing and Understanding Convolutional Networks”文章学习)