Aprendizaje few-shot y zero-shot

From Systems analysis Wiki
Jump to navigation Jump to search

El aprendizaje con pocos ejemplos (Few-shot Learning, FSL) y el aprendizaje sin ejemplos (Zero-shot Learning, ZSL) son paradigmas de aprendizaje automático diseñados para resolver el problema de la escasez de datos etiquetados. Permiten a los modelos aprender y generalizar conocimientos a partir de una cantidad muy limitada de información, lo cual es clave para la aplicación de la inteligencia artificial en escenarios reales donde la recopilación de grandes conjuntos de datos es imposible o poco práctica.

El problema generalizado de la escasez de datos

Los modelos modernos de aprendizaje profundo demuestran resultados impresionantes, pero su eficacia, por regla general, depende directamente de enormes volúmenes de datos etiquetados. La recopilación y anotación de dichos datos es un proceso costoso, laborioso y a menudo imposible. Este problema, conocido como "hambre de información", es especialmente agudo en áreas como:

  • Diagnóstico de enfermedades raras.
  • Producción industrial especializada.
  • Robótica e interacción con nuevos objetos.
  • Categorización de nuevos productos o temas que surgen constantemente.

FSL y ZSL ofrecen una solución al cambiar el enfoque de "big data" a "smart data", centrándose en la transferencia y generalización eficiente del conocimiento.

Aprendizaje con pocos ejemplos (Few-shot Learning)

El Few-shot Learning (FSL) es un paradigma en el que un modelo aprende a reconocer nuevas clases basándose en una cantidad muy pequeña de ejemplos etiquetados (generalmente de 1 a 5), conocidos como el conjunto de soporte (support set).

Idea clave

La idea principal del FSL no es simplemente aprender características para clases específicas, sino aprender el proceso de aprendizaje (learning to learn). El modelo debe adaptarse rápidamente a tareas nuevas y desconocidas utilizando una cantidad mínima de ejemplos. Esto se logra mediante el uso de conocimientos previamente adquiridos y estrategias de adaptación.

Enfoques principales en FSL

  • Meta-aprendizaje ("Aprender a aprender"): Este es el paradigma dominante en FSL. El modelo se entrena en una multitud de tareas diversas para aprender a adaptarse eficazmente a las nuevas.
    • Basado en métricas: Los modelos (por ejemplo, redes siamesas o prototípicas) aprenden a construir un espacio de embeddings donde la distancia entre los vectores refleja la proximidad semántica. La clasificación de un nuevo ejemplo se realiza comparando su embedding con los embeddings del conjunto de soporte.
    • Basado en optimización: Los modelos (por ejemplo, MAML) aprenden a encontrar una inicialización de parámetros que permite un reentrenamiento rápido (en unos pocos pasos de descenso de gradiente) para una nueva tarea.
  • Aprendizaje en contexto (In-Context Learning): Con la aparición de los grandes modelos de lenguaje (LLM), se ha popularizado un enfoque en el que los ejemplos del conjunto de soporte se proporcionan al modelo directamente en el prompt. El modelo realiza un "meta-aprendizaje implícito" durante la inferencia, adaptándose a la tarea sin actualizar sus pesos.

Enfoques avanzados en FSL

  • One-shot Learning: Es un caso particular de FSL donde el número de ejemplos para cada clase es igual a uno (K=1 en la notación "N-way K-shot"). Ejemplos clásicos de arquitecturas son las Matching Networks y las Siamese Networks.
  • Métodos generativos y aumento de datos: El FSL utiliza activamente modelos generativos (GAN, VAE, modelos de difusión) para sintetizar ejemplos de datos adicionales. Esto permite ampliar artificialmente el conjunto de soporte y mejorar la calidad de la clasificación, especialmente para clases raras o inusuales.
  • FSL transductivo: A diferencia del enfoque estándar (inductivo), aquí el modelo, al adaptarse, considera no solo el conjunto de soporte etiquetado, sino también todo el conjunto de ejemplos de prueba no etiquetados (consultas). Esto permite capturar la estructura de los datos en las consultas, por ejemplo, mediante técnicas de propagación de etiquetas (label propagation), y aumentar la robustez de la clasificación.

Aprendizaje sin ejemplos (Zero-shot Learning)

El Zero-shot Learning (ZSL) es un paradigma en el que un modelo es capaz de reconocer clases de las que no ha visto ningún ejemplo durante la fase de entrenamiento.

Idea clave

Esto se logra mediante el uso de información semántica auxiliar que describe tanto las clases vistas como las no vistas. El modelo aprende un mapeo desde el espacio de características de entrada (por ejemplo, imágenes) a un espacio semántico común.

Mecanismos de información semántica

  • Atributos semánticos: Las clases se describen mediante un conjunto de atributos definidos por humanos (por ejemplo, para la clase "cebra": [tiene_rayas, tiene_pezuñas, es_mamífero]).
  • Representaciones vectoriales de palabras (Word Embeddings): Los nombres de las clases o sus descripciones textuales se convierten en embeddings utilizando modelos de lenguaje preentrenados (por ejemplo, Word2Vec, BERT).
  • Prompting en LLM: Con la aparición de modelos multimodales como CLIP, el ZSL puede realizarse comparando el embedding de una imagen con los embeddings de las descripciones textuales de las clases (por ejemplo, "una foto de un perro", "una foto de un gato").

