Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Residual Networks (ResNet)

残差网络 (ResNet) 通过跳跃连接将每个模块的输入加到其输出上,从而训练非常深的网络。涵盖模块、变体和代码。

残差网络(ResNet)是一种深层卷积神经网络(CNN),由残差块构成;每个残差块都通过快捷连接将块的输入与输出相加。因此,每个块只需学习对输入的修正,使包含 50 层、152 层甚至 1,000 多层的网络也能可靠地完成训练。Microsoft Research 的 Kaiming He、Xiangyu Zhang、Shaoqing Ren 和 Jian Sun 在 2015 年的论文《用于图像识别的深度残差学习》中提出了 ResNet;由残差网络组成的集成在 ILSVRC 2015 分类任务中获胜,在 ImageNet上取得了 3.57% 的 top-5 错误率。此后,残差连接已成为大多数深层架构的标准组成部分,包括 Transformer和实时目标检测器。

退化问题#

在 ResNet 出现之前,不断向普通卷积堆栈中添加层,最终会导致结果变差。ResNet 作者证明,56 层普通网络的训练误差高于 20 层网络,因此无法用过拟合来解释性能下降。理论上,只要将新增层设为恒等映射,深层网络就能达到浅层网络的表现,但梯度下降并未找到这一解法。作者将此称为退化问题。梯度消失问题此前已通过权重归一化初始化和批归一化基本解决,因此深层普通网络确实能够收敛,只是收敛到了更差的解。

残差块的工作原理#

残差块计算 y = F(x) + x,其中 x 是块的输入,F 是由少数几层构成的堆栈,通常包含两到三个带批归一化和 ReLU的卷积。如果该块的最佳映射接近恒等映射,这些层只需推动 F 趋近于零,这远比从头学习恒等映射容易。快捷连接还为梯度提供了一条穿过每个块向后传播的直接路径。恒等快捷连接无需增加参数,计算量也几乎不会增加。当块改变通道数或通过步长为 2 的卷积进行下采样时,x 的形状将不再与 F(x) 匹配,此时需要用 1×1 卷积将快捷连接投影到新的形状。

ResNet-18 和 ResNet-34 由这种基本的双卷积块堆叠而成。ResNet-50、ResNet-101 和 ResNet-152 则使用由三个卷积组成的瓶颈块:第一个 1×1 卷积减少通道数,3×3 卷积处理这些通道,第二个 1×1 卷积再恢复通道数,从而让深层模型的计算成本保持在可承受范围内。ResNet-50 约有 2,560 万个参数。原始论文还在 CIFAR-10上训练了一个 1,202 层网络,使训练误差低于 0.1%;但其 7.93% 的测试误差仍高于 110 层网络的 6.43%,作者认为差距源于在小型数据集上的过拟合。

ResNet 的变体#

  • 预激活 ResNet: 同一批作者在 2016 年的后续研究中,将批归一化和 ReLU 移至每个卷积之前,使快捷路径保持纯粹的恒等映射,并在 CIFAR-10 上训练了一个 1,001 层网络。
  • ResNeXt: 将每个瓶颈块拆分为许多并行的低宽度路径,这种路径数量称为基数,能够以相同的计算成本提高准确率。
  • 宽 ResNet: 使用数量更少、宽度更大的块,表明宽度可以替代一部分深度。
  • 现代化 ResNet: ConvNeXt(2022)通过更大的卷积核、层归一化和 GELU激活函数更新了 ResNet 设计,使其能够与视觉 Transformer 竞争。

使用预训练的 ResNet#

预训练的 ResNet 仍是常见的基准模型和骨干网络,也常用于迁移学习。torchvision ResNet 模型附带 ImageNet权重和对应的预处理,因此只需几行代码就能对图像分类:

import urllib.request

import torch
from torchvision.io import decode_image
from torchvision.models import ResNet50_Weights, resnet50

# Load ResNet-50 with ImageNet weights and its matching preprocessing
weights = ResNet50_Weights.DEFAULT
model = resnet50(weights=weights).eval()
preprocess = weights.transforms()

# Download and decode a sample image
data = urllib.request.urlopen("https://ultralytics.com/images/bus.jpg").read()
image = decode_image(torch.frombuffer(bytearray(data), dtype=torch.uint8))

# Classify the image and report the most likely ImageNet class
with torch.no_grad():
    probs = model(preprocess(image).unsqueeze(0)).softmax(dim=1)
score, index = probs.max(dim=1)
print(f"{weights.meta['categories'][index.item()]}: {score.item():.2f}")

它会输出 minibus: 0.25,这是照片中城市公交车对应的 ImageNet 1,000 个类别中最接近的类别。对于自定义任务,替换最后一个全连接层,并用新标签进行微调,即可复用残差阶段在 ImageNet 上学到的特征。

  • VGG 等普通网络: VGG 堆叠 3×3 卷积,不使用快捷连接,最多有 19 个权重层。ResNet-152 的深度是 VGG-19 的 8 倍,复杂度却更低。
  • Highway 网络: 与 ResNet 同期开发,通过学习得到的门来关闭快捷连接。ResNet 的恒等快捷连接永远不会关闭,也不会增加参数。
  • DenseNet: 将块中所有先前层的输出拼接起来,而不是添加一条快捷连接;这种方式能够复用特征,但会增加通道数。
  • U-Net: 它的跳跃连接将编码器特征图传递到解码器并在那里进行拼接,从而连接相距较远的阶段,而不是围绕单个块构建连接。
  • 视觉 Transformer(ViT): 用自注意力替代卷积,但仍在每个注意力子层和前馈子层周围保留残差连接,就像所有 Transformer 一样。

现代模型中的残差连接#

残差思想的生命力超越了 ResNet 这一特定架构。大型语言模型(LLM)的每一层都会将注意力和前馈输出加回持续更新的残差流中,大多数 CNN 检测器也会用残差块构建骨干网络。在 YOLO26中,只要输入和输出通道匹配,C3k2 块就由返回 x + F(x) 的瓶颈模块构成;Ultralytics 软件包还包含百度 RT-DETR 的多种配置,使用 ResNet-50 和 ResNet-101 作为骨干网络。ResNet 论文获得了 CVPR 2016 最佳论文奖,而 2025 年的一项《自然》分析将其评为 21 世纪被引用次数最多的论文。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来