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

迁移学习

利用迁移学习的强大功能,通过预训练模型节省时间、提升 AI 性能,并以有限的数据应对新任务。

迁移学习是一种机器学习技术,在这种技术中,为一项任务开发的模型被重复使用,作为第二项相关任务模型的起点。 作为第二个相关任务模型的起点。从头开始训练一个模型需要大量的训练数据和计算资源。 训练数据和计算资源。 学习利用的是从源任务中学习到的知识,如特征图、权重和模式。这种方法 是现代深度学习的基石、 特别是在计算机视觉(CV)领域,使 开发人员能够以更少数据和更短的训练时间 开发人员能够以更少的数据和更短的训练时间达到更高的精度。

迁移学习的工作原理

这一过程依赖于 神经网络学习分层特征 表征的能力。在模型的初始层(通常称为 骨干层,网络学习通用的视觉特征 如边缘、纹理和形状。这些特征几乎适用于任何视觉任务。

迁移学习通常包括两个主要阶段:

  1. 预训练:对模型进行训练 基准数据集(如 ImageNet(分类)或 COCO(检测)。由此产生的 预训练模型对一般视觉结构具有强大的理解能力。
  2. 微调:根据新的特定任务调整预先训练好的模型。在 微调过程中,模型会在较小的特定任务数据集上进行训练、 特定任务的数据集进行训练。通常情况下,初始层的权重会被 "冻结"(保持静态),以保留 学特征,而只有最后一层(检测头或分类器)才会更新。 检测头或分类器)进行更新。

如需更深入的理论探讨,斯坦福大学的 斯坦福 CS231n 关于迁移学习的笔记提供了极好的 极好的资源。

效益和相关性

迁移学习解决了数据匮乏这一常见难题。通过从预先学习的特征开始,模型可以避免在小数据集上过度拟合,并以更快的速度收敛。 在小数据集上的过度拟合,而且收敛速度比用随机权重初始化的模型快得多。 比用随机权重初始化的模型收敛得更快。

  • 效率:将培训时间从 天或几周缩短到几小时。
  • 性能:产量通常更高 精确度和 因为该模型从 "常"理解图像开始。 常识 "理解图像。
  • 可访问性:允许用户创建强大的人工智能应用,而无需科技巨头使用的大规模计算 集群。

实际应用

迁移学习为各行各业广泛使用的人工智能解决方案提供动力 各行各业广泛使用的人工智能解决方案:

迁移学习 vs. 相关概念

将迁移学习与类似术语区分开来很有帮助:

  • 零点学习相比:迁移学习需要一些新任务的标注数据来微调模型。相比之下 零镜头学习尝试对模型从未见过的对象进行classify ,完全依赖于语义 描述或属性,没有任何训练实例。
  • 知识蒸馏:知识蒸馏的重点是压缩模型,将知识从大型的 "教师 "模型转移到小型的 "学生 "模型,从而提高效率。 模型转移到较小的 "学生 "模型,以提高效率。迁移学习侧重于领域适应、 将知识从一般任务转移到特定任务。

实例

以下是 Python 示例演示了如何利用 的 ultralytics 库。我们加载了在COCO 上预先训练好的YOLO11 模型,并在样本数据集上对其进行了微调。

from ultralytics import YOLO

# Load a pre-trained model (weights derived from the COCO dataset)
# This acts as our starting point for transfer learning
model = YOLO("yolo11n.pt")

# Fine-tune the model on a new dataset (e.g., COCO8)
# The model adapts its pre-learned features to the specific data
model.train(data="coco8.yaml", epochs=5)

# The updated model can now be used for inference on the new task
model.predict("path/to/image.jpg")

有关实现的详细信息,请参阅官方的 PyTorch 移植学习教程 或《TensorFlow 移植学习指南》。

加入Ultralytics 社区

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

立即加入