目录
Background
ILSVRC2013分类任务的冠军,top5的错误率为11.7%,使用反卷积对CNN的中间特征图进行可视化分析,通过分析特征行为找到提升模型的办法,微调Alexnet提升了表现。
这个网络结构除了在ILSVRC2013分类任务取得冠军外,另一个重要的贡献是提出了对卷积神经网络中间层可视化的方法,也是利用了这个方法更好的进行了调参。
Motivation
卷积神经网络具有很好的效果,在ImageNet上取得了开创性的成果,但是我们对其却没有一个直观的认识,以及它为何效果这么好,全当成黑盒子来用。如果不知道神经网络为什么取得了如此好的效果,那么只能靠不停的实验来寻找更好的模型。所以作者提出了一种新的可视化技术,该技术可以深入了解中间特征图的功能和分类器的操作。
Approach
如下图所示,右图是正常卷积过程,左图是反卷积过程。
- 反池化:最大池化操作是不可逆的,但是我们可以用一组转换变量switch在每个池化区域中通过记录最大值的位置来获得一个近似逆。在解卷积网中,非池化操作使用这些转换来放置上述最大值的位置,保存激活的位置,其余位置都置0。
- 纠正:卷积网中使用非线性的ReLU来修改特征图来确保特征图总是正值。为了获得在每层的有效(也应该是正值)的特征重建,也在解卷积网中利用了ReLU。
- 滤波:解卷积网中利用卷积网中的相同的滤波器的转置应用到纠正过的特征图中,而不是上层的输出。也就是对滤波器进行水平方向和垂直方向的翻转。从高层向下投影使用转换变量switch,这个转化变量switch产生自向上的卷积网的最大池化操作。由于重建由一个单独的激活获得,因此也就只对应于原始输入图像的一小块。
Architecture
通过对各层卷积核学习到的特征进行可视化发现神经网络学习到的特征存在层级结构:
- 第二层是学习到边缘和角点检测器
- 第三层学习到了一些纹理特征
- 第四层学习到了对于指定类别图像的一些不变性的特征,例如狗脸、鸟腿
- 第五层得到了目标更显著的特征并且获取了位置变化信息
在AlexNet的结构基础之上修改的,网络结构上没有太多的创新,差异表现在AlexNet用了两块GPU的稀疏连接结构,而ZFNet只用了一块GPU的稠密连接结构。
作者通过可视化AlexNet第一层和第二层的特征,发现比较大的stride和卷积核提取的特征不理想,所以作者将AlexNet的第一层即将滤波器的大小11x11变成7x7,并且将步长4变成了2,实验说明,这样有助于分类性能的提升。
Conclusion
贡献:
- 提出了ZFNet,一种比AlexNet性能更好的网络架构
- 提出了一种特征可视化的方法,并据此来分析和理解网络
与AlexNet网络的区别:
- 第1个卷积层,kernel size从11减小为7,将stride从4减小为2(这将导致feature map增大1倍)
- 为了让后续feature map的尺寸保持一致,第2个卷积层的stride从1变为2
- ZFNet在一张GPU上训练,AlexNet在两张GPU上训练