Backbone
探索 Backbones 在深度学习中的作用,探索 ResNet 和 ViT 等顶级架构,并了解它们在现实世界中的 AI 应用。
骨干网络是 深度学习 模型的核心组件,尤其是在 计算机视觉 (CV) 中。它充当主要的 特征提取 网络。它的主要工作是获取原始输入数据(例如图像),并将其转换为一组高级特征或 特征图,这些特征图可用于下游任务,例如 目标检测、图像分割 或 分类。您可以将骨干网络视为 神经网络 (NN) 的一部分,它学习“看到”和理解图像中的基本模式,如边缘、纹理、形状和对象。
Backbone 网络的工作原理
主干网络通常是一个深度 卷积神经网络 (CNN),它已经在像 ImageNet 这样的大规模图像分类数据集上进行了预训练。这种预训练过程是一种 迁移学习 的形式,它教会网络识别大量的通用视觉特征库。在为新任务构建模型时,开发人员通常使用这些预训练的主干网络,而不是从头开始。这种方法可以显著减少训练时间和所需的标记数据量,同时通常可以提高模型性能。主干网络提取的特征然后传递到网络的“颈部”和“头部”,它们执行进一步的处理并生成最终输出。主干网络的选择通常需要在准确率、模型大小和 推理延迟 之间进行权衡,这对于实现 实时性能 至关重要。
常见骨干网络架构
Backbone 的设计随着时间的推移而不断发展,每种新的架构都提供了效率和性能的改进。一些最具影响力的 backbone 架构包括:
- 残差网络(ResNet):ResNet 模型由微软研究院推出,使用 "跳过连接 "让网络学习残差函数。这一创新使得训练更深层次的网络成为可能,而不会出现梯度消失问题。
- EfficientNet: 由 Google AI 开发,该系列模型使用复合缩放方法来统一平衡网络深度、宽度和分辨率。这使得模型既高度准确又具有计算效率。
- 视觉转换器(ViT):ViT 将NLP中成功的Transformer架构应用于视觉领域,它将图像视为一连串斑块,并利用自我注意捕捉全局上下文,与 CNN 的局部感受野相比,提供了一种不同的方法。
- CSPNet(跨阶段局部网络): 这种架构在其原始论文中有所描述,它通过整合来自网络阶段的开始和结束的特征图来改进学习,从而增强梯度传播并减少计算瓶颈。它是许多Ultralytics YOLO模型中的关键组件。
主干网络与 Head 和 Neck
在一个典型的目标检测架构中,模型由三个主要部分组成:
- Backbone(主干网络): 它的作用是从输入图像中提取特征,创建各种尺度的特征图。
- Neck(颈部): 此组件位于 backbone(主干)和 head(头部)之间。它优化和聚合来自 backbone 的特征图,通常组合来自不同层的特征以构建更丰富的表示。一个常见的例子是特征金字塔网络 (FPN)。
- 探测头:这是网络的最后一部分,它从颈部获取细化特征并执行实际的检测任务。它可以预测图像中物体的边界框、类别标签和置信度分数。
因此,主干网络是构建检测模型其余部分的基础。像 YOLOv8 和 YOLO11 这样的模型集成了强大的主干网络,以确保高质量的特征提取,这对于它们在各种任务中实现最先进的性能至关重要。您可以探索不同的 YOLO 模型比较,以了解架构选择如何影响性能。
实际应用
Backbone是无数人工智能应用中的基本组成部分:
- 自动驾驶: 自动驾驶汽车系统在很大程度上依赖于强大的骨干网(如 ResNet 或 EfficientNet 变体)来处理来自摄像头和激光雷达传感器的输入。提取的特征能够对车辆、行人、交通信号灯和车道线进行检测和分类,这对安全导航和决策至关重要,Waymo 等公司开发的系统就是如此。
- 医学影像分析:在医疗人工智能解决方案中,骨干网用于分析 X 光、CT 或 MRI 等医学扫描。例如,像 DenseNet 这样的骨干网可以从胸部 X 光片中提取特征,帮助检测肺炎迹象,或从 CT 扫描中识别潜在肿瘤(《放射学:人工智能》中的相关研究)。这有助于放射科医生进行诊断和制定治疗计划。通过利用功能强大的骨干网,像YOLO11这样的 Ultralytics 模型可适用于肿瘤检测等任务。
通过使用 Ultralytics HUB 等平台,您可以简化为自己的项目使用强大骨干网络的过程,该平台简化了 数据集 管理和 训练自定义模型。