Tipos de ZSL: Tradicional, Generalizado, Inductivo y Transductivo

  • ZSL tradicional: En la fase de prueba, el modelo debe clasificar ejemplos únicamente de clases no vistas.
  • ZSL Generalizado (Generalized ZSL, GZSL): Un escenario más realista y complejo donde el modelo debe clasificar ejemplos tanto de clases vistas como no vistas. Esto requiere que el modelo no solo reconozca lo nuevo, sino que también lo distinga de lo ya conocido, combatiendo el sesgo hacia las clases vistas.
  • ZSL inductivo: El planteamiento estándar, donde el modelo se entrena solo con los datos y las descripciones semánticas de las clases vistas, sin ningún acceso a la información sobre las no vistas.
  • ZSL transductivo: Un esquema más avanzado donde el modelo, durante el entrenamiento, puede utilizar ejemplos no etiquetados de las clases no vistas. Esto permite adaptar previamente el espacio semántico y mejorar la calidad final.

Enfoques generativos en ZSL

  • Generación de características de clases no vistas: Para resolver el problema del sesgo en GZSL, se utilizan ampliamente modelos generativos (VAE, GAN). Estos sintetizan no las imágenes en sí, sino sus vectores de características (embeddings) para las clases no vistas, basándose en sus descripciones semánticas. Esto permite equilibrar el conjunto de datos para el entrenamiento del clasificador final.

Análisis comparativo y sinergia

Comparación de paradigmas de aprendizaje con datos limitados
Aspecto Aprendizaje con pocos ejemplos (FSL) Aprendizaje sin ejemplos (ZSL)
Idea principal Aprender a adaptarse rápidamente a nuevas clases basándose en unos pocos ejemplos. Aprender a reconocer nuevas clases basándose en sus descripciones semánticas.
Requisitos de datos para una nueva tarea/clase Varios ejemplos etiquetados (1-5) para cada nueva clase. Cero ejemplos etiquetados; se requiere una descripción semántica.
Transferencia de conocimiento Aprendizaje de conocimiento procedimental ("cómo adaptarse") o de un buen espacio de características. Aprendizaje de relaciones y atributos semánticos, transferencia de conocimiento a través de un espacio semántico común.
Casos de uso típicos Prototipado rápido, personalización, reconocimiento de objetos raros, robótica. Detección de nuevas especies, categorización de temas emergentes, procesamiento de tipos de productos completamente nuevos.

Matices clave y tendencias modernas

  • Diferencia entre Zero-shot Learning y Zero-shot Prompting: Es importante distinguir estos conceptos. ZSL es un paradigma arquitectónico de aprendizaje automático que requiere un modelo especial e información semántica. Zero-shot Prompting es una técnica aplicada de ingeniería de prompts donde un gran modelo de lenguaje (por ejemplo, GPT-4) resuelve una tarea sin ejemplos en el prompt, basándose exclusivamente en su conocimiento interno.
  • El papel del preentrenamiento a gran escala: El éxito moderno de FSL y ZSL se debe en gran medida a los potentes modelos fundacionales (BERT, CLIP, GPT-4). Su preentrenamiento en enormes conjuntos de datos crea un frontend de embeddings universal y semánticamente rico que sirve como una excelente base para la adaptación rápida y la inferencia semántica en condiciones de escasez de datos.

FSL y ZSL representan diferentes puntos en el espectro de la eficiencia en el uso de datos y a menudo se utilizan de forma conjunta. Por ejemplo, ZSL puede usarse para inicializar representaciones que luego se ajustan con FSL cuando aparecen los primeros ejemplos de una nueva clase.

Principales instituciones de investigación y participantes

La investigación en el campo de FSL y ZSL se lleva a cabo activamente tanto en círculos académicos como en laboratorios industriales.

  • Universidades: Universidad de Stanford, Universidad de Pekín, Universidad Nacional de Singapur.
  • Laboratorios industriales: Google AI, Meta AI, OpenAI.

Con la aparición de potentes modelos fundacionales, el enfoque de la investigación se ha desplazado del desarrollo de arquitecturas especializadas para FSL/ZSL hacia métodos de adaptación eficiente de estos modelos.

Véase también

Bibliografía

  • Finn, C. et al. (2017). Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. arXiv:1703.03400.
  • Koch, G. et al. (2015). Siamese Neural Networks for One-Shot Image Recognition. PDF.
  • Vinyals, O. et al. (2016). Matching Networks for One Shot Learning. arXiv:1606.04080.
  • Snell, J. et al. (2017). Prototypical Networks for Few-Shot Learning. arXiv:1703.05175.
  • Sung, F. et al. (2018). Learning to Compare: Relation Network for Few-Shot Learning. arXiv:1711.06025.
  • Chen, Y. et al. (2021). Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning. arXiv:2003.04390.
  • Wang, Y. et al. (2020). Generalizing from a Few Examples: A Survey on Few-Shot Learning. arXiv:1904.05046.
  • Xian, Y. et al. (2018). Zero-Shot Learning — A Comprehensive Evaluation of the State of the Art. arXiv:1707.00600.
  • Verma, V. K. et al. (2018). Generalized Zero-Shot Learning via Synthesized Examples. arXiv:1712.03878.
  • Radford, A. et al. (2021). Learning Transferable Visual Models from Natural Language Supervision. arXiv:2103.00020.
  • Xian, Y. et al. (2019). Zero-Shot Learning via Simultaneous Generating and Learning. arXiv:1910.09446.
  • Verma, V. K. et al. (2017). Zero-Shot Learning via Generative Adversarial Training of Class-Conditional Feature Vectors. arXiv:1712.00981.