计算机视觉与深度学习-经典网络解析-VGG-[北邮鲁鹏]

目录标题

  • VGG
    • 参考
    • VGG网络贡献
      • 使用尺寸更小的$3 \times 3$卷积串联来获得更大的感受野
      • 放弃使用$11 \times 11$和$5 \times 5$这样的大尺寸卷积核
      • 深度更深、非线性更强,网络的参数也更少;
      • 去掉了AlexNet中的局部响应归一化层(LRN)层。
    • 网络结构
    • 主要改进
      • 输入去均值
      • 小卷积核串联代替大卷积核
      • 无重叠池化
      • 卷积核个数逐层增加

VGG

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

参考

论文地址
一文读懂VGG网络

在这里插入图片描述

VGG网络贡献

使用尺寸更小的 3 × 3 3 \times 3 3×3卷积串联来获得更大的感受野

对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以额增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。

放弃使用 11 × 11 11 \times 11 11×11 5 × 5 5 \times 5 5×5这样的大尺寸卷积核

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

2个 3 × 3 3 \times 3 3×3卷积核串联,感受野为 5 × 5 5 \times 5 5×5
在这里插入图片描述
3个 3 × 3 3 \times 3 3×3卷积核串联,感受野为 7 × 7 7 \times 7 7×7
在这里插入图片描述

深度更深、非线性更强,网络的参数也更少;

比如,3个步长为1的3x3卷积核的一层层叠加作用可看成一个大小为7的感受野(其实就表示3个3x3连续卷积相当于一个7x7卷积),其参数总量为 ( 3 × 3 × C ) × C × 3 = 27 C 2 (3 \times 3 \times C) \times C \times 3 = 27C^2 (3×3×C)×C×3=27C2
如果直接使用7x7卷积核,其参数总量为 ( 7 × 7 × C ) × C = 49 C 2 (7 \times 7 \times C) \times C = 49C^2 (7×7×C)×C=49C2 ,这里 C 指的是输入和输出的通道数。

很明显, 27 C 2 27C^2 27C2小于 49 C 2 49C^2 49C2,即减少了参数;而且3x3卷积核有利于更好地保持图像性质。

去掉了AlexNet中的局部响应归一化层(LRN)层。

网络结构

在这里插入图片描述

1、输入224x224x3的图片,经64个3x3的卷积核作两次卷积+ReLU,卷积后的尺寸变为224x224x64

2、作max pooling(最大化池化),池化单元尺寸为2x2(效果为图像尺寸减半),池化后的尺寸变为112x112x64

3、经128个3x3的卷积核作两次卷积+ReLU,尺寸变为112x112x128

4、作2x2的max pooling池化,尺寸变为56x56x128

5、经256个3x3的卷积核作三次卷积+ReLU,尺寸变为56x56x256

6、作2x2的max pooling池化,尺寸变为28x28x256

7、经512个3x3的卷积核作三次卷积+ReLU,尺寸变为28x28x512

8、作2x2的max pooling池化,尺寸变为14x14x512

9、经512个3x3的卷积核作三次卷积+ReLU,尺寸变为14x14x512

10、作2x2的max pooling池化,尺寸变为7x7x512

11、与两层1x1x4096,一层1x1x1000进行全连接+ReLU(共三层)

12、通过softmax输出1000个预测结果

主要改进

输入去均值

AlexNet和ZFNet的输入去均值:求所有图像向量的均值,最后得出一个与原始图像大小相同维度的均值向量。

VGG输入去均值:求所有图像向量的RGB均值,最后得到的是一个3×1的向量 [R,G,B]

小卷积核串联代替大卷积核

增加了非线性能力。

多个小尺寸卷积核串联可以得到与大尺寸卷积核相同的感受野。

与高斯核不同,高斯核中两个小卷积核组合卷积核大卷积核卷积结果相同。但是卷积神经网络中的卷积核,多个小卷积核组合和大卷积核结果不同,但是感受野相同。

