大作业 · VGGNet 论文精读与汇报

Views: --

这次大作业精读的是 VGG 论文 Very Deep Convolutional Networks for Large-Scale Image Recognition。它没有发明复杂的新模块,而是用一组控制变量清楚的实验回答一个问题:

当其他设计尽量保持一致时,单纯增加 CNN 深度能否持续提高大规模图像识别能力?

一、论文出现时的问题

2014 年前后的主流网络大多只有约 8 个权重层,第一层常用 11×1111\times117×77\times7 大卷积核。网络已经证明自动特征优于手工特征,但“深度本身有什么作用”还缺少系统实验。

VGG 的做法很干净:

  • 把卷积核统一为 3×33\times3
  • 卷积 stride 固定为 1、padding 固定为 1;
  • 池化结构和通道增长规律基本不变;
  • 主要改变权重层数量,从 11 层逐步增加到 19 层。

因此实验结果更容易归因于深度,而不是某个额外技巧。

二、为什么坚持使用 3×3 卷积核

1. 感受野等价

步长为 1 时,两个连续 3×33\times3 卷积拥有与一个 5×55\times5 卷积相同的有效感受野;三个连续 3×33\times3 则对应 7×77\times7

一般地,堆叠 nn3×33\times3 卷积的感受野边长为

R=1+2n.R=1+2n.

2. 参数更少

假设输入输出通道都为 CC,忽略偏置:

  • 一个 7×77\times7 卷积需要 49C249C^2 个参数;
  • 三个 3×33\times3 卷积需要 27C227C^2 个参数。

后者在获得同样感受野时少约

1274944.9%1-\frac{27}{49}\approx44.9\%

的参数。

3. 非线性更多

一个 7×77\times7 卷积后通常只有一次 ReLU;三个 3×33\times3 卷积之间可以插入三次 ReLU。在相同感受野下,网络因此拥有更强的非线性表达能力。

论文也实验了 1×11\times1 卷积。它能够混合通道并增加非线性,却不扩大空间感受野,效果不如全部使用 3×33\times3 的配置 D。

三、A 到 E 的网络配置

所有配置都接收 224×224224\times224 RGB 图像,卷积块之间使用 2×22\times2、stride 2 的最大池化。每池化一次,空间尺寸减半,通道数通常翻倍:

2241125628147,224\rightarrow112\rightarrow56\rightarrow28\rightarrow14\rightarrow7, 64128256512512.64\rightarrow128\rightarrow256\rightarrow512\rightarrow512.

卷积块之后接两个 4096 维全连接层和 1000 类分类层。

配置权重层数关键区别
A11最浅基线
A-LRN11在 A 上加入 LRN
B13每个阶段增加卷积
C16部分位置使用 1×11\times1 卷积
D16全部使用 3×33\times3,即 VGG-16
E19进一步加深,即 VGG-19

配置 D 与 C 层数相同,但 D 的表现更好,说明空间上下文比单纯增加 1×11\times1 非线性更重要。A-LRN 也没有优于 A,因此后续配置放弃 LRN。

四、训练策略

课件整理的主要训练设置为:

  • SGD,batch size 256;
  • momentum 0.90.9
  • weight decay 5×1045\times10^{-4}
  • dropout 0.50.5
  • 初始学习率 10210^{-2},验证集停止改善时缩小 10 倍;
  • 总计约 74 个 epoch。

当时非常深的网络不容易直接训练,因此先训练较浅的配置 A,再用其前几层初始化更深网络。后续实验表明,合适的随机初始化也可以成功。

多尺度训练会在 [256,512][256,512] 中随机选择图像短边尺度,相当于让同一个对象以不同大小出现,是重要的数据增强手段。

五、测试策略

1. Dense 评估

把全连接层等价改写为卷积层,让网络一次处理整张任意尺寸图像,得到空间上的密集分类响应,再汇总结果。

2. Multi-crop 评估

在多个尺度上裁剪图像的中心、四角及其水平翻转版本,再平均预测。课件中的三尺度设置共使用 150 个 crop。

两者因边界处理和采样方式不同具有互补性,融合后还能继续提升准确率。

六、怎样读实验结果

论文的关键证据不是某个单独分数,而是一组控制变量实验:

  1. 从 A 到 E,网络加深后 top-1 错误率总体下降;
  2. 同为 16 层时,全 3×33\times3 的 D 优于包含 1×11\times1 的 C;
  3. A-LRN 没有优于 A,说明 LRN 并非收益来源;
  4. 多尺度训练和测试能稳定改善表现;
  5. 到 19 层后收益已经开始递减。

课件给出的最佳单模型结果约为 top-1 错误率 24.8%24.8\%、top-5 错误率 7.5%7.5\%。ILSVRC 2014 中,VGG 在分类赛获得亚军、定位赛夺冠;单网络比较中也表现出很强竞争力。

七、VGG 为什么成为通用 backbone

VGG 的卷积块结构极其规则,没有复杂分支,因此容易理解、实现和迁移。预训练 VGG 特征配合线性 SVM,在 VOC、Caltech 和动作分类等任务上都表现良好。

它最终确立了三个后来反复出现的设计观念:

  • 深度能够逐层组合更复杂的视觉特征;
  • 小卷积核堆叠可以替代单个大卷积核;
  • 规则、可重复的模块便于作为通用特征提取器。

八、局限与后续发展

VGG-16 约有 1.38 亿参数,其中大部分集中在全连接层;单张图推理计算量约 153 亿次浮点运算。它很深、很准,但也非常重。

继续简单堆深到 19 层后收益有限,更深网络还会遭遇优化困难。后来的 ResNet 用残差连接突破了深度瓶颈;全局平均池化等设计则逐渐取代参数庞大的全连接尾部。

九、7 分钟汇报结构

课程汇报可以按下面的时间线展开:

内容建议时间
1标题与一句话结论10 秒
2目录10 秒
3研究背景与核心问题45 秒
4为什么是 3×33\times370 秒
5A-E 网络配置60 秒
6训练与测试策略50 秒
7深度带来的实验收益80 秒
8横向比较与迁移能力60 秒
9历史意义与局限45 秒
10总结20 秒

最应该讲透的是第 4 页和第 7 页:前者解释设计为什么合理,后者用实验说明结论不是猜测。其余部分都为这条“设计 → 证据”的主线服务。

十、一句话收束

VGGNet 的贡献不在于结构花哨,而在于通过严谨实验说明:用统一的 3×33\times3 小卷积核构造更深、规则的网络,可以以更少参数获得更强非线性和更好的视觉表示。

评论