论文阅读-用于图像识别的深度残差学习

目前存在的问题:

文章主要研究内容:

未来课研究内容:

涉及的理论问zzz

在这种

论文研究思路

论文翻译:

摘要:更深层次的神经网络更难训练。 我们提出了一个残差学习框架,以简化比以前使用的网络更深的网络训练。 我们明确地将层重新表示为参考层输入的学习残差函数,而不是学习未引用的函数。 我们提供了全面的经验证据,表明这些残差网络更容易优化,并且可以通过显着增加的深度来获得准确性。 在 ImageNet 数据集上,我们评估深度高达 152 层的残差网络,比 VGG 网络 [40] 深 8 倍,但复杂度仍然较低。 这些残差网络的集合在 ImageNet 测试集上实现了 3.57% 的误​​差。 该结果在 ILSVRC 2015 分类任务中获得第一名。 我们还对 100 层和 1000 层的 CIFAR-10 进行了分析。 表示的深度对于许多视觉识别任务至关重要。 仅仅由于我们极深的表示,我们在 COCO 目标检测数据集上获得了 28% 的相对改进。 深度残差网络是我们提交 ILSVRC 和 COCO 2015 竞赛的基础,我们还在 ImageNet 检测、ImageNet 定位、COCO 检测和 COCO 分割任务上获得了第一名。

1. Introduction

深度卷积神经网络 [22, 21] 为图像分类带来了一系列突破 [21, 49, 39]。 深度网络自然地以端到端的多层方式集成低/中/高级特征[49]和分类器,并且特征的“级别”可以通过堆叠层的数量(深度)来丰富。 最近的证据 [40, 43] 表明网络深度至关重要,并且在具有挑战性的 ImageNet 数据集 [35] 上取得的领先结果 [40, 43, 12, 16] 都利用了“非常深”[40] 模型,具有 深度为十六[40]至三十[16]。 许多其他重要的视觉识别任务 [7,11,6,32,27] 也极大地受益于非常深入的模型。 在深度重要性的驱动下,出现了一个问题:学习更好的网络是否像堆叠更多层一样容易? 回答这个问题的一个障碍是臭名昭著的梯度消失/爆炸问题[14,1,8],它从一开始就阻碍了收敛。 然而,这个问题已在很大程度上通过归一化初始化 [23,8,36,12] 和中间归一化层 [16] 得到解决,这使得具有数十层的网络能够开始收敛,以实现具有反向传播的随机梯度下降(SGD)[22] ]。 当更深的网络能够开始收敛时,退化问题就暴露出来了:随着网络深度的增加,准确性变得饱和(这可能并不奇怪),然后迅速退化。 出乎意料的是,这种退化并不是由过度拟合引起的,并且向适当深度的模型添加更多层会导致更高的训练误差,如[10, 41]中所报告的,并经过我们的实验彻底验证。

图 1 显示了一个典型示例。 (训练准确性)的下降表明并非所有系统都同样容易优化。 让我们考虑一个较浅的架构及其在其上添加更多层的较深层的对应架构。 存在一种构建更深层次模型的解决方案:添加的层是恒等映射,其他层是从学习到的较浅层模型复制的。 这种构造的解决方案的存在表明,更深的模型不应比其更浅的对应模型产生更高的训练误差。 但实验表明,我们现有的求解器无法找到以下解决方案与构造的解决方案相当或更好(或无法在可行的时间内做到这一点)。

在本文中,我们通过引入深度残差学习框架来解决退化问题。 我们不希望每几个堆叠层都直接适合所需的底层映射,而是明确让这些层适合残差映射。 形式上,将所需的基础映射表示为 H(x),我们让堆叠的非线性层拟合另一个映射 F(x):= H(x)−x。 原始映射被重铸为F(x)+x。 我们假设优化残差映射比优化原始的、未引用的映射更容易。 在极端情况下,如果恒等映射是最优的,则将残差推至零比通过一堆非线性层拟合恒等映射更容易。 F(x)+x 的公式可以通过具有“快捷连接”的前馈神经网络来实现(图 2)。 快捷连接[2,33,48]是那些跳过一层或多层的连接。 在我们的例子中,快捷连接只是执行恒等映射,并且它们的输出被添加到堆叠层的输出中(图 2)。 身份快捷方式连接既不会增加额外的参数,也不会增加计算复杂性。 整个网络仍然可以通过 SGD 通过反向传播进行端到端训练,并且可以使用通用库(例如 Caffe [19])轻松实现,而无需修改求解器。 我们在 ImageNet [35] 上进行了全面的实验,以展示退化问题并评估我们的方法。 我们表明:

