读懂VGG网络

2019-12-30  本文已影响0人  乔大叶_803e

VGG是Oxford的Visual Geometry Group的组提出的(大家应该能看出VGG名字的由来了)。该网络是在ILSVRC 2014上的相关工作,主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能。VGG有两种结构,分别是VGG16和VGG19,两者并没有本质上的区别,只是网络深度不一样。

VGG

VGG原理

VGG16 相较于Alexnet 的改进就是采用了连续的几个3\times3的卷积核替代Alexnet中的较大的卷积核 (7\times 7 ,11 \times 11,5 \times 5

对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。

简单点讲就是在VGG网络中,使用了3个3 \times 3的卷积核来代替 7 \times 7卷积核来2 个 3\times 3代替 5 \times 5 的卷积核,这样做可以在保证具有相同感受野的同时,提升网络深度,并在一定程度上提升了网络的效果。

比如,3个步长为1的3\times 3卷积核的一层层叠加作用可看成一个大小为7的感受野(其实就表示3个3x3连续卷积相当于一个7x7卷积),其参数总量为 3x(9xC^2) ,如果直接使用7x7卷积核,其参数总量为 49xC^2 ,这里 C 指的是输入和输出的通道数。很明显,27xC2小于49xC2,即减少了参数;而且3x3卷积核有利于更好地保持图像性质。

为什么可以使用3\times 3的卷积核来代替 5\times 5的卷积核

5x5卷积看做一个小的全连接网络在5x5区域滑动,我们可以先用一个3x3的卷积滤波器卷积,然后再用一个全连接层连接这个3x3卷积输出,这个全连接层我们也可以看做一个3x3卷积层。这样我们就可以用两个3x3卷积级联(叠加)起来代替一个 5x5卷积。

2个3x3 和 5x5

VGG网络结构

VGG网络结构图

VGG16 包括16个隐藏层(13个卷积层和3个全连接层)

VGG19(16个卷积层和3个全连接层)

VGG网络结构非常一致,从头到尾都是使用的是3\times 3的卷积核以及 2 \times 2 的pooling

VGG优缺点

优点:

  • VGG结构简单,整个网络都使用了同样大小的卷积核尺寸;
  • 3x3 的卷积核比 5x5, 7x7的卷积核效果更好
  • 验证了通过不断加深网络可以提升性能

VGG缺点

上一篇 下一篇

猜你喜欢

热点阅读