VGG论文学习笔记

题目:VERY DEEP CONVOLUTIONAL NETWORKS  FOR LARGE-SCALE IMAGE RECOGNITION

论文下载地址:VGG论文

摘要

目的:研究深度对精度的影响
方法:使用3*3滤波器不断增加深度,16和19效果显著
成绩:在ImageNet 2014挑战赛中定位项目第1名,分类项目第2名;在其它数据集上也表现良好。

1、介绍

卷积网络(ConvNets)取得成功,得益于大规模图片库(比如ImageNet)和快速计算系统(比如GPU),也得益于ILSVRC比赛的举行。
研究深度与精度的关系,并使用小的3*3滤波器。

2、ConvNet配置

2.1 配置

输入:224*224(固定尺寸)
预处理:每个像素减去平均RGB值,其 均值为[123.68,116.78,103.94].
滤波器:3*3,也有使用1*1
卷积层参数:stride=1,padding=1
最大池化层:滤波器2*2,stride=2
全连接层:3个(前两个4096个通道,最后一个为1000个,对应分类数)
最后一层:soft-max层
激活函数:ReLU
改进:取消LRN,因为没有增加精度,反而增加计算时间占用内存。
感受野:参考 感受野
重点:堆叠两个3*3的卷积核替代5*5卷积核,堆叠三个3*3的卷积核替代7*7卷积核。拥有相同的感受野,减少参数。

2.2 结构

在AlexNet第一层使用11*11滤波器,s=4;ZFNet第一层使用7*7滤波器,s=2的结构。而VGG全部使用3*3的滤波器,s=1,实现全像素卷积。通过堆叠3*3滤波器,也可以减少参数量。比如通道为C,3*3滤波器的参数量为 3*(3^{2}*C^{2})=27C^{2},而同样通道的7*7滤波器,参数量为 7^{2}*C^{2}=49C^{2},参数量减少81%。

3 分类框架

3.1 训练

使用mini-batch gradient descent优化器,设置batch size=256,momentum=0.9.L2设置为5*10-4,dropout=0.5,学习率lr=0.01.
网络的初始化很重要。

3.3 细节

使用C++caffe工具箱,多GPU并行运行。

4 分类实验

数据集
使用ILSVRC-2012数据集,1000个类,分为三组:训练集(130万张)、验证集(5万张)、测试集(10万张)。用top-1和top-5错误率进行评价。

4.1 单尺度评估

使用LRN和没有使用LRN的效果差不多,所以后面的实验取消了LRN。
小的滤波器优于较大的滤波器。

4.2 多尺度评估

多尺度比单尺度效果更好,尤其层数越深表现越好。

4.3 多裁剪评估

两者组合效果更好。

4.4 卷积融合

4.5 与其他最好模型的比较

参考资料:
4.2 使用pytorch搭建VGG网络_哔哩哔哩_bilibili

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ 智能指针的使用

智能指针类型 在C程序中,普通变量使用栈内存,为函数运行时专用,结束后会自动释放,无须考虑内存释放问题。 但堆内存是共用的,其使用是通过指针变量的new来分配,使用delete来释放,因指针使用方便…

AI预测-一文解析AI预测数据工程

AI预测相关目录 AI预测流程,包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

Flink程序员开发利器本地化WebUI生成

前言 在flink程序开发或者调试过程中,每次部署到集群上都需要不断打包部署,其实是比较麻烦的事情,其实flink一直就提供了一种比较好的方式使得开发同学不用部署就可以观察到flink执行情况。 上代码 第一步:开发之前需要引入在本…

中间件漏洞(redis)

目录 1.Redis服务器被挖矿案例 2.redis常见用途 3.redis环境配置 4.redis的持久化机制 5.redis动态修改配置 6.webshell提权案例 7.定时任务bash反弹连接提权案例 8.SSH Key提权案例 9.redis安全加固分析 1.Redis服务器被挖矿案例 我没有体验过,那就看看别…

Flutter:构建美观应用的跨平台方案

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【Fitten Code】“吊打“Github Copilot的国内免费代码辅助插件

🌻个人主页:相洋同学 🥇学习在于行动、总结和坚持,共勉! 目录 1.Github Copilot 2.Fitten Code 2.1 对话体验: 2.2 代码补全体验: 2.3 Pycharm安装方法: 2.4 Vscode安装方法…

git基础命令(一)

