最初目的:搞清楚网络深度与模型的识别精度和准确率之间的关系。

  获得的结果:不能无限制的加深网络,在网络加深到一定层数之后就会出现训练效果褪化、梯度消逝或者梯度爆炸等问题。

  主要的贡献

  1、提出用多层3 x 3的卷积层来替换大尺寸的卷积核,从而提升网络深度。例如两个3x3大小的卷积核可以等效于一个5x5大小的卷积核,三个3x3的就可以等于一个7x7的。

  2、使用1 x 1的卷积核进行各通道的特征融合,以及增加非线性。

  3、探索网络深度与准确率之间的关系

  VGG网络的设置

  输入预处理:VGG把输入的图像减去其RGB的均值然后再输入给神经网络。

  各个结构层的设置:

  1、卷积层:网络用3 x 3的小尺寸卷积核来提取特征,并用 1 x 1的卷积核来作线性转换(后接非线性层)。卷积运算的步长设置为 1,且进行 padding,使得卷积前后尺寸不变。

  2、池化层:选取的是max-pooling,步长设置的是2,尺寸设置的是2*2,所以会改变特征图的大小。

  3、全连接层:有三个连接层,分别是4096,4096和1000的大小,最后接的损失函数是softmax得到每一个类的概率。

PS:可能有小伙伴不懂为啥两个3x3大小的卷积核等于一个5X5大小的。其实直接计算就可以知道了,我们来举个小荔枝:

假设输入的特征图大小为10,卷积核大小设置为3,步长设置为1,padding设置为Valid,经过两个卷积核后,特征图的大小为6((10 - 3 + 0)/ 1 + 1 = 8,(8 - 3 + 0)/ 1 +1 = 6)如果把卷积核设置为5,计算出来的特征图大小也是6,所以说他们的感受野大小相同。((10-5 + 0)/ 1 + 1 = 6)