VGG 网络结构详解与复现
部分参考了Amusi的知乎ZHUAN专栏文章《一文读懂VGG网络》
前言
VGG = Visual Geometry Group, 是Oxford的同名视觉组提出的深度网络。论文中提出了VGG-11, VGG-13, VGG-16, VGG-19等网络。其中全连接层数量都为3层。
VGG 相比于AlexNet的一个重要改进是用连续的3x3卷积代替了AlexNet中较大的卷积核。
使得多次小规模卷积(e.g. 三次 3 x 3 卷积)之后得到特征图具有与单次大规模卷积(e.g. 一次 7 x 7卷积)相同的感受野。对于给定的感受野,采用堆积小卷积核的方式增加了非线性层的数量,使得神经网络能够学到更复杂的模式,同时付出更小的计算代价(参数量更少)
-
参数量计算:
对于一个三通道输入:
- 7 x 7 卷积,共使用n组卷积核: 7 × 7 × n = 49 n 7 \times 7 \times n = 49n 7×7×n=49n
- 3个3 x 3 卷积进行堆叠,共使用n组卷积核: 3 × 3 × 3 × n = 27 n 3 \times 3 \times 3 \times n = 27n 3×3×3×n=27n
什么是感受野?
感受野是CNN中的一个重要概念(同时也是基础中的基础)。所谓感受野即是卷积层输出的特征图上的某一个像素在输入图片上对应的区域。
我们来回顾一下感受野大小的计算公式:
r l = r l − 1 + ( k l − 1 ) × ∏ i = 0 l − 1 s i r_l = r_{l-1} + (k_l - 1) \times \prod_{i=0}^{l-1}s_i r