先发发牢骚,最近的日子就是“准备数据集——想改进方法——跑实验——实验结果不好”的循环,熬得一点心情都没有了= =
好了,废话不多说了,这篇VGGNet的论文是两三周之前看的了,而且最近撘的网络结构跟VGGNet很相像,就拿出来复习一下吧。
这篇论文是牛津大学的几个人做出来,在ILSVRC 2014中的classification项目的比赛中取得了第2名的成绩(没错,第一就是上一篇博客中介绍的GooLeNet),但是实际上这里提出的VGGNet单个网络的识别率是比GooLeNet要好的,下面是正式的介绍。
Abstract
这篇论文中作者探究了一下深度神经网络中网络的层数与网络的分类能力的关系,结果就是网络越深,网络学习能力越好,分类能力越强。现在看来可能是显而易见的,可是在14年还没几个人撘特别深的网络时,也算个发现成果吧。作者做的主要贡献就是使用了具有小卷积核(3x3大小)的深度神经网络在达到一定深度(16~19层)以后性能会有非常显著的提升。
1. ConvNet Configurations
1.1 Architecture
在网络的训练过程中,作者采用的输入图像为224x224的RGB彩色图像,作者做的唯一的预处理就是计算这三个通道的平均值,在训练时减去这些平均值,这样处理训练时网络可能更快的收敛。输入图像在网络中经过一系列具有3x3大小的卷积核的卷积层(说3x3是小卷积核的原因是,3x3大小是可以同时获取上下左右像素信息的最小的卷积核)。在实验中,作者也采用了1x1大小的卷积核,1x1大小的卷积核不能获取局部区域的信息,只能作为对图像单个像素的一种线性处理。
在网络中,所有卷积层的大小都是3x3,而且stride均为1,同时pad也为1,保证卷积层不改变feature map的大小,而max pooling层的kernel为2x2,同时stride为2。卷积层以后是两个全连接层,全连接层为4096维,后面是一个1000维的全连接层,最后跟一个softmax层。另外,所有隐层后面都跟一个ReLU激活曾进行非线性处理。
说了这么多看一下作者总结的网络结构表格吧,表格说的更清楚。