无重叠池化

窗口大小为2×2,步长为2。

卷积核个数逐层增加

前层卷积核少,是因为前层学习到的是图像的基元(点、线、边),基元很少,所以不需要很多的神经元学习,又前层的图像都比较大,若神经元很多,计算量会很大(K×m×m×D×K×n×n)。到后面的层时,包含很多的语义结构,需要更多的卷积核学习。

为什么在VGG网络前四段里,每经过一次池化操作,卷积核个数就增加一倍?

1、池化操作可以减少特征图尺寸,降低显存占用
2、增加卷积核个数有助于学习更多的结构特诊,但会增加网络参数数量以及内存消耗
3、一减一增的设计平衡了识别精度与存储、计算开销

最终提升了网络性能

为什么卷积核个数增加到512后就不再增加了?

1、第一个全连接层含102M参数,占总参数个数的74%
2、这一层的参数个数是特征图的尺寸与个数的乘积
3、参数过多容易过拟合,且不易被训练

如果将最后一层卷积核个数增加至1024,这一层参数个数为: 7 × 7 × 1024 × 4096 = 205520896 ≈ 200 M 7 \times 7 \times 1024 \times 4096 = 205520896 \approx 200M 7×7×1024×4096=205520896200M

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/85524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

21 mysql ref 查询

前言 这里主要是 探究一下 explain $sql 中各个 type 诸如 const, ref, range, index, all 的查询的影响, 以及一个初步的效率的判断 这里会调试源码来看一下 各个类型的查询 需要 lookUp 的记录 以及 相关的差异 此系列文章建议从 mysql const 查询 开始看 测试表结构…

基于abaqus的非等速生长Voronoi晶体模型生成插件

1. 非等速生长晶体模型简介 对于标准Voronoi而言,每个晶粒的生长速率是相同的,任意两个晶粒的交界线为其形核点连线的垂直平分线,交界线为一条直线,如图1.1所示。 图1.1 标准Voronoi晶粒交界线 而对于非等速生长Voronoi晶体而言…

肖sir__项目环境之全流程__005

一、测试流程(h模型) 1、需求文档(产品) 需求文档(软件需求规格说明书srs) (1)如何分析需求 a、显示需求(主流程、功能,业务) b、隐性需求&#x…

js惰性函数

看下面这份ts代码 实现的效果也很简单,就是将一份文本,复制到剪切板上,未了兼容更多的浏览器(没错说的就是你>ie !),做了一个兼容性判断, 当浏览器支持navigator.clipboard这个api时,就直接调用这个api将文本复制到剪切板中, 如果不支持这个api的话,就执行else里面的代码,这…

解决qml编译时出现错误ninja: build stopped: subcommand failed.

qml编译时出现错误ninja: build stopped: subcommand failed. 如下图: 解决这个编译错误其实很简单,我把Window写错了,写成了window, 如果有类似的报错,可以检查一下qml代码是否有问题。当然在Qt Creator里也没有错误提示&#x…

MySQL 远程连接1130问题

通过后台进入mysql 1,切换到mysql库 2.查询user表信息 3.更新你想远程登录的用户的host信息,我这里想用root进行远程登录,所以修改如下 4.刷新权限 5.大功告成 快来和博主打成一片吧^_^

【Vue】修饰符、表单提交方式、自定义组件的关键步骤

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Vue快速入门》。🎯🎯 &…

识别准确率达 95%,华能东方电厂财务机器人实践探索

摘 要:基于华能集团公司大数据与人工智能构想理念,结合东方电厂实际工作需要,财务工作要向数字化、智能化纵深推进,随着财务数字化转型和升级加速,信息化水平不断提升,以及内部信息互联互通不断加深&#x…

git之撤销工作区的修改和版本回溯

