Curso 2022/23

Explorando el Zero Shot Learning: Una innovadora metodología en el aprendizaje automático

1. Introducción

En el ámbito de la inteligencia artificial y el aprendizaje automático, una técnica revolucionaria conocida como Zero Shot Learning o aprendizaje con cero muestras de entrenamiento, está ganando terreno. Esta metodología prometedora está cambiando la forma en que las máquinas aprenden y reconocen objetos, sin necesidad de un entrenamiento específico previo. Al utilizar el Zero Shot Learning, las máquinas pueden adquirir conocimiento sobre conceptos nunca antes vistos, abriendo así nuevas posibilidades en el reconocimiento de imágenes y la comprensión de texto. En esta entrada de blog, examinaremos en detalle qué es exactamente el Zero Shot Learning y todos los aspectos que lo contextualizan.

2. Estado del arte

Zero Shot Learning es un concepto dentro del aprendizaje automático que se ocupa del escenario en el que el modelo se entrena en un conjunto de clases y se prueba en otro conjunto de clases sin recibir supervisión para el segundo conjunto. Es una tarea desafiante que requiere que el modelo aprenda a reconocer nuevas clases basándose en sus atributos, en lugar de memorizar solo los ejemplos del conjunto de entrenamiento. En los últimos años, se ha logrado un progreso significativo en el campo del aprendizaje sin ejemplos, y se han propuesto muchas técnicas para abordar este problema.

Rezaei y Shahidi (2020) [1] ofrecen una revisión exhaustiva de las técnicas de aprendizaje sin ejemplos y sus aplicaciones, desde vehículos autónomos hasta el diagnóstico de COVID-19. Long et al. (2017) [2] proponen un método para sintetizar datos visuales invisibles para el Zero-Shot Learning, lo que permite una transformación de este a la clasificación supervisada convencional. Xian et al. (2020) [3] evalúan los algoritmos de vanguardia para el aprendizaje sin ejemplos, destacando sus fortalezas y debilidades. Proporcionan una evaluación exhaustiva de los diferentes enfoques de aprendizaje sin ejemplos y sus limitaciones. Yang et al. (2022) [5] realizan una encuesta sobre la clasificación de imágenes sin ejemplos, abarcando una amplia gama de métodos, implementaciones y evaluaciones justas. Además, Fool et al. (2017) [6] ofrecen una descripción general de los avances recientes en el reconocimiento sin ejemplos, discutiendo la investigación más reciente sobre este tema.

En general, el aprendizaje sin ejemplos es un área de investigación activa, y hay muchos esfuerzos en curso para mejorar el rendimiento de los modelos en esta tarea desafiante. Los investigadores han propuesto varios enfoques diferentes, cada uno con sus fortalezas y limitaciones. Sin embargo, los avances significativos logrados hasta ahora en esta área han demostrado el potencial del aprendizaje sin ejemplos para abordar muchos problemas del mundo real al permitir modelos que generalizar a nuevas clases con cantidad limitadas de datos de entrenamiento.

3. Desarrollo

Zero-Shot Learning (ZSL) es un enfoque revolucionario en el campo del aprendizaje automático que permite a los modelos reconocer y clasificar objetos, o simplemente conceptos, sin haberlos visto previamente durante el entrenamiento. Se logra estableciendo una relación semántica entre los datos de entrenamiento y los nuevos datos de prueba, lo que facilita la transferencia de conocimientos a través de dominios no vistos. Esta metodología demuestra su poder como una herramienta que amplía las capacidades de los modelos y tiene aplicaciones en diversos campos, desde la visión por computadora hasta el procesamiento del lenguaje natural. Mientras que el Zero-Shot Learning se basa en la capacidad de reconocer clases no vistas durante el entrenamiento, existen otros tipos de aprendizaje diferentes a este:

One-Shot Learning (OSL) [1]
One-Shot Learning es un desafío que consiste en aprender clases novedosas con un conjunto de entrenamiento reducido, compuesto por una o unas pocas imágenes por categoría.

Few-Shot Learning (FSL) [1]
Few-Shot Learning aborda el desafío de aprender nuevas clases con un conjunto de datos de entrenamiento pequeño, generalmente unos pocos ejemplos por categoría.

Dentro del Zero-Shot Learning existen diferentes tipos de arquitecturas [4] como la basada en grafos, la basada en redes neuronales convolucionales y la basada en redes neuronales recurrentes. Cada una de estas arquitecturas tiene sus propias características y funcionalidades. En la arquitectura basada en grafos se utilizan grafos semánticos para representar las relaciones entre las características de los objetos y las categorías. En la arquitectura basada en redes neuronales convolucionales se utilizan redes neuronales convolucionales para extraer características de las imágenes y se combinan con atributos de texto para realizar la clasificación. Por último, en la arquitectura basada en redes neuronales recurrentes se utilizan redes neuronales recurrentes para aprender una representación de los atributos de texto y se combinan con características visuales para realizar la clasificación.

Finalmente, con respecto a las métricas de evaluación comunes utilizadas en el aprendizaje sin supervisión, como el Zero-Shot Learning, incluyen la Exactitud (Accuracy), la Precisión (Precision), la Sensibilidad (Recall) y el F1-score. La exactitud calcula el porcentaje de predicciones correctamente etiquetadas en comparación con el total de predicciones realizadas. La precisión mide la fracción de instancias que se clasifican correctamente como positivos en relación con el total de instancias que se clasifican como positivas. La sensibilidad mide la fracción de los verdaderos positivos que se identifican correctamente como tales en relación con el total de verdaderos positivos. El F1-score es una medida que combina tanto la precisión como la sensibilidad.

