一、特点

1、对AlexNet改进,在第一个卷积层用了更小的卷积核和stride
2、多尺度训练(训练和测试时,采用整张图的不同尺度)

由此,VGG结构简单,提取特征能力强,应用场景广泛

由单尺度测试结果对比:

二、 不同结构的对比

VGG一共提供了6个网络版本,一次探究不同网络的效果对比。
下面简要分析一下各个版本的网络配置细节:

结构 A:与 AlexNet 类似,卷积层分为5个stage,3个全连接层,不同的是,卷积层用的都是3x3大小的卷积核;
结构 A-LRN:保留 AlexNet 中的 LRN 操作,其他结构与A相同;
结构 B:在 A 的 stage2 和 stage3 分别增加一个3x3的卷积层,共有10个卷积层了;
结构C:在 B 的基础上,stage3,stage4,stage5 分别增加一个1x1的卷积层,有13个卷积层,总计16层;
结构D:在 C 的基础上,stage3,stage4,stage5 分别增加一个3x3的卷积层,有13个卷积层,总计16层;
结构E:在 D 的基础上,stage3,stage4,stage5 分别再增加一个3x3的卷积层,有16个卷积层,总计19层。

各结构效果对比:

A 与 A-LRN 比较:A-LRN 结果没有 A 好,说明 LRN 作用不大;
A 与 B, C, D, E 比较:A 是这当中层数最少的,相比之下 A 效果不如 B,C,D,E,说明层数越深越好;
B 与 C 比较:增加 1x1 卷积核,增加了额外的非线性提升效果;
C与D比较:3x3 的卷积核(结构D)比 1x1(结构C)的效果好。(注意!!!!)
C、D、E之间的比较,多尺度会提高准确率

三、对卷积核优点的讨论

1、为什么使用3×3的卷积核?
(1)3个3×3的卷积核的感受野与一个7×7的卷积核的感受野等效,但是中间加入了激活函数,与一个7×7的卷积核相比,深度更深且增加了非线性
(2)参数量减少:
(C×3×3×C)×3 = 27C^2
C×7×7×C = 49C^2
2、1×1卷积核的作用(用其他的卷积核虽然也能实现这两个功能,但是参数量大)
(1)增加非线性
(2)升维和降维

四、训练数据预处理

第一步:将图片同性缩放,最小的边长为256
第二步:随机截取224×224的图像块
第三步:对裁剪的图像块进行随机水平翻转和RGB颜色变换

补充:也可以使用dense evalation 不裁剪直接将图片放进网络,将后面的全连接层改为卷积层

四大网络VGGNet的更多相关文章

  1. CNN网络--VGGNet

    Simonyan, Karen, and Andrew Zisserman. "Very deep convolutional networks for large-scale image ...

  2. 四大网络之Alexnet

       本文主要介绍AlextNet的一些知识,这些知识经常被忽略 一.AlextNet的创新点 (1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Si ...

  3. 深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)

    一.CNN卷积神经网络的经典网络综述 下面图片参照博客:http://blog.csdn.net/cyh_24/article/details/51440344 二.LeNet-5网络 输入尺寸:32 ...

  4. 代理服务器基本知识普及代理IP使用方法!

    本文并未从专业角度进行详细讲解,而是从应用的角度出发来普及一些代理服务器的基本知识.文章明显是搜集多方资料的拼凑,而且比较老了,但往往越老的东西越接近事物的本质,更容易窥探到原理,对于刚接触的人来说, ...

  5. 学习世界模型,通向AI的下一步:Yann LeCun在IJCAI 2018上的演讲

    https://baijiahao.baidu.com/s?id=1606296521706399213&wfr=spider&for=pc 机器之心整理,机器之心编辑部. 人工智能顶 ...

  6. 神经网络模型(Backbone)

    自己搭建神经网络时,一般都采用已有的网络模型,在其基础上进行修改.从2012年的AlexNet出现,如今已经出现许多优秀的网络模型,如下图所示. 主要有三个发展方向: Deeper:网络层数更深,代表 ...

  7. VGGnet——从TFrecords制作到网络训练

    作为一个小白中的小白,多折腾总是有好处的,看了入门书和往上一些教程,很多TF的教程都是从MNIST数据集入手教小白入TF的大门,都是直接import MNIST,然后直接构建网络,定义loss和opt ...

  8. LeNet,AlexNet,GoogleLeNet,VggNet等网络对比

    CNN的发展史 上一篇回顾讲的是2006年Hinton他们的Science Paper,当时提到,2006年虽然Deep Learning的概念被提出来了,但是学术界的大家还是表示不服.当时有流传的段 ...

  9. Python四大主流网络编程框架

    目前的4种主流Python网络框架:Django.Tornado.Flask.Twisted.

随机推荐

  1. Netty 面试题解析

    1.Netty 是什么? Netty 是一款基于 NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,对比于 BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提 ...

  2. CSP前的板子们

    见窝的luogu博客qwq noip前的板子们

  3. BZOJ3791 作业(DP)

    题意: 给出一个长度为n的01序列: 你可以进行K次操作,操作有两种: 1.将一个区间的所有1作业写对,并且将0作业写错: 2.将一个区间的所有0作业写对,并且将1作业写错: 求K次操作后最多写对了多 ...

  4. python模块知识三 hashlib 加密模块、collections、re模块

    8.hashlib 加密模块 ​ 主要用于加密和校验 常见密文:md5,sha1,sha256,sha512 只要明文相同,密文就相同 只要明文不相同,密文就是不相同的 不能反逆(不能解密)--md5 ...

  5. Golang_互斥锁

    为什么需要锁? 在并发的情况下,多个线程或协程同时去修改一个变量.使用锁能保证在某一时间点内,只有一个协程或线程修改这一变量. 锁的概念就是,我正在处理 a(锁定),你们等着,等我处理完了(解锁),你 ...

  6. Winform 快速开发框架,上位机开发,工控机程序开发,CS程序开发

    1.当客户让你做个CS程序时,当你手上一穷二白,所有都要重复造轮,你是不是很烦. 2.但如果有一个通用的,快速开发框架,就可以把你从这些基础的工作解救出来,你专注做业务就好了. 3.本人其中一个项目的 ...

  7. 10 查询字符串,X字段必须包含(不包含)XX;_all原理

    指定某个字段,必须要包含XX字符 GET /beauties/my/_search?q=Name:Chang Wei   搜出 某个字段不包含XX字符 的所有内容 GET /beauties/my/_ ...

  8. node作为前台的项目如何打包静态js和css并生成版本号,loader插件的使用

    一.使用场景: 1.node创建的前台项目需要输入地址展示页面 2.有设置缓存或者cdn的需要在静态文件更改时能使用新的而不是缓存的,需要版本号这里 3.可能需要压缩静态文件的 二.一些参考地址,需要 ...

  9. Java 之 Servlet 体系结构

    Servlet 的体系结构 体系结构示意图: 1.Servlet 接口 如果直接实现这个接口,需要重写里面所有的方法,但是只需要使用 service() 方法,其他的不常用. 2.GenericSer ...

  10. SpringBoot中LocalDatetime作为参数和返回值的序列化问题

    欢迎访问我的个人网站 https://www.zhoutao123.com 本文原文地址 https://www.zhoutao123.com/#/blog/article/59 LocalDatet ...