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. ATS插件开发中内存泄露问题的解决方法探讨
  2. 几个判断时不变系统的精彩例子
  3. [摘抄] Bezier曲线、B样条和NURBS
  4. jasmine没有调用fixture.detectChanges就取不到元素的原因
  5. springboot mysql事物_在Spring Boot中使用数据库事务
  6. 听说做开发的工资随随便便就上10k?
  7. ServiceStack.Ormlit 使用Insert的时候自增列不会被赋值
  8. python 命令行运行 多进程_Python初学——多进程Multiprocessing
  9. linux(Ubuntu)下安装英伟达的显卡驱动、cuda和cudnn详细步骤
  10. Javascript图像处理之平滑处理
  11. dism /online /get-packages与dism /image:e:\ /get-packages
  12. element-ui upload 多个文件一次请求上传(Vue精简版)
  13. 《工程伦理与学术道德》第三章习题
  14. tomcat配置 详解
  15. DCM+BUFG的使用
  16. 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第03章 加工原料文本
  17. .netCHATING 10.4 for NET6-7.0-Crack
  18. JS伪3D 图形透视效果
  19. 数值计算中的矩阵的例子 | 病态矩阵 |稀疏矩阵 | 无法使用迭代法的矩阵
  20. 新版本CSDN 如何编辑或修改文章和摘要

热门文章

  1. 车林通购车之家--购车计算器模块--算法js
  2. 计算机专业的大专大学规划,大学生计算机专业职业规划个人简历
  3. 计算机网络第七版1-3
  4. AE 动效工作流技巧 —— 减少 Bodymovin 导出的 JSON 大小并提升性能(二)
  5. android动态壁纸文件,DIY Android手机动态壁纸APK安装文件
  6. gps高斯utm_高斯-克吕格投影与UTM投影
  7. arm64Linux网易云,网易云音乐arm版
  8. 【小程序项目分享】多功能抽签分组系统
  9. 中国大学Mooc平台,自动下载pdf文档
  10. 密码生成 算法编程题