术语表

残差网络(ResNet)

了解 ResNets 如何通过解决梯度消失问题,为图像分析、NLP 等实现超深度网络,从而彻底改变深度学习。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

残差网络(Residual Networks)通常称为 ResNet,是何开明Microsoft 研究院的同事开发的一种突破性卷积神经网络(CNN)架构。ResNet 在他们 2015 年的论文《图像识别的深度残差学习》中提出,ResNet 解决了深度学习(DL)中的一个主要挑战:退化问题。这个问题发生在为深度网络添加更多层时,会导致更高的训练误差,这与更深的模型应该表现更好的预期背道而驰。ResNet 的创新使深度网络的训练取得了成功,大大超过了以往的可行性,极大地推动了各种计算机视觉 (CV)任务的发展。

ResNets 如何工作:跳过连接

ResNet 的核心理念是引入 "跳过连接 "或 "快捷连接"。在传统的深度网络中,每一层依次馈入下一层。ResNet 对此进行了修改,允许将一个层块的输入添加到该层块的输出中。这就形成了一个 "残差块",各层在此学习残差映射(输入与期望输出之间的差值),而不是直接学习整个底层映射。如果最优函数更接近于身份映射(即输出应与输入相同),那么网络学习使残差为零(通过驱动堆叠层的权重趋于零)比通过非线性层学习身份映射本身要容易得多。

反向传播过程中,这些跳转连接可促进梯度流动,缓解经常困扰深度网络的梯度消失问题。这样就能构建并有效训练具有数百甚至数千层的网络,在ImageNet 等具有挑战性的基准数据集上实现显著的精度提升。

关键概念

  • 残差块:ResNet 的基本构建单元,由几个卷积层和一个跳转连接组成,用于将区块的输入添加到输出中。
  • 跳过连接(快捷方式):绕过一个或多个图层的直接连接,使梯度流和特性映射学习更加容易。
  • 身份映射:当一个层或块将其输入原封不动地通过时。如果需要,跳过连接可使剩余区块更容易近似地进行身份映射。
  • 退化问题:较深的网络比较浅的网络性能更差(训练和测试误差更大),ResNet 的残差学习可解决这一问题。

计算机视觉的相关性

ResNet 架构很快成为图像分类之外的许多计算机视觉任务的标准骨干,包括

它能够从图像中提取强大的特征,因此是一种用途广泛、被广泛采用的架构。

实际应用

  1. 医学图像分析:ResNet 广泛用于分析医学扫描(X 光、CT、核磁共振成像),以检测肿瘤或糖尿病视网膜病变等异常情况。ResNet 所具有的深度允许模型学习表明疾病的复杂模式,从而帮助放射科医生进行诊断。您可以探索人工智能在放射学中的相关应用,了解医学图像分析领域的更多信息。美国国立卫生研究院(NIH)的 Bridge2AI 计划等项目通常都会利用这类先进的模型。
  2. 自动驾驶: 自动驾驶汽车中的感知系统通常依靠基于 ResNet 的架构来实时检测和识别行人、车辆、交通信号灯和路标。深度 ResNet 模型的鲁棒性和准确性对于复杂驾驶场景中的安全至关重要(汽车解决方案中的人工智能)。Waymo等公司详细说明了强大感知系统的重要性。

与其他架构的比较

  • VGGNet虽然 VGGNet 利用简单的 3x3 卷积展示了深度的优势,但由于梯度消失,它在非常深度网络的收敛性方面遇到了困难。ResNet 直接解决了这一局限性(Vision AI History 博客VGG 论文)。
  • 密集网DenseNet 以前馈方式将每一层与其他每一层连接起来,促进特征重用。这与 ResNet 的加跳连接不同。两者都旨在改善信息流,但使用的机制不同(DenseNet 论文)。
  • 视觉转换器(ViT): ViT等较新的架构使用注意力机制,与 ResNet 的卷积方法不同,在许多基准测试中表现出具有竞争力或更优越的性能,尽管 ResNet 仍然具有影响力并被广泛使用。

工具和实施

主要的深度学习框架(如 PyTorch(PyTorch 官方网站)和 TensorFlow(TensorFlow 官方网站)。通常在ImageNet 上训练的预训练模型可通过torchvision 等库访问,从而实现有效的迁移学习Ultralytics HUB等平台允许用户利用各种架构(包括基于 ResNet 的架构)来训练自定义模型并进行部署Ultralytics HUB 文档)。您可以在斯坦福 CS231nDeepLearning.AI 提供的课程中找到有关 CNN 的更多教育资源。

阅读全部