原文:VERY DEEP CONVOLUTIONAL NETWORKSFOR LARGE-SCALE IMAGE RECOGNITION(用于大规模图像识别的深度卷积网络)
部分截图来自:https://www.bilibili.com/video/BV1fU4y1E7bY?p=2
大赛往年冠军作者的主要使用具有非常小的(3×3)卷积滤波器的体系结构对增加深度的网络进行了彻底的评估,并试图表明将深度推进到16-19层权重层可以实现对现有技术配置的显著改进。
网络架构图如下所示
VGG 主要推出了两个深度的模型:VGG16 和 VGG19:
网络隐藏层主要包含:
- 卷积层
- ReLU
- 下采样 MaxPooling
- 全连接层
- softmax
- dropout
3x3 卷积核
3x3是能够表示上下左右中心的最小卷积核,VGG 所有卷积层的卷积核全都使用了 3x3 卷积核:
5x5卷积可以分解为两个3x3的卷积,参数明显减少(5x5总参数个数为 5x5xCxC,两个3x3卷积为 2x3x3xCxC)
我们可以通过 3x3 的卷积核的叠加来代替原来的 5x5 或者 7x7的卷积核(感受野相同),这不仅增加了网络的层数,提升了网络表达的能力(引入更多的非线性),也大大地降低了网络参数的个数,减少信息丢失,提升训练的速度和效率。
训练
- 损失函数为交叉熵
- 使用带动量的 mini-batch 梯度下降
- 正则化使用了Dropout和 L2正则化
- 使用 ReLU 作为激活函数
- 先使用11层训练一个初始模型作为初始参数,然后使用完成模型进行训练(剩下的层使用高斯分布初始化)
缺点
VGG 模型结构虽然简单,没有复杂的拓补结构,但臃肿复杂,参数过多(超过一亿个),速度慢,第一个全连接层占据了大量参数。
迁移学习与 fine-tuning
VGG 很适合作为迁移学习的预训练模型,作为特征提取器或者对其进行微调。
训练集尺度
训练集输入尺度的变化有利于模型的训练准确率的提高。
网友评论