En resumen, el Zero-Shot Learning es un enfoque revolucionario que permite reconocer y clasificar objetos o conceptos no vistos previamente durante el entrenamiento, estableciendo relaciones semánticas. Además, existen otros enfoques como el One-Shot Learning y el Few-Shot Learning. En cuanto a las métricas de evaluación comunes en el aprendizaje sin supervisión, se utilizan la exactitud, precisión, sensibilidad y F1-score para medir la calidad de las predicciones.

4. Materiales y Resultados

En el contexto de los experimentos realizados, se utilizó la biblioteca Transformers [7], en particular la librería pipeline, para implementar un clasificador de Zero-Shot Learning. Esta biblioteca, desarrollada por Hugging Face, proporciona una interfaz sencilla y eficiente para utilizar modelos pre-entrenados en tareas de procesamiento del lenguaje natural. El clasificador de Zero-Shot Learning, cargado mediante el código proporcionado, permite asignar automáticamente etiquetas a textos sin la necesidad de entrenar un modelo específico para cada clase. Utilizando técnicas de transferencia de aprendizaje, el clasificador aprovecha un modelo pre-entrenado en una amplia gama de tareas de clasificación y puede ser aplicado a problemas en los que se necesita clasificar textos en clases no vistas previamente.

# Importación de la librería de trabajo
from transformers import pipeline

# Cargar el modelo de zero-shot classification
classifier = pipeline("zero-shot-classification")

Este código presenta un ejemplo de clasificación de una frase sin haberla visto durante el entrenamiento utilizando el clasificador de Zero-Shot Learning. En este caso, se proporciona la secuencia de texto “El hielo es agua en estado sólido” y se define una lista de posibles etiquetas de clasificación, como “animales”, “deportes”, “comida”, “geografía” y “ciencia”. Al ejecutar el clasificador, se obtiene un resultado que muestra la clasificación más probable para la frase de entrada, así como la confianza asociada a esa clasificación. En este ejemplo específico, se imprimiría la secuencia de texto, la clasificación obtenida (“ciencia”) y la confianza asociada a esa clasificación (por ejemplo, 0.3024).


# Clasificar una frase sin necesidad de haberla visto durante el entrenamiento
sequence = "El hielo es agua en estado sólido"
candidate_labels = ["animales", "deportes", "tecnología", "comida", "geografía", "ciencia"]

result = classifier(sequence, candidate_labels)

# Imprimir los resultados
print("Secuencia:", sequence)
print("Clasificación:", result['labels'][0])
print("Confianza:", result['scores'][0])

Procedemos a mostrar a continuación, distintos ejemplos de utilización del código para observar si la clasificación la realiza de manera correcta o comete fallos significativos:

5. Discusión

En los resultados anteriores, se clasificaron correctamente las secuencias: “Las islas Azores pertenecen a Portugal” como “geografía” (confianza: 0.33), “Zero-Shot Learning (ZSL) es un enfoque revolucionario en el campo del aprendizaje automático” como “tecnología” (confianza: 0.79), y “Zoe es un cachorro de la raza Pomerania” como “animales” (confianza: 0.86).

6. Referencias

[1] Rezaei, M., & Shahidi, M. (2020). Zero-shot learning and its applications from autonomous vehicles to COVID-19 diagnosis: A review. Intelligence-Based Medicine, 3-4, 100005. Enlace al documento
[2] Long, Y., Liu, L., Shao, L., Shen, F., Ding, G., & Han, J. (2017). From Zero-shot Learning to Conventional Supervised Classification: Unseen Visual Data Synthesis. Department of Electronic and Electrical Engineering / University of Sheffield; School of Computing Sciences / University of East Anglia; Center for Future Media / University of Electronic Science and Technology of China; School of Software / Tsinghua University; Department of Computer Science and Digital Technologies / Northumbria University Enlace al documento
[3] Xian, Y., Lampert, C.H., Schiele, B., & Akata, Z. (2020). Zero-Shot Learning: A Comprehensive Evaluation of the Good, the Bad, and the Ugly. Enlace al documento
[4] Xian, Y., Schiele, B., & Akata, Z. (2020). Zero-Shot Learning: The Good, the Bad, and the Ugly. Max Planck Institute for Informatics. Enlace al documento
[5] Yang, G., Ye, Z., Zhang, R., & Huang, K. (2022). A Comprehensive Survey of Zero-shot Image Classification: Methods, Implementation, and Fair Evaluation. Department of Intelligent Science / Xi’an Jiaotong-Liverpool University; Department of Foundational Mathematics / Xi’an Jiaotong-Liverpool University; Institute of Applied Physical Sciences and Engineering / Duke Kunshan University. Enlace al documento
[6] Fu, Y., Xiang, T., Jiang, Y.-G., Xue, X., Sigal, L., & Gong, S. (2017). Recent Advances in Zero-shot Recognition. Enlace al documento
[7] Hugging Face. Transformers Documentation. Extraído de: Enlace a la documentación