赞
踩
VGG[1]是Oxford的Visual Geometry Group的组提出的,VGG的缩写也来自于这个组的名字。VGG网络探索了提升网络的深度对最终的图像识别准确率的重要性,同时在VGG中尝试使用小的卷积核来构建深层的卷积网络。VGG在当年的ILSVRC 2014上取得了第一的成绩,证明了增加网络的深度能够在一定程度上提高网络的性能。
在VGG网络中,有两种结构,分别是VGG16和VGG19,两者只是网络深度不一样。以VGG16为例,在VGG16中,相比于AlexNet,其最大的改进是采用几个 3 × 3 3\times 3 3×3的卷积核代替了AlexNet中的较大的卷积核,主要是 11 × 11 11\times 11 11×11, 5 × 5 5\times 5 5×5。相比于大的卷积核,采用多个较小卷积核的堆叠,一方面能通过多层的非线性特性增强模型的学习能力(卷积+ReLU为一个组合),同时能进一步减少模型的参数。
以 5 × 5 5\times 5 5×5的卷积核为例,可通过堆叠两个 3 × 3 3\times3 3×3的卷积核实现 5 × 5 5\times5 5×5的卷积效果,具体过程如下图所示:
5 × 5 5\times5 5×5卷积核的参数个数为 25 + 1 25+1 25+1个,与 5 × 5 5\times5 5×5的卷积核相比,堆叠两个 3 × 3 3\times3 3×3的参数个数为 9 + 1 + 9 + 1 9+1+9+1 9+1+9+1,在实现了同样的功能的情况下能够减少参数的个数。
VGG网络的结构的具体参数如下图所示:
由上图可以看出,VGG16和VGG19只是在层数上不一样,VGG16中包含了16个隐藏层,包括13个卷积层和3个全连接层,如上图中的D列所示,VGG19中包含了19个隐藏层,包括16个卷积层和3个全连接层,如上图中的E列所示。
以VGG16为例,参照[2]的参数格式,可以绘制出如下的网络结构:
从上述的网络结构中可以看出,在VGG网络中只包含了卷积+ReLU,pooling,全连接,dropout操作模块,摒弃了在AlexNet中使用的LRN归一化模块,并在实验中验证LRN对于最终效果的影响较小。VGG的整个网络结构相对比较简单,但就是这样简单的网络结构却能提升整体的识别效果,这得益于较深的网络结构。在上述的结构中:
VGG网络结构相对比较简洁,整个网络结构中只用到了 3 × 3 3\times3 3×3的卷积核和 2 × 2 2\times2 2×2的最大池化,通过堆叠小的卷积核实现较大卷积的操作,通过这样的方式加深了网络的结构,但是在网络中还是出现计算量较大的情况,主要是出现在最后的几组全连接层,其中第一个全连接fc6的参数为 25088 × 4096 + 4096 = 102764544 25088\times4096+4096=102764544 25088×4096+4096=102764544。
[1] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014.
[2] https://dgschwend.github.io/netscope/#/preset/vgg-16
[3] 一文读懂VGG网络
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。