11.4 VGGNet

在 VGG Net 之前,AlexNet 等模型已经展示了深度网络在大规模图像分类任务中的潜力。然而,这些网络在卷积核大小、池化层和激活函数的设计上缺乏统一策略。VGGNet提出:通过使用多个连续的小卷积核(3×3)替代大卷积核(如 5×5 或 7×7),可以在保证感受野不变的前提下,提高网络的深度和表达能力,同时减少参数量。

11.4.1 VGGNet网络架构

3×3卷积核的优势

两个3×3的卷积核产生的特征图上的每个特征的感受野是5×5,它和单独使用一个5×5卷积核是一样的。但是3×3卷积核额外有两个好处:

  1. 参数量更少,假如输入维度为CinC_{in},输出维度为CoutC_{out},则两个3×3卷积核的参数量为2×3×3×Cin×Cout2\times3\times3\times C_{in}\times C_{out},等于18CinCout18C_{in}C_{out}。一个5×5卷积核的参数量为5×5×Cin×Cout5\times 5 \times C_{in} \times C_{out},等于25CinCout25C_{in}C_{out}

  2. 网络层数更深,更容易提取高级特征。之前我们说过深度神经网络通过多层网络,可以逐层在之前层提取的特征基础上组合出更高级的特征,来提升网络表现,这一点也适用于卷积神经网络。

VGG Net 的核心思想是:

统一使用 3×3 卷积核:叠加两个 3×3 卷积层等价于一个 5×5 卷积层;叠加三个 3×3 等价于一个 7×7,且非线性增强。

网络深度可变:提出了 VGG-11、VGG-13、VGG-16、VGG-19 四种不同深度的变体,数字代表卷积或全连接层数量之和。

卷积层通过Padding来实现输入和输出特征图大小一致,只通过最大池化层来减少特征图尺寸。

统一的池化设计:在每个卷积块之后使用 2×2 最大池化层,下采样一半分辨率。

三层全连接:在卷积特征提取后,使用三层全连接,最后通过 Softmax 输出分类概率。

层数 类型 输出尺寸 说明
1 Conv3-64 224×224×64 卷积核:3×3,步长=1,填充=1
2 Conv3-64 224×224×64 同上
3 MaxPool 112×112×64 核:2×2,步长=2
4-5 Conv3-128 112×112×128 两层 3×3 卷积
6 MaxPool 56×56×128 2×2 最大池化
7-9 Conv3-256 56×56×256 三层 3×3 卷积
10 MaxPool 28×28×256 2×2 最大池化
11-13 Conv3-512 28×28×512 三层 3×3 卷积
14 MaxPool 14×14×512 2×2 最大池化
15-17 Conv3-512 14×14×512 三层 3×3 卷积
18 MaxPool 7×7×512 2×2 最大池化
19 FC-4096 4096 全连接
20 FC-4096 4096 全连接
21 FC-1000 1000 类别数,根据数据集而定
22 Softmax 1000 分类输出

11.4.2 VGGNet的意义

在 2014 年的 ImageNet 挑战中,VGG-19 在验证集上达到 24.8% 的 Top-1 错误率和 7.5% 的 Top-5 错误率,成绩优越。此后,VGG 系列迅速成为计算机视觉领域的基准模型之一。

VGGNet标准化了卷积核(3×3)和池化层(2×2 最大池化层)。这种简洁统一的设计,基本成为了之后卷积神经网络的标准配置。

results matching ""

    No results matching ""