Few-Shot Learning
El aprendizaje con pocos ejemplos (FSL) reconoce clases nuevas a partir de unos pocos ejemplos etiquetados mediante aprendizaje métrico, metaaprendizaje, ajuste fino o prompting.
El aprendizaje con pocos ejemplos (FSL) consiste en aprender una tarea nueva, normalmente reconocer clases nuevas, a partir de unos pocos ejemplos etiquetados por clase, por lo general entre 1 y 10. El aprendizaje supervisado estándar necesita cientos o miles de imágenes etiquetadas por clase, que pueden ser caras o imposibles de recopilar en el caso de defectos poco frecuentes, enfermedades raras o un producto que acaba de salir al mercado. Los métodos de aprendizaje con pocos ejemplos reducen esa diferencia aprovechando conocimientos previos: un modelo preentrenado con datos relacionados y de gran tamaño ya genera características que separan bien las clases nuevas, así que bastan unos pocos ejemplos para definirlas. La misma idea aparece en los modelos de lenguaje, donde unos pocos ejemplos resueltos en el prompt orientan el modelo hacia una tarea nueva sin necesidad de entrenarlo.
Tareas N-way K-shot#
Los problemas de aprendizaje con pocos ejemplos se describen como N-way K-shot: N clases nuevas, cada una con K ejemplos etiquetados. Estos ejemplos etiquetados forman el conjunto de soporte, y se evalúa el modelo según lo bien que etiquete un conjunto de consulta independiente con ejemplos de las mismas N clases. Así, una tarea 5-way 1-shot proporciona al modelo un ejemplo de cada una de cinco clases que nunca ha visto y le pide que clasifique imágenes nuevas entre ellas. El aprendizaje one-shot es el caso K = 1, y el aprendizaje zero-shot es K = 0, en el que las clases se describen mediante texto o atributos en lugar de ejemplos. Los benchmarks de investigación evalúan clases excluidas del entrenamiento, como Omniglot, con 1,623 caracteres escritos a mano de 50 alfabetos, y miniImageNet, con 100 clases de ImageNet de 600 imágenes cada una.
Enfoques de aprendizaje con pocos ejemplos#
Los métodos de aprendizaje métrico entrenan una red para asignar a las imágenes embeddings en los que los ejemplos de una misma clase quedan próximos, de modo que la consulta recibe la etiqueta de los ejemplos de soporte más parecidos. Las redes prototípicas calculan la media de los embeddings de soporte de cada clase para obtener un prototipo y asignan la consulta al prototipo más cercano; no es necesario volver a entrenar cuando aparece una clase nueva.
Otros enfoques adaptan los pesos del modelo o su entrada:
- Metaaprendizaje: entrena con miles de pequeñas tareas simuladas extraídas de clases base, para que el modelo aprenda a adaptarse. El metaaprendizaje agnóstico al modelo (MAML) aprende una inicialización a partir de la cual unos pocos pasos de gradiente sobre el conjunto de soporte de una tarea nueva producen buenos pesos.
- Transferencia y ajuste fino: preentrena un backbone con un conjunto de datos grande y luego entrena únicamente un nuevo cabezal de clasificación, o toda la red con una tasa de aprendizaje baja, con el conjunto de soporte. Esta sencilla referencia ofrece resultados competitivos frente a métodos específicos de metaaprendizaje en benchmarks few-shot estándar, y el sondeo lineal de modelos grandes preentrenados sigue siendo una referencia sólida para few-shot.
- Prompts para modelos fundacionales: los modelos de lenguaje grandes realizan tareas nuevas a partir de unos pocos ejemplos incluidos en el prompt, sin actualizar los pesos; GPT-3 demostró esta capacidad en más de dos docenas de benchmarks de lenguaje. Los modelos de visión utilizan prompts visuales del mismo modo, como cajas de ejemplo.
Detección de objetos con pocos ejemplos mediante prompts visuales#
La detección añade localización al problema del aprendizaje con pocos ejemplos: el modelo debe encontrar todas las instancias de una clase con la que no se ha entrenado. YOLO26 también impulsa YOLOE-26, una variante de vocabulario abierto cuyo codificador de prompts visuales convierte las cajas de ejemplo en un embedding de clase y luego detecta y segmenta objetos coincidentes en imágenes nuevas, sin entrenamiento. Las cajas que comparten un ID de clase se agrupan en un único prompt, así que dos ejemplos de una clase forman un conjunto de soporte 2-shot. Este ejemplo toma a dos personas de una imagen como conjunto de soporte y las busca en otra imagen:
import numpy as np
from ultralytics import YOLOE
from ultralytics.models.yolo.yoloe import YOLOEVPSegPredictor
# Checkpoint de YOLOE-26 que admite prompts visuales
model = YOLOE("yoloe-26s-seg.pt")
# Conjunto de soporte: dos cajas de ejemplo de una clase (personas) en la imagen de referencia
boxes = np.array([[221.52, 405.8, 344.98, 857.54], [669.47, 392.19, 809.72, 877.04]])
support = {"bboxes": boxes, "cls": np.array([0, 0])}
# Consulta: encuentra objetos como los ejemplos en otra imagen, sin entrenamiento
results = model.predict(
"https://ultralytics.com/images/zidane.jpg",
refer_image="https://ultralytics.com/images/bus.jpg",
visual_prompts=support,
predictor=YOLOEVPSegPredictor,
)
result = results[0]
result.save(filename="few_shot_result.jpg")Los prompts visuales agrupan ejemplos sin asignarles nombres, por lo que las coincidencias de los resultados se etiquetan como object0, object1, etc., un nombre por ID de clase.
Aplicaciones en el mundo real#
- Inspección de fabricación: Un nuevo tipo de defecto, como una grieta en una pieza recién introducida, puede aparecer solo unas pocas veces antes de que los inspectores quieran detectarlo; la detección con pocos ejemplos o la detección de anomalías permite añadirlo sin un gran conjunto de datos nuevo.
- Diagnóstico por imagen: Las enfermedades raras cuentan con pocas exploraciones anotadas, así que los modelos de análisis de imágenes médicas adaptan características preentrenadas para detectar nuevos hallazgos a partir de un pequeño conjunto de casos etiquetados por expertos.
- Comercio minorista y robótica: Las tiendas incorporan productos nuevos y los robots se encuentran constantemente con objetos nuevos; unas pocas fotos de referencia permiten que un sistema reconozca cada objeto en la estantería o en la pinza.
Aprendizaje con pocos ejemplos frente a conceptos relacionados#
- Aprendizaje por transferencia: La práctica más amplia de reutilizar conocimientos de una tarea en otra. El aprendizaje con pocos ejemplos es el caso extremo de escasez de datos, y la transferencia es su herramienta más habitual.
- Metaaprendizaje: una estrategia de entrenamiento que consiste en aprender a aprender y es una de varias formas de resolver problemas de aprendizaje con pocos ejemplos. El aprendizaje con pocos ejemplos designa el planteamiento del problema en sí.
- Prompts con pocos ejemplos: adapta un modelo congelado mediante ejemplos en su entrada durante la inferencia, mientras que el ajuste fino con pocos ejemplos modifica los pesos del modelo usando esos mismos escasos ejemplos.










