术语表

迁移学习

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

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

了解更多

迁移学习是一种机器学习(ML)技术,它将为特定任务开发的模型重新用作第二个相关任务模型的起点。迁移学习需要大量的数据和计算资源,而不是从头开始建立模型,它利用从源任务中学到的知识(特征、模式和权重)来改进目标任务的学习。当目标任务的标注数据有限时,这种方法尤其有用,它能大大加快训练过程,与只在目标数据集上进行训练相比,往往能取得更好的成绩。

迁移学习如何发挥作用

迁移学习背后的核心理念是,在大型通用数据集(如用于图像任务的ImageNet或用于自然语言处理 (NLP) 的海量文本语料库)上训练的模型,可以学习到对许多其他相关任务有用的通用特征。例如,在计算机视觉(CV)领域,卷积神经网络(CNN)的初始层可以学习检测边缘、纹理和简单形状,这些都是适用于各种图像识别问题的基本视觉元素。

在应用迁移学习时,通常会从预先训练好的模型开始。根据源任务和目标任务之间的相似性以及目标数据集的大小,您可以

  1. 将预训练模型用作特征提取器:冻结初始层(骨干层)的权重,只在新数据集上训练最终分类层或检测层。这在目标数据集较小时很常见。一个例子就是通过冻结层来使用YOLOv5
  2. 微调预训练模型:解冻部分或全部预训练层,并继续在新数据集上对其进行训练,通常采用较低的学习率。这样,模型就能根据目标任务的细微差别更有针对性地调整所学特征。当目标数据集较大时,这是一种常见的策略。微调通常被认为是迁移学习的一种特殊类型。

迁移学习与相关概念

  • 微调微调与预训练密切相关,在某些情况下也经常交替使用,但微调特指在新任务中对预训练模型的权重进行解冻和进一步训练的过程。这是迁移学习这一更广泛策略中常用的方法
  • 从零开始训练:这包括随机初始化模型权重,并仅在目标数据集上训练整个模型。这需要大量的数据和计算能力,而迁移学习的目的就在于减少这些数据和计算能力。
  • 零点学习(Zero-Shot Learning)和少量学习(Few-Shot Learning):这些技术旨在使模型能够在只有极少或没有目标类示例的情况下执行任务,通常以比标准迁移学习或微调更复杂的方式利用预训练期间学到的知识。CLIP等模型就是在这种情况下使用的范例。

实际应用

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

  • 计算机视觉
  • 自然语言处理(NLP):
    • 情感分析微调BERTGPT 等大型语言模型,这些模型已在大量文本数据上进行了预训练,可对特定类型的文本(如产品评论、社交媒体帖子)进行情感分类。Hugging Face 转换器提供了许多这样的预训练模型。
    • 命名实体识别(NER)调整预先训练的语言模型,以识别特定领域文本(如法律文件、医疗记录)中的特定实体(如名称、地点、组织)。
    • 聊天机器人以预先训练好的语言模型为基础,构建能够理解和响应特定领域用户询问的对话代理。

工具和框架

Ultralytics HUB等平台通过提供预训练模型(如 Ultralytics YOLOv8YOLO11等)和工具,在用户特定的数据集上轻松进行自定义训练,从而简化了迁移学习的应用过程。框架,如 PyTorchTensorFlow等框架也为迁移学习工作流的实施提供了广泛的支持和教程。要深入了解理论,斯坦福 CS231n 转移学习概述"深度转移学习调查 "等学术调查等资源都能提供有价值的见解。

阅读全部
OSZAR »