有时候在工作区做了一些修改和代码调试不想要了,可如下做 (1)步骤1:删除目录代码,确保.git目录不能修改 (2)git log 得到相关的commit sha值 可配合git reflog 得到相要的sha值 (3)执行git reset --hard sha值,可以得到时间轴任意版本的代码 git reset --hard sha值干净的代…

【Node.js】定时任务cron:

文章目录 一、文档:【Nodejs 插件】 二、安装与使用【1】安装【2】使用 三、cron表达式:{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}四、案例: 一、文档: 【说明文档】https://www.npmjs.com/package/cron 【Cron表…

中国核动力研究设计院使用 DolphinDB 替换 MySQL 实时监控仪表

随着仪表测点的大幅增多和采样频率的增加,中国核动力研究设计院仪控团队原本基于 MySQL 搭建的旧系统已经无法满足大量数据并发写入、实时查询和聚合计算的需求。他们在研究 DB-Engines 时序数据库榜单时了解到国内排名第一的 DolphinDB。经过测试,发现其…

齿轮减速机设备类网站pbootcms模板(PC端+手机端自适应)

齿轮减速机设备类网站pbootcms模板-手机端自适应,优化SEO效果 模板介绍: 这是一款基于PbootCMS内核开发的模板,专为机械设备和加工机械类企业设计。该模板具有简洁简单的页面设计,易于管理,同时还附带测试数据。通过使…

ID保持的人像生成

AIGC真实人像写真,也即输入一些图片,生成图片里对应人物在不同场景和风格下的图片。妙鸭相机作为AIGC领域一款成功的收费产品为大家展示了如何使用AIGC技术只需要少量的人脸图片建模,即可快速提供真/像/美的个人写真,在极短的时间…

Python —— pytest框架

1、认识pytest框架 1、搭建自动化框架的思路与流程 1、搭建自动化测试框架的思路和流程,任意测试手段流程都是一致的:手工测试、自动化测试、工具测试 手工测试:熟悉业务 —— 写用例 —— 执行用例并记录结果 —— 生成测试报告自动化测试…

一、 计算机网络概论

一、计算机网络概论 1、计算机网络概述 1.1、概念 计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统 是一些互连的、自治的计算机系统的集合 以能够相互共享资源的方…

研究生选控制嵌入式还是机器视觉好?

研究生选控制嵌入式还是机器视觉好? 我是嵌入式/硬件方向转的算法,现在是公司的算法负责人,如果再让我选一次,我是不会再选嵌入式方 向,嵌入式如果只做技术是没前途的。 你要是有一定自学能力,能自己在学校…

make: /bin/nvcc: Command not found 解决找不到nvcc

首先输入nvcc -V查看nvcc路径,发现报错Command nvcc not found,接下来我们就要解决这个问题。 1)进入cuda的bin目录cd /usr/local/cuda/bin,ls查看是否有nvcc 说明存在nvcc但cuda路径没有添加系统变量 2)在bin目录下输…

大数据 Hive 数据仓库介绍

目录 一、​​数据仓库概念 二、场景案例:数据仓库为何而来? 2.1 操作型记录的保存 2.2 分析型决策的制定 2.3 OLTP 环境开展分析可行吗? 2.4 数据仓库的构建 三、数据仓库主要特征 3.1 面向主题性(Subject-Orient…

BOM与DOM--记录

BOM基础(BOM简介、常见事件、定时器、this指向) BOM和DOM的区别和联系 JavaScript的DOM与BOM的区别与用法详解 DOM和BOM是什么?有什么作用? 图解BOM与DOM的区别与联系 BOM和DOM详解 JavaScript 中的 BOM(浏览器对…

无源供电无线测温系统的应用意义

电力系统设备在长期的运行中,往往会产生老化或过热现象,如果没有及时发现和解决,可能会造成严重的火灾事故。由于变电站设备地理位置偏远,对于其维护和监控,管理人员不能做到面面俱到,巡检和维护的难度较大…