目录

前言

VGG原理

这里解释一下为什么使用2个3x3卷积核可以来代替5*5卷积核:

VGG网络结构

VGG优缺点

VGG优点

VGG缺点


前言

VGG是Oxford的Visual Geometry Group的组提出的(大家应该能看出VGG名字的由来了)。该网络是在ILSVRC 2014上的相关工作,主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能。VGG有两种结构,分别是VGG16和VGG19,两者并没有本质上的区别,只是网络深度不一样。

VGG原理

VGG16相比AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,7x7,5x5)。对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。

简单来说,在VGG中,使用了3个3x3卷积核来代替7x7卷积核,使用了2个3x3卷积核来代替5*5卷积核,这样做的主要目的是在保证具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果。

比如,3个步长为1的3x3卷积核的一层层叠加作用可看成一个大小为7的感受野(其实就表示3个3x3连续卷积相当于一个7x7卷积),其参数总量为 3x(9xC^2) ,如果直接使用7x7卷积核,其参数总量为 49xC^2 ,这里 C 指的是输入和输出的通道数。很明显,27xC^2小于49xC^2,即减少了参数;而且3x3卷积核有利于更好地保持图像性质。

这里解释一下为什么使用2个3x3卷积核可以来代替5*5卷积核:

5x5卷积看做一个小的全连接网络在5x5区域滑动,假如此时5×5的卷积核对5×5进行卷积,那么卷积一次得到的feature map的大小为1×1

假如此时是两个3×3的卷积核:第一次用一个3x3的卷积滤波器卷积,得到的feature map为3x3,然后再用一个3x3卷积层,最后得到的feature map的大小也是1×1

这样我们就可以用两个3x3卷积级联(叠加)起来代替一个 5x5卷积。

具体如下图所示:

2个3x3和5x5

至于为什么使用3个3x3卷积核可以来代替7*7卷积核,推导过程与上述类似,大家可以自行绘图理解。

VGG网络结构

下面是VGG网络的结构(VGG16和VGG19都在):

VGG网络结构

  • VGG16包含了16个隐藏层(13个卷积层和3个全连接层),如上图中的D列所示
  • VGG19包含了19个隐藏层(16个卷积层和3个全连接层),如上图中的E列所示

VGG网络的结构非常一致,从头到尾全部使用的是3x3的卷积和2x2的max pooling。

如果你想看到更加形象化的VGG网络,可以使用经典卷积神经网络(CNN)结构可视化工具来查看高清无码的VGG网络。

VGG优缺点

VGG优点

  • VGGNet的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3x3)和最大池化尺寸(2x2)。
  • 几个小滤波器(3x3)卷积层的组合比一个大滤波器(5x5或7x7)卷积层好:
  • 验证了通过不断加深网络结构可以提升性能。

VGG缺点

  • VGG耗费更多计算资源,并且使用了更多的参数(这里不是3x3卷积的锅),导致更多的内存占用(140M)。其中绝大多数的参数都是来自于第一个全连接层。VGG可是有3个全连接层啊!

PS:有的文章称:发现这些全连接层即使被去除,对于性能也没有什么影响,这样就显著降低了参数数量。

注:很多pretrained的方法就是使用VGG的model(主要是16和19),VGG相对其他的方法,参数空间很大,最终的model有500多m,AlexNet只有200m,GoogLeNet更少,所以train一个vgg模型通常要花费更长的时间,所幸有公开的pretrained model让我们很方便的使用。

原文:一文读懂VGG网络 - 知乎

