VGG,又叫VGG-16,顾名思义就是有16层,包括13个卷积层和3个全连接层,是由Visual Geometry Group组的Simonyan和Zisserman在文献《Very Deep Convolutional Networks for Large Scale Image Recognition》中提出卷积神经网络模型,该模型主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能。其年参加了ImageNet图像分类与定位挑战赛,取得了在分类任务上排名第二,在定位任务上排名第一的优异成绩。

结构

根据卷积核大小与卷积层数目不同,VGG可以分为6种子模型,分别是A、A-LRN、B、C、D、E,我们常看到的基本是D、E这两种模型,让我们看下面官方给出的6种结构图:

以配置D为例,在卷积层1(conv3-64),卷积层2(conv3-128),卷积层3(conv3-256),卷积层4(conv3-512)分别有64个,128个,256个,512个3X3卷积核,在每两层之间有池化层为移动步长为2的2X2池化矩阵(maxpool)。在卷积层5(conv3-512)后有全连接层,再之后是soft-max预测层。
这张图可能会更好地理解:

图像张量尺寸变化:224->112->56->28->14->7

数据与训练

1、输入处理
如果要使用224x224的图作为训练的输入,用S表示图片最小边的值,当S=224时这个图就直接使用,直接将多余的部分减掉;对于S远大于224的,模型将对图像进行单尺度和多尺度的剪裁,通过剪切这个图片中包含object的子图作为训练数据。
2、训练方式
采用带动量的小批量梯度下降法,来优化目标函数,并且当学习效果较为满意时,最初加入的学习率权重衰减系数会起作用,会减小学习率,缓慢达到最优解。
3、初始化
若为浅层,则先随机初始化后训练,深层采用浅层训练后的数据作为初始化数据,中间层则随机初始化。

特色

1、卷积层均采用相同的卷积核参数,这样就能够使得每一个卷积层(张量)与前一层(张量)保持相同的宽和高;
2、池化层均采用相同的池化核参数,池化层采用尺寸为2X2,stride=2,max的池化方式,使得池化后的层尺寸长宽为未池化前的1/2;
3、利用小尺寸卷积核等效大尺寸卷积核,2个3X3卷积核的感受野与1个5X5卷积核相当,3个3X3卷积核与1个7X7卷积核相当,故在特征提取效果相当时,多个小卷核与大卷积核相比,学习参数更少,计算量较小,训练更加快速,还能增加网络的深度,提升模型性能。
下面用计算说明为什么2个3X3卷积核能代替1个5X5卷积核:

假设feature map是28×28的,假设卷记的步长step=1,padding=0:
使用一层5X5卷积核
由(28−5)/1+1=24可得,输出的feature map为24X24
使用两层3X3卷积核
第一层,由(28−3)/1+1=26可得,输出的feature map为26X26
第二层,由(26−3)/1+1=24可得,输出的feature map为24X24
故最终尺寸结果相等,用3X3卷积核代替7X7卷积核同理。

实验结果

单尺度评估


可以看出:
1、增加了LRN层并没有达到预想的提升效果,反而逆向发展;
2、当网络深度逐渐增加时,模型准确率逐渐提升;
3、采用多种尺寸图像训练效果要比单一尺寸图像训练要好。

多尺度评估


可以看出,如果取同一图像的不同尺寸(产生尺寸抖动)进行训练,效果比使用单一尺寸图像要好,并使模型能适应更大范围的尺寸。

总结

VGG-16网络凭着16层的深度(在2014年算是很深的网络),以及巨大的参数量,足以可见VGG有多么强大的拟合能力在当时取得了非常的效果,但同时VGG也有部分不足:
1、巨大参数量导致训练时间过长,调参难度较大;
2、模型所需内存容量大,VGG的权值文件有500多MB,若想将其应用于移动端或嵌入式系统,较为困难。

初涉深度学习小白一枚,这篇博客参考一些其他博主的文章,若有不足,请指出,望谅解~~

参考文章
[1]:VGG16学习笔记
[2]:【深度学习】全面理解VGG16模型

