一、特点

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. Java中BIO,NIO,AIO的理解

    在高性能的I/O体系设计中,有几个概念常常会使我们感到迷惑不解.具体如下: 1 什么是同步? 2 什么是异步? 3 什么是阻塞? 4 什么是非阻塞? 5 什么是同步阻塞? 6 什么是同步非阻塞? 7  ...

  2. python 之 前端开发( jQuery选择器、筛选器、样式操作、文本操作、属性操作、文档操作)

    11.5 jQuery 引入方式: 方式一:本地引入 <script src="jquery-3.3.1.min.js"></script> <scr ...

  3. day32——进程、操作系统

    day32 进程的基础 程序 一堆静态的代码文件 进程 一个正在运行的程序进程.抽象的概念 被谁运行? 由操作系统操控调用交于CPU运行 ​ 操作系统 管理控制协调计算机中硬件与软件的关系 操作系统的 ...

  4. array_merge_recursive 的使用

    作用:递归合并数组 场景:在平时开发中,我们可能遇到获取的数据是多个维度的数据,而我们只需要其中的一个. 代码如下: $project_id = 'project_id'; $arr1 = [ 'pr ...

  5. [洛谷P3966][TJOI2013]单词

    题目大意:有$n$个字符串,求每个字符串在所有字符串中出现的次数 题解:$AC$自动机,每个节点被经过时$sz$加一,每一个字符串出现次数为其$fail$树子树$sz$和 卡点:$AC$自动机根节点为 ...

  6. BUAA_OO第四单元总结性博客作业——UML(Floyd实现规则检查?)

    一.架构设计 1.UML第一次作业——类图 第一次作业基于不同element在UML规格中的从属关系来设计架构.继承了UmlInteraction接口的MyUmlInteraction类是主要的交互层 ...

  7. day30-python之socket

    1.iter补充 # l=['a','b','c','d'] # # def test(): # return l.pop() # # x=iter(test,'b') # print(x.__nex ...

  8. 经典数据结构与算法在经典软件(linux kernel)中的应用

    参考文章:Core Alorgithms deployed linux中的priority search tree数据结构研究 虚拟内存: 1.红黑树,管理与进程关联的vm_area_struct实例 ...

  9. Java 进阶面试问题必备

    面向对象编程的基本理念与核心设计思想 解释下多态性(polymorphism),封装性(encapsulation),内聚(cohesion)以及耦合(coupling). 继承(Inheritanc ...

  10. MySQL Hardware--RAID卡常用信息查看

    MegaRAID信息查看 #查raid卡信息(生产商.电池信息及所支持的raid级别) /usr/local/sbin/MegaCli -AdpAllInfo -aALL |grep -E " ...