一、介绍
ZFNet是Matthew D.Zeiler于2013年提出,并获得了13年ImageNet的冠军。2012年AlexNet问世,并在ImageNet竞赛中取得了优异的成绩,也证明了大的卷积网路的性能优异,但是我们并不知道为什么CNN性能好。因此,这篇论文介绍了一个可视化技术来了解隐藏层做了什么以及怎么进行分类。也是基于这个技术,作者对AlexNet进行了优化,调整之后的网络的性能在很多问题上性能都好于AlexNet。
二、模型结构
ZFNet的网络结构是基于AlexNet改进的。作者通过可视化技术发现小尺度的过滤器比大尺度的过滤器所得到的特征更加好。并且第一层的步长太大,导致后面出现混叠现象,学到的特征不是很好。因此,主要做了以下更改:
- 将第一层的滤波器由 11 × 11 11\times 11 11×11调整为 7 × 7 7\times 7 7×7。
- 将第一层的步长由4调整为2.
可视化技术:
如上图所示,通过反池化和反卷积得到原始图像。经过了可视化后,发现调整尺寸和步长后,得到的中间层特征更好。
三、总结
经过对中间层的可视化,可以观察到模型中间层的特征。并依据特征的好坏调整模型的卷积核大小和步长。在ImageNet上取得了比AlexNet更好的成绩,获得了2013年的第一名。这个技术也让我们明白了卷积神经网络是如何工作的。最后,在代码实现中,仅仅构造了网络的结构,我使用的是cifar10数据集。如果训练需要更改网络的一些设置。
友情链接:
代码实现:https://github.com/guoyuantao/CNN_Model/tree/master/CNN_on_cifar_ByPytorch
联系方式:2391855138(加好友请备注)