VGG-16网络结构详解相关推荐

  1. pytorch图像分类篇:6. ResNet网络结构详解与迁移学习简介

    前言 最近在b站发现了一个非常好的 计算机视觉 + pytorch 的教程,相见恨晚,能让初学者少走很多弯路. 因此决定按着up给的教程路线:图像分类→目标检测→-一步步学习用pytorch实现深度学 ...

  2. AlexNet网络结构详解(含各层维度大小计算过程)与PyTorch实现

    AlexNet网络结构详解(含各层维度大小计算过程)与PyTorch实现 1.AlexNet之前的思考 2.AlexNet网络结构 3.AlexNet网络结构的主要贡献 4.PyTorch实现     ...

  3. AlexNet网络结构详解与代码复现

    参考内容来自up:3.1 AlexNet网络结构详解与花分类数据集下载_哔哩哔哩_bilibili up主的CSDN博客:太阳花的小绿豆的博客_CSDN博客-深度学习,软件安装,Tensorflow领 ...

  4. U-Net网络结构详解

    U-Net网络结构详解 U-Net网络结构是对称的,由于网络结构像U型,所以被命名为U-Net.整体而言,U-Net是一个Encoder-Decoder(编码器-解码器)的结构,这一点是与FCN的结构 ...

  5. 深度学习之目标检测(五)-- RetinaNet网络结构详解

    深度学习之目标检测(五)-- RetinaNet网络结构详解 深度学习之目标检测(五)RetinaNet网络结构详解 1. RetinaNet 1.1 backbone 部分 1.2 预测器部分 1. ...

  6. 基于CIFAR100的VGG网络结构详解

    基于CIFAR100的VGG网络详解 码字不易,点赞收藏 1 数据集概况 1.1 CIFAR100 cifar100包含20个大类,共100类,train集50000张图片,test集10000张图片 ...

  7. ResNet网络结构详解,网络搭建,迁移学习

    前言: 参考内容来自up:6.1 ResNet网络结构,BN以及迁移学习详解_哔哩哔哩_bilibili up的代码和ppt:https://github.com/WZMIAOMIAO/deep-le ...

  8. Network in Network(NIN)网络结构详解,网络搭建

    一.简介 Network in Network,描述了一种新型卷积神经网络结构. LeNet,AlexNet,VGG都秉承一种设计思路:先用卷积层构成的模块提取空间特征,再用全连接层模块来输出分类结果 ...

  9. GoogLeNet网络结构详解及代码复现

    1. GoogLeNet论文详解 Abstract: 提出了GoogLeNet网络结构--22层,此设计允许在保证计算预算不变的前提下,增加网络的深度和宽度,这个网络结构是基于Hebbian原则和多尺 ...

  10. Swin-Transformer网络结构详解

    文章目录 0 前言 1 网络整体框架 2 Patch Merging详解 3 W-MSA详解 MSA模块计算量 W-MSA模块计算量 4 SW-MSA详解 5 Relative Position Bi ...

最新文章

  1. [软件工程] 查找二维数组最大子数组的之和 郭莉莉李亚文
  2. java forname 原理_Java Class.forName()用法和newInstance()方法原理解析
  3. 洛谷 - P2764 最小路径覆盖问题(最大流+二分图最小路径覆盖+路径打印)
  4. 基于证书的WCF安全开发详解
  5. HTML的不同版本区别,HTML4.0、XHTML、HTML5每个版本之间有什么区别
  6. tcp服务端无故死掉了linux,TCP服务端socket会丢连接的诡异问题及思考
  7. Java开发笔记(一百四十一)JavaFX的列表与表格
  8. 计算机图形学上机心得,计算机图形学学习的心得体会
  9. HDB3 的编码与译码 ①(MATLAB 实现)2021-9-11
  10. 豆瓣250排行榜算法
  11. java实现多文件批量下载总结
  12. 黑鲨Android系统耗电高,已达安卓顶配,黑鲨2pro作为主力机,聊聊使用感受
  13. 发qq邮件被对方服务器拒绝,QQ被对方拉黑了。我发QQ邮件对对方能收到吗?
  14. 如何查询设备序列号?其实一条命令搞定!
  15. Word2007/2003常用快捷键
  16. CodeForces - 710F String Set Queries
  17. 生活中的小技巧-2:洗衣机洗衣服打结缠绕,该如何解决?学上几个实用招数
  18. 【Linux】Linux基础知识(Linux模块)
  19. 20200510-读后感-用户故事地图-1.什么是用户故事地图以及有什么用
  20. Linux DNS轮询➕泛域名解析

热门文章

  1. 使用idea把Svn分支合并到主干上
  2. 2021年第四届安洵杯WriteUp(转)
  3. s7200cpu224xp手册_河南西门子CPU224XP模块使用手册
  4. WebStorm快捷键
  5. 性能优化专题 - MySql 性能优化 - 03 - 深入理解InnoDB
  6. 快递100手机端页面抓取所有快递公司名称和代码
  7. linux抓包及分析
  8. nodejs下载慢问题
  9. android手机网络Ping测试
  10. 营业执照生成_0跑动,3步注册,48小时拿证!金山发出首张全程电子化登记营业执照!...