当前位置: 代码迷 >> 综合 >> 【论文】VGGNet
  详细解决方案

【论文】VGGNet

热度:1   发布时间:2023-12-13 03:46:23.0

【论文】Simonyan K , Zisserman A . Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Computer ence, 2014.(pdf)

【新颖点】

  • 更深的网络
  • 使用小卷积核 3×33\times33×31×11\times11×1 替代大卷积核
  • 多尺度训练及预测

网络结构

比较常见的为 VGG-16 和 VGG-19,VGGNet 把网络分成了 5 段,每段都将多个 3×33\times33×3 的卷积网络串联在一起,每段卷积后面接一个最大池化层,最后面是 3 个全连接层和一个 softmax 层

在这里插入图片描述

加深比加宽更好

如果要增大感受野,一般的思路是直接增加卷积核的大小,但是这直接增加了参数的数量,假设有 CCC7×77\times77×7 的卷积核,其参数量为 7C×7C=49C27C\times7C=49C^27C×7C=49C2。作者认为用小的卷积核串联不仅能起到增大感受野的作用,而且能够减小参数数量,例如,这里我们可以用 3333×33\times33×3 的卷积核串联同样能达到 7×77\times77×7 的感受野,但参数量却只有 3×3C×3C=27C23\times3C\times3C=27C^23×3C×3C=27C2

至于为什么三个 3×33\times33×3 的卷积核串联的感受野等同于一个 7×77\times77×7 的卷积核,或者两个 3×33\times33×3 的卷积核串联的感受等同于一个 5×55\times55×5 的卷积核简单画个草图就能很容易明白

在这里插入图片描述

另外,论文中作者也主张使用 1×11\times11×1 的卷积核来增加线性换,这种方式在保持空间维度不变的情况下,增加了决策函数的非线性性

多尺度训练

VGGNet 使用了 Multi-Scale 的方法增强数据——将原始图像缩放到不同尺寸 SSS,然后在随机剪裁成 224 x 224 的图片,这样可以增加数据量。作者设置 SSS[256,512][256, 512][256,512] 这个区间内取值,使用 Multi-Scale 获得多个版本的数据,并将这些数据合在一起训练

其他改进点

  • 证明 LRN 效果不大
  • 训练时,先训练级别简单的 VGGNet,例如上表中的 A 网络,然后再使用 A 网络的权重来初始化后面的复杂模型,加快训练速度
  • 相较于 AlexNet,使用了 2×22\times22×2 的池化核,获取更多的细节信息