VGGNet

  • ILSVRC 2014的第二名是Karen Simonyan和 Andrew Zisserman实现的卷积神经网络,现在称其为VGGNet。它主要的贡献是展示出网络的深度是算法优良性能的关键部分。
  • 他们最好的网络包含了16个卷积/全连接层。网络的结构非常一致,从头到尾全部使用的是3x3的卷积和2x2的池化
  • VGGNet不好的一点是它耗费更多计算资源,并且使用了更多的参数,导致更多的内存占用(140M)。其中绝大多数的参数都是来自于第一个全连接层。后来发现这些全连接层即使被去除,对于性能也没有什么影响,这样就显著降低了参数数量。
  • 目前使用比较多的网络结构主要有ResNet(152-1000层),GooleNet(22层),VGGNet(19层)。大多数模型都是基于这几个模型上改进,采用新的优化算法,多模型融合等,这里
  • VGG是在从Alex-net发展而来的网络。主要修改一下两个方面:
  1. 在第一个卷积层使用更小的filter尺寸和间隔(3*3);
  2. 在整个图片和multi-scale上训练和测试图片。

网络结构:

           

  • 为了在公平的原则下探究网络深度对模型精确度的影响,所有卷积层有相同的配置,即卷积核大小为3x3,步长为1,填充为1;共有5个最大池化层,大小都为2x2,步长为2;共有三个全连接层,前两层都有4096通道,第三层共1000路及代表1000个标签类别;最后一层为softmax层;所有隐藏层后都带有ReLU非线性激活函数。
  • 经过实验证明,AlexNet中提出的局部响应归一化(LRN)对性能提升并没有什么帮助,而且还浪费了内存的计算的损耗。
  • 虽然VGG比Alex-net有更多的参数,更深的层次;但是VGG只需要很少的迭代次数就开始收敛,原因:

   1:深度和小的滤波器尺寸起到了隐式规则化作用。

   2:一些层的pre-initialisation。pre-initialisation:网络A的权值W~(0,0.01)的高斯分布,bias为0;由于存在大量的ReLU函数,不好的权值初始值对于网络训练影响较大。为了绕开这个问题,作者现在通过随机的方式训练最浅的网络A;然后在训练其他网络时,把A的前4个卷积层和最后全连接层的权值当做其他网络的初始值,未赋值的中间层通过随机初始化。

你可能感兴趣的:(深度学习基础,VGG)