ResNet (2015)(卷积神经网络) - 教程
ResNet 论文详解
1. 核心问题:深度网络的“退化”问题
在ResNet出现之前,主流的认知是:网络越深,表达能力越强,性能应该越好。但实践发现,当网络深度增加到一定程度时(例如超过20层),会遇到两个主要问题:
- 梯度消失/梯度爆炸:这个障碍通过归一化初始化 和 Batch Normalization等技术已经得到了很大程度的解决。
- 退化问题:这是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 为什么有效?
- 缓解梯度消失:梯度在反向传播时,除了像传统网络一样流过权重层,还可以通过捷径连接“无损”地传递回去。这相当于为梯度给予了一条“高速公路”,使得深层网络的梯度信号依然很强,训练变得更加容易。
- 简化学习目标:学习残差 F(x)F(x) 通常比学习完整的映射 H(x)H(x) 更容易。例如,如果最优的 H(x)H(x) 就是一个恒等映射,那么将残差 F(x)F(x) 学习为 0 比利用一堆非线性层来拟合恒等映射要容易得多。网络只需要在要求的时候微调残差即可。
- 隐式的模型集成:有理论分析表明,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. 影响与意义
- 突破了深度瓶颈:ResNet使得训练数百甚至上千层的网络成为现实(后续出现了ResNet-1000, ResNet-1202等),极大地推动了深度学习的发展。
- 成为通用主干网络:ResNet及其变体成为了计算机视觉几乎所有领域(分类、检测、分割、图像描述等)的标准主干网络,其设计思想被广泛借鉴。
- 启发了后续研究:其“捷径连接”的思想催生了许多新的网络结构,如DenseNet、Highway Network等,并直接影响了如Transformer中的残差连接,成为现代深度学习架构的标配。
- 简单而有效它能迅速普及的重要原因。就是:ResNet结构非常简洁,易于达成和扩展,这也
总结
ResNet的核心贡献在于通过引入残差学习框架和捷径连接,巧妙地解决了极深神经网络的退化问题。它不是一个艰难的理论突破,而是一个极其优雅和有效的工程解决方案,其“大道至简”的思想深刻地影响了整个领域。直到今天,基于ResNet的架构仍然是许多视觉任务的强大基线。

浙公网安备 33010602011771号