本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com
本文详细讲解VGG-16的模型结构及相关数据处理、训练方法
通过本文具体地掌握VGG-16模型及VGG原文对VGG所作的相关细节处理
本节回顾VGGNet系列模型,并展示VGGNet各个模型的配置
VGGNet模型简要回顾
VGGNet是Visual Geometry Group和Google DeepMind公司在2014年共同研发的卷积神经网络
VGG主要用于图片类别识别
VGG的输入是:3×224×224的图片
VGG的输出是:1000×1的向量P,Pi代表样本属于第i类的概率
VGG共包括6个模型,各个模型的配置如下:
其中,较实用的模型为D、E模型,它们一般被称为VGG-16和VGG-19
本节详细讲解VGG-16模型结构和VGG-16的具体运算流程
VGG-16模型结构描述
VGG-16的卷积、池化配置预说明
VGG的卷积、池化配置是统一的,如下
卷积配置:3×3的卷积核,填充1,步幅1
特点:该卷积配置的输出Size与输入Size一致
池化配置:2×2的池化窗口,步幅2,池化方式:max
特点:该池化配置的输出Size是输入Size的一半
VGG-16的各层明细
输入:224×244×3的图像
说明:以下“卷积(a,b)”中的a,b代表卷积的输入和输出通道
C1:卷积(3,64)->ReLu->卷积(64,64)->ReLu->池化
输出Size:112×112×64
C2:卷积(64,128)->ReLu->卷积(128,128)->ReLu->池化
输出Size:56×56×128
C3:卷积(128,256)->ReLu->卷积(256,256)->ReLu->卷积(256,256)->ReLu->池化
输出Size:28×28×256
C4:卷积(256,512)->ReLu->卷积(512,512)->ReLu->卷积(512,512)->ReLu->池化
输出Size:14×14×512
C5:卷积(512,512)->ReLu->卷积(512,512)->ReLu->卷积(512,512)->ReLu->池化
输出Size:7×7×512
F6:全连接层,神经元个数4096,激活函数ReLu
F7:全连接层,神经元个数4096,激活函数ReLu
F8:全连接层,神经元个数1000(即类别的个数)
VGG-16的输出:将F8的输出进行soft-max就是最终的输出
✍️备注:F6和F7在训练时采用dropout机制进行,其中概率系数:0.5
VGG-16的模型结构图
为方便直观了解VGG-16的模型的整体结构以及运算流程,
笔者绘制了VGG-16的模型结构图如下
本节基于VGG-16的基础上,讲解VGG-19的模型结构
VGG-19的模型结构
VGG-19的结构只是在VGG-16的C3、C4、C5层各加一个卷积层,其它一切与VGG-16一致
VGG-19的C3、C4、C5配置具体如下:
👉C3:卷积(128,256)->ReLu->卷积(256,256)->ReLu->卷积(256,256)->ReLu->卷积(256,256)->ReLu->池化
输出Size:28×28×256
👉C4:卷积(256,512)->ReLu->卷积(512,512)->ReLu->卷积(512,512)->ReLu->卷积(512,512)->ReLu->池化
输出Size:14×14×512
👉C5:卷积(512,512)->ReLu->卷积(512,512)->ReLu->卷积(512,512)->ReLu->卷积(512,512)->ReLu->池化
输出Size:7×7×512
✍️老饼语
简单来说,VGG-19就是在VGG-16的C3,C4,C5各加一层,共加三层,就变成了VGG-19
为避免内容过于重复,这里不再展示VGG-19的完整结构图,参考VGG-16即可
End