Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Meta Learning

O meta-aprendizado treina um modelo em muitas tarefas para que ele se adapte a uma nova tarefa com poucos exemplos. Saiba como funcionam os episódios, o MAML e as redes prototípicas.

A meta-aprendizagem, muitas vezes chamada de "aprender a aprender", é uma abordagem de aprendizagem automática (ML) que treina um modelo em muitas tarefas relacionadas para que ele possa adaptar-se rapidamente a uma nova tarefa, geralmente com apenas alguns exemplos rotulados. Enquanto a aprendizagem supervisionada ajusta um modelo a um conjunto de dados, a meta-aprendizagem otimiza o próprio processo de aprendizagem: os pesos iniciais, o espaço de embeddings usado para comparar exemplos ou uma rede que aprende com exemplos numa única passagem direta. A principal aplicação é a aprendizagem com poucos exemplos, que reconhece novas classes a partir de um a poucos exemplos de cada uma, além de robôs e outros agentes que precisam de se adaptar a novas condições em tempo real.

Como funciona a meta-aprendizagem#

A meta-aprendizagem treina em episódios que imitam a situação que o modelo encontrará no momento do teste. Cada episódio amostra uma tarefa, por exemplo, um problema de classificação 5-way 1-shot, formado por cinco classes com uma imagem rotulada cada. Os exemplos rotulados formam o conjunto de suporte, e os exemplos reservados das mesmas classes formam o conjunto de consulta. Num ciclo interno, o modelo adapta-se ao conjunto de suporte; num ciclo externo, os metaparâmetros são atualizados de acordo com o desempenho do modelo adaptado no conjunto de consulta, recompensando o modelo por se adaptar bem em vez de memorizar uma única tarefa. As classes usadas para a meta-avaliação nunca aparecem durante o meta-treinamento.

Principais abordagens#

  • Baseados em otimização: O Model-Agnostic Meta-Learning (MAML) aprende uma inicialização a partir da qual um ou alguns passos de descida do gradiente no conjunto de suporte de uma nova tarefa permitem obter um bom desempenho. O ciclo externo calcula o gradiente através da atualização interna, o que exige gradientes de segunda ordem; variantes de primeira ordem, como o Reptile da OpenAI, evitam esse custo ao mover a inicialização em direção aos pesos adaptados a cada tarefa.
  • Baseados em métricas: Estes métodos aprendem um espaço de embeddings em que os exemplos podem ser classificados pela distância. As Redes Prototípicas calculam a média dos embeddings de suporte de cada classe para formar um protótipo e atribuem cada consulta ao protótipo mais próximo; assim, adicionar uma classe no momento do teste não exige nenhum treinamento.
  • Baseados em modelos: Uma rede, como uma rede neural recorrente (RNN) com memória externa, lê o conjunto de suporte e prevê diretamente os rótulos das consultas, aprendendo o procedimento de adaptação nas suas ativações. O artigo do GPT-3 descreveu a aprendizagem em contexto nos grandes modelos de linguagem (LLMs), que resolvem uma tarefa a partir dos exemplos no prompt, como o ciclo interno deste tipo de meta-aprendizagem, com o pré-treinamento a funcionar como ciclo externo.

O próprio benchmark de regressão do MAML pede a uma rede pequena que ajuste ondas senoidais com amplitude e fase aleatórias usando 10 pontos de cada uma. O exemplo seguinte em PyTorch treina a inicialização com ambos os ciclos e, em seguida, testa um passo de adaptação em novas ondas senoidais:

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}")

O resultado impresso é query MSE before adaptation: 3.10, after one step: 0.70. A inicialização aprendida por meta-aprendizagem não ajusta nenhuma onda senoidal específica; ainda assim, um único passo de gradiente com 10 pontos reduz em mais de quatro vezes o erro em novos pontos de uma onda não vista.

  • Aprendizagem por transferência: reutiliza pesos treinados numa tarefa de grande dimensão como ponto de partida para outra, sem os otimizar para a capacidade de adaptação. O ajuste fino de um detetor Ultralytics YOLO26 pré-treinado no COCO com um conjunto de dados personalizado é aprendizagem por transferência: os pesos iniciais vêm de treinamento convencional no COCO, e a adaptação usa um conjunto de dados rotulado e muitas épocas de treinamento, em vez de alguns exemplos e alguns passos de gradiente.
  • Aprendizagem com poucos exemplos: o problema de aprender com muito poucos exemplos. A meta-aprendizagem é uma família de soluções; embeddings pré-treinados com um classificador simples são outra.
  • Aprendizagem automática automatizada (AutoML): procura arquiteturas e hiperparâmetros, geralmente para um conjunto de dados de cada vez. Alguns estudos consideram a aprendizagem de hiperparâmetros em várias tarefas como meta-aprendizagem.
  • Aprendizagem contínua: aprende uma sequência de tarefas sem esquecer as anteriores, enquanto a meta-aprendizagem prepara um modelo para aprender rapidamente novas tarefas.

Benchmarks e resultados#

Os benchmarks de imagens few-shot impulsionaram a maior parte da pesquisa em meta-aprendizado: o Omniglot contém 1.623 caracteres manuscritos de 50 alfabetos, e o miniImageNet usa 100 classes do ImageNet, com 600 imagens cada, divididas em classes separadas para meta-treinamento, validação e teste. Dois estudos posteriores questionaram o quanto o próprio meta-aprendizado contribui. "Aprendizado rápido ou reutilização de características?" mostrou que o sucesso do MAML vem principalmente da reutilização de características aprendidas no loop externo, e sua variante simplificada ANIL, que adapta apenas a camada final no loop interno, igualou o MAML. Em seguida, "Repensando a classificação de imagens few-shot" concluiu que um classificador linear sobre uma boa incorporação, aprendido com treinamento supervisionado comum ou autossupervisionado nas classes de meta-treinamento, superou os principais métodos de meta-aprendizado few-shot da época.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina