Zero-Shot Learning
El aprendizaje zero-shot reconoce clases sin ejemplos etiquetados al comparar las entradas con descripciones de texto. Explica CLIP, la detección con vocabulario abierto y sus límites.
El aprendizaje de cero ejemplos (ZSL) es la capacidad de un modelo para reconocer clases para las que no ha visto ejemplos de entrenamiento etiquetados. En lugar de ejemplos, el modelo recibe una descripción de cada clase nueva, como una lista de atributos o, en los sistemas modernos, el nombre de la clase en forma de texto, y compara las entradas con esas descripciones en un espacio compartido de embeddings. El aprendizaje supervisado estándar solo puede predecir las clases de sus etiquetas de entrenamiento, así que añadir una categoría implica recopilar y etiquetar datos nuevos y volver a entrenar. Un modelo de cero ejemplos añade una categoría con solo añadir su nombre. CLIP de OpenAI, entrenado con 400 millones de pares de imagen y texto descriptivo, igualó la precisión en ImageNet de la ResNet-50 supervisada original sin usar ninguna de las 1,28 millones de imágenes de entrenamiento etiquetadas de ImageNet.
Cómo funciona el aprendizaje de cero ejemplos#
El aprendizaje de cero ejemplos transfiere conocimientos mediante un espacio semántico que conecta las clases vistas con las no vistas. Los primeros métodos describían cada clase con atributos definidos por personas, como «a rayas», «tiene pezuñas» y «vive en praderas», y entrenaban modelos para predecir esos atributos; así, podían reconocer un animal nunca visto durante el entrenamiento como la clase cuyos atributos coincidían. Los modelos de visión y lenguaje sustituyeron los atributos creados manualmente por el lenguaje natural. CLIP entrena un codificador de imágenes y otro de texto mediante aprendizaje contrastivo, de modo que las imágenes y los textos descriptivos que coinciden obtienen embeddings similares. Para clasificar, genera un embedding para una instrucción de cada clase candidata, como «una foto de una cebra», genera otro para la imagen y elige la clase con la mayor similitud coseno:
Como el clasificador se construye a partir del texto durante la inferencia, la lista de clases puede cambiar en cada solicitud. El mismo patrón se aplica a los modelos de lenguaje grandes (LLM), donde la instrucción de cero ejemplos consiste en dar al modelo únicamente una instrucción, sin ejemplos resueltos, tal como se define en el artículo de GPT-3.
Detección de objetos con cero ejemplos#
Los detectores de vocabulario abierto amplían el aprendizaje de cero ejemplos, pasando de imágenes completas a objetos individuales. Puntúan cada región candidata frente a embeddings de texto de las clases solicitadas, de modo que pueden encontrar objetos que no pertenecen a ningún conjunto fijo de etiquetas, como un producto concreto en un archivo de vídeo. YOLO-World aplica este enfoque a los modelos YOLO en tiempo real. YOLOE-26 de Ultralytics, una versión de vocabulario abierto de YOLO26, codifica con un codificador de texto MobileCLIP2 cada nombre de clase que recibe mediante set_classes() y devuelve cajas y máscaras de segmentación de instancias para esas clases sin volver a entrenar:
from ultralytics import YOLOE
# Checkpoint de YOLOE-26 que acepta instrucciones de texto
model = YOLOE("yoloe-26s-seg.pt")
# Especifica las clases durante la inferencia, aquí con palabras que no son etiquetas de COCO
model.set_classes(["city bus", "sneakers", "glasses"])
# Detecta y segmenta las clases indicadas
results = model.predict("https://ultralytics.com/images/bus.jpg")
result = results[0]
result.save(filename="zero_shot_result.jpg")La primera llamada a set_classes() descarga el codificador de texto. En la detección de objetos, «zero-shot» significa que el modelo no ha recibido cuadros etiquetados para una clase, aunque el nombre de la clase puede haber aparecido en los datos de imagen y texto utilizados para preentrenar sus codificadores. Ultralytics Platform anota automáticamente conjuntos de datos de detección con detectores zero-shot y modelos de lenguaje y visión, y la clasificación de VLM compara la precisión con la que cada uno encuentra objetos en imágenes del mundo real.
Aplicaciones#
- Búsqueda visual y moderación: Las bibliotecas multimedia y las plataformas de contenido encuentran imágenes que coinciden con una consulta de texto o detectan nuevas categorías de contenido sin entrenar un clasificador para cada consulta.
- Robótica: Un robot al que se le pide que coja «la taza azul» puede localizar una categoría de objeto que nunca se le entrenó para detectar.
- Fauna y biodiversidad: BioCLIP, entrenado con más de 10 millones de imágenes de todo el árbol de la vida, clasifica especies sin ejemplos a partir de sus nombres y ganó el premio al mejor artículo de estudiante en CVPR 2024.
- Diagnóstico por imagen: Los modelos entrenados con radiografías emparejadas con informes radiológicos escritos pueden detectar hallazgos que nunca se anotaron como etiquetas explícitas de entrenamiento.
Retos#
La precisión de cero ejemplos suele ser inferior a la de un modelo entrenado con ejemplos etiquetados de las mismas clases, sobre todo en categorías especializadas o con diferencias sutiles cuyos nombres aparecen poco en los textos web. En el aprendizaje generalizado de cero ejemplos, donde las imágenes de prueba pueden pertenecer tanto a clases vistas como no vistas, los modelos favorecen las clases con las que se entrenaron, y los estudios de benchmarks observaron que la precisión en las clases no vistas cae drásticamente en esa situación. Los resultados también dependen de cómo se formulen las instrucciones, lo que convierte la ingeniería de instrucciones en parte de la clasificación de cero ejemplos: la precisión de CLIP en ImageNet aumentó un 1,3 % al sustituir el nombre de la clase sin más por la instrucción «una foto de una {label}».
Aprendizaje de cero ejemplos y términos relacionados#
- Aprendizaje de pocos ejemplos: Aprende clases nuevas a partir de unos pocos ejemplos etiquetados por clase, normalmente entre 1 y 10. El aprendizaje de cero ejemplos es el caso en que no hay ejemplos y se proporciona una descripción.
- Aprendizaje de un solo ejemplo: Caso de aprendizaje de pocos ejemplos con exactamente un ejemplo etiquetado por clase, que a menudo se compara mediante similitud entre embeddings.
- Aprendizaje por transferencia: Reutiliza un modelo preentrenado para una tarea nueva, normalmente ajustándolo con datos etiquetados. El aprendizaje de cero ejemplos transfiere conocimientos mediante el espacio compartido de texto e imágenes sin entrenamiento adicional.
- Indicación visual: Especifica el objetivo con una imagen de ejemplo o una caja en vez de con palabras, lo que resulta útil para objetos difíciles de describir, como una pieza o un logotipo concretos.










