术语表

迁移学习

释放迁移学习的威力,节省时间、提高人工智能性能,并使用预训练模型利用有限的数据处理新任务。

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

了解更多

迁移学习是一种机器学习(ML)技术,它将为一项任务开发的模型作为第二个相关任务模型的起点重新使用。迁移学习不需要从头开始建立模型,而是利用从源任务中学到的知识(特征、权重),从而大大减少目标任务所需的训练时间、数据要求和计算资源。当目标任务的标注数据有限时,这种方法尤其有益。

迁移学习如何发挥作用

这一过程通常从在大型通用数据集上预训练模型开始,例如用于图像任务的ImageNet或用于自然语言处理 (NLP) 的大型文本语料库。这种预训练允许模型(通常是深度学习(DL 模型,如卷积神经网络(CNN)变换器)学习图像中的边缘、纹理和模式等一般特征,或文本中的语法和语义。

对于新的目标任务,这个预先训练好的模型会进行调整。常见的策略包括

  1. 使用预训练模型作为特征提取器:冻结预训练模型的初始层(不更新权重),只在新数据集上训练最终分类器或特定任务层。
  2. 微调:这包括解冻部分或全部预训练层,并在新数据集上继续训练过程(反向传播),通常采用较低的学习率,以避免大幅改变所学特征。微调可使模型针对目标任务的具体细微差别专门化其一般知识。

迁移学习的益处

采用迁移学习有几个主要优势:

  • 减少数据需求:即使目标数据集较小,也能实现良好的性能。
  • 更快的开发:大大缩短模型训练时间
  • 提高性能:与从零开始的训练相比,通常能带来更高的准确性和更好的通用性,尤其是在复杂任务上。
  • 资源效率:节省计算成本GPU时间、能源)。

迁移学习与相关概念

  • 微调:如前所述,微调是迁移学习中使用的一种特定方法,即在新任务的训练过程中调整预先训练好的权重。迁移学习是一个更广泛的概念,即利用知识,也可能只是将预先训练好的模型用作固定的特征提取器,而不进行微调。
  • 零点学习(Zero-Shot Learning):迁移学习通常使用一些新的标注数据使模型适应新任务,而零点学习则不同,它的目的是依靠辅助信息或共享属性空间,在模型训练期间从未见过的类别上执行任务(如分类)。
  • 从零开始训练:这是一种传统方法,即随机初始化模型权重,并仅在目标数据集上进行训练,这需要更多的数据和时间。

实际应用

迁移学习被广泛应用于各个领域:

  1. 计算机视觉:像Ultralytics YOLO 这样在COCO 等大型数据集上预先训练过的模型,经常被调整用于专门的物体检测图像分割图像分类任务。例如,在日常物体上预先训练好的模型可以针对特定应用进行微调,如医学图像分析以检测异常(肿瘤检测),或用于农业人工智能以识别特定作物或害虫。您可以通过冻结层来学习如何使用YOLOv5 进行迁移学习。
  2. 自然语言处理 (NLP):BERTGPT这样的大型语言模型(LLM)是在海量文本数据集上预先训练好的。它们是强大的基础模型,可针对特定的 NLP 任务(如情感分析命名实体识别 (NER) 或构建专门的聊天机器人)进行微调。Hugging Face Transformers等库极大地促进了这一过程。

Ultralytics HUB等平台通过提供预先训练好的模型,简化了迁移学习的应用过程。YOLOv8YOLOv11),并提供在用户特定数据集上轻松进行自定义训练的工具,从而简化了迁移学习的应用过程。框架,如 PyTorchTensorFlow等框架也为迁移学习提供了广泛的支持和教程。如需深入了解,请浏览斯坦福 CS231n 概述等资源或"深度迁移学习调查 "等学术调查。

阅读全部