ResNet(CVPR2016)


文章目录

  • Abstract
  • Introduction
  • Related Work
    • Residual Representations
    • Shortcut Connections
  • Deep Residual Learning
    • Residual Learning
    • Identity Mapping by Shortcuts
  • Experiment
  • Conclusion

原文链接

Abstract

深层的神经网络更难训练,我们提出了一个残差学习框架,以简化比以前使用的网络深度大得多的网络的训练。我们明确地将层重新表述为参考层输入的学习残差函数,而不是学习未参考的函数。我们提供了全面的经验证据,表明这些残余网络更容易优化,并且可以从相当大的深度提高精度,解决了层数变深误差在训练集测试集都增大问题

Introduction

深度卷积神经网络[22,21]在图像分类方面取得了一系列突破[21,49,39]。深度网络自然地以端到端的多层方式集成低/中/高层特征[49]和分类器,并且特征的“级别”可以通过堆叠层的数量(深度)来丰富。
最近的证据表明网络深度至关重要,在深度的重要性的驱使下,一个问题出现了:学习更好的网络就像堆叠更多的层一样简单吗?回答这个问题的一个障碍是臭名昭著的梯度消失/爆炸问题[14,1,8],它从一开始就阻碍了收敛。这个问题已经通过规范化初始化[23,8,36,12]和中间规范化层在很大程度上得到了解决

当更深的网络能够开始收敛时,一个退化问题就暴露出来了:随着网络深度的增加,精度趋于饱和(这可能不足为奇),然后迅速退化。出乎意料的是,这种退化并不是由过拟合引起的,在适当深度的模型上添加更多的层会导致更高的训练误差,这一点在[10,41]中有报道,我们的实验也充分验证了这一点。图1是一个典型的例子
在本文中,我们通过引入深度残差学习框架来解决退化问题
形式上,将期望的底层映射表示为H(x),我们让堆叠的非线性层适合F(x)= H(x) - x的另一个映射,原始映射被重新映射为F(x)+x

F(x)+x的表达式可以通过具有“快捷连接”的前馈神经网络来实现,在我们的例子中,快捷连接只是执行身份映射,它们的输出被添加到堆叠层的输出中(图2)。身份快捷连接既不增加额外的参数,也不增加计算复杂性,整个网络仍然可以通过反向传播的SGD进行端到端训练,并且可以使用通用库(例如Caffe[19])轻松实现,而无需修改求解器。

我们发现:1)我们的极深残差网络很容易优化,但对应的“普通”网络(简单地堆叠层)在深度增加时表现出更高的训练误差;2)我们的深度残差网络可以很容易地从深度的大大增加中获得精度的提高,产生的结果比以前的网络要好得多

进行了一系列实验,取得了非常好的结果。。。极深表征在其他识别任务上也有出色的泛化性能,并使我们在ILSVRC & COCO 2015竞赛中进一步在ImageNet检测、ImageNet定位、COCO检测和COCO分割方面获得第一名

Related Work

Residual Representations

VLAD、Multigrid等方法表明,良好的重新配方或预处理可以简化优化过程

Shortcut Connections

与我们的研究同时进行的还有“highway network”[41,42],它们具有门控功能,提供了快捷连接
这些门是数据依赖的,有参数,而我们的身份快捷方式是无参数的
我们的公式总是学习残差函数;我们的身份快捷键永远不会关闭,所有的信息总是通过附加的残余函数来学习

Deep Residual Learning

Residual Learning

把H(x)看作是由几个堆叠层(不一定是整个网络)拟合的底层映射,其中x表示这些层的第一层的输入。如果假设多个非线性层可以渐近逼近复杂函数,那么等价假设它们可以渐近逼近残差函数,即H(x)−x(假设输入和输出具有相同的维数)
因此,我们不是期望堆叠层近似于H(x),而是明确地让这些层近似于残差函数F(x):= H(x) - x。因此,原始函数变为F(x)+x。尽管这两种形式都应该能够渐进地逼近所需的函数(如假设的那样),但学习的难易程度可能不同

正如我们在引言中讨论的那样,如果添加的层可以被构造为身份映射,那么较深的模型应该具有不大于其较浅的对应部分的训练误差。通过残差学习的重新表述,如果恒等映射是最优的,求解器可以简单地将多个非线性层的权值向零驱动,从而逼近恒等映射

Identity Mapping by Shortcuts

我们对每几个堆叠层采用残差学习,构建块如图2所示。在本文中,我们认为构建块定义为

x和y是所考虑的层的输入和输出向量。函数F(x,{W i})表示待学习的残差映射,W是权重
对于图2中有两层的例子,F = W2σ(W1x),其中σ表示Relu,为了简化表达式,省略了偏差,操作F + x是通过一个快捷连接和元素加法来执行的。我们采用加法后的第二个非线性(即σ(y),见图2)

x和F的维数在Eqn(1)中必须相等。如果不相等(例如,当改变输入/输出通道时),我们可以通过快捷连接执行线性投影Ws来匹配维度:
我们还注意到,尽管为了简单起见,上面的符号是关于全连接层的,但它们适用于卷积层。函数F(x,{W i})可以表示多个卷积层,逐个通道地在两个特征映射上执行逐个元素的加法

Experiment

在ImageNet数据集上,我们评估了深度高达152层的残差网络,是VGG网络[40]深度的8倍,但仍然具有较低的复杂性。这些残差网络的集合在imagenet测试集上的误差达到3.57%,这一结果是对ILSVRC 2015分类任务的第一次验证,我们还介绍了100层和1000层的CIFAR-10分析。表征的深度对于许多视觉识别任务至关重要,仅由于我们的极深表示,我们在COCO对象检测数据集上获得了28%的相对改进

Conclusion


x是原来训练好的参数,我们现在期望的是H(x),不用ResNet的话,模型会直接学习H(x),但ResNet会学习残差函数F(x),
F(x)=H(x)-x,即ResNet学习的是训练的与真实的差距,也可以理解为ResNet在学习模型与真实值之间的差距。
原始做法是不断优化H(x),而ResNet是不断优化F(x)即训练与真实之间的差距,最终输出的是F(x)+x,即根据identity mapping的思想,x不变,而差距越来越小,因此网络越深不会导致训练结果越来越差

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

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

相关文章

怎么突破反爬虫机制

在当今的数字化时代,网络爬虫已经成为了收集信息和数据的重要工具。然而,许多网站和平台都配备了反爬虫机制,以防止恶意攻击和过度访问。对于普通用户来说,如何突破这些反爬虫机制呢?本文将为你提供一些实用的技巧和建…

Nginx的进程结构实例演示

可以参考《Ubuntu 20.04使用源码安装nginx 1.14.0》安装nginx 1.14.0。 nginx.conf文件中worker_processes 2;这条语句表明启动两个worker进程。 sudo /nginx/sbin/nginx -c /nginx/conf/nginx.conf开启nginx。 ps -ef | grep nginx看一下进程情况。 sudo /nginx/sbin/ng…

【Bond随你温故Kubernetes之】壹图复盘service与内部通信

最近跟朋友聊到了k8s 我: “环境给了就只管用呗,副本自动管理地妥妥的,有啥可以复盘的?“ 朋友: “容器的通讯与服务暴露还是有点东西的” 我: “嗯~~(抿嘴点…

C语言每日一题(21)删除排序数组中的重复项

力扣 26.删除排序数组中的重复项 题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考…

计算机网络基础二

课程目标 了解 OSI 七层模型分层结构 了解 TCP/IP 协议簇四层模型分层结构 能够说出 TCP/IP 协议簇中 运输层、网络层和数据链路 层常见的 相关协议 能够说出 TCP/IP 的三次握手四次断开过程 了解 Vmware 的三种网络模式 能够使用客户端工具连接虚拟机 掌握主机名、 DNS…

Android S从桌面点击图标启动APP流程 (六)

系列文章 Android S从桌面点击图标启动APP流程 (一)Android S从桌面点击图标启动APP流程 (二) Android S从桌面点击图标启动APP流程 (三) Android S从桌面点击图标启动APP流程 (四) Android S从桌面点击图标启动APP流程 (五) Android 12的源码链接: android 1…

【OpenCV实现图像的算数运算,性能测试和优化,改变颜色空间】

文章目录 OpenCV功能概要图像的算数运算性能测试和优化改变颜色空间对象追踪 OpenCV功能概要 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,提供了丰富的图像处理和计算机视觉算法。它支持多种编程语言&…

Java中的volatile关键字

volatile是什么? "volatile"是一个关键字,用于修饰变量。它的作用是告诉编译器该变量可能会在意料之外的时候被修改,因此编译器在对该变量进行优化时需要特别小心。 具体来说,当一个变量被声明为"volatile"…

算法通过村第十七关-贪心|白银笔记|贪心高频问题

文章目录 前言区间问题判断区间是否重复合并区间插入区间 字符串分割加油站问题总结 前言 提示:如果生活把你的门关上了,那你就再打开,这就是门,门就是这样的。 --佚名 贪婪的思想不一定要理解的很透彻,但是贪婪的问题…

Cookie技术

Cookie中文名称为小型文本文件,指某些网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据。 Cookie是由服务器端生成,发送给User-Agent(—般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文…

软考系列(系统架构师)- 2013年系统架构师软考案例分析考点

试题一 软件架构(根据描述填表、ESB 定义和功能) 【问题1】(10分) 服务建模是对Ramp Coordination信息系统进行集成的首要工作,公司的架构师首先对Ramp Coordination信息系统进行服务建模,识别出系统中的两…

从Mysql架构看一条查询sql的执行过程

1. 通信协议 我们的程序或者工具要操作数据库,第一步要做什么事情? 跟数据库建立连接。 首先,MySQL必须要运行一个服务,监听默认的3306端口。在我们开发系统跟第三方对接的时候,必须要弄清楚的有两件事。 第一个就是通…

uniapp开发小程序 小米手机真机bottom:0无效 底部间隙 设备安全区域处理办法

uniApp自定义导航 CSS设置 bottom:0竟然无效,而iphone和开发模拟器没有问题 height: 150rpx;position: fixed;left: 0;right: 0;bottom: calc(var(--window-bottom,0)); 网上查了各种方法,包括设置bottom:-20啊以及 padding-bottom: constant(safe-are…

静电模型PIC方法的Matlab仿真设计

任务要求: 采用PIC模拟方法的静电模型来模拟多环形电子注在圆柱系统中的运动轨迹。模拟电子枪阴极表面发射电子注,电子在静态场的作用下运动直至稳定的运动过程。其中 系统长:0.01m 系统半径:0.005m 入射的每个宏电子电流&#x…

业界中说的快速原型法是什么

快速原型法是一种软件开发过程,其核心思想是在开发初期快速构建一个系统的原型,即一个工作模型,以便用户和开发者能够更好地理解系统的需求和功能。这种方法强调快速迭代和用户参与,目的是更早地发现和修正问题,从而提…

Ubuntu中查看电脑有多少个核——lscpu

1. 使用lscpu命令: 打开终端并输入以下命令: lscpu你会看到与CPU相关的详细信息。查找"CPU(s)"这一行来看总的核心数。另外,“Core(s) per socket”表示每个插槽或每个物理CPU的核数,“Socket(s)”表示物理CPU的数量。将这两个值相乘即得到总…

IO流框架,缓冲流

一.缓冲流有什么优点 Java中的缓冲流(Buffered Stream)具有以下优势: 提高效率:缓冲流通过在内存中缓存一部分数据,减少了直接从内存到磁盘或从磁盘到内存的频繁IO操作,从而提高了读写效率。缓冲区大小调整…

蓝桥杯双周赛算法心得——通关(哈希+小根堆)

大家好,我是晴天学长,这是很重要的贪心思维题,哈希的存法和小根堆的表示很重要。 1) .通关 2) .算法思路 通关 用hash(int[])存点的子节点并按输入顺序存关卡的号码(输入顺序就是) 列如&#…

RabbitMQ-死信交换机和死信队列

1. 简介 1.1 DLX简介 DLX: Dead-Letter-Exchange 死信交换器,死信邮箱 当消息成为Dead message后,可以被重新发送到另一个交换机,这个交换机就是DLX。 如下图所示: 其实死信队列就是一个普通的交换机,有些队列的消息…

初步认识 Web Components 并实现一个按钮

目录 1.Web Components 基本概念 1.1 三个场景 1.2 是什么 2.使用 Custom Elements 实现一个按钮 2.1 概念介绍 2.1.1 Shadow DOM 2.1.2 Element.attachShadow() 2.1.3 在组件中 使用 Shadow DOM 基本步骤 2.1.4 attributeChangedCallback 2.1.5 get observedAttribu…