1)我们的极深残差网络很容易优化,但是当深度增加时,对应的“普通”网络(简单地堆叠层)表现出更高的训练误差;

2)我们的深度残差网络可以轻松地从大大增加的深度中获得精度增益,产生比以前的网络更好的结果。

类似的现象也出现在 CIFAR-10 集 [20] 上,这表明我们的方法的优化难度和效果不仅仅类似于特定的数据集。 我们在此数据集上展示了超过 100 层的成功训练模型,并探索了超过 1000 层的模型。 在 ImageNet 分类数据集 [35] 上,我们通过极深的残差网络获得了出色的结果。 我们的 152 层残差网络是 ImageNet 上有史以来最深的网络,同时仍然比 VGG 网络 [40] 具有更低的复杂性。 我们的集成在上的 top-5 错误率为 3.57%ImageNet测试集,并在ILSVRC 2015分类竞赛中获得第一名。 极深的表示在其他识别任务上也具有出色的泛化性能,并带领我们在 ILSVRC & COCO 2015 竞赛中进一步赢得了 ImageNet 检测、ImageNet 定位、COCO 检测和 COCO 分割方面的第一名。 这个有力的证据表明残差学习原理是通用的,我们期望它适用于其他视觉和非视觉问题。

2. Related Work

残差表示。 在图像识别中,VLAD [18] 是通过残差向量相对于字典进行编码的表示,Fisher Vector [30] 可以表示为 VLAD 的概率版本 [18]。 它们都是用于图像检索和分类的强大浅层表示[4, 47]。 对于矢量量化,编码残差矢量[17]被证明比编码原始矢量更有效。 在低级视觉和计算机图形学中,为了求解偏微分方程(PDE),广泛使用的多重网格方法[3]将系统重新表述为多个尺度的子问题,其中每个子问题负责较粗和较精细之间的残差解 规模。 多重网格的替代方法是分层基础预处理 [44, 45],它依赖于表示两个尺度之间残差向量的变量。 研究表明 [3,44,45],这些求解器比不知道解的残差性质的标准求解器收敛得快得多。 这些方法表明良好的重新配制或预处理可以简化优化。

快捷连接。 导致快捷连接的实践和理论[2,33,48]已经被研究了很长时间。 训练多层感知器(MLP)的早期实践是添加一个从网络输入连接到输出的线性层 [33, 48]。 在[43, 24]中,一些中间层直接连接到辅助分类器以解决梯度消失/爆炸问题。 [38,37,31,46]的论文提出了通过快捷连接实现的居中层响应、梯度和传播误差的方法。 在[43]中,“初始”层由一个快捷分支和一些更深的分支组成。 与我们的工作同时,“高速公路网络”[41, 42] 提供了带有门控功能的快捷连接[15]。 这些门依赖于数据并且具有参数,与我们的无参数身份快捷方式相反。 当门控捷径“关闭”(接近零)时,高速公路网络中的层代表非残差函数。 相反,我们的公式总是学习残差函数; 我们的身份捷径永远不会关闭,所有信息总是会被传递,并且需要学习额外的残差函数。 此外,高网络尚未证明随着深度的极大增加(例如超过 100 层),准确性会有所提高。

3. Deep Residual Learning

3.1. Residual Learning

