车辆重识别(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网络结构图:

相关推荐
SAP上海工博云署7 小时前
生产采购财务一体化ERP选型指南(中小制造/工贸企业适用)
大数据·人工智能·信息可视化·制造·信息与通信
CV-deeplearning7 小时前
NVIDIA CV-CUDA:GPU 全流程加速计算机视觉,pip 一键安装替代 OpenCV,微软/腾讯/百度/字节全在用,云级图像处理吞吐量飙升 10 倍
opencv·计算机视觉·pip·nvidia·cuda·gpu加速·cv-cuda
装不满的克莱因瓶7 小时前
掌握多头自注意力机制(Multi-Head Self-Attention)——Transformer 强大表达能力的核心来源
人工智能·python·深度学习·数学·ai·transformer
花间相见7 小时前
【AI工作流搭建n8n】—— Docker + PostgreSQL 生产环境部署全攻略:MCP 集成与 Skills 技能实战
人工智能·docker·postgresql
doiito7 小时前
【Agent Harness实战】我让 Agent 的上下文“瘦身”成功,Token 省了,记忆反而更好了
人工智能·架构
意图共鸣7 小时前
技术视角:意图共鸣科技《AI记忆链商业化白皮书3.0》中的第二大脑与AI参谋架构
人工智能
大模型最新论文速读7 小时前
06-10 · LLM 最新论文速览
论文阅读·人工智能·深度学习·机器学习·自然语言处理
梦想三三7 小时前
矿物智能识别项目实战(一):从零开始清洗工业矿物数据
大数据·人工智能·数据挖掘
雨水的早晨7 小时前
什么是SKill
人工智能·skill
gis分享者7 小时前
AI数字营销实测体验,产品推广创作体验
人工智能·csdn·产品推广·数字营销·体验