首页 理论教育VGG-16模型的基本原理简介

VGG-16模型的基本原理简介

【摘要】:由于CNN模型的网络深度并不能无限增加,当网络深度增加到一定的层数之后,继续增加反而会导致模型出现退化,即引起模型的识别性能降低,因此VGG模型的网络深度被确定为16层和19层,对应的VGG-16模型和VGG-19模型成为VGG模型的常用代表。VGG-16模型包含13个卷积层和3个FC层,即一共有16个卷积/FC层。VGG-16模型全部使用3×3卷积核,步长均为1。VGG-16模型最后的输出层是Softmax层,输出当前样本对所有类别的归属概率值。图6-9不同深度的VGG模型结构

2014年由牛津大学视觉几何组(Visual Geometry Group, VGG)和Google DeepMind公司研究员共同提出的VGG模型[124]在ILSVRC大赛中获得了优异的成绩,其突出贡献在于证明了通过增加网络深度可以有效提升模型的学习效果。VGG模型证明了网络的深度是影响深度学习模型性能的关键因素,同时VGG模型对其他数据集具有良好的泛化能力,其预训练的CNN模型被广泛应用到目标检测等任务中。图6-8展示了VGG模型的特征提取结构,它是一种级联型的直筒结构,形式非常简洁。

图6-8 VGG模型的级联结构

VGG模型通过增加网络的深度,提升了网络在图像识别应用中的性能。图6-9展示了从A到E的五种不同深度的VGG模型的结构设置,网络深度从11层增加到19层,其中D和E分别对应VGG-16模型和VGG-19模型。由于CNN模型的网络深度并不能无限增加,当网络深度增加到一定的层数之后,继续增加反而会导致模型出现退化,即引起模型的识别性能降低,因此VGG模型的网络深度被确定为16层和19层,对应的VGG-16模型和VGG-19模型成为VGG模型的常用代表。

VGG-16模型包含13个卷积层和3个FC层,即一共有16个卷积/FC层。VGG-16模型的主要结构特点如下:

(1)VGG-16模型一共包含五个卷积模块,前两个卷积模块分别包含2个卷积层,后三个卷积模块分别包含3个卷积层;每个卷积模块内部每层的卷积核数量是相同的,但不同卷积模块之间每个卷积层的卷积核数量是不同的,并且呈逐渐增加的趋势,分别为 64、128、256、512。

(2)采用小尺寸的卷积核。VGG-16模型全部使用3×3卷积核,步长均为1。和传统CNN模型中的卷积核相比,VGG-16模型使用两个3×3卷积核可代替一个5×5卷积核,使用三个3×3卷积核可代替一个7×7卷积核,这种替换方式在保证感受野不变的同时提升了网络的深度,显著缩小了模型的参数规模,增加了CNN模型对细节特征的学习能力。

(3)在每个卷积模块之后有一个最大池化层,全部采用2×2的最大池化,一方面可以降低特征图的维度和计算量,另一方面也能保留充足的细节特征,还能提高所提取特征的尺度稳健性。

(4)每个卷积层之后是ReLU激活层,随着模型深度的增加,多个ReLU激活层将有助于提高模型的非线性表达能力

(5)VGG-16模型最后的输出层是Softmax层,输出当前样本对所有类别的归属概率值。

图6-9 不同深度的VGG模型结构