让我们将 H(x) 视为由几个堆叠层(不一定是整个网络)拟合的底层映射,其中 x 表示这些层中第一层的输入。 如果假设多个非线性层可以渐近逼近复杂函数2,那么就相当于假设它们可以渐近逼近残差函数,即H(x) − x(假设输入和输出具有相同的维度)。 因此,我们不期望堆叠层逼近 H(x),而是明确让这些层逼近残差函数 F(x):= H(x) − x。 原函数因此变为 F(x)+x。 尽管两种形式都应该能够渐近地逼近所需的函数(如假设的那样),但学习的难易程度可能不同。 这种重新表述的动机是关于退化问题的反直觉现象(图 1,左)。 正如我们在简介中所讨论的,如果添加的层可以构建为恒等映射,则更深的模型的训练误差应该不大于其较浅的对应模型。 退化问题表明求解器在通过多个非线性层逼近恒等映射时可能会遇到困难。 通过残差学习重构,如果恒等映射是最优的,则求解器可以简单地将多个非线性层的权重驱动至零以接近恒等映射。 在实际情况下,恒等映射不太可能是最优的,但我们的重新表述可能有助于预先解决该问题。 如果最优函数更接近恒等映射而不是零映射,那么求解器应该更容易参考恒等映射找到扰动,而不是学习该函数作为新函数。 我们通过实验表明(图 7),学习到的残差函数通常具有较小的响应,这表明恒等映射提供了合理的预处理。

3.2. Identity Mapping by Shortcuts

我们对每隔几个堆叠层采用残差学习。 构建块如图 2 所示。正式地,在本文中,我们考虑的构建块定义为:

这里 x 和 y 是所考虑层的输入和输出向量。 函数F(x,{Wi})表示要学习的残差映射。 对于图 2 中具有两层的示例,其中 σ 表示ReLU [29] 和偏差被省略以简化符号 。运算 F + x 通过快捷连接和逐元素加法来执行。 我们采用相加后的第二个非线性(即 σ(y),见图 2)。 方程(1)中的快捷连接既不引入额外的参数,也不引入额外的计算复杂度。 这不仅在实践中有吸引力,而且在我们比较普通网络和残差网络时也很重要。 我们可以公平地比较同时具有相同数量的参数、深度、宽度和计算成本的普通/残差网络(除了可忽略的逐元素加法)。 式(1)中x和F的尺寸必须相等。 如果情况并非如此(例如,当更改输入/输出通道时),我们可以通过快捷连接执行线性投影 Ws 以匹配尺寸:

我们还可以在方程(1)中使用方阵Ws。 但我们将通过实验证明恒等映射足以解决退化问题并且经济,因此Ws仅在匹配维度时使用。 残差函数F的形式是灵活的。 本文的实验涉及具有两层或三层的函数 F(图 5),但更多层也是可能的。 但如果 F 只有单层,则方程(1)类似于线性层:y = W1x+x,我们尚未观察到其优点。 我们还注意到,尽管为了简单起见,上述符号是关于全连接层的,但它们适用于卷积层。 函数F(x, {Wi})可以表示多个卷积层。 逐元素相加是在两个特征图上逐个通道执行的。

3.3. Network Architectures

我们测试了各种普通/残差网络,并观察到了一致的现象。 为了提供讨论实例,我们描述了 ImageNet 的两个模型如下。

普通网络。 我们的普通基线(图 3,中)主要受到 VGG 网络 [40](图 3,左)哲学的启发。 卷积层大多具有 3×3 滤波器,并遵循两个简单的设计规则:(i)对于相同的输出特征图大小,层具有相同数量的滤波器; (ii)如果特征图大小减半,滤波器的数量加倍,以保持每层的时间复杂度。 我们直接通过步幅为 2 的卷积层执行下采样。网络以全局平均池化层和带有 softmax 的 1000 路全连接层结束。 图3(中)中加权层的总数为34。 值得注意的是,我们的模型比 VGG 网络 [40] 具有更少的滤波器和更低的复杂性(图 3,左)。 我们的 34 层基线有 36 亿次 FLOP(乘加),仅为 VGG-19(196 亿次 FLOP)的 18%。

