Deep-Residual-Learning-for-Image-Recognition 论文笔记

本文记录我在读论文《Deep Residual Learning For Image Recognition》时的一些笔记与思考。在读的过程中有一些名词很难理解,经过上下文推敲可以大致猜出其含义,推荐自己读完了之后再观看李沐的ResNet论文讲解视频,可以有更深刻的理解。

研究背景

深度卷积神经网络在图像分类任务中达到一系列的突破。深度网络很自然地将不同层的特征融合起来,形成一个端到端的多层网络风格,而且随着层数的增加,所提取的特征也更加丰富。这随即就引发思考:学习更好的网络就像堆叠更多的层一样简单吗?

事实是,随着网络的层数的叠加,我们会遇到梯度消失梯度爆炸 问题,而这个问题也会阻碍模型的收敛。然而规范化初始化normalized initialization)和 intermediate normalization layers很好的缓解了这个问题,前者指的是在初始化权重的时候注意不将值设置太大也不要特别小,后者指的是在网络中间加一些normalization,比如BN: batch normalization可以校验每个层之间的输出以及梯度的均值和方差,避免有些层特别大,有些层特别小。这就使得包含很多层的网络开始可以基于随机梯度下降(SGD)的优化器进行反向传播收敛了。但是,随着网络层数的加深,精确度开始饱和,然后急剧衰减。作者将这种现象称为退化问题(degradation problem)。而且这种退化问题不是由于模型的层数变深、模型的参数变多而过拟合导致的,给一个网络添加更多的层会导致更高的训练误差,这一结论在作者的实验中得到了证实,如下图所示(图来自论文原文):

在这里插入图片描述

plain指的是没有使用残差结构的网络。假设有一个浅层的网络,已经优化的比较好了,如果为其增加更多的网络层,作者认为结果不应该变得更差,大不了也只是和没有添加这些层的结果一样,即直接跳过这些层输出结果,这个映射过程称为identity mapping。但是我们目前的优化方法做不到。所以作者希望构造一个这样的结构(identity mapping),使得更深的结构不会比浅层结构表现更差。

核心思想

为了解决上述退化问题,作者提出深度残差学习框架 (deep residual learning framework )。作者不是直接提出一种网络层的堆叠方式来直接学习所需要的underlying mapping(可以理解为网络层最终可以实现的函数映射功能),而是构造满足残差映射residual mapping)的网络层。假设所需要学习的underlying mapping 为 H ( x ) \mathcal{H}(\mathbf{x}) H(x)​​​​​​​, X X X是浅层网络所学习到的内容,然后继续添加若干层残差映射网络层,这些层不按照前几层的学习模式来直接学习 H ( x ) \mathcal{H}(\mathbf{x}) H(x),而是学习 X X X H ( x ) \mathcal{H}(\mathbf{x}) H(x)之间的残差 F \mathcal{F} F​​​​​​​​:
F ( x ) : = H ( x ) − x \mathcal{F}(\mathbf{x}):=\mathcal{H}(\mathbf{x})-\mathbf{x} F(x):=H(x)x
这样一来,我们最终需要学习的 H ( x ) \mathcal{H}(\mathbf{x}) H(x)​可以表示为 F ( x ) + x \mathcal{F}(\mathbf{x})+\mathbf{x} F(x)+x​​​。这一结构可以使用神经网络前向传播过程中的捷径连接(shortcut connections)来实现,其中,不经过残差映射网络层直接输出 X X X​的部分就是上面提到的identity mapping,即下图的捷径部分,如下图所示(图来自论文原文):在这里插入图片描述

这一结构不会增加任何额外的参数数量以及复杂的运算,一样可以被SGD端到端地训练,且容易实现。在实验中也表明,在较深的神经网络中,文章提出的deep residual nets很容易优化,而随着网络的深度加深,通过简单堆叠若干层的网络('plain' nets)会产生更大的训练误差,本文的新网络却可以学习到更多的内容并提高精度。

进一步细节阐述

更多内容请移步原博客阅读:
Deep-Residual-Learning-for-Image-Recognition 论文笔记

deep residual learning for image recognition是一种用于图像识别的深度残差学习方法。该方法通过引入残差块(residual block)来构建深度神经网络,以解决深度网络训练过程中的梯度消失和梯度爆炸等问题。 在传统的深度学习网络中,网络层数增加时,随之带来的问题是梯度消失和梯度爆炸。这意味着在网络中进行反向传播时,梯度会变得非常小或非常大,导致网络训练变得困难。deep residual learning则使用了残差连接(residual connection)来解决这一问题。 在残差块中,输入特征图被直接连接到输出特征图上,从而允许网络直接学习输入与输出之间的残差。这样一来,即使网络层数增加,也可以保持梯度相对稳定,加速网络训练的过程。另外,通过残差连接,网络也可以更好地捕获图像中的细节和不同尺度的特征。 使用deep residual learning方法进行图像识别时,我们可以通过在网络中堆叠多个残差块来增加网络的深度。这样,网络可以更好地提取图像中的特征,并在训练过程中学习到更复杂的表示。通过大规模图像数据训练,deep residual learning可以在很多图像识别任务中达到甚至超过人类表现的准确性。 总之,deep residual learning for image recognition是一种利用残差连接解决梯度消失和梯度爆炸问题的深度学习方法,通过增加网络深度并利用残差学习,在图像识别任务中获得了突破性的表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值