深圳Yolo 视觉
深圳
立即加入
词汇表

微调 (Fine-tuning)

针对特定任务对Ultralytics YOLO 等机器学习模型进行微调。在此了解方法、应用和最佳实践!

微调是一种战略性 机器学习(ML)技术,用于 针对特定任务或数据集对预先训练好的模型进行专业化处理。与 微调是一种战略性机器学习(ML)技术,用于针对特定任务或数据集对预先训练好的模型进行专门化,而不是从头开始训练,因为后者需要大量的标注数据和计算能力。 模型的现有知识,该模型已经从大量通用数据集中学习了模式。这一过程是迁移学习的 迁移学习的实际应用,使 开发人员可以在利基问题上实现高性能,例如检测罕见的制造缺陷或对医疗图像进行分类。 医疗图像分类等利基问题上实现高性能,同时大幅减少资源。

微调如何工作

这一过程从基础模型开始,例如 视觉模型 ImageNet或语言模型 互联网语料库训练的语言模型。这些模型对图像中的边缘、纹理和形状等基本特征,或文本中的语法和语义都有很强的理解能力。 或文本中的语法和语义。在微调过程中,模型会接触到一个新的、较小的 与目标应用相关的自定义数据集

训练过程包括稍微调整 模型权重,以适应新数据的细微差别。 新数据的细微差别。通常情况下,这需要使用较低的 学习率,以保留在初始预训练阶段 在初始预训练阶段学习到的有价值的特征,同时仍允许模型进行调整。在许多 计算机视觉 (CV)工作流程中,工程师可能会 在许多计算机视觉 (CVdetect 工作流程中,工程师可能会冻结骨干网的早期层,这些层detect 基本的 而只对较深的层和负责做出最终结果的检测头进行微调。 检测头进行微调。 预测。

使用Ultralytics YOLO进行微调

采用最先进的模型,如 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)

实际应用

微调功能弥补了通用人工智能能力与特定行业需求之间的差距。

  • 医疗保健领域的人工智能通用 视觉模型可以识别汽车或猫等日常物体。然而,通过在有注释的医疗图像分析数据集上对这些模型进行微调 医疗图像分析数据集(如 X射线或核磁共振扫描,医生就能创建专门的工具,高精度地detect 肺炎或脑瘤等特定病症。 肿瘤等特定病症。
  • 工业制造 在生产线上,标准模型可能无法识别专有部件或细微缺陷。通过根据特定装配线的图像对模型进行微调 模型,制造商就能实现自动 质量控制 发现微小裂缝或错位等缺陷,从而显著提高效率。

微调 vs. 相关概念

区分微调和其他适应方法对于选择正确的方法至关重要:

  • 特征提取在这种 中,预训练模型被视为固定的特征提取器。权重被完全冻结,只有一个 简单的分类器(如 线性回归模型)。 输出。微调则通过更新模型的内部参数更进一步。
  • 参数效率微调(PEFT) 标准微调会更新所有或大部分模型参数,而 PEFT 方法,如 LoRA(Low-Rank Adaptation)等 PEFT 方法只更新一小部分参数。 小部分参数。这使得微调过程更快,内存消耗更少,尤其是对于大规模的 大型语言模型 (LLM)
  • 及时工程提示工程 包括制作特定的输入(提示)来指导冻结模型的输出,而不改变其内部权重或在新数据上对其进行训练 或在新数据上进行训练。

工具和框架

为了实现微调,开发人员依赖于强大的框架,如 PyTorchTensorFlow等强大的框架,它们为 梯度下降和反向传播的必要基础架构。现代 例如,Ultralytics 生态系统可实现无缝的 模型训练和验证。在准备数据进行 微调时,确保高质量的 数据注释对于防止 数据集偏差,因为这会影响模型在实际场景中的性能。 在真实世界中的表现。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入