车辆重识别(CVPR2016图像识别的深度残差学习ResNet)论文阅读2024/9/21

2 Deep Residual Learning for Image Recognition ( CVPR 2016)

作者:Kaiming He Xiangyu Zhang Shaoqing Ren Jian Sun

单位:微软研究院

摘要:

更深层的神经网络更难训练。我们提出了一个残差学习框架,以减轻对比先前使用的深度更深的网络的训练。我们显式地将层重构为参考层输入的学习残差函数,而不是学习未参考的函数。我们提供了全面的经验证据,表明这些残差网络更容易优化,并且可以从大幅增加的深度中获得准确性。在ImageNet数据集上,我们评估了深度高达152层的残差网络- -比VGG网络 40 深8倍,但仍具有较低的复杂度。这些残差网络的集合在ImageNet测试集上达到3.57 %的误差。这个结果赢得了ILSVRC 2015分类任务的第一名。我们也提供了对100层和1000层CIFAR - 10的分析。

表示的深度对于许多视觉识别任务来说是至关重要的。由于我们非常深入的表示,我们在COCO目标检测数据集上获得了28 %的相对改进。深度残差网络是我们提交ILSVRC & COCO 2015竞赛1的基础,我们在ImageNet检测、ImageNet定位、COCO检测和COCO分割任务上也获得了第1名。

主要贡献:

(1)提出了残差块,通过跳跃连接解决深度网络训练中的退化问题。使得网络可以有效地加深至152层以上,而不出现性能下降。

(2)在ImageNet和COCO数据集上展示了残差网络在图像识别任务中的优越性能。

创新点:

引入了残差块的概念,使得网络能够学习输入与输出之间的残差,而不是直接学习期望映射,这大大简化了优化过程。提出了有效的网络训练策略,包括权重初始化和批归一化,进一步提高了模型的收敛速度和性能。

简介:

在本文中,我们通过引入深度残差学习框架来解决退化问题。为了拟合一个期望的底层映射,我们显式地让这些层拟合一个残差映射。在形式上,我们将期望的底层映射表示为H ( x ),并让堆叠的非线性层拟合F ( x )的另一个映射:F ( x )= H ( x ) - x。原始映射被重铸成F ( x ) + x。我们假设优化残差映射比优化原始的、未引用的映射更容易。在极端情况下,如果一个恒等映射是最优的,那么将残差推到零比用一堆非线性层拟合一个恒等映射更容易。

框图:

关于ResNet

疑问:

为什么更深层次的网络更难训练?

复制代码
①梯度消失和爆炸:在反向传播过程中,梯度可能会逐层减小(消失)或增大(爆炸),导致更新不稳定,从而影响模型的学习。
②过拟合:深层网络具有更多参数,更容易在训练数据上过拟合,特别是在数据量不足的情况下。
③优化困难:随着网络深度增加,优化目标变得更加复杂,导致梯度更新变得更加困难。
④特征学习:深层网络需要逐层学习复杂的特征,浅层网络可能无法捕捉到所有重要信息,导致性能下降。

残差网络会使得深度更深的网络容易训练,为什么?

复制代码
①残差学习:ResNet通过引入残差块,让网络学习输入与输出之间的残差而不是直接学习完整的映射。这种方式简化了学习过程,使得优化变得更容易。
②跳跃连接:跳跃连接允许信息在网络中更直接地流动,减少了梯度消失的问题,从而使得即使在深层网络中,梯度也能有效传播。
③恒等映射:如果某一层的最优映射是恒等映射,网络可以通过跳跃连接轻松地实现,而不需要重新学习复杂的功能,从而加快了收敛速度。
④特征复用:跳跃连接使得低层提取的特征可以被高层使用,从而提高了特征的利用效率,有助于更有效地学习复杂模式。

残差网络更容易优化,并且可以从大幅增加的深度中获得准确性,为什么?

同上

残差网络的深度增加,但是复杂度并不会大幅度增加

同上

特征的"层级"是什么意思

