ResNet,全称 Residual Network(残差网络),是一种卷积神经网络 (CNN) 架构,由微软的研究人员于 2015 年提出。其核心创新在于使用了残差块,其中包含“跳跃连接”(skip connections),允许梯度在训练期间绕过某些层。这种设计解决了梯度消失问题,这是深度网络中常见的难题,会导致梯度变得太小,无法有效更新靠前的层。ResNet 证明了非常深的(例如 152 层)网络可以得到有效训练,在图像分类等任务上优于较浅的模型。例如,ResNet-152 在 ImageNet 数据集上取得了 3.57% 的 Top-5 错误率,在当时创造了新的基准。
ResNet 背后的核心思想是残差块。每个残差块包含几个卷积层和一个快捷连接(shortcut connection),将块的输入添加到其输出中。在数学上,如果块的变换表示为 ( F(x) ),则输出为 ( F(x) + x )。这种结构使得网络能够学习残差函数(与输入的差异),而不是完整的变换,从而使优化更容易。例如,如果某层的理想映射接近恒等函数(identity function),残差 ( F(x) ) 可以快速收敛到零,而不是强迫层从头开始学习恒等映射。ResNet 架构如 ResNet-34、ResNet-50 和 ResNet-101 在深度和复杂度上有所不同;更深的版本使用“瓶颈层”(bottleneck layers,即 1x1 卷积)来降低计算成本,同时保持准确性。
ResNet 的设计已成为计算机视觉领域的基础。它广泛应用于图像分类、目标检测(例如 Faster R-CNN)和图像分割等任务中。PyTorch 和 TensorFlow 等框架包含预构建的 ResNet 实现,使开发者能够轻松将其集成到项目中。一个实际的例子是使用预训练的 ResNet-50 模型进行迁移学习:开发者可以移除最后的分类层,添加自定义层,并在较小的数据集(例如医学影像)上对模型进行微调。除了直接应用之外,ResNet 通过证明极深的网络可以可靠地训练,影响了后来的架构,如 DenseNet 和 EfficientNet。其跳跃连接的概念也被应用于非视觉领域,例如自然语言处理(NLP)模型,显示了它对神经网络设计的广泛影响。