残差神经网络(ResNet)的介绍

引言 

残差神经网络(ResNet)是由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出的。ResNet 在2015 年的ILSVRC(ImageNet Large Scale Visual Recognition Challenge)中取得了冠军。

残差神经网络的主要贡献是发现了“退化现象(Degradation)”,并针对退化现象发明了 “快捷连接(Shortcut connection)”,极大的消除了深度过大的神经网络训练困难问题。神经网络的“深度”首次突破了100层、最大的神经网络甚至超过了1000层。 

ResNet论文地址:[1512.03385] Deep Residual Learning for Image Recognition (arxiv.org)

残差网络的效果:

 

具有20层和56层“普通”网络的CIFAR-10上的训练误差(左)和测试误差(右)。更深的网络具有更高的训练误差,从而具有测试误差。 

一、残差网络是什么 

我们都知道增加网络的宽度和深度可以很好的提高网络的性能,深的网络一般都比浅的的网络效果好,比如说一个深的网络A和一个浅的网络B,那A的性能至少都能跟B一样,为什么呢?因为就算我们把B的网络参数全部迁移到A的前面几层,而A后面的层只是做一个等价的映射,就达到了B网络的一样的效果。一个比较好的例子就是VGG,该网络就是在AlexNet的基础上通过增加网络深度大幅度提高了网络性能。

对于原来的网络,如果简单地增加深度,会导致梯度弥散或梯度爆炸。对于该问题的解决方法是正则化初始化和中间的正则化层(Batch Normalization),这样的话可以训练几十层的网络。

虽然通过上述方法能够训练了,但是又会出现另一个问题,就是退化问题,网络层数增加,但是在训练集上的准确率却饱和甚至下降了。这个不能解释为overfitting(过拟合),因为overfit应该表现为在训练集上表现更好才对。退化问题说明了深度网络不能很简单地被很好地优化。作者通过实验:通过浅层网络等同映射构造深层模型,结果深层模型并没有比浅层网络有等同或更低的错误率,推断退化问题可能是因为深层的网络并不是那么好训练,也就是求解器很难去利用多层网络拟合同等函数。

内容来源于:https://arxiv.org/abs/1512.03385

为了解决深层网络中的退化问题,可以人为地让神经网络某些层跳过下一层神经元的连接,隔层相连,弱化每层之间的强联系。这种神经网络被称为 残差网络(ResNets) 

二、残差网络的原理

残差网络的核心思想是通过引入“残差块”(residual block),使网络能够学习恒等映射(identity mapping),从而解决深度神经网络中的梯度消失问题。在传统的卷积神经网络中,每层的输出都是输入的非线性变换。而在残差网络中,残差块通过将输入直接加到非线性变换的输出中,使得网络可以学习恒等映射。

  • 输入 x 经过两个卷积层,得到 F(x)
  • F(x) 与输入 x 相加,即 x + F(x)
  • 最后的输出是 x + F(x),这个输出被传递到下一个残差块。

跳跃连接允许梯度更轻松地传播,因为网络可以学习将激活值传递到后续层。如果 F(x) 等于零,那么网络就可以学会将输入直接传递到输出,这不会对性能造成负面影响。

三、残差网络的设计

残差网络的设计非常简单,但却非常有效。每个残差块包含两个卷积层,这两个卷积层之间有一个跳跃连接(skip connection),使得输入可以直接跳过这两个卷积层,与输出相加。这个跳跃连接就是实现恒等映射的关键。

在实际应用中,ResNet有多个不同的版本,包括ResNet-18、ResNet-34、ResNet-50、ResNet-101和ResNet-152等。这些不同的版本主要区别在于网络的深度和复杂度。

四、残差网络的应用

由于ResNet在解决深度神经网络训练问题上的卓越表现,它已经被广泛应用于各种计算机视觉任务,包括图像分类、目标检测、语义分割等。同时,ResNet的思想也被扩展到了其他领域,如语音识别、自然语言处理等。

五、改进与讨论

虽然ResNet已经在很多任务中取得了显著的成果,但仍然有很多改进的空间。例如,可以进一步优化残差块的设计,提高网络的性能;或者将ResNet与其他技术相结合,创造出更强大的模型。

总之,ResNet是深度学习领域的一个重要突破,它为我们提供了一种有效的解决深度神经网络训练问题的方法。通过引入残差块,ResNet不仅提高了网络的性能,还为深度学习的发展开辟了新的道路。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值