术语表

微调

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

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

微调是机器学习(ML)中的一种流行技术,它是指将已在大型数据集上训练过的模型(预训练模型),在与特定任务相关的较小的特定数据集上进一步训练。这种方法利用了模型在初始训练中学习到的一般知识,使其在更专业的领域中表现出色,而无需从头开始训练模型,从而节省了大量时间和计算资源。这是计算机视觉(CV)自然语言处理(NLP)等领域的常见做法。

如何进行微调

这一过程通常从选择一个预先训练好的模型开始,例如 Ultralytics YOLO模型。这些模型已经学会从初始训练数据中识别一般特征。在微调过程中,模型权重会根据新的、较小的数据集进行调整。通常情况下,网络的初始层(学习一般特征)会被 "冻结"(其权重不会更新),而后面更具体的任务层会被重新训练。这种重新训练通常涉及使用比原始训练中更低的学习率,对权重进行更小的调整,从而在适应新任务细微差别的同时,保留之前学习到的知识。

微调与相关概念

必须将微调与类似的 ML 概念区分开来:

  • 迁移学习微调是迁移学习大类中的一种具体方法。迁移学习包括将为一项任务开发的模型重新用作第二项任务模型起点的任何技术。微调会调整预训练模型的权重,而其他迁移学习方法可能只将预训练模型用作固定的特征提取器
  • 从零开始训练:这包括随机初始化模型的权重,并仅在目标数据集上进行训练。与微调相比,这需要更多的数据和计算能力,而且由于缺乏预训练模型的通用知识库,在较小的数据集上往往表现不佳。您可以在我们的文档中找到有关模型训练技巧的指导。
  • 超参数调整这一过程的重点是在训练过程开始之前找到最佳配置设置(超参数,如学习率、批量大小、优化器选择)。反之,微调则是训练过程本身的一部分,根据新数据调整模型的内部参数(权重)。Ultralytics Tuner等工具可以自动进行超参数优化。

为什么要进行微调?

微调有几个优点:

  • 缩短培训时间:利用现有知识,减少训练时间
  • 更低的数据要求:即使是较小的、特定任务的数据集也能有效使用,因为模型不是从头开始学习一切。
  • 提高性能:与在有限数据上从头开始训练的模型相比,它在专门任务上往往能达到更高的准确率
  • 访问最先进的架构:允许用户使用强大、复杂的模型,如Transformers或高级CNN,而无需初始预培训所需的大量资源。

实际应用

微调技术被广泛应用于各个领域:

  1. 专业物体检测: Ultralytics YOLO 模型经过预先训练,可用于一般物体检测,并可使用特定工业部件的定制数据集进行微调,从而为制造业中的人工智能创建高性能缺陷检测系统。同样,也可以对其进行微调,用于医学图像分析,以检测脑肿瘤等特定病症。Ultralytics HUB提供了一个管理数据集和简化定制训练过程的平台。
  2. 自定义语言任务:GPT-3 这样的大型语言模型,由OpenAI在各种互联网文本上进行预训练,可以在法律文件数据集上进行微调,以提高其在法律文本摘要方面的性能,或者在客户服务记录上进行微调,以获得专门的聊天机器人回复。另一个例子是针对产品评论或社交媒体帖子中的特定情感分析任务对BERT模型进行微调,详情见Google AI 博客等资源。

微调Ultralytics YOLO 模型

Ultralytics 为微调YOLO 模型提供了强大的支持。用户可以轻松加载预先训练好的权重(例如,在 ImageNet 或 COCO 上训练好的模型),并在自己的数据集上继续训练,以完成检测、分割或分类等任务。Ultralytics 文档提供了有关训练过程的详细指导,使用户能够调整最先进的模型,如 YOLO11等最先进的模型,以应对其特定的计算机视觉挑战。这种适应性是在从农业人工智能机器人等各种应用中实现最佳性能的关键。有关迁移学习技术的更多信息,请访问Coursera 等教育平台。

阅读全部