【feature extractor 系列文章2】ZFnet 论文阅读Visulaizing and Understanding Convolutional Networks

AlexNet比其他算法结果好很多,但是为什么会好这个问题却并没有回答,而本篇论文就试图解释这个原因。在理解了原因之后,进而提出一个新的模型去进一步提高模型的能力。

首先,这篇论文开启了可视化的先河。使用到了两个方法:
1)多层反卷积网络,multi-layered deconvolutional network (deconvet)
2)对输入图片进行遮挡,然后看分类器对遮挡的敏感程度,进而看出哪个部分对分类的结果有重要影响,perform a sensitivity analysis of the classifier output by occluding portions of the input image, revealing which parts of the scene are important for lassification.

1)关于反卷积,我们可以认为就是正常卷积的相反形式。这个反卷积需要满足一个必要条件,那就是连接关系不变,可以参考之前的博客:https://blog.****.net/qq_27261889/article/details/86304061。
也就是说,我们可以通过反卷积把中间层的特征图反卷积到输入上,换句话来说就是,卷积是建立从输入到输出的关系,给一个输入就有一个输出。而反卷积就是建立输出和输入的关系,给一个原始的输出,我们可以间接得到一个输入

关于这个方法,可以先不做了解,先了解结论或许更加重要

1)特征的可视化
为了明白特征的作用,我们先了解一下filter的作用。我们知道神经网络有三个作用,分别是分类,回归,和作为filters(滤波器)。我这里主要讲作为filter的作用。有两个例子,第一个例子看下图,我们说w是滤波器,对于不同的输入,滤波器有不同的响应,比如我们输入input 1 会得到比input 2更大的相应,因为input 1和w更接近。
【feature extractor 系列文章2】ZFnet 论文阅读Visulaizing and Understanding Convolutional Networks
我们接着来看卷积的第一层(来自论文),我们看到第一层主要就是一些线条,这样卷积就会对那些特殊的线条产生反应。
【feature extractor 系列文章2】ZFnet 论文阅读Visulaizing and Understanding Convolutional Networks
比如下图,我们拿四个不同的滤波器去对字母A进行卷积,就会对A的不同地方有不同的敏感,响应也就不同。这就是卷积作为滤波器的作用。
【feature extractor 系列文章2】ZFnet 论文阅读Visulaizing and Understanding Convolutional Networks
而随着卷积的深度加深,不同的滤波器效果会重叠,线条可能就组成一个texture,进而组成一个object。
这样的过程就是特征的进化。但是我们要知道,高层特征是比较难以学习的
,注意到这篇文章是在Batch Normalization 之前。

未完待续