ResNet (2015)(卷积神经网络)

ResNet 论文详解

1. 核心问题:深度网络的"退化"问题

在ResNet出现之前,主流的认知是:网络越深,表达能力越强,性能应该越好。但实践发现,当网络深度增加到一定程度时(例如超过20层),会遇到两个主要问题:

  1. 梯度消失/梯度爆炸 :这个问题通过归一化初始化Batch Normalization 等技术已经得到了很大程度的解决。
  2. 退化问题 :这是ResNet要解决的核心问题。即随着网络深度的增加,准确率会饱和然后迅速下降

注意: 这种下降不是由过拟合引起的,因为即使在训练集上,深层的模型误差也比浅层模型更高。如下图所示:

  • 现象:一个56层的深层网络,其训练误差和测试误差都比一个20层的浅层网络要高。
  • 核心矛盾 :一个极深的网络,至少不应该比它浅层的子网络表现更差。因为我们可以将深层网络的后面的层设置为恒等映射,这样它的性能就应该至少和浅层网络一样。但实验表明,现有的优化器很难学习到这种恒等映射。
2. 解决方案:残差学习框架

ResNet的作者提出了一个非常巧妙的思路:既然直接学习一个恒等映射很困难,那我们就不直接学习底层映射,而是学习它与输入之间的残差。

2.1 残差块

这是ResNet的核心构建模块。我们假设我们希望底层网络学习的潜在映射为 H(x)H (x)。

  • 传统网络 :直接学习 H(x)H (x)。
  • 残差网络 :定义残差函数 F(x)=H(x)−xF (x )=H (x )−x 。那么,原本需要学习的映射就变成了 H(x)=F(x)+xH (x )=F (x )+x

上图的解读:

  • 左侧:一个传统的、直接映射的网络结构。
  • 右侧 :一个残差块。其核心是那条从输入 xx 直接绕到输出端的 "捷径连接"
  • 这个捷径连接执行了一个简单的 "恒等映射" ,并将其输出与通过权重层学习到的 "残差" F(x)F (x) 相加。
  • 最终整个块的输出是 y=F(x,{Wi})+xy =F (x ,{W**i })+x
  • 这里的加法操作要求 F(x)F (x ) 的维度必须与 xx 的维度相同。如果维度不同(例如下采样时),可以通过一个线性投影 WsW**s 来匹配维度,即 y=F(x,{Wi})+Wsxy =F (x ,{W**i })+Wsx

2.2 为什么有效?

  1. 缓解梯度消失:梯度在反向传播时,除了像传统网络一样流过权重层,还可以通过捷径连接"无损"地传递回去。这相当于为梯度提供了一条"高速公路",使得深层网络的梯度信号依然很强,训练变得更加容易。
  2. 简化学习目标 :学习残差 F(x)F (x ) 通常比学习完整的映射 H(x)H (x ) 更容易。例如,如果最优的 H(x)H (x ) 就是一个恒等映射,那么将残差 F(x)F (x) 学习为 0 比通过一堆非线性层来拟合恒等映射要容易得多。网络只需要在需要的时候微调残差即可。
  3. 隐式的模型集成:有理论分析表明,ResNet的行为类似于许多较浅网络的集合,这提高了其稳定性和性能。
3. 网络架构

论文中提出了几种不同深度的ResNet变体,最著名的是ResNet-34和ResNet-50/101/152。

3.1 构建规则

  • 网络主体由一系列"阶段"组成,每个阶段包含多个残差块。
  • 在每个阶段的开始,通过使用步长为2的卷积来进行下采样,特征图尺寸减半,通道数翻倍。
  • 在一个阶段内部,所有残差块的特征图尺寸和通道数保持不变。

3.2 两种主要的残差块

  • BasicBlock(用于较浅的网络如ResNet-18/34)
    • 由两个3x3卷积堆叠而成。
    • 结构: Conv3x3 -> BN -> ReLU -> Conv3x3 -> BN
    • 最后再加上捷径连接和ReLU激活。
  • Bottleneck(用于更深的网络如ResNet-50/101/152)
    • 为了解决深层网络巨大的计算量,使用了"瓶颈"设计。
    • 结构: 1x1卷积(降维) -> 3x3卷积 -> 1x1卷积(升维)
    • 这种设计先用1x1卷积将256维通道压缩到64维,然后进行3x3卷积,最后再用1x1卷积恢复回256维。这样在保持模型表达能力的同时,大大减少了3x3卷积的计算量。
4. 实验与结果

论文在ImageNet 2012分类数据集和COCO目标检测数据集上进行了广泛的实验。

  • ImageNet分类
    • ResNet-34相比之前的VGG-19和GoogLeNet,错误率显著降低。
    • ResNet-152取得了3.57%的top-5错误率,赢得了ILSVRC 2015分类任务的冠军,并且比第二名有巨大优势。
  • COCO目标检测
    • 将ResNet作为Faster R-CNN的主干网络,在COCO检测数据集上实现了28%的相对提升,证明了其强大的特征提取能力,可以很好地迁移到其他任务。
5. 影响与意义
  1. 突破了深度瓶颈:ResNet使得训练数百甚至上千层的网络成为现实(后续出现了ResNet-1000, ResNet-1202等),极大地推动了深度学习的发展。
  2. 成为通用主干网络 :ResNet及其变体成为了计算机视觉几乎所有领域(分类、检测、分割、图像描述等)的标准主干网络,其设计思想被广泛借鉴。
  3. 启发了后续研究:其"捷径连接"的思想催生了许多新的网络结构,如DenseNet、Highway Network等,并直接影响了如Transformer中的残差连接,成为现代深度学习架构的标配。
  4. 简单而有效:ResNet结构非常简洁,易于实现和扩展,这也是它能迅速普及的重要原因。

总结

ResNet的核心贡献在于通过引入残差学习框架捷径连接 ,巧妙地解决了极深神经网络的退化问题。它不是一个复杂的理论突破,而是一个极其优雅和有效的工程解决方案,其"大道至简"的思想深刻地影响了整个领域。直到今天,基于ResNet的架构仍然是许多视觉任务的强大基线。

相关推荐
aircrushin41 分钟前
TRAE SOLO 中国版,正式发布!AI 编程的 "Solo" 时代来了?
前端·人工智能
Java中文社群1 小时前
保姆级教程:3分钟带你轻松搭建N8N自动化平台!(内附视频)
人工智能·工作流引擎
是Yu欸1 小时前
DevUI MateChat 技术演进:UI 与逻辑解耦的声明式 AI 交互架构
前端·人工智能·ui·ai·前端框架·devui·metachat
我不是QI1 小时前
周志华《机器学习---西瓜书》 一
人工智能·python·机器学习·ai
H***99761 小时前
月之暗面公开强化学习训练加速方法:训练速度暴涨97%,长尾延迟狂降93%
人工智能·深度学习·机器学习
二川bro2 小时前
Python在AI领域应用全景:2025趋势与案例
开发语言·人工智能·python
AI-智能2 小时前
RAG 系统架构设计模式介绍
人工智能·langchain·llm·agent·知识库·rag·大模型应用
长桥夜波2 小时前
机器学习日报20
人工智能·机器学习
字节跳动视频云技术团队2 小时前
火山引擎多媒体实验室AIGC视频画质理解大模型VQ-Insight入选AAAI 2025 Oral
人工智能