针对特定任务对Ultralytics YOLO 等机器学习模型进行微调。在此了解方法、应用和最佳实践!
微调是一种战略性 机器学习(ML)技术,用于 针对特定任务或数据集对预先训练好的模型进行专业化处理。与 微调是一种战略性机器学习(ML)技术,用于针对特定任务或数据集对预先训练好的模型进行专门化,而不是从头开始训练,因为后者需要大量的标注数据和计算能力。 模型的现有知识,该模型已经从大量通用数据集中学习了模式。这一过程是迁移学习的 迁移学习的实际应用,使 开发人员可以在利基问题上实现高性能,例如检测罕见的制造缺陷或对医疗图像进行分类。 医疗图像分类等利基问题上实现高性能,同时大幅减少资源。
这一过程从基础模型开始,例如 视觉模型 ImageNet或语言模型 互联网语料库训练的语言模型。这些模型对图像中的边缘、纹理和形状等基本特征,或文本中的语法和语义都有很强的理解能力。 或文本中的语法和语义。在微调过程中,模型会接触到一个新的、较小的 与目标应用相关的自定义数据集。
训练过程包括稍微调整 模型权重,以适应新数据的细微差别。 新数据的细微差别。通常情况下,这需要使用较低的 学习率,以保留在初始预训练阶段 在初始预训练阶段学习到的有价值的特征,同时仍允许模型进行调整。在许多 计算机视觉 (CV)工作流程中,工程师可能会 在许多计算机视觉 (CVdetect 工作流程中,工程师可能会冻结骨干网的早期层,这些层detect 基本的 而只对较深的层和负责做出最终结果的检测头进行微调。 检测头进行微调。 预测。
采用最先进的模型,如 Ultralytics YOLO11模型 这样的先进模型该库可自动处理加载预训练权重和配置训练循环等复杂问题。 权重和配置训练循环等复杂问题。
下面的示例演示了如何加载预训练的YOLO11 模型,并在样本数据集上对其进行微调。
from ultralytics import YOLO
# Load a pre-trained YOLO11 model (uses COCO weights by default)
model = YOLO("yolo11n.pt")
# Fine-tune the model on a specific dataset configuration
# 'epochs' sets the training duration, and 'imgsz' defines input resolution
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)
微调功能弥补了通用人工智能能力与特定行业需求之间的差距。
区分微调和其他适应方法对于选择正确的方法至关重要:
为了实现微调,开发人员依赖于强大的框架,如 PyTorch和 TensorFlow等强大的框架,它们为 梯度下降和反向传播的必要基础架构。现代 例如,Ultralytics 生态系统可实现无缝的 模型训练和验证。在准备数据进行 微调时,确保高质量的 数据注释对于防止 数据集偏差,因为这会影响模型在实际场景中的性能。 在真实世界中的表现。

