Transfer Learning
探索迁移学习如何以更少的数据训练高精度 AI。了解如何利用 Ultralytics YOLO26 的预训练权重,加速计算机视觉项目。
迁移学习是机器学习(ML)中的一种强大技术:针对特定任务开发的模型可以作为第二个相关任务模型的起点而被复用。与从头开始训练神经网络不同——后者需要海量数据集和强大的计算能力——开发者可以利用 AI 已经获得的知识。这种方法模拟了人类的学习方式;例如,掌握钢琴演奏后,学习管风琴会容易得多,因为对音乐理论的基础理解和手指灵活性可以迁移过去。在深度学习领域,这意味着模型可以用显著更少的数据和时间,在新问题上达到较高的准确率。
迁移学习的工作原理#
迁移学习的有效性在于特征提取的层次化特性。深度学习模型,尤其是用于计算机视觉的模型,会在不同层中学习识别模式。主干网络的初始层会检测边缘、曲线和纹理等简单且通用的特征。这些低级特征几乎适用于任何视觉任务。
这一过程通常包含两个主要阶段:
-
预训练: 模型在大规模基准数据集(如 ImageNet)上进行训练,以学习通用的视觉表示。这样会得到一组已经理解视觉结构的模型权重。
-
适配: 随后将预训练模型适配到特定的细分任务。通常的做法是“冻结”早期层(保持其权重不变),只在较小的自定义数据集上重新训练最后几层或检测头。
实际应用#
迁移学习让人们无需大型科技公司的资源也能构建专业化解决方案,从而推动了 AI 的普及。
- 医疗领域的 AI: 为每种特定疾病收集数百万张经过标注的医学图像十分困难。不过,研究人员可以使用一个在日常物体上预训练的模型,并将其应用于医学图像分析。模型会迁移其检测形状和异常的能力,从而以较高的精确率识别 X 射线或 MRI 扫描中的肿瘤。
- 制造业中的 AI: 在工业环境中,视觉检测系统必须快速适应新的产品线。通用的缺陷检测模型可以快速更新,以发现特定新组件(例如微芯片)中的瑕疵,并利用智能制造工作流最大限度地减少停机时间。
与其他概念的关系#
区分迁移学习与以下密切相关的术语会很有帮助:
- 与微调的区别: 微调是实现迁移学习的一种具体方法。迁移学习是复用知识的总体概念,而微调指的是解冻模型的部分层,并使用较低的学习率在新数据上训练这些层的具体过程。
- 与零样本学习的区别: 迁移学习需要针对新任务使用一些带标签的数据进行训练。相比之下,零样本学习尝试对模型此前从未见过的物体进行分类,通常依赖语义描述而非视觉示例。
实际示例#
以下 Python代码片段演示了如何使用 ultralytics 库进行迁移学习。我们加载 YOLO26 模型,该模型附带从 COCO 数据集得到的预训练权重。当我们开始在新数据集上训练时,模型会自动将其预先学习的特征迁移到新任务中。
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (transferring weights from COCO)
model = YOLO("yolo26n.pt")
# Train the model on a new, smaller dataset to adapt its knowledge
# This leverages the pre-learned backbone for faster convergence
results = model.train(data="coco8.yaml", epochs=5)要在云端管理数据集并执行这些训练任务,可以使用 Ultralytics Platform 等工具来简化流程,让团队能够协作完成数据标注,并高效部署经过迁移学习的模型。
如果你想深入了解学术理论,斯坦福大学 CS231n 课程笔记提供了出色的概览,而 PyTorch 迁移学习教程则提供了丰富的实现技术细节。









