VGG(作者所在的牛津大学视觉几何组Visual Geometry Group的缩写)是[Very Deep Convolutioinal Networks for Large-Scale Image Recognition]提出的卷积神经网络模型,在2014年ImageNet图像分类与定位挑战赛中,取得了 分类任务第二,定位任务第一的好成绩。
VGG结构
根据卷积核大小和卷积层数目的不同,VGG分为A、A-LRN、B、C、D、E六种配置,其中D、E两种配置较为常用,分别称为VGG16和VGG19。

VGG16 特点
- 13个卷积层均采用相同的卷积核参数(kernel_size=3,stride=1,padding=1),每一个卷积层与前一层保持相同的宽和高。
- 5个池化层均采用相同的池化核参数(kernel_size=(2,2), stride=(2,2))和max池化方式。使每一个池化层的宽和高是前一层的1/2。
- 3个全连接层。

块结构
VGG16的卷积层划分为不同的块(block),每一个块内包含若干个卷积层和一个池化层,并且同一块内,卷积层的通道(channel)数是相同的。随着层数的增加,后一个块比前一个块通道数翻倍,由64依次增加到128,再到256,直至512保持不变。相应的高和宽减半,由224->112->56->28->14->7。

权重参数
卷积层和全连接层具有权重系数,被称为权重层,池化层不涉及权重,不属于权重层。尽管VGG16结构简单,但是所包含的权重数目却很大(138357544个参数)。
- 卷积层参数计算:kernel_sizekernel_sizeinput_channel*output_channel
- 全连接层权重参数计算:前一层节点数*本层的节点数
图中蓝色是计算权重参数数量的部分,红色是计算所需存储容量部分。

参考资料