VGG论文:https://arxiv.org/abs/1409.1556
VGG 有六种结构配置:
以 VGG-16 为例:
VGG-16 包含 5 个 block,每个 block 最后为 maxpooling 层,网络最后有 3 个 FC 层。由于只有卷积层和全连接层有权重,所以它们合称权重层,共 13 + 3 个,这也是 VGG-16 名称的由来。
卷积层参数:
卷积层 conv3 表示卷积核尺寸为 3*3,conv3-64 表示卷积后通道数为 64,所有卷积步长 stride = 1,填充方式 padding = same(即输出大小和输入大小一致),这样卷积操作不会改变图像大小,仅改变通道数。
池化层参数:
池化层 maxpooling 的参数均为 2*2,步长 stride = 2
在 pooling5 之后,图像缩小了 32 倍,如果将 pooling 层的 stride 减小到 1,就可以得到更 dense 的特征,其实DeepLab就是这么做的,它将 VGG-16 的 pooling4、5 层的 stride 减小到 1,从而 pooling 5 之后图像相比原图仅缩小了 7 倍,但是这么做也有一个问题,就是感受野会变小,解决方法是使用 atrous convolution(带孔卷积),这里不细说。
参数计算过程(不考虑 bias):
VGG 参数量大,导致几个缺点:
- 训练时间过长,调参难度大
- 需要的存储容量大,不利于部署