3.2.2 VGG网络模型
2015年牛津大学的K. Simonyan和A. Zisserman在进行图像分类任务时,首次提出了VGGNet网络模型,VGGNet网络模型最初是为了探索网络的深度对于图像分类准确度的影响,VGGNet需要更深的层数,因此会产生巨大的参数,为了避免参数过多对训练时间造成影响,通过叠加3*3的小卷积核代替5*5或者是7*7的较大卷积核。
VGG-16在图像分类和识别领域获得许多成就(张驰等,2021)。Li等人使用开源深度学习框架Gaffe和改进的VGG网络模型来训练蔬菜图像,从而进一步提高了蔬菜自动分类的准确性。将VGG-M网络添加到批处理规一化层,以加快网络的收敛速度和提高了网络的准确性。批量归一化成熟度的增加可以将收敛速度提高近三倍,数据集训练规模的增加可以提高模型的泛化能力。对不同数量的蔬菜图像进行训练的实验结果表明,与传统的VGG和AlexNet相比,该算法的精度有了很大提高。Zhijing Xu等人改进了VGG16的网络全连接层,以获得用于青光眼眼底图像数据识别的简化模型Reduce-VGGNet(R-VGGNet)。结果表明,与LeNet相比,改进的R-VGGNet的准确率达到91.7%。
VGGNet模型的创新点:① 使用3*3卷积核代替7*7卷积核。当两个3*3卷积核叠加时,它们的感受野等于一个5*5卷积核。当三个卷积核叠加时,它们的感受野等于一个7*7效应。由于感受野相同,三个3*3卷积使用三个非线性激活函数,这增加了非线性表达能力,可以提供更复杂的模式学习。使用3*3卷积核可以减少参数。通常,使用3*3卷积核堆栈的形式不仅增加了网络层的数量,还减少了参数的数量。② VGG的C网络结构使用多个1*1卷积核。在保持特征层大小不变的前提下(即不损失分辨率),可以大大提高非线性表达能力,使网络更深入。也就是说,1*1大小的卷积核优点在于,在感受野不变的情况之下,进行卷积核通道数的升维与降维,并加深神经网络模型的深度。
VGGNet模型有VGG16~19,数字代表模型的深度。VGG16网络模型名称来源于它所具有的13个卷积层和3个全连接层,两者之和正好是16层网络。VGG16网络模型成功构建还需要3*3卷积核和2*2的最大池化层的重复堆叠。VGG16共进行5次池化,将16个卷积层分成5组,样本图像每通过一个池化层,图像的大小会减半,所以每次的卷积层深度分别为64、128、256、521和512。前两个全连接层为1*1*4096,最后一个全连接层进行全连接和ReLU操作,维度为1*1*1000,最多可以进行1000种类别的分类,最后采用softmax作为网络模型的分类器,计算输入图像属于某一类的概率,如图3.12所示。
图3.12 VGG16网络模型结构