【论文解读10】深度残差学习:ResNet解决网络退化问题
本文解读的是Kaiming He、Xiangyu Zhang、Shaoqing Ren和Jian Sun于2016年发表的里程碑论文《Deep Residual Learning for Image Recognition》,该论文提出的ResNet通过残差连接(Residual Connection)解决了深度网络的退化问题,将网络深度推到了前所未有的152层,在ImageNet上取得了3.57%的Top-5错误率,首次超越人类水平。ResNet不仅彻底改变了深度网络的设计范式,更为后续Transformer、生成模型等架构的残差连接奠定了理论基础。 “更深的网络应该至少不会比浅层网络更差。"——这是ResNet论文的要害所在。在ResNet之前,深度网络面临一个悖论:理论上更深的网络应该能够学习更复杂的特征,但实际中更深的网络在训练集上的错误率反而更高。这不是过拟合,而是优化困难——网络无法有效学习恒等映射。 ResNet通过残差连接解决了这一根本问题。残差块定义为 $y = F(x) + x$,其中 $F(x)$ 是残差函数,$x$ 是恒等映射。如果最优映射是恒等映射 $H(x) = x$,传统网络需要学习 $H(x) = x$,而残差网络只需学习 $F(x) = 0$,后者显然更容易。这种设计使得网络可以非常深,性能可以持续提升。 在当今大模型时代,残差连接已经成为深度网络的标准组件:Transformer的残差连接、生成模型的跳跃连接(U-Net、StyleGAN)、大模型的深度扩展(GPT-3、PaLM等模型都依赖残差连接训练深层网络)。理解ResNet,就是理解深度网络设计的核心思想。 本文将从问题根源、核心机制、解决方案、实践评估四个维度深度解读ResNet,包含完整的数学推导、梯度流动分析和实验评估,并在文末提出开放性问题与未来研究方向。 深度网络的退化问题 问题一:网络深度与性能的悖论 理论上,更深的网络应该能够学习更复杂的特征表示,性能应该更好。但实际中,随着网络加深,出现了两个严重问题: 梯度消失问题:在深层网络中,梯度在反向传播过程中指数级衰减。对于Sigmoid激活函数,$\sigma’(x) \leq 0.25$,经过 $L$ 层后,梯度最多衰减到 $0.25^L$。当 $L$ 很大时,早期层的梯度接近0,无法有效更新参数。 退化问题(Degradation Problem):这是ResNet论文发现的新问题。实验显示,56层网络的训练误差比20层网络更高。这不是过拟合(因为训练误差也更高),而是优化困难——网络无法有效学习。 数学分析:假设最优映射是 $H(x) = x$(恒等映射),传统网络需要学习 $H(x) = x$,这需要所有层的权重矩阵都是单位矩阵,这在深层网络中很难实现。 问题二:恒等映射的学习困难 恒等映射 $H(x) = x$ 是最简单的映射,但在深层网络中学习恒等映射却非常困难。 ...