本文简要介绍一下VGG网络模型
论文:Very Deep Convolutional Networks for Large-Scale Image Recognition
VGG卷积神经网络是牛津大学在2014年提出来的模型。当这个模型被提出时,由于它的简洁性和实用性,马上成为了当时最流行的卷积神经网络模型。它在图像分类和目标检测任务中都表现出非常好的结果。在2014年的ILSVRC比赛中,VGG 在Top-5中取得了92.3%的正确率。
上图便是VGG整个网络的结构,整个网络根据不同的层数进行划分(层数=卷积层数量+全连接层数量),其中应用最为广泛的是VGG16,也就是13个卷积层+3个全连接的这个结构
接下来讲解一下每层参数数量如何计算的
第一个卷积层block1_conv1:
输入224*224*3 其中224*224为图片分辨率 3为图片的通道数
输出224*224*64 其中224*224为图片分辨率 64为卷积核数量也就是特征图数量
因此我们采用的是大小为3*3*3的卷积核一共64个
参数数量为3*3*3*64(卷积核参数)+64(bias)=1792
第一个卷积层block1_conv2:
输入224*224*64 其中224*224为图片分辨率 64为特征图数量
输出224*224*64 其中224*224为图片分辨率 64为卷积核数量也就是特征图数量
因此我们采用的是大小为3*3*64的卷积核一共64个
参数数量为3*3*64*64(卷积核参数)+64(bias)=36928
所有卷积层的参数计算以此类推,不再赘述
第一个全连接层fc1:
输入为7*7*512 其中7*7图片分辨率 512为图片的通道数
输出为4096个参数
全连接便是将输出的参数全部对应到输入的参数上去 因此参数个数为7*7*512*4096(全连接参数)+4096(bias)=102764544
最后一个全连接层fc3,也就是上表中的prediction层:
输入为4096
输入为1000 也就是分类的类别数量
参数为4096*1000(全连接参数)+1000(bias)=4097000