复制代码
低层特征:
这些特征通常表示图像的基本元素,比如边缘、角点和简单的纹理。在网络的前几层中提取。
中层特征:
这些特征是低层特征的组合,能够捕捉到更复杂的形状或局部模式,例如物体的一部分(如车轮、花瓣)。
高层特征:
在网络的高层,特征表示更加抽象,通常能够识别完整的物体或更复杂的概念,如"汽车"或"人"。
随着特征层级的提高,特征的表现也会越来越复杂、抽象,但是所能表示的意义更丰富。

更深层的网络训练误差和测试误差会更高,为什么?

还是梯度消失、过拟合、优化困难等原因

归一化初始化和中间归一化层是什么?如何解决梯度消失或爆炸的问题的

归一化初始化和中间归一化层(如批归一化)是两种不同的技术,用于提高神经网络的训练效率,并解决梯度消失或爆炸的问题。

复制代码
1. 归一化初始化
归一化初始化指的是在网络参数初始化时,使用特定的标准化方法来设置权重。这种初始化方法可以防止激活值在传递过程中变得过大或过小,从而减轻梯度消失或爆炸的风险。

常见方法:
Xavier初始化:适用于使用sigmoid或tanh激活函数的网络,使得每一层的输出方差与输入方差保持一致。
He初始化:特别适合ReLU激活函数,考虑了ReLU的非对称性,能够更好地保持激活分布。

2. 中间归一化层(Batch Normalization)
批归一化是在每个小批次上对层的输出进行标准化,使其均值为0,方差为1。

这有助于以下几个方面:
①稳定分布:通过减少输入分布的变化,确保每层在训练过程中接收到更稳定的输入,从而提高训练速度和稳定性。
②加速收敛:使得学习率可以设置得更高,从而加快模型收敛。
③缓解梯度消失/爆炸:保持激活值的范围,有助于避免梯度在反向传播过程中的消失或爆炸。

总结
通过归一化初始化和中间归一化层,神经网络可以更有效地训练,减少梯度消失或爆炸的风险,从而实现更深层网络的有效学习。

能够收敛的深层次的网络为什么比浅层网络误差率高?在排除过拟合的原因,还有哪些原因导致这样的情况?

同上(残差网络更容易优化)

为什么把上一层的输出与残差块后的输出相加,这样模型的性能就会更好?

缓解梯度消失...

举个例子解释一下残差网络的流程

shortcut快捷连接是什么意思

残差网络可以把一层作为一个残差块吗

可以,但是性能一般

投影是什么意思

ResNet网络结构图:

相关推荐
4SAPI8 分钟前
多国产模型混合调度与企业级治理生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
大数据·人工智能·架构·php
武子康13 分钟前
Cosmos Curator 总览:从一条样本的组成,选对数据处理入口
人工智能·后端·agent
XMAIPC_Robot22 分钟前
-40~85℃宽温实测:RK3588 机器人控制器硬件底座,长时间 SLAM 定位稳定性验证
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
智购科技自动售货机厂家24 分钟前
让AI经营自动售货机:从Project Vend看工具权限与业务规则~YH
大数据·服务器·单片机·嵌入式硬件·深度学习
锋行天下41 分钟前
Langgraph 运行时上下文使用示例
人工智能
zandy10111 小时前
中电金信金融 AI 工程化实践:异构模型纳管、智能体治理与 AI 原生软件工厂
人工智能·金融
吴佳浩1 小时前
中小企业跑125B 大模型:显存装不下的时候,Strata 做了什么
人工智能·llm
学IT的周星星1 小时前
LangGraph:用「流程图」的方式编排 Agent
数据库·人工智能·大模型·llm·流程图·agent
NC 王炸1 小时前
不用 API Key,也能让网页调用 AI?Opera 把本地模型接进了浏览器
人工智能·浏览器扩展·ai 工具·本地 ai·opera·webai
锋行天下1 小时前
Langgraph 实现类似Langchain记忆上下文过长裁剪
人工智能·后端