VGGNet模型有A-E五种结构网络,深度分别为11,11,13,16,19,其中VGG16和VGG19较为典型。VGG网络结构如下图所示。
VGG16介绍:
在卷积层1(conv3_64),卷积层2(conv3_128),卷积层3(conv3_256),卷积层4(conv3_512)
分别有64个,128个,256个,512个3X3卷积核,在每两层之间有池化层stride为2的2X2池化矩阵(maxpool)。在卷积层5(conv3_512)后有全连接层,再之后是soft-max预测层。
(1)conv3-64 :是指第三层卷积后维度变成64,同样地,conv3-128指的是第三层卷积后 维度变成128;
(2)input(224X224 RGB image)指的是输入图像大小为224X224的彩色图像,通道为3, 即224X224X3
(3)maxpool 是指最大池化,在VGG16中,pooling采用的是2x2的最大池化方法;
(4)FC-4096 指的是全连接层中有4096个节点,同样地,FC-1000为该层全连接层有1000 个节点;
(5)padding指的是对矩阵在外边填充n圈,padding=1即外边缘填充1圈,5x5大小的矩 阵,填充一圈后变成7x7大小; 在进行卷积操作的过程中,处于中间位置的数值容易 被进行多次的提取,但是边界数值的特征提取次数相对较少,为了能更好的把边界数 值也利用上,所以给原始数据矩阵的四周都补上一层0,这就是padding操作。
(6)vgg16每层卷积的滑动步长stride=1,padding=1。
从上图可以看出VGG16由13个卷积层+3个全连接层=16层构成,过程为:
(1)输入224*224*3的图片
(2)conv1_1+conv1_2+pool1:经过64个3*3卷积核的两次卷积后,采用一次max pooling。 经过第一次卷积后有3*3*3*64=1728个训练参数;第二次卷积后有3*3*64*64=36864 个训练参数,大小变为112*112*64 (池化层采用尺寸为2X2,str