VGGNet为什么效果比AlexNet好

VGGNet简介

VGGNet网络结构

下图是学界最常使用的vgg-16神经网络结构图,可以看到其组成由:

  • 2个通道数是64224\times 224的卷积层
  • 2个通道数是128112\times 112的卷积层
  • 3个通道数是25656\times 56的卷积层
  • 3个通道数是51228\times 28的卷积层
  • 3个通道数是51214\times 14的卷积层
  • 1个通道数是4096的全连接层
  • 1个通道数是4096的全连接层
  • 1个通道数是1000的全连接层+softmax层
    这样加起来2+2+3+3+3+1+1+1 = 16,vgg-16就是这样由来的:

当然,VGGNet除了16层的网络结构还有其他样式的网络结构,如图:


VGGNet与AlexNet网络结构的对比

可以看到,VGGNet除了层数比AlexNet多外,不管是VGG-16还是VGG-19其使用的卷积核均是3\times 3的,而非AlexNet的11\times 11或者5\times 5的,如图:

为什么要使用小卷积核

之前对感受野有了一次介绍,这里是连接:卷积神经网络的感受野及其计算,所以在这里会采用感受野的知识来回答这个问题。我们把33\times 3的卷积核堆叠起来:

  • 第一个3\times 3的卷积核的感受野是3\times 3
  • 第二个3\times 3的卷积核的感受野是5\times 5
  • 第三个3\times 3的卷积核的感受野是7\times 7

也就是说,经过3次卷积运算后其对原始图像的感受野是7\times 7的,相当于一个7\times 7的卷积核的感受野!但是为什么不直接使用一个7\times 7的卷积核呢?原因是虽然33\times 3的卷积核的感受野与17\times 7的卷积核一样,但是前者可以经过3次激活函数的非线性变换具有比1次非线性变化得到的特征更具有表达性。除此之外,使用小的卷积核还能够节省参数量,例如假设上一层的特征图的通道数是C个,那么:

  • 33\times 3卷积核的参数量是:3\times (C\times (3\times 3\times C)) = 27C^2
  • 17\times 7卷积核的参数量是:C\times (7\times 7\times C)) = 49C^2

总结

  • 可多次非线性变换提高卷积核对特征的抽取
  • 参数量更少,方便计算和存储

VGGNet每层的参数量

下图展示了VGG-16网络结构每一层的参数量,需要说明的是在训练该网络时大部分的内存开销都在开始的卷积层,大部分的参数都在最后的3个全连接层:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容