1、网络结构

VGG16模型很好的适用于分类和定位任务,其名称来自牛津大学几何组(Visual Geometry Group)的缩写。

根据卷积核的大小核卷积层数,VGG共有6种配置,分别为A、A-LRN、B、C、D、E,其中D和E两种是最为常用的VGG16和VGG19。

介绍结构图:

  • conv3-64 :是指第三层卷积后维度变成64,同样地,conv3-128指的是第三层卷积后维度变成128;
  • input(224×224 RGB image) :指的是输入图片大小为224244的彩色图像,通道为3,即224224*3;
  • maxpool :是指最大池化,在vgg16中,pooling采用的是2*2的最大池化方法(如果不懂最大池化,下面有解释);
  • FC-4096 :指的是全连接层中有4096个节点,同样地,FC-1000为该层全连接层有1000个节点;
  • padding:指的是对矩阵在外边填充n圈,padding=1即填充1圈,5X5大小的矩阵,填充一圈后变成7X7大小;
  • 最后补充,vgg16每层卷积的滑动步长stride=1,padding=1,卷积核大小为333;

具体的过程:

  1. 输入图像尺寸为224x224x3,经64个通道为3的3×3的卷积核,步长为1,padding=same填充,卷积两次,再经ReLU激活,输出的尺寸大小为224x224x64
  2. 经max pooling(最大化池化),滤波器为2×2,步长为2,图像尺寸减半,池化后的尺寸变为112x112x64
  3. 经128个3×3的卷积核,两次卷积,ReLU激活,尺寸变为112x112x128
  4. max pooling池化,尺寸变为56x56x128
  5. 经256个3×3的卷积核,三次卷积,ReLU激活,尺寸变为56x56x256
  6. max pooling池化,尺寸变为28x28x256
  7. 经512个3×3的卷积核,三次卷积,ReLU激活,尺寸变为28x28x512
  8. max pooling池化,尺寸变为14x14x512
  9. 经512个3×3的卷积核,三次卷积,ReLU,尺寸变为14x14x512
  10. max pooling池化,尺寸变为7x7x512
  11. 然后Flatten(),将数据拉平成向量,变成一维51277=25088。
  12. 再经过两层1x1x4096,一层1x1x1000的全连接层(共三层),经ReLU激活
  13. 最后通过softmax输出1000个预测结果

从上面的过程可以看出VGG网络结构还是挺简洁的,都是由小卷积核、小池化核、ReLU组合而成。其简化图如下(以VGG16为例):

6、总结

  • 通过增加深度能有效地提升性能;
  • VGG16是最佳的模型,从头到尾只有3×3卷积与2×2池化,简洁优美;
  • 卷积可代替全连接,可适应各种尺寸的图片。