残差网络。 基于上述普通网络,我们插入快捷连接(图 3,右),将网络变成其对应的残差版本。 当输入和输出具有相同维度时,可以直接使用恒等快捷方式(方程(1))(图3中的实线快捷方式)。 当维度增加时(图 3 中的虚线快捷方式),我们考虑两种选择:(A)快捷方式仍然执行恒等映射,并填充额外的零条目以增加维度。 该选项不引入额外的参数; (B) 方程 (2) 中的投影快捷方式用于匹配维度(通过 1×1 卷积完成)。 对于这两个选项,当快捷方式穿过两种尺寸的特征图时,它们的步幅为 2。

3.4. Implementation

我们对 ImageNet 的实现遵循 [21, 40] 中的实践。 图像的大小被调整,其短边在 [256, 480] 中随机采样,以进行尺度增强 [40]。 从图像或其水平翻转中随机采样 224×224 裁剪,并减去每个像素的平均值[21]。 使用[21]中的标准颜色增强。 我们在每次卷积之后和激活之前采用批量归一化(BN)[16],如下[16]。 我们按照[12]中的方式初始化权重,并从头开始训练所有普通/残差网络。 我们使用小批量大小为 256 的 SGD。学习率从 0.1 开始,当误差达到稳定水平时除以 10,并且模型最多训练 60×104 次迭代。 我们使用 0.0001 的权重衰减和 0.9 的动量。 我们不使用 dropout [13],遵循[16]中的做法。 在测试中,为了进行比较研究,我们采用标准的 10 作物测试 [21]。 为了获得最佳结果,我们采用[40, 12]中的完全卷积形式,并在多个尺度上平均分数(调整图像大小,使较短的边位于{224, 256, 384, 480, 640})。

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

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

相关文章

AD 授予委派full control权限后,部分用户无法unlock

文章目录 问题描叙根因解決方法: 问题描叙 通過委派方式授予被委派用戶full control 权限后,部分用户unlock是灰色显示: 根因 对比能正常unlock与无法unlock的用户,发现繼承無法unlock的用戶沒有"enable inheritance&quo…

Maven随笔

文章目录 1、什么是MAVEN2、Maven模型3、Maven仓库4、项目集成1_Idea集成Maven设置2_创建Maven项目3_POM配置详解4_maven 坐标详情5_Maven工程类型6_导入Maven项目 5、依赖管理1_依赖配置2_依赖传递3_可选依赖4_排除依赖4_可选依赖和排除依赖的区别5_依赖范围6_继承与聚合7_版本…

Vue中ref、reactive、toRef、toRefs的区别

一、ref、reactive setup 函数中默认定义的变量并不是响应式的(即数据变了以后页面不会跟着变),如果想让变量变为响应式的变量,需要使用 ref 和 reactive 函数修饰变量。 ref 函数可以把基本类型变量变为响应式引用reactive 函数…

低压补偿控制器维修措施

低压补偿控制器其主要功能是调节和补偿系统中的低压,确保设备的正常运行和电能的高效利用。然而,随着长时间的使用,低压补偿控制器可能会出现故障,从而影响系统的正常运行。因此,了解低压补偿控制器的维修措施显得尤为…

视频推荐的算法(字节青训)

题目: 西瓜视频 正在开发一个新功能,旨在将访问量达到80百分位数以上的视频展示在首页的推荐列表中。实现一个程序,计算给定数据中的80百分位数。 例如:假设有一个包含从1到100的整数数组,80百分位数的值为80&#…

lora训练模型 打造个人IP

准备工作 下载秋叶炼丹器整理自己的照片下载底膜 https://rentry.org/lycoris-experiments 实操步骤 解压整合包 lora-scripts,先点击“更新” 训练图片收集 比如要训练一个自己头像的模型,就可以拍一些自己的照片(20-50张,最少15张&…

qt QBrush详解

