学习 深度学习7-VGGNet总结

VGGNet是由牛津大学视觉几何组(Visual Geometry Group)于2014年提出的经典卷积神经网络模型。相较于此前占据主导地位的AlexNet,VGGNet通过统一使用小尺寸卷积核模块化的堆叠思想,显著加深了网络结构,参数总计约1.38亿

一、 模型整体架构

VGGNet共包含六种不同的网络架构(A至E),分别对应不同的深度。所有模型均由六个大的特征块(Block)组成,块与块之间通过最大池化层(MaxPooling)进行空间维度的下采样。

VGGNet摒弃了AlexNet中使用的11x115x5大卷积核,全面采用3x3的卷积核。大幅减少了网络参数并在每层之间插入了额外的ReLU非线性激活函数,使得模型决策函数具有更强的判别能力。

二、 VGG-16(D类)网络结构讲解

D类架构是VGGNet中最经典、应用最广泛的变体,其名称中的“16”代表该网络包含16个具有可训练权重的层(13个卷积层 + 3个全连接层)。模型输入图像尺寸固定为224 x 224 x 3(RGB三通道)。

块1

结构序列:卷积 -> ReLU -> 卷积 -> ReLU -> 最大池化

卷积层:包含2个卷积层,每层采用64个尺寸为3x3x3的卷积核。步幅(Stride)设为1,填充(Padding)设为1(保持尺寸不变)。输出特征图尺寸为 224x224x64。

激活函数:每层卷积后接入ReLU函数。

池化层:采用 2x2 的窗口,步幅设为2,填充为0。此操作将特征图空间尺寸减半,输出尺寸为112x112x64

块2:

结构序列:卷积 -> ReLU -> 卷积 -> ReLU -> 最大池化

卷积层:包含2个卷积层,每层卷积核数量扩充至128个,尺寸仍为3x3。保持步幅1和填充1,输出尺寸为 112x112x128。

池化层:参数同块1(2x2,步幅2),输出尺寸为56x56x128

块3:

结构序列:卷积 -> ReLU -> 卷积 -> ReLU -> 卷积 -> ReLU -> 最大池化

卷积层:包含3个卷积层,每层卷积核数量增加至256个,尺寸3x3,步幅1,填充1。输出尺寸为 56x56x256。

池化层:2x2窗口,步幅2,输出尺寸为28x28x256

块4:

结构序列:卷积 -> ReLU -> 卷积 -> ReLU -> 卷积 -> ReLU -> 最大池化

卷积层:包含3个卷积层,卷积核数量提升至512个,尺寸3x3。步幅1,填充1,输出尺寸为 28x28x512。

池化层:2x2窗口,步幅2,输出尺寸14x14x512

块5:

结构序列:卷积 -> ReLU -> 卷积 -> ReLU -> 卷积 -> ReLU -> 最大池化

卷积层:包含3个卷积层,每层保持512个3x3卷积核。步幅1,填充1,输出尺寸为 14x14x512。

池化层:2x2窗口,步幅2,输出尺寸为7x7x512

块6:(全连接层)

结构序列:全连接 -> ReLU -> Dropout -> 全连接 -> ReLU -> Dropout -> 全连接 -> Softmax

第一层:展平特征图接入4096个神经元的全连接层,后接ReLU激活函数及Dropout(丢弃率0.5)以防止过拟合。

第二层:同样为4096个神经元,后接ReLU与Dropout。

第三层(输出层):包含1000个神经元,对应ImageNet数据集的1000个类别,接入Softmax函数输出最终分类概率。

VGGNet证明了增加网络深度可以有效提升模型性能