Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Meta Learning

El metaaprendizaje entrena un modelo con muchas tareas para que se adapte a una tarea nueva a partir de unos pocos ejemplos. Descubre cómo funcionan los episodios, MAML y las redes prototípicas.

El metaaprendizaje, a menudo llamado «aprender a aprender», es un enfoque de aprendizaje automático (ML) que entrena un modelo con muchas tareas relacionadas para que pueda adaptarse rápidamente a una nueva tarea, normalmente a partir de unos pocos ejemplos etiquetados. Mientras que el aprendizaje supervisado ajusta un conjunto de datos, el metaaprendizaje optimiza el propio proceso de aprendizaje: los pesos iniciales, el espacio de embeddings utilizado para comparar ejemplos o una red que aprende de ejemplos en una sola pasada hacia delante. Su principal aplicación es el aprendizaje con pocos ejemplos, que reconoce nuevas clases a partir de uno o unos pocos ejemplos de cada una, además de los robots y otros agentes que deben adaptarse sobre la marcha a nuevas condiciones.

Cómo funciona el metaaprendizaje#

El metaaprendizaje se entrena en episodios que imitan la situación a la que se enfrentará el modelo durante la prueba. En cada episodio se muestrea una tarea; por ejemplo, un problema de clasificación 5-way 1-shot, construido con cinco clases y una imagen etiquetada de cada una. Los ejemplos etiquetados forman el conjunto de soporte, y los ejemplos reservados de las mismas clases forman el conjunto de consulta. En un bucle interno, el modelo se adapta al conjunto de soporte; en un bucle externo, se actualizan los metaparámetros según el rendimiento del modelo adaptado en el conjunto de consulta, de modo que se recompensa al modelo por adaptarse bien y no por memorizar una tarea concreta. Las clases utilizadas para las metapruebas nunca aparecen durante el metaentrenamiento.

Enfoques principales#

  • Basados en optimización: Model-Agnostic Meta-Learning (MAML) aprende una inicialización desde la que uno o unos pocos pasos de descenso del gradiente sobre el conjunto de soporte de una nueva tarea ofrecen un buen rendimiento. El bucle externo deriva a través de la actualización interna, lo que requiere gradientes de segundo orden; variantes de primer orden como Reptile de OpenAI evitan ese coste al acercar la inicialización a los pesos adaptados en cada tarea.
  • Basados en métricas: estos métodos aprenden un espacio de embeddings en el que los ejemplos se pueden clasificar por distancia. Las redes prototípicas calculan la media de los embeddings de soporte de cada clase para obtener un prototipo y asignan cada consulta al prototipo más cercano, por lo que añadir una clase durante la prueba no requiere ningún entrenamiento.
  • Basados en modelos: una red como una red neuronal recurrente (RNN) con memoria externa lee el conjunto de soporte y predice directamente las etiquetas de las consultas, aprendiendo el procedimiento de adaptación en sus activaciones. El artículo de GPT-3 describió el aprendizaje en contexto en modelos de lenguaje grandes (LLM), que resuelve una tarea a partir de ejemplos incluidos en el prompt, como el bucle interno de este tipo de metaaprendizaje, y el preentrenamiento como el bucle externo.

El propio banco de pruebas de regresión de MAML pide a una red pequeña que ajuste ondas sinusoidales de amplitud y fase aleatorias a partir de 10 puntos de cada una. El siguiente ejemplo de PyTorch realiza el metaentrenamiento de la inicialización con ambos bucles y, a continuación, prueba un paso de adaptación en nuevas ondas sinusoidales:

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

Imprime query MSE before adaptation: 3.10, after one step: 0.70. La inicialización aprendida mediante metaaprendizaje no se ajusta a ninguna onda sinusoidal concreta, pero un solo paso de gradiente con 10 puntos reduce más de cuatro veces el error en puntos nuevos de una onda no vista.

  • Aprendizaje por transferencia: reutiliza pesos entrenados en una tarea grande como punto de partida para otra, sin optimizarlos para que sean adaptables. El ajuste fino de un detector Ultralytics YOLO26 preentrenado con COCO sobre un conjunto de datos personalizado es aprendizaje por transferencia: sus pesos iniciales proceden del entrenamiento convencional con COCO, y la adaptación utiliza un conjunto de datos etiquetado y muchas épocas de entrenamiento, en lugar de unos pocos ejemplos y unos pocos pasos de gradiente.
  • Aprendizaje con pocos ejemplos: el problema de aprender a partir de muy pocos ejemplos. El metaaprendizaje es una familia de soluciones; los embeddings preentrenados con un clasificador sencillo son otra.
  • Aprendizaje automático automatizado (AutoML): busca arquitecturas e hiperparámetros, normalmente para un conjunto de datos cada vez. Algunos estudios consideran metaaprendizaje el aprendizaje de hiperparámetros entre tareas.
  • Aprendizaje continuo: aprende una secuencia de tareas sin olvidar las anteriores, mientras que el metaaprendizaje prepara un modelo para aprender rápido nuevas tareas.

Bancos de pruebas y resultados#

Los benchmarks de imágenes few-shot impulsaron la mayor parte de la investigación sobre metaaprendizaje: Omniglot contiene 1.623 caracteres escritos a mano de 50 alfabetos, y miniImageNet utiliza 100 clases de ImageNet con 600 imágenes cada una, divididas en clases distintas para el met entrenamiento, la validación y las pruebas. Dos estudios posteriores cuestionaron cuánto aporta el propio metaaprendizaje. «¿Aprendizaje rápido o reutilización de características?» mostró que el éxito de MAML se debe principalmente a la reutilización de características aprendidas en el bucle externo, y su variante simplificada ANIL, que adapta únicamente la última capa en el bucle interno, igualó a MAML. «Repensar la clasificación de imágenes few-shot» concluyó después que un clasificador lineal sobre una buena incrustación, aprendido mediante entrenamiento supervisado convencional o autosupervisado con las clases de met entrenamiento, superaba a los principales métodos de metaaprendizaje few-shot de la época.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático