以下文章来源于微信公众号:CppTeam
链接:https://mp.weixin.qq.com/s/N5JGJUySi3GYwWEcJjJ7dQ
本文仅用于学术分享,如有侵权,请联系后台作删文处理
“当神经网络越来越深,性能反而下降?一个名为“残差连接”的巧妙设计,让深度神经网络突破了训练瓶颈,成为现代AI的基石之一。今天,我们就来聊聊这个简单却强大的思想。”
一、深度网络的困境:越深越差?
深度学习追求“深度”,理论上,层数越多,模型能学到的特征就越复杂、越抽象,效果应该更好。但现实却给了一个“反直觉”的答案:当网络深度超过某个点(比如20层),模型的性能(准确率)反而会下降!


这种现象主要有两大“拦路虎”:
梯度消失/爆炸 

:训练时,反向传播的梯度信号在穿过很多层时会变得极其微弱(消失)或巨大(爆炸),导致底层参数难以有效更新。
优化困难: 超深的网络结构使得损失函数的“地形”异常复杂,优化器难以找到好的路径到达最优解。
深度,似乎成了难以逾越的障碍。
二、残差网络(ResNet)的诞生, 二战转折点!(bushi
2015年,何恺明及其团队提出了残差网络(Residual Network, ResNet),一举解决了深度网络的训练难题。其核心创新在于引入了一个极其简单的结构:残差连接(Shortcut Connection / Skip Connection)。
核心思想: 不再要求网络层必须直接拟合复杂的最终输出H(x),而是让它们去拟合残差(Residual)F(x)。
什么是残差? 假设我们期望的最终输出是H(x),输入是x。那么,F(x) = H(x) - x就是我们需要学习的“增量”或“修改量”。
如何实现? 在传统的层叠结构基础上,增加一条从输入“跳跃”到输出的恒等映射(Identity Mapping)路径。输出变为:
Output = F(x, {W_i}) + x
F(x, {W_i}): 网络层(如几个卷积层)需要学习的残差映射。
+ x: 输入 x 通过“捷径”直接加到 F(x, {W_i}) 的输出上。
关键点(快看这里快看这里): 如果最优的 H(x) 就是 x 本身(即什么都不需要改变),那么让网络层学习 F(x) = 0 比学习 F(x) = x要容易得多!网络不必再费劲地学习恒等变换,而是专注于学习必要的“调整”。
三、残差连接为何有效?
1.解决梯度消失: 反向传播时,梯度可以通过“捷径”(+ x 那条路)几乎无损地直接传递回更浅的层。这为底层参数提供了强而有效的梯度信号,确保了整个网络的协同训练。
2.降低优化难度: 学习残差 F(x) 通常比学习完整的输出H(x)更容易、更平滑。恒等路径的存在使得网络在初始化时就能达到一个不错的基准性能(即 H(x) ≈ x)。
3.保护信息完整性: “捷径”确保了原始输入信息不会被深层网络处理过程完全破坏或丢失,深层网络只需在其基础上进行“精修”。
四、残差块:构建ResNet的基石
残差网络就是由一个个残差块(Residual Block)堆叠而成。一个基础的残差块结构如下图:
残差块通过 shortcut connection(捷径连接,图中 identity
对应的曲线),将输入 x 直接与网络层输出相加 。其中 weight layer 是权重层(如卷积层 ), relu 是激活函数, F(x) 是残差函数,最终输出为 F(x)+x 再经 relu 处理。
五、ResNet的意义与影响
1.突破深度限制: ResNet 成功训练了前所未有的超深度网络(如152层的ResNet-152)

(真的很厉害),并在ImageNet图像识别大赛中夺冠,错误率大幅降低。
2.成为基石架构: 残差连接的思想因其简单有效,迅速被广泛应用于计算机视觉(图像分类、目标检测、语义分割等)乃至自然语言处理等几乎所有深度学习领域。它是许多SOTA模型不可或缺的组件。
3.启发性设计: ResNet 证明了在构建复杂系统时,保留“原始信息”的快速通道(捷径)往往是提升性能和稳定性的关键。这是一种极具工程智慧的解决方案。
结语:
残差网络(ResNet)通过引入“捷径”连接的巧妙设计,解决了深度神经网络的训练难题,开启了深度学习的新篇章。它用相对简单的结构实现了巨大的性能飞跃,其核心思想——学习残差而非完整映射——已成为现代深度学习模型设计的重要范式。理解ResNet,是理解当今主流AI模型运作原理的一块重要拼图。
本文仅做学术分享,如有侵权,请联系删文。