了解模型权重在机器学习中的重要性、它们在预测中的作用,以及 Ultralytics YOLO 如何简化它们在 AI 任务中的使用。
模型权重是神经网络中在训练过程中调整的数值参数。这些值本质上代表了模型的学习知识。可以将它们视为一个非常复杂的方程式中的系数;通过调整这些系数,模型学习将输入数据(如图像)映射到所需的输出(如对象周围的边界框)。模型权重的质量直接决定了其在给定任务(如图像分类或对象检测)上的性能。
模型权重不是手动设置的,而是从数据中“学习”的。该过程首先将权重初始化为小的随机数。在训练期间,模型对训练数据进行预测,并且损失函数计算这些预测的错误程度。然后,此误差信号用于称为反向传播的过程中,以计算损失相对于每个权重的梯度。然后,优化算法(例如随机梯度下降 (SGD))沿梯度的相反方向调整权重,以最大限度地减少误差。这个循环会重复多次epochs,直到模型在单独的验证数据集上的性能停止提升,这表明它已经学习了数据中的模式。
从头开始训练最先进的模型需要大量的计算资源和海量的数据集。为了克服这个问题,计算机视觉社区广泛使用预训练权重。这涉及到使用一个已经在大型通用数据集(如COCO)上训练过的模型,例如Ultralytics YOLO模型。通过一个称为迁移学习的过程,这些权重可以作为一个新的、特定任务的绝佳起点。通过从预训练权重开始,您可以通过一个称为微调的过程,以更少的数据和更短的训练时间获得更高的准确率。
区分模型权重与机器学习中其他相关术语非常重要:
随着模型变得越来越复杂,管理它们的权重和产生这些权重的实验对于可重复性和协作至关重要。诸如 Weights & Biases (W&B) 之类的工具提供了一个专门用于 MLOps 的平台,允许团队跟踪超参数、指标、代码版本以及每个实验产生的模型权重。重要的是要注意,“Weights & Biases”平台不同于神经网络中作为参数的“权重”和“偏差”的概念;该平台有助于管理寻找最佳权重和偏差的过程。您可以在文档中了解有关将 Ultralytics 与 W&B 集成的更多信息。高效管理是使用 超参数调优 到使用 PyTorch 或 TensorFlow 等框架进行模型部署 等任务的关键。诸如 Ultralytics HUB 之类的平台也为管理整个模型生命周期提供了集成解决方案。