【论文精度(李沐老师)】Deep Residual Learning for Image Recognition

news2024/11/25 6:27:48

Deep Residual Learning for Image Recognition

残差连接主要干的一个事情是:
如果你新加的层不能让你的模型变好的时候,因为有残差连接的存在,可以使新加的那些层不会学到任何东西。

Abstract

(提出问题)深的神经网络非常难以训练。(本文做了什么事情)本文做了一个使用残差学习的框架来使得训练非常深的网络比之前容易很多。(本文提出的方法)。本文提供了非常丰富的实验表明残差网络非常容易训练,且能够得到很好的精度,特别是当层数增加时。在ImageNet这个数据集上,评估了深度为152层的残差网络——是VGG nets的8倍,且有更低的复杂性。这个残差网络在ImageNet上得到了3.57%的测试精度。这个结果让他们赢得了ILSVRC2015分类任务。本文还展示了怎么在CIFAR-10(一个非常小的数据集,在cv中常见)训练10—1000层的网络。
对很多视觉的任务来说,深度是非常重要的。仅仅只是把网络换成残差网络,在coco目标检测数据集上便得到了28%的相对改进。

1 Introduction(摘要的增强版本)

深度卷积网络好,因为我们可以加很多层,把网络变得非常深,然后不同程度的层会得到不同level的features。

(提出问题)随着我们网络越来越深,一个问题:只是简单的把所有网络堆在一起就可以了吗?当你的网络非常深的时候,会出现梯度爆炸/消失,解决这个问题的一个措施是初始化权重的时候,不要太大/小,另一措施是在中间加入一些normalization(例如BN,可以使得校验每个层之间的那些输出和其梯度的那些均值和方差。),使用上述技术是可以训练、收敛的。

虽然能够收敛了,但是网络变深的同时精度变差了(如下图,56层的网络精度小于20层)。但不是overfitting,因为56层的训练误差和测试误差都高于20层。
在这里插入图片描述

考虑一个比较浅一点的网络和其对应的比较深的一个网络,在理论上,如果较浅的网络效果不错,那个较深的网络效果是不应该变差的,因为新加的那些层总会把这些层学的变成一个identity mapping(恒等映射,输入是x输出也是x),但实际上做不到。

这篇文章就提出了一个办法,使得可以显示的构造出一个identity mapping,解决上述问题,叫做deep residual learning framework。(解释了一下要干什么事情)之前网络已经学到了x,新加的层只需要学习F(x)=H(x)-x(学到的东西和真实的东西之间的残差),最后的输出是F(x)+x (核心)
在这里插入图片描述
identity shortcut connections不会增加任何的参数,也不会让计算变高,整个网络仍然是可以被训练的。

实验表明:(1)非常深的残差网络很容易可以被优化,但是不加残差连接,其效果会很差;(2)残差网络越深,精度越高。

在CIFAR-10可以train到1000层。

讲了一下imagenet上的结果。

2 Related Work

Residual Representations
Shortcut Connections

Deep Residual Network

3.3 Network Architectures

Residual Network(如何处理输入和输出的形状是不同的情况)(A)在输入和输出上分别添加0,是这两个形状能够对应起来;(B)投影,例如使用1*1的卷积层(在空间维度上不做任何东西,主要在通道维度上做改变),使得输出通道是输入通道的2倍,步幅为2以使得在高宽维度上都能匹配上。

4 Experiments

4.1 ImageNet Classification

Plain Networks 和一个没有带残差的18层和34层的网络最比较。细节见下表。可视化结果见下图。

在这里插入图片描述
在这里插入图片描述
Deeper Bottleneck Architectures(怎么构建更深的残差网络)到50层以上,引入了a bottleneck design。
在这里插入图片描述

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

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

相关文章

STM32-HAL-定时器(无源蜂鸣器的驱动)

文章目录 一、蜂鸣器的介绍二、常用的无源蜂鸣器的电路三、测试准备四、初始化片上外设4.1 初始化定时器4的通道2为PWM输出模式4.2 编写驱动代码4.3 Logic分析仪查看波形4.4 代码分析 一、蜂鸣器的介绍 有源蜂鸣器: 有源蜂鸣器内部有一个发声电路,也就是“源”&…

程序员那些“越早知道越好的”道理

目录 程序员那些“越早知道越好的”道理1、学会阅读文档2、学会调试代码3、学会使用版本控制工具4、学会编写测试代码5、学会提问6、学会使用搜索引擎7、学会读懂源代码 程序员那些“越早知道越好的”道理 作为一名程序员,有很多话想对新手说,因为这些话…

ctr特征重要性建模:FiBiNetFiBiNet++模型