目录 基础概念git statusgit addgit diffgit loggit commit文件可以处于以下三种状态之一远程存储库与本地存储库参考 用于知识记录。后续有新的的内容,例子,将持续更新本文档。 基础概念 工作树:git add 之前,变动内容的文件列表…

Linux课程_____用户的管理

一、规则 用户至少属于一个组,在创建时如果不指定组,将会创建同名的组 用户只能有一个基本组(主组),但可以隶属于多个附加组 如果一个组作为某用户的基本组,此组将不能被删除 UID: 用户标识 GID: 组的标识 root管理员的uid及gid 都为0 二、用户的配置文件 1./etc/passwd …

<c语言学习> 整数和浮点数的存储方式

1.整数 有符号整数 第一位为符号位 1代表负数 0代表正数 举例: signed char 8 ---------------------> 0000 1000 -8 ----------------------> 1111 1000 (补码形式存储) 补码存储(计算)的妙处&…

Discourse 分类图片

我们可以在 Discourse 上为分类添加图片。 进入分类编辑界面,然后选择 Image 标签。 在 Images 标签下,上传分类需要的图片。 图片大小 图片的大小是 Discourse 进行控制的,高度为 150 PX 像素。 如果上传的图片大于 150 px 的高度像素&…

【JavaSE】类与对象

前言 Java是一门纯面向对象的语言,在面向对象的世界里,一切都为对象。它是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。类与对象是我们学习面向对象最基础的知识,是面向对象实现的基石,可见它是有多么重…

打破数据孤岛,TDengine 与 Tapdata 实现兼容性互认证

当前,传统行业正面临着数字化升级的紧迫需求,但海量时序数据的处理以及数据孤岛问题却日益突出。越来越多的传统企业选择引入时序数据库(Time Series Database,TSDB)升级数据架构,同时,为了克服…

cesium 动态立体墙效果

cesium 动态立体墙效果 以下为源码直接复制可用 实现效果 实现思路 通过修改“material”自定义材质实现动态效果 核心类(WallImageTrailMaterialProperty)自定义材质 class WallImageTrailMaterialProperty {constructor(options) {this

推荐一款好用的前端分页插件jqPaginator

jqPaginator 简洁、高度自定义的jQuery分页组件,适用于多种应用场景。 现在网上各种各样的分页组件很多,但是很难找到十分“称心如意”的,于是jqPaginator诞生了。 我心中理想的分页组件,要不受CSS框架限制,可以使用…

汽车电子零部件(6):DMS/OMS、CMS

前言: 有一个部件过去不曾有,而如今有可能要标准化标配化,那就是Driver Monitoring System (DMS)驾驶员监控系统、Occupant Monitoring System (OMS)乘客监控系统和Camera Monitor System(CMS)摄像头监控系统。 汽车视觉技术的创新推动先进驾驶辅助系统的变革(ADAS),并…

力扣39. 组合总和

Problem: 39. 组合总和 文章目录 题目描述思路及解题方法复杂度Code 题目描述 思路及解题方法 该问题是组合问题的一个变体,可以归纳为元素无重复可复选问题,其代码的实现几乎和组合问题一模一样,由于在组合问题中我们只需要利用一个变量在递…

汽车电子与软件架构概述

汽车电子与软件架构概述 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师 (Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠自己…

C语言 数据在内存中的存储

目录 前言 一、整数在内存中的存储 二、大小端字节序和字节序判断 2.1.练习一 2.2 练习二 2.3 练习三 2.4 练习四 2.5 练习五 2.6 练习六 三、浮点数在内存中的存储 3.1 浮点数存的过程 3.2 浮点数取的过程 总结 前言 数据在内存中根据数据类型有不同的存储方式,今…

jvm调优实战操作

1.什么是jvm jvm就是lava虚拟机,他是java运行环境的一部分,它虚构出来的一台计算机,在通过在实际的计算机上仿真模拟各种计算机功能来实现Java应用程序,有JVM从软件层面屏蔽了底层硬件、指令层面的细节让他兼容各种系统 2.我们调…

【matlab】如何批量修改图片命名

【matlab】如何批量修改图片命名 (●’◡’●)先赞后看养成习惯😊 假如我的图片如下,分别是1、2、3、4、5的命名 需求一:假如现在我需要在其后面统一加上_behind字符串,并且保留原命名,同时替换掉原先的图片,也就是不copy新的一份,直接在原文件夹中处理,我们可以进行…
最新文章