深度学习视频理解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1.3 VGGNet

VGGNet(Simonyan & Zisserman,2015)是2014年ImageNet 竞赛分类任务的亚军网络和定位任务的冠军网络,其中最常见的VGG-16(也被称为VGG-D)的网络结构如图2-4所示。VGG-16 共有16 层卷积和全连接层,共有1.38亿个参数。VGGNet 取名源自作者所处的英国牛津大学(Oxford University)的VGG(Visual Geometry Group,视觉几何组)研究组。

img

图2-4 VGGNet 网络结构图

VGGNet的网络结构十分简单,整个网络中的卷积层都采用了img的卷积核,汇合层都采用了img的卷积核。使用img这种小卷积核的优势在于,堆叠两个img卷积层可以得到img的感受野(Receptive Field)大小,堆叠3个img卷积层可以得到img的感受野大小,但是和直接使用一个imgimg卷积层相比,堆叠多个img卷积层的参数量更少。

具体地说,对于一个标准的卷积核维度为img、输入通道数为img、输出通道数为img的卷积层,其输入特征维度为img,输出特征维度为img,忽略卷积层的偏置项(Bias),该卷积层的参数量为img,计算复杂度为img。假设卷积层的输入输出特征维度都是img,如表2-1所示,可以看出,在获得相同img大小感受野的条件下,使用两个img卷积层的参数量和计算量是使用一个img卷积层的img;在获得相同img大小感受野的条件下,使用3个img卷积层的参数量和计算量是使用一个img卷积层的img

表2-1 不同配置卷积层对比

img

此外,由于每个卷积层后面都配合使用ReLU 激活函数,堆叠多个img卷积层的另一个好处是可以获得更多的非线性变换,网络深度更深。因此,网络可以学习更复杂的特征表示。

VGGNet的其他关键点如下:

● 实验证明了增加网络深度可以获得更高的性能。

● 在VGGNet中,卷积层不改变空间维度,而每经过一次汇合层,空间维度减半,这样可以保证特征维度不会随着网络深度增加而急剧变小。总体上说,从网络的输入到输出,空间维度img逐渐减小,而通道数img逐渐增大。

● 由于VGGNet 最后使用了多层全连接层,导致模型参数量非常大,参数量主要集中在fc6,整个网络参数冗余度比较高。

● 合适的网络初始化和使用BN层对训练深层网络很重要。在(Simonyan & Zisserman,2015)中无法直接训练深层VGG网络,因此只能先训练浅层网络,并使用浅层网络对深层网络进行初始化,再训练深层网络。在BN出现之后,伴随其他技术,使得直接训练深层VGG网络变得可能。

● VGGNet有很好的泛化(Generalization)性能,使其很适合迁移学习(Transfer Learning),其在ImageNet上的预训练模型可以用到多种其他任务中。