机器学习笔记:VGG 16
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习笔记:VGG 16相关的知识,希望对你有一定的参考价值。
1 VGG模型结构
VGG中根据卷积核大小和卷积层数目的不同,可分为A
,A-LRN
,B
,C
,D
,E
共6个配置(ConvNet Configuration),其中以D
,E
两种配置较为常用,分别称为VGG16
和VGG19
。
2 vgg16
以vgg16为例,它一共有:
- 13个卷积层(Convolutional Layer),分别用conv3-XXX表示
- 3个全连接层(Fully connected Layer),分别用FC-XXXX表示
- 5个池化层(Pool layer),分别用maxpool表示
其中,卷积层和全连接层具有权重系数,因此也被称为权重层
,总数目为13+3=16,这即是
VGG16中16的来源。(池化层不涉及权重,因此不属于权重层,不被计数)。
2.1 VGG16特点
- 卷积层均采用相同的卷积核参数
卷积层均表示为conv3-XXX
,其中conv3
说明该卷积层采用的卷积核的尺寸(kernel size)是3
-
池化层均采用相同的池化核参数
池化层的参数均为2×
-
模型是由若干卷积层和池化层堆叠(stack)的方式构成,比较容易形成较深的网络结构
2.2 VGG16 的快结构
VGG16的卷积层和池化层可以划分为不同的块(Block),从前到后依次编号为Block1~block5。每一个块内包含若干卷积层和一个池化层。
同一个块内,卷积层的通道(channel)数是相同的,例如:
block2
中包含2个卷积层,每个卷积层用conv3-128
表示,即卷积核为:3x3x3,通道数都是128block3
中包含3个卷积层,每个卷积层用conv3-256
表示,即卷积核为:3x3x3,通道数都是256
通过每个block,图像的尺寸会:
- 通道数翻倍,由64依次增加到128,再到256,直至512保持不变,不再翻倍
- 高和宽变减半,由 224→112→56→28→14→7
2.3 权重参数
李飞飞在CS231的课件中给出了整个网络的全部参数的计算过程(不考虑偏置)
2.4 VGG16的优缺点
VGG16具有如此之大的参数数目,可以预期它具有很高的拟合能力;但同时缺点也很明显:
- 即训练时间过长,调参难度大。
- 需要的存储容量大,不利于部署。例如存储VGG16权重值文件的大小为500多MB,不利于安装到嵌入式系统中。
3 代码
以上是关于机器学习笔记:VGG 16的主要内容,如果未能解决你的问题,请参考以下文章
资源 | 如何利用VGG-16等模型在CPU上测评各深度学习框架
「深度学习一遍过」必修21:基于Vgg16Net的MNIST手写数字识别