VGG16网络,VGG19相关推荐

  1. 深度学习笔记(六)--VGG16网络

    内容来自吴恩达老师视频哦,网易云课堂有哦 VGG-16 VGG,也叫作VGG-16网络.值得注意的一点是,VGG-16网络没有那么多超参数,这是一种只需要专注于构建卷积层的简单网络.首先用3×3,步幅 ...

  2. 深度学习卷积神经网络——经典网络VGG-16网络的搭建与实现

    一.VGG-16网络框架介绍 VGGNet是牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发的深度卷积神经网络. VGGNet探索 ...

  3. 深度学习卷积神经网络CNN之 VGGNet模型主vgg16和vgg19网络模型详解说明(理论篇)

    1.VGG背景 2. VGGNet模型结构 3. 特点(创新.优缺点及新知识点) 一.VGG背景    VGGNet是2014年ILSVRC(ImageNet Large Scale Visual R ...

  4. open cv提取图片特征值_基于VGG16网络提取Flicker8K数据集图像特征

    # !/usr/bin/env python3 # -*- coding: utf-8 -*- # @Time : ${20200326} ${18:00} # @Author : ZicoZhou ...

  5. 卷积神经网络——vgg16网络及其python实现

    1.介绍      VGG-16网络包括13个卷积层和3个全连接层,网络结构较LeNet-5等网络变得十分复杂,但同时也有不错的效果.VGG16有强大的拟合能力在当时取得了非常的效果,但同时VGG也有 ...

  6. Pytorch:自定义构建VGG16网络

      有的时候会遇上这样的问题,需要使用一个神经网络但是需要自定义,增加或者删减某层,这个时候没有办法使用pytorch自带的model来进行训练,这时怎么办呢?于是我研究出来了一种简单可行的办法供大家 ...

  7. VGG16、VGG19网络架构及模型训练 tricks :训练技巧、测试技巧

    在上一篇文章的基础之上,总结一下论文中提出的训练技巧和测试技巧.上一篇文章参考:VGG论文笔记--VGGNet网络架构演变[VGG16,VGG19] 一.训练技巧 技巧1:Scale jitterin ...

  8. 迁移学习之VGG16和VGG19

    文章目录 1.输出效果: 2.主文件TransorVGG16AndVGG19.py: 1.输出效果: 实际的图片--Dog: 预测的结果有误.但是没关系,自己可以找一些数据集,在此模型的基础上进行微调 ...

  9. VGG16网络详解并使用pytorch搭建模型

    VGG网络结构 网络中的亮点:通过堆叠多个3x3的卷积核来代替大尺度卷积核(减少所需参数),可以拥有相同的感受野 1.一张原始图片被resize到(224,224,3). 2.conv1两次[3,3] ...

  10. VGG扫盲帖:利用pytorch实现VGG16网络架构

    上图为VGG16的网络架构可视化图,白色部分为卷积层,红色部分为池化层 一.预训练权重下载 当然编译器可以自动下载,只要把download设置为True,下载速度因人而异.建议自己下载,然后手动加载权 ...

最新文章

  1. 针对不同的Cookie做页面缓存
  2. SAP Fiori 应用的本地 sandbox Launchpad - 出于测试用途
  3. java中wmi的username_有没有一种方法可以在Java中使用WMI类
  4. Rabbitmq消息可靠投递和重复消费等问题解决方案
  5. NLP简报(Issue#1)
  6. 【数据结构笔记】Leetcode:718. 最长重复子数组(动态规划)
  7. 生产环境-linux-tomcat宕掉-乌龙事件
  8. unity package 包下载不下来
  9. 评价类算法之AHP层次分析法
  10. 重磅!各省市考研网上确认(现场确认)时间一览
  11. vulnhub:inferno-1.1
  12. EtherCAT简介
  13. 重温线性代数(3)——正交、投影
  14. 用Windows Performance Toolkit(WPT)分析Vista系统
  15. Kafka的基本架构以及Replica多副本机制
  16. 小恐龙游戏制作挑战:第8天-确定图片如何制作
  17. 使用scrapy框架抓取手机商品信息(1)
  18. 求一元二次方程ax2+bx+c=0的实数根
  19. echarts引入中国地图并且下探到省
  20. 数据分析 - 数据挖掘 之 第一章:数据挖掘原理 - 第一节:数据挖掘任务

热门文章

  1. 设备通过海康EHOME协议接入EasyCVR视频无法播放的排查与分析
  2. 关于EasyCVR平台Ehome协议接入设备出现停止启用现象的原因分析
  3. switchHost没有权限修改hosts文件
  4. html浮窗音乐播放器插件,墨涩网 - WordPress浮窗音乐播放器Floating Window Music Player V3.2.6——墨涩网...
  5. Aiml中文包含英文(字母,特殊符号)识别问题的解决
  6. 电大有计算机教程吗,电大教程 计算机概述.ppt
  7. Grad-CAM在语义分割中的pytorch实现
  8. python开发微信扫码支付
  9. Android APP原型设计,五款移动APP在线原型设计工具,值得收藏
  10. DirectX修复工具V4.1公测!