了解骨干网在深度学习中的作用,探索 ResNet 和 ViT 等顶级架构,并学习它们在现实世界中的人工智能应用。
在深度学习中,尤其是在计算机视觉(CV)领域,"骨干 "指的是神经网络(NN)模型中的初始、基础层集。其主要目的是特征提取:处理原始输入数据(如图像),并将其转换为紧凑、信息丰富的表示。这种表征通常称为特征图,可以捕捉输入数据中的基本模式、纹理和形状。可以把骨干网想象成人工智能的眼睛,在进行更高层次的推理之前进行初步解释。这种基础处理对于模型在后续任务中理解和解释视觉信息的整体能力至关重要。
典型的骨干网络由一系列层组成,通常包括卷积层、池化层(减少空间维度)和激活函数(引入非线性)。当输入数据通过这些层时,网络会逐步学习分层特征。早期的层可能会检测到边缘和角落等简单的元素,而更深的层则会将这些简单的特征结合起来,从而识别出更复杂的结构、物体的部分,并最终识别出整个物体。骨干网络生成的输出是一组高级特征图,这些特征图概括了原始输入的关键信息。这一过程有效地降低了数据的维度,同时保留了数据的语义,为许多成功的深度学习模型奠定了基础。
在为物体检测、实例分割或姿态估计等任务设计的复杂计算机视觉模型中,主干部分提供了基本的特征表示。其后的组件,通常称为 "颈部"(细化和聚合特征)和 "头部"(执行最终任务预测),建立在骨干提取的特征之上。例如,检测头使用这些细化的特征来预测检测到的物体周围的边界框及其相应的类别。骨干网与这些后期阶段不同;它的唯一重点是从输入数据中生成强大的、通常是通用的特征表示。常见的做法是使用在ImageNet等大型数据集上预先训练好的骨干,然后利用迁移学习针对特定的下游任务对其进行微调,从而大大加快训练过程。
几种成熟的神经网络架构因其在特征提取方面的有效性而经常被用作骨干网络:
骨干网的选择对模型的性能特征有很大影响,包括速度、计算成本(FLOPs)和精度,这在各种模型比较中都有突出表现。像 PyTorch和 TensorFlow等框架以及OpenCV 等库是实现和利用这些骨干的基本工具。Ultralytics HUB等平台进一步简化了使用不同骨干模型的过程。
重要的是,不要将骨干网与整个神经网络或其他特定组件混淆:
骨干网是无数人工智能应用的基础组件: