什么是残差学习(Residual Learning)

AI解读 3小时前 硕雀
2 0

残差学习Residual Learning‍是一种深度学习中的核心训练技术,最初由 Kaiming He 等人于 2015 年提出。它主要用于解决深层神经网络训练中的“退化问题”(Degradation Problem)和梯度消失问题,使得我们可以训练出非常深的网络(例如上千层),从而显著提升模型的性能。

核心概念

传统神经网络的设计是让每一层都去学习从输入到输出的完整映射。然而,当网络变得非常深时,优化难度会急剧增加,甚至比浅层网络的误差还要高。

残差学习的核心思想是‍“让网络学习输入和输出之间的差异”‍。具体做法是:不直接让网络学习输出,而是让网络学习“输入与输出之间的差(Residual)”。这通常通过在网络中添加跳跃连接Skip Connections)‍来实现。

为什么需要残差学习?

想象一下,你要学习骑自行车。如果你直接从头到尾学,可能很难。但是如果你已经会骑自行车(已经是一个很好的初始状态),现在只需要学习怎么“跳得更远”或“转弯更稳”。残差学习的逻辑也是类似的:它假设当前层的输入已经是一个很好的“初始值”,网络只需要学习如何在这个基础上进行微调或改进。

关键机制:跳跃连接

残差学习的实现离不开跳跃连接(Shortcut Connection)‍。这种连接会“跳过”中间的层,将输入直接传递到后面的层。

直观解释

在残差学习中,每一层都不再是一个“黑盒子”,而是被拆分成了两个部分:

  1. 主体学习(Residual Function)‍:这部分负责学习输入和输出之间的差值。
  2. 快捷通道(Shortcut Path)‍:这部分直接将输入传递到后面。

研究发现,这种结构有两个非常重要的好处:

  • 优化更容易:因为网络只需要学习“微小的变化”而不是从零开始的完整映射。
  • 梯度传播更顺畅:在反向传播时,梯度可以通过快捷通道直接传回去,避免了梯度消失的问题。

经典实现:ResNet

残差学习的最著名实现是 ResNet(Residual Network)‍,它在 2015 年的 ImageNet 挑战赛中一举夺冠。

ResNet 的核心结构是“残差块(Residual Block)”‍。每个残差块内部包含了几个卷积层,但它们的输入不仅经过了这些卷积层,还直接连接(相加)到它们的输出。

直观解释

  • 没有残差块:网络只能一步一步地学习,像是爬楼梯,一步一个台阶,速度慢且容易卡住。
  • 有残差块:网络可以选择“直接上楼”(使用快捷通道),或者“走楼梯”(使用卷积层学习),或者“两者结合”。这让网络的学习路径更加灵活。

应用场景

残差学习不仅在图像分类中表现出色(如 ResNet、VGG、DenseNet),还广泛应用于:

参考链接

  1. ResNet 论文(Original Paper)‍:
    • 标题:Deep Residual Learning for Image Recognition
    • 作者:Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun
    • 链接:(https://arxiv.org/abs/1512.03385 )
  2. 技术科普文章
  3. 简明教程
  4. 学术综述

总结:残差学习通过让网络学习“变化”而不是“全貌”,让深层网络的训练变得像“爬楼梯”一样轻松。它的引入是深度学习史上的一次重大突破。

来源:www.aiug.cn
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!