目录
前言
这次带来的是2014年ImageNet挑战赛分类问题的亚军,同时也是定位问题的冠军论文,VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION,就是大名鼎鼎的VGG啦。我将全文梳理一遍VGG的中心思想,并穿插一些自己的理解。下面给出一些阅读过程中对我有很大帮助的参考资料,以表示感谢,并附上VGG原文下载链接。
VGG 论文笔记
VGG论文原文重点提炼解析
卷积神经网络常见架构AlexNet、ZFNet、VGGNet、GoogleNet和ResNet模型
计算感受野的好用网址
深度学习VGG模型核心拆解
VGG-论文解读
VGG论文下载传送门
VGG论文阅读笔记
1 Introduction
简要介绍了目前的卷积神经网络能够快速发展的原因(大规模数据集、硬件的发展如GPU)。提到了ImageNet挑战赛对卷积神经网络发展的推动作用。
由于AlexNet的成功,很多人开始对其进行改进。提到了ILSVRC-2013表现最好的方法,它在第一个卷积层使用了更小感受野的窗口和更小的步长。另有一篇论文提到在整个图像和多个尺度上改进网络的训练和测试过程。本文主要是研究网络深度对性能的影响。我们固定网络的其他超参数,通过增加卷积层的个数来缓慢增加网络的深度。该操作是可行的,原因是所有层都使用了一个较小的3*3卷积核(应该是网络做的比较深,如果使用太大的卷积核计算量太大,硬件不能支持,另外小卷积核确实会更有优势,后面会提到)。
我们的网络结构具有更高的准确率,不仅仅在ILSVRC比赛的分类问题和定位问题方面取得了state-of-the-art的效果,而且也适用于其他图像识别数据集,效果也不错。我们公布了两个性能最好的模型(应该就是VGG-16和VGG-19)。
2 ConvNet Configurations
文章比较了几个不同深度的网络模型的性能,然后分析实验结果,最终得出结论。
2.1 Architecture
训练时,网络的输入图像是224*224的RGB图像,唯一的预处理操作是,在每个像素上减去训练集所有图像的RGB均值。所有卷积层使用3*3的卷积核。在其中一个网络模型中,我们使用了1*1的卷积核,这个可以看成是不同通道的一个线性组合(1*1卷积后也要加非线性激活)。卷积的步长设置为1,padding使得卷积后图像大小不变(对于3*3的卷积核来说padding设置为1)。网络共有5个最大池化层,最大池化层设置在一些卷积层的后面(并不是所有的卷积层后面都要做最大池化)。池化窗口为2*2,步长为2。
卷积结束后连接三个全连接层,前两层有4096个通道,第三层有1000个通道(需要分1000类),最后输入一个softmax层。
所有激活函数使用relu。表格中有一个网络使用了LRN,但是本文发现LRN并不会提升网络的性能,反而会导致内存消耗增加以及计算时间的延长。
2.2 Configurations
核心就是下面这张图。作者一共设计了6个不同结构的网络,分别给这些网络取了别名:A、A-LRN、B、C、D、E。可以看出,A包含了8个卷积层和3个全连接层,因此是11层带权重的网络(pooling里面没有权重)。后面网络的深度不断加深,最深的网络达到了19层。对于表中的符号,conv3-64表示这一层网络使用的是64个3*3的卷积核,FC-4096代表是全连接层,有4096个神经元。
所有网络使用的都是3*3的卷积核,有个别网络使用了1*1的卷积核。网络的通道数都是从64开始,以2的倍数增加到512后就保持不变了。