FiBiNET(Feature Importance and Bilinear feature Interaction NETwork)为推荐系统的CTR模型提出了一些创新方向: 引入一个SENet模块,可以动态学习特征的重要性;引入一个双线性模块(Bilinear-Interaction…

在当前互联网行情下,Android想转音视频开发,会有前景吗?

前言 近年来,由于三年疫情的影响,很多公司都开始陆陆续续的在裁员,Android开发工作岗位也是,可能有些从事Android开发的朋友还没有意识到,Android开发岗位正在变少,求职者,僧多粥少&#xff0c…

数据可视化大屏电商数据展示平台开发实录(Echarts柱图曲线图、mysql筛选统计语句、时间计算、大数据量统计)

数据可视化大屏电商数据展示平台 一、前言二、项目介绍三、项目展示四、项目经验分享4.1 翻牌器4.1.1 翻牌器-今日实时交易4.1.2.翻牌器后端统计SUM函数的使用 4.2 不同时间指标的数据MySql内部的时间计算 4.3 实时交易播报MySql联表查询和内部遍历循环 4.4 每日交易量4.4.1.近…

Flutter开发日常练习-小猫咪杂货店(新增欢迎页,广告页和侧滑页面)

养小猫咪的伙伴来我的店铺逛逛吧!抖音商城搜索#早睡早起的猫咪小铺子 Flutter开发日常练习-小猫咪杂货店(新增动画和跳转抖音)_workersJiaDa的博客-CSDN博客URL Launcher是一个Flutter插件,它允许您的应用程序启动网络浏览器、地图应用程序、拨号器应用程序、邮件应…

Object Manager中的Hierarchy Columns

【前言】:最近偶然发现Object Manager中多了一项Hierarchy Columns,正好在做Case Mgmt这块的业务,需要做Case Hierarchy,或许熟悉这个新概念对后续方案的落地有一定启发。 #1. Account Hierarchy - 这个是标准功能,Acc…

【Winform学习笔记(二)】TextBox文本框实现按回车键触发Button事件

TextBox文本框实现按回车键触发Button事件 前言正文1、实现方法2、具体代码3、实现效果 前言 在本文中主要介绍 如何基于 Winform 框架实现 TextBox 文本框实现按回车键触发 Button 事件,该功能可实现在文本框中输入密码后不需要按登录或确定按钮,直接回…

如果建立一个由AI组成的社会……

你有没有想过,如果我们建立一个完全由AI组成的公民社会团体,让它们模仿人类的文明发展,那么这个AI社会最终将会进化到何种文明程度?需要明确的是AI社会只有AI,没有人类,完全是AI之间互相沟通交流&#xff0…

制作剧本杀小游戏系统

制作剧本杀小游戏软件的功能可以包括以下几点: 角色设定和分配:提供多种角色供玩家选择,根据玩家数量随机分配角色。 剧情框架:提供预设的剧情框架,或者允许用户自定义剧情。 背景设定:提供游戏…

图像处理:高斯滤波算法

目录 前言 概念介绍 基本原理 卷积核的大小 卷积核的形状和权重比 卷积核的归一化 结论 Opencv实现高斯滤波 Python手写实现高斯滤波 参考文章 前言 在此之前,我曾在此篇中推导过图像处理:推导五种滤波算法(均值、中值、高斯、双边…

linux 命令之 tar -czvf和 tar -xzvf

文章目录 一、概述:二、基础知识 一、概述: tar 用于linux 系统中压缩和解压 二、基础知识 tar常用命令参数说明 tar命令的czvf/xzvf参数分别代表的意义如下: -c 或–create 建立新的备份文件。 -x或–extract或–get 从备份文件中还原文件…

为什么用Selenium做自动化测试

手工测试的问题 手工操作点点点借助的是人脑的反应和聪明,为什么不用手点了呢?手会酸,脑子会累,会占据太多的时间。想一想为什么会学习自动化测试。我们都希望通过工具来解放我们的双手,大脑,眼睛。 为什…

蚂蚁安全科技 Nydus 镜像加速实践

蚂蚁安全科技 Nydus 镜像加速实践 原创 曦栖 金融级分布式架构 文|蚂蚁集团 ZOLOZ 团队 使用全球领先安全科技,为用户和机构提供安全、便捷的安全风控解决方案。 本文 6386 字 阅读 12 分钟 背景简介 ZOLOZ[1]是蚂蚁集团旗下的全球安全风控平台&…

84.qt qml-Sprite精灵、SpriteSequence、ImageParticle使用Sprite精灵动画(三)

在上章我们学习了83.qt qml-初步学习2D粒子影响器(二)_诺谦的博客-CSDN博客 然后还有两个影响器没有学习: 粒子精灵影响器SpriteGoal 粒子组影响器GroupGoal 本章我们便来学习粒子精灵和粒子精灵影响器 ImageParticle通过sprites来设置精灵列表,如下图所示: 所以我们需要…

JVM学习(八):运行时数据区——虚拟机栈(字节码程度深入剖析)

目录 一、概述 1.1 基于栈结构的虚拟机 1.2 栈和堆 二、虚拟机栈(Java Virtual Machine Stack)详述 2.1 虚拟机栈介绍 2.2 虚拟机栈作用 2.3 虚拟机栈特点 三、栈中常见的异常 3.1 StackOverflowError异常 3.2 OutOfMemoryError异常 四、…

OpenGL学习笔记(一)

文章目录 1. 顶点2. 着色器(Shader) 1. 顶点 OpenGL本质是一个状态机,点作为表示图形最基本的元素,如何告诉OpenGL点的基本信息就是我们要做的事情 1.1VertexArray VertexArray是所有顶点的集合,我们可以将VertexBuffer分成很多组&#xff…

Volatile系列(一):Volatile测试案例一可见性

系列文章 Volatile测试案例一可见性 目录​​​​​​​ 前言 测试1 逻辑 代码 结果 测试2 逻辑 代码 结果 结论 原理探讨(可见性) 前言 多线程是 JAVA 并发编程的主要应用,并发环境能大幅提高应用性能,提高 CPU 使用…

基于springboot+mysql+html实现智能停车场管理系统

基于springbootmysqlhtml实现智能停车场管理系统 一、系统介绍1、系统主要功能:2.涉及技术框架:3.本项目所用环境: 二、功能展示三、其它系统四、获取源码 一、系统介绍 1、系统主要功能: 系统管理:角色管理、接口管…

华为OD机试真题(Java),货币单位换算(100%通过+复盘思路)

一、题目描述 记账本上记录了若干条多国货币金额,需要转换成人民币分 (fen),汇总后输出每行记录一条金额,金额带有货币单位,格式为数字单位,可能是单独元,或者单独分,或者元与分的组合要求将这…