Inicio
Temas
Zero Shot Learning
Publicado: 24 de enero de 2024
Colaboradores: Dave Bergmann
El aprendizaje zero-shot (ZSL, siglas en inglés de zero-shot learning) es un escenario de aprendizaje automático en el que se entrena un modelo de IA para reconocer y categorizar objetos o conceptos sin haber visto ejemplos de esas categorías o conceptos de antemano.
La mayoría de los modelos de aprendizaje profundo de última generación previstos para hacer clasificación o regresión se entrenan a través de aprendizaje supervisado, que requiere muchos ejemplos etiquetados de clases de datos relevantes. Los modelos “aprenden” haciendo predicciones en un conjunto de datos de entrenamiento etiquetado; las etiquetas de datos proporcionan tanto el rango de respuestas posibles como las respuestas correctas (o la verdad fundamental) para cada ejemplo de entrenamiento. Aquí, “aprender”, significa ajustar las ponderaciones del modelo para minimizar la diferencia entre las predicciones del modelo y esa verdad fundamental (ground truth). Este proceso requiere suficientes muestras etiquetadas para muchas rondas de entrenamiento y actualizaciones.
Si bien el aprendizaje supervisado es eficaz, no es práctico en algunos escenarios del mundo real. Anotar grandes cantidades de muestras de datos es costoso y requiere mucho tiempo, y en casos como enfermedades raras y especies recién descubiertas, los ejemplos pueden ser escasos o inexistentes. Considere las tareas de reconocimiento de imágenes: según un estudio, los humanos son capaces de reconocer aproximadamente 30 000 categorías individuales de objetos.1 No es factible, en términos de tiempo, costo y recursos computacionales, que los modelos de inteligencia artificial se acerquen ni remotamente a las capacidades humanas si deben capacitarse explícitamente en datos etiquetados para cada clase.
La necesidad de que los modelos de aprendizaje automático puedan generalizar rápidamente a una gran cantidad de categorías semánticas con una sobrecarga de entrenamiento mínima ha dado lugar al aprendizaje n-shot: un subconjunto del aprendizaje automático que también incluye el aprendizaje few-shot(FSL, siglas en inglés de few-shot learning) y aprendizaje one-shot. El aprendizaje few-shot suele utilizar métodos basados en el aprendizaje por transferenciay el metaaprendizaje para entrenar a los modelos a fin de que reconozcan rápidamente nuevas clases con solo unos cuantos ejemplos de entrenamiento etiquetados o, en el aprendizaje one-shot, un solo ejemplo etiquetado.
El aprendizaje one-shot, como todo el aprendizaje n-shot, no se refiere a ningún algoritmo específico o arquitectura de red neuronal, sino a la naturaleza del propio problema de aprendizaje: en ZSL, el modelo no se entrena en ejemplos etiquetados de las clases no vistas anteriormente (o clases nuevas) sobre las que se le pide que haga predicciones después del entrenamiento.
La configuración de este problema no tiene en cuenta si esa clase estaba presente (aunque sin etiquetar) en los datos de entrenamiento. Por ejemplo, algunos modelos de lenguaje de gran tamaño (LLM, siglas en inglés de large language models) son adecuados para tareas de ZSL, ya que están preentrenados mediante aprendizaje autosupervisado en un corpus descomunal de texto que puede contener referencias incidentales o conocimiento sobre clases de datos no vistas anteriormente. Sin ejemplos etiquetados a los que recurrir, todos los métodos ZSL se basan en el uso de dicho conocimiento auxiliar para hacer predicciones.
Dada su versatilidad y amplia gama de casos de uso, el aprendizaje zero-shot se ha convertido en un área de investigación cada vez más notable en la ciencia de datos, particularmente en los campos de la visión artificial y el procesamiento de lenguaje natural (PLN).
En una configuración ZSL convencional, el modelo se prueba en un conjunto de datos que contiene muestras de clases de datos nuevas. Si bien es útil para desarrollar y validar metodologías zero-shot, no refleja las condiciones más comunes del mundo real: aprendizaje zero-shot generalizado (GSZL, siglas en inglés de generalized zero-shot learning) se refiere al problema específico de aprendizaje zero-shot en el que los puntos de datos que el modelo debe clasificar podrían pertenecer ya sea a clases nuevas o a clases ya conocidas: clases que el modelo ya ha “aprendido” a partir de ejemplos etiquetados.
El GSZL debe superar un desafío adicional: la tendencia de los clasificadores a sesgar las predicciones hacia clases ya conocidas dado el entrenamiento en lugar de clases nuevas a las que aún no ha estado expuesto. Como tal, el GSZL a menudo requiere técnicas adicionales para mitigar ese sesgo.
Conozca las barreras para la adopción de IA, en particular la falta de soluciones de gobernanza y gestión de riesgos de IA.
En ausencia de ejemplos etiquetados de las categorías para las que se entrena al modelo, los problemas de aprendizaje zero-shot utilizan información auxiliar: descripciones textuales, atributos, representaciones incrustadas u otra información semántica relevante para la tarea en cuestión.
En lugar de modelar directamente los límites de decisión entre clases, las técnicas de aprendizaje zero-shot generalmente dan como resultado un vector de probabilidad que representa la posibilidad de que una entrada determinada pertenezca a ciertas clases. Los métodos de GSZL pueden agregar un discriminador preliminar que primero determina si la muestra pertenece a una clase vista o a una nueva clase y luego, procede en consecuencia.
En el aprendizaje supervisado, así como en el aprendizaje few-shot (FSL), el modelo aprende a reconocer diferentes clases observando directamente uno o más ejemplos etiquetados de cada clase. Sin estas anotaciones explícitas que lo guíen, el aprendizaje zero-shot requiere una comprensión más fundamental del significado de la etiqueta.
Para hacer una analogía sencilla, imagine que un niño quiere aprender cómo es un pájaro. En un proceso parecido al aprendizaje supervisado o al FSL, el niño aprende mirando imágenes etiquetadas como “pájaro” en un libro de imágenes de animales. Más adelante, reconocerá un pájaro porque se parece a las imágenes de pájaros que ya ha visto. Pero en un escenario ZSL, no se dispone de tales ejemplos etiquetados. En cambio, el niño podría leer la entrada de una enciclopedia sobre pájaros y aprender que son animales de tamaño pequeño o mediano con plumas, picos y alas que pueden volar por el aire. Entonces será capaz de reconocer un pájaro en el mundo real, aunque no lo haya visto nunca, porque ha aprendido el concepto de pájaro.
Como se mencionó anteriormente, los LLM han demostrado un potencial natural para ZSL, derivado de su capacidad para comprender fundamentalmente el significado de las palabras utilizadas para nombrar clases de datos.
Para reducir al máximo el tiempo y los recursos necesarios para el entrenamiento, así como la cantidad de información auxiliar necesaria para identificar clases nuevas, el ZSL a menudo aprovecha el el aprendizaje por transferencia (la reutilización de un modelo entrenado para una nueva tarea) en lugar de entrenar modelos desde cero.
El aprendizaje por transferencia se utiliza de manera destacada en los métodos ZSL que representan clases y muestras como incorporaciones semánticas. Por ejemplo, un modelo que realiza una clasificación de texto zero-shot podría utilizar un modelo basado en un transformador como BERT, ya entrenado previamente en un corpus descomunal de datos lingüísticos, para convertir palabras en incrustaciones de vectores. Del mismo modo, un modelo de clasificación de imágenes zero-shot podría reutilizar una red neuronal convolucional (CNN, sigla en inglés de convolutional neural network) ResNet o U-Net, ya que ya habrá aprendido ponderaciones de filtros que conducen a identificar características importantes de la imagen que podrían fundamentar la clasificación.
El aprendizaje por transferencia es particularmente importante para GSZL, en el que el conocimiento del modelo de las clases vistas se puede utilizar como información auxiliar sobre las clases nuevas. Por ejemplo, imagine que un modelo de detección de objetos ya ha aprendido a reconocer osos pardos. En lugar de entrenarlo para que también reconozca a los osos polares proporcionándole ejemplos etiquetados de osos polares, se puede entrenar para que comprenda que los osos polares se parecen a los osos pardos, pero con pelaje blanco.
Este proceso de transferir el conocimiento aprendido a nuevas tareas y diferentes clases también se conoce como adaptación de dominio.
Los métodos de aprendizaje zero-shot basados en atributos utilizan una lógica similar a la del aprendizaje supervisado convencional. En lugar de entrenar directamente a un clasificador con ejemplos etiquetados de cada clase de datos, los clasificadores se entrenan con características etiquetadas de ciertas clases de datos, como el color, la forma u otras características clave.
Si bien las clases objetivo no se ven directamente en el entrenamiento, la etiqueta de una clase no vista anteriormente se puede inferir si sus atributos se asemejan a las clases de atributos presentes en los datos de entrenamiento.
Una vez que el clasificador ha aprendido todas las características relevantes, puede utilizar descripciones semánticas de diferentes clases. Este enfoque es particularmente útil cuando los ejemplos etiquetados de una clase objetivo no están disponibles, pero los ejemplos etiquetados de sus rasgos característicos son relativamente abundantes. Por ejemplo, un modelo puede aprender “rayas” a partir de imágenes de tigres y cebras; puede aprender “amarillo” de imágenes de canarios e “insecto volador” de imágenes de moscas. El modelo ahora puede realizar una clasificación zero-shot de abejas, a pesar de la ausencia de imágenes de abejas en el conjunto de entrenamiento, porque puede entenderlas como una combinación de características aprendidas: “insectos voladores rayados amarillos.”
Si bien son versátiles y útiles en las circunstancias adecuadas, los métodos ZSL basados en atributos tienen importantes inconvenientes:
Muchos métodos ZSL representan tanto las clases como las muestras como incrustaciones semánticas: representaciones vectoriales que se pueden utilizar para reflejar las características o el significado de (y la relación entre) diferentes puntos de datos. Luego, la clasificación se determina midiendo la similitud entre la incrustación semántica de una muestra determinada y las incrustaciones de las diferentes clases en las que podría clasificarse.
Una vez que los puntos de datos se han representado como incrustaciones, la clasificación se determina utilizando principios similares a los de los algoritmos K vecinos más cercanos: alguna métrica de distancia, como la similitud del coseno, la distancia euclidiana o la distancia de Wasserstein, se utiliza para medir la proximidad de la incrustación de los datos de entrada a las incrustaciones para cada clase potencial. Cuanto más cercana (o más similar) sea la incrustación de esa muestra de datos a la incrustación de una clase determinada, más probable será que pertenezca a esa clase.
Estas incrustaciones se pueden generar de varias maneras. Por ejemplo:
Los modelos y algoritmos previamente entrenados como BERT, word2vec o GloVe (Global Vectors) pueden generar fácilmente incrustaciones de vectores para palabras (como los nombres de las etiquetas de clase).
Del mismo modo, las redes de codificadores de redes neuronales convolucionales (CNN, siglas en inglés de convolutional neural networks) previamente entrenadas, como ResNet (o codificadores de imágenes basados en transformadores como ViT) pueden hacer lo mismo con las imágenes.
Los autocodificadores pueden aprender representaciones latentes (codificaciones comprimidas de dimensiones inferiores que aíslan las variables más distintivas de una entrada de datos determinada) de muestras o clases.
En lugar del aprendizaje por transferencia, se pueden entrenar diversas arquitecturas de redes neuronales desde cero con datos de entrenamiento relevantes, como muestras de clases de datos relevantes para las cuales hay ejemplos etiquetados disponibles, para generar incrustaciones eficaces.
Espacio de incrustación conjunta
Dado que los métodos basados en incrustaciones suelen procesar información auxiliar e incrustaciones de espacio vectorial de diferentes formas (o modalidades) de datos, como incrustaciones de palabras que describen una etiqueta de clase y la incrustación de imágenes de una fotografía que podría pertenecer a esa clase, requieren una forma de facilitar la comparación entre incrustaciones de diferentes tipos de datos.
Para poder compararlas, las incrustaciones vectoriales de diferentes tipos y tamaños deben normalizarse y proyectarse en un espacio semántico compartido de alta dimensión, denominado espacio de incrustación conjunta, donde pueden compararse en un entorno de igual a igual. En términos abstractos, esto funciona de manera similar al concepto de encontrar el mínimo común denominador para comparar fracciones diferentes. Para que un modelo logre un rendimiento de generalización, es esencial que exista una asignación sólida y correlativa entre diferentes fuentes de incrustación.3
Algunos modelos de aprendizaje zero-shot también utilizan el aprendizaje contrastivo para alinear mejor las incrustaciones semánticas de diferentes modelos o algoritmos: a través de pares de incrustaciones semánticas, el aprendizaje contrastivo entrena modelos para reducir al máximo la distancia entre pares “positivos” (como la incrustación de una imagen de un perro y la de la palabra “perro”) y aumentar al máximo la distancia entre pares “negativos” (no coincidentes).
Entrenamiento conjunto de principio a fin
Una forma eficaz de garantizar que se alineen las incrustaciones de diferentes modelos es entrenar paralelamente a esos modelos. Por ejemplo, el modelo Contrastive Language-Image Pre-training (CLIP) de OpenAI se entrenó en un enorme conjunto de datos sin etiquetar de más de 400 millones de pares de imágenes y leyendas tomados de Internet.4
Estos emparejamientos se utilizaron para entrenar conjuntamente un codificador de imágenes y un codificador de texto desde cero, utilizando la pérdida contrastiva para maximizar la similitud de coseno entre las incrustaciones de imágenes y las incrustaciones de sus leyendas correspondientes. Esto generó una capacidad natural para la clasificación zero-shot: sin ajustes, CLIP demostró un sólido rendimiento de clasificación en 27 conjuntos de datos de clasificación de imágenes diferentes.
La IA generativa ofrece una solución alternativa al problema de aprendizaje de zero-shot: utilizar información auxiliar para generar datos de muestra.
Los métodos basados en modelos generativos pueden aprovechar las representaciones semánticas de clases nuevas para generar muestras que, una vez etiquetadas, se pueden usar para convertir el problema de aprendizaje en aprendizaje supervisado estándar. Aunque las muestras no etiquetadas (o representaciones de clases ya conocidas estrechamente relacionadas) pueden ayudar en la síntesis de las muestras, en un entorno zero-shot, este proceso a menudo se basa principalmente en descripciones semánticas.
Los LLM pueden reducir la mano de obra necesaria para producir descripciones de alta calidad: en el documento de lanzamiento de su modelo de generación de texto a imagen DALL-E 3, OpenAI señaló que leyendas sintéticas incluso mejoraron el rendimiento del modelo en relación con las leyendas de “verdad fundamental”.5
Autocodificadores variacionales
Los autocodificadores variacionales (VAE, siglas en inglés de variational autoencoder) son modelos generativos autosupervisados que aprenden representaciones latentes de datos de entrenamiento como una distribución paramétrica de variables latentes. En otras palabras, aprenden a codificar una clase de datos no como una incrustación semántica estática, sino como una distribución de probabilidades en un espacio latente. Luego, el decodificador se puede usar para generar una muestra aleatoria de ese espacio latente. Los VAE condicionales (CVAE) pueden restringir las propiedades de las muestras sintetizadas maximizando la probabilidad de las variables elegidas.
Redes generativas antagónicas (GAN)
Las GAN constan de dos redes neuronales, entrenadas conjuntamente en un juego de suma cero antagónico: un generador que utiliza atributos semánticos y ruido gaussiano para sintetizar muestras y un discriminador que determina si las muestras son reales o “falsas” (es decir, sintetizadas por el generador ). La retroalimentación del discriminador se utiliza para entrenar al generador hasta que el discriminador ya no pueda distinguir entre muestras reales y falsas. Desde el documento original sobre GAN en 2014, se han desarrollado diversas modificaciones para refinar y estabilizar este proceso.
VAEGAN
Tanto los VAE como las GAN presentan inconvenientes:
Los VAE son estables, pero tienden a generar imágenes borrosas debido a la naturaleza de cómo se reconstruyen las muestras a partir del espacio latente.
Las GAN aprenden a generar imágenes de alta calidad, pero son propensas a la desestabilización porque deben converger dos procesos de entrenamiento separados y distintos.
Aunque se han desarrollado varias modificaciones para refinar y estabilizar ambos procesos, la combinación de las dos arquitecturas modelo ha arrojado resultados prometedores en un entorno zero-shot.6
Modelos de lenguaje de gran tamaño (LLM)
Los LLM también se pueden usar para sintetizar muestras etiquetadas: por ejemplo, usando un modelo autorregresivo, como Llama 2, para generar muestras que se pueden usar para entrenar un modelo de lenguaje bidireccional, como Sentence-BBERT, para tareas de clasificación de texto.
Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de aprendizaje automático con facilidad, y cree aplicaciones de IA en una fracción del tiempo con un fragmento de los datos.
Reimagine su forma de trabajar con IA: nuestro equipo global y diverso de más de 20 000 expertos puede ayudarle a diseñar y escalar la IA y la automatización en su empresa con rapidez y confianza, trabajando con nuestra propia tecnología IBM watsonx y un ecosistema abierto de socios para ofrecer cualquier modelo de IA, en cualquier nube, guiado por la ética y la confianza.
Escale los analytics y la IA con todos sus datos, dondequiera que residan, con formatos abiertos para acceder a todos sus datos a través de un único punto de entrada y una interfaz conversacional generativa impulsada por IA para encontrar, aumentar y visualizar datos fácilmente, y desbloquear nuevos insights sobre datos.
No existe una única forma correcta de dar prompts a los modelos fundacionales. Pero se han encontrado patrones fiables en el mundo académico y en la industria. Utilice los ejemplos de este tutorial para desarrollar sus habilidades y su intuición sobre la ingeniería de prompts, incluso para tareas zero-shot, a través de la experimentación.
El aprendizaje autosupervisado se utiliza en el entrenamiento de una amplia gama de arquitecturas sofisticadas de aprendizaje profundo para una variedad de tareas, desde LLM basados en transformadores como BERT y GPT hasta modelos de síntesis de imágenes, como los VAE y las GAN hasta modelos de visión artificial, como SimCLR y Momentum Contrast (MoCo).
Los LLM demuestran una generalización zero-shot razonable en un conjunto diverso de tareas. Se ha planteado la hipótesis de que esto es una consecuencia del aprendizaje multitarea implícito en el entrenamiento. ¿Puede la generalización zero-shot ser inducida directamente por el aprendizaje multitarea explícito? Probamos esta cuestión a escala.
Todos los enlaces son externos a ibm.com
1 “Recognition-by-components: A theory of human image understanding,” Psychological Review vol. 94 (págs. 115–147), 1987.
2 "Zero-shot Learning Using Multimodal Descriptions," Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops, 2022.
3 "Data-Efficient Language-Supervised Zero-Shot Learning with Self-Distillation," arXiv, 18 de abril de 2021.
4 "CLIP: Connecting text and images," OpenAI, 5 de enero de 2021.
5 "Improving Image Generation with Better Captions," OpenAI, 2023.
6 "Zero-VAE-GAN: Generating Unseen Features for Generalized and Transductive Zero-Shot Learning," PubMed, 13 de enero de 2023.