1、概述 QBrush是Qt框架中的一个基本图形对象类,它主要用于定义图形的填充模式。QBrush可以用于填充如矩形、椭圆形、多边形等形状,也可以用于绘制背景等。通过QBrush,可以设置填充的颜色、样式(如实心、渐变、纹理等&#xff09…

《C#语法一篇通》,20万字,48小时阅读,持续完善中。。。

本文摘录了C#语法的主要内容,接近20万字。 所有鸡汤的味道都等于马尿! 如果你相信任何所谓的鸡汤文章,智商堪忧。 计算机语言没有”好不好“之说,骗子才会告诉你哪个语言好,学好任何一本基础语言(C&#…

radio astronomy 2

地球上的电离层会被太阳风影响。

数字人直播带货前景如何?头部源码厂商的系统能实现哪些功能?

随着数字人直播技术的成熟,以数字人直播带货为代表的应用场景逐渐呈现出常态化的趋势,使得越来越多创业者对该赛道产生兴趣的同时,也让数字人直播带货前景及操作方式成为了他们所重点关注的对象。 从目前的情况来看,就数字人直播带…

华为鲲鹏一体机 安装笔记

安装驱动 在这个链接 社区版-固件与驱动-昇腾社区 1 下载NPU固件 需要注册登录,否则报错: ERR_NO:0x0091;ERR_DES:HwHiAiUser not exists! Please add HwHi AiUser 准备软件包-软件安装-CANN…

【C++】类和对象(十一):友元+内部类+匿名函数

大家好,我是苏貝,本篇博客带大家了解C的友元内部类匿名函数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1. 友元1.1 友元函数1.2 友元类 2. 内部类3. 匿名对象 1. 友元 友元提供了一种…

【深度学习】VITS语音合成原理解析

1、前言 呃。。。好多天没更新了,最近 黑神话悟空 相当火啊,看上瘾了。本篇内容,我们来讲一下VITS。 视频:语言合成 & 变声器 ——VITS原理解析①_哔哩哔哩_bilibili 2、VITS 训练图 预测图: 2.1、条件VAE的优…

git 入门作业

任务1: 破冰活动:自我介绍任务2: 实践项目:构建个人项目 git使用流程: 1.将本项目直接fork到自己的账号下,这样就可以直接在自己的账号下进行修改和提交。 这里插一条我遇到的问题,在fork的时候没有将那个only camp4的…

再探“构造函数”(2)友元and内部类

文章目录 一. 友元‘全局函数’作友元‘成员函数’作友元‘类‘作友元 内部类 一. 友元 何时会用到友元呢? 当想让(类外面的某个函数/其它的类)访问 某个类里面的(私有或保护的)内容时,可以选择使用友元。 友元提供了一种突破&a…

从零到一构建C语言解释器-CPC源码

文章目录 参考框架设计vm指令集分配空间词法分析语法分析递归下降表达式优先级爬山 参考 https://lotabout.me/2015/write-a-C-interpreter-1/ https://github.com/archeryue/cpc https://www.bilibili.com/video/BV1Kf4y1V783/?vd_sourcea1be939c65919194c77b8a6a36c14a6e …

关于我、重生到500年前凭借C语言改变世界科技vlog.14——常见C语言算法

文章目录 1.冒泡排序2.二分查找3.转移表希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力! 根据当前所学C语言知识,对前面知识进行及时的总结巩固,出了这么一篇 vlog 介绍当前所学知识能遇到的常见算法,这些算法是…

我也谈AI

“随着人工智能技术的不断发展,我们已经看到了它在各行业带来的巨大变革。在医疗行业中,人工智能技术正在被应用于病例诊断、药物研发等方面,为医学研究和临床治疗提供了新的思路和方法;在企业中,人工智能技术可以通过…

Flutter 13 网络层框架架构设计,支持dio等框架。

在移动APP开发过程中,进行数据交互时,大多数情况下必须通过网络请求来实现。客户端与服务端常用的数据交互是通过HTTP请求完成。面对繁琐业务网络层,我们该如何通过网络层架构设计来有效解决这些问题,这便是网络层框架架构设计的初…

Spring Boot2.x教程:(十)从Field injection is not recommended谈谈依赖注入

从Field injection is not recommended谈谈依赖注入 1、问题引入2、依赖注入的三种方式2.1、字段注入(Field Injection)2.2、构造器注入(Constructor Injection)2.3、setter注入(Setter Injection) 3、为什…