1. 网络结构
根据卷积核大小和卷积层数,VGG共有6种配置,分别为A,A-LRN,B,C,D,E,其中D和E两种最为常用,即我们所说的VGG16和VGG19。
结构图简介:
- conv3-64 :是指第三层卷积后维度变成64,同样地,conv3-128指的是第三层卷积后维度变成128;同时这也就意味着 conv3-64 有64个卷积核
- input(224x224 RGB image) :指的是输入图片大小为 224 × 244 224\times244 224×244 的彩色图像,通道为 3 3 3,即 224 × 244 × 3 224\times244\times 3 224×244×3;
- maxpool : 是指最大池化,在vgg16中,pooling采用的是 2 ∗ 2 2*2 2∗2 的最大池化方法
- FC-4096 : 指的是全连接层中有4096个节点,同样地,FC-1000为该层全连接层有1000个节点;
- 最后补充,vgg16每层卷积的滑动步长
stride=1
,padding=1
,卷积核大小为 3 × 3 3\times 3 3×3;
实际上,最后的 4096 是经验值,1000 是要分类的类别数,不可以小于该数值。所有的激活单元都是 ReLu。其13层卷积层和5层池化层负责进行特征的提取,最后的3层全连接层负责完成分类任务。
2. VGG16模型所需要的内存容量
实际上,在 pytorch 中是可以使用函数命令来计算参数数量的。
3. VGG网络的优势
两个 3 × 3 3\times3 3×3 的卷积堆叠获得的感受野大小,相当一个 5 × 5 5\times5 5×5 的卷积;而3个 3 × 3 3\times3 3×3 卷积的堆叠获取到的感受野相当于一个 7 × 7 7\times7 7×7 的卷积。
- 减少参数,增加了网络深度
- 相当于进行了更多的非线性映射,可以增加网络的拟合/表达能力