Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Meta Learning

元学习在许多任务上训练模型,使模型只需少量示例就能适应新任务。了解任务周期、MAML 和原型网络的工作原理。

元学习常被称为“学会学习”,是一种机器学习 (ML)方法:通过在许多相关任务上训练模型,使其能够从少量标注样本中快速适应新任务。监督学习是在单个数据集上拟合模型,而元学习优化的是学习过程本身:初始权重、用于比较样本的嵌入空间,或能在一次前向传播中从样本中学习的网络。元学习的主要应用是少样本学习,即每个新类别只用一到几个样本进行识别;此外,它还用于必须实时适应新条件的机器人和其他智能体。

元学习的工作原理#

元学习通过一系列模拟模型测试时所处情境的任务回合进行训练。每个回合都会抽取一个任务,例如一个 5-way 1-shot 分类问题:从五个类别中各取一张带标签的图像。带标签的样本组成支持集,同类别中留出的样本组成查询集。在内循环中,模型根据支持集进行适应;在外循环中,则根据适应后的模型在查询集上的表现更新元参数,这样模型得到的奖励是适应得好,而不是记住某个特定任务。用于元测试的类别不会出现在元训练中。

主要方法#

  • 基于优化的方法:模型无关元学习 (MAML)会学习一个初始化参数,使模型只需针对新任务的支持集执行一到几步梯度下降,就能取得良好表现。外循环需要对内循环更新过程求导,因此需要二阶梯度;OpenAI 的 Reptile等一阶变体则通过将初始化参数朝每个任务适应后的权重方向移动,避免了这项开销。
  • 基于度量的方法:这类方法会学习一个嵌入空间,使样本能够按距离分类。原型网络会将每个类别的支持集嵌入取平均,形成一个原型,并将每个查询样本分配给最近的原型。因此,测试时新增类别无需任何训练。
  • 基于模型的方法:带外部记忆的循环神经网络 (RNN)等网络会读取支持集并直接预测查询样本的标签,在激活值中学习适应过程。GPT-3 论文将大型语言模型 (LLM)中的上下文学习——根据提示中的示例解决任务——描述为这类元学习的内循环,而预训练则是外循环。

MAML 自身的回归基准测试要求小型网络根据每条正弦波的 10 个点,拟合振幅和相位随机的正弦波。下面的 PyTorch示例通过内外循环对初始化参数进行元训练,然后测试模型能否通过一步适应拟合新的正弦波:

import torch
import torch.nn.functional as F
from torch import nn
from torch.func import functional_call

torch.manual_seed(0)
net = nn.Sequential(nn.Linear(1, 40), nn.ReLU(), nn.Linear(40, 40), nn.ReLU(), nn.Linear(40, 1))
meta_optimizer = torch.optim.Adam(net.parameters(), lr=0.001)


def sine_task_losses():
    """Sample a sine-wave task, adapt on 10 points with one gradient step, and return query losses before and after."""
    amplitude, phase = torch.empty(1).uniform_(0.1, 5), torch.empty(1).uniform_(0, 3.14)
    x = torch.empty(20, 1).uniform_(-5, 5)
    y = amplitude * torch.sin(x + phase)
    params = dict(net.named_parameters())
    support_loss = F.mse_loss(functional_call(net, params, x[:10]), y[:10])
    grads = torch.autograd.grad(support_loss, list(params.values()), create_graph=True)  # inner loop
    adapted = {name: p - 0.01 * g for (name, p), g in zip(params.items(), grads)}
    before = F.mse_loss(functional_call(net, params, x[10:]), y[10:])
    after = F.mse_loss(functional_call(net, adapted, x[10:]), y[10:])
    return before, after


# Outer loop: update the shared initialization so that one inner step fits each new task
for step in range(10000):
    meta_loss = sum(sine_task_losses()[1] for _ in range(4))
    meta_optimizer.zero_grad()
    meta_loss.backward()
    meta_optimizer.step()

# On 500 unseen sine waves, compare query error before and after the one-step adaptation
losses = torch.tensor([[loss.item() for loss in sine_task_losses()] for _ in range(500)])
print(f"query MSE before adaptation: {losses[:, 0].mean():.2f}, after one step: {losses[:, 1].mean():.2f}")

它会输出 query MSE before adaptation: 3.10, after one step: 0.70。经过元学习的初始化参数无法拟合任何特定的正弦波,但在 10 个点上进行一次梯度更新后,模型对未见过的波形新点的误差会降低四倍以上。

  • 迁移学习:将一个大型任务上训练得到的权重用作另一个任务的起点,但不会专门针对适应能力对其进行优化。在自定义数据集上微调经过 COCO 预训练的 Ultralytics YOLO26检测器,就是迁移学习:它的初始权重来自 COCO 上的常规训练,而适应过程需要使用带标注的数据集进行多个训练轮次,而不是用少量样本执行几步梯度更新。
  • 少样本学习:从极少量样本中学习的问题。元学习是解决这一问题的一类方法;使用简单分类器的预训练嵌入则是另一类方法。
  • 自动机器学习 (AutoML):搜索网络架构和超参数,通常一次针对一个数据集。一些综述将跨任务的超参数学习也归入元学习。
  • 持续学习:按顺序学习一系列任务,同时不遗忘较早学到的任务;元学习则让模型为快速学习新任务做好准备。

基准测试与研究发现#

小样本图像基准推动了大多数元学习研究:Omniglot 包含来自 50 种字母体系的 1,623 个手写字符;miniImageNet 使用 100 个 ImageNet类别,每类 600 张图像,并划分为不同类别用于元训练、验证和测试。后来的两项研究质疑了元学习本身的贡献有多大。“快速学习还是特征复用?”指出,MAML 的成功主要源于复用外循环中学到的特征;它的简化变体 ANIL 只在内循环调整最后一层,却取得了与 MAML 相当的表现。之后,“重新思考小样本图像分类”发现,使用常规监督或自监督方式在元训练类别上学习的优质嵌入线性分类器,优于当时领先的小样本元学习方法。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来