¿Qué es Few-Shot Learning?

¿Qué es Few-Shot Learning?

Few-shot learning es un marco de machine learning en el que un modelo de IA aprende a hacer predicciones precisas entrenando en un número muy pequeño de ejemplos etiquetados. Se suele utilizar para entrenar modelos para tareas de clasificación cuando los datos de entrenamiento adecuados son escasos.

Few-Shot Learning (FSL) es un subconjunto de lo que a veces se denomina n-shot learning, una categoría de inteligencia artificial que también incluye one-shot learning (en el que solo hay un ejemplo etiquetado de cada clase que se va a aprender) y zero-shot learning (en el que no hay ejemplos etiquetados en absoluto). Mientras que el one-shot learning no es más que una variante desafiante del FSL, el zero-shot learning es un problema de aprendizaje distinto que requiere sus propias metodologías.

 En principio, el FSL tiene como objetivo emular la capacidad humana de aprender de unos cuantos ejemplos. Esto contrasta con el aprendizaje supervisado convencional, que suele utilizar muchos cientos (o miles) de puntos de datos etiquetados en muchas rondas de entrenamiento para enseñar a los modelos de IA a reconocer clases de datos. Si bien el aprendizaje supervisado es poco práctico en algunos entornos del mundo real, obtener ejemplos etiquetados a menudo es difícil debido a los costos prohibitivos, la experiencia específica del dominio necesaria para anotar los datos correctamente o, en escenarios como la escritura a mano única, las enfermedades raras o las especies en peligro de extinción y recién descubiertas, la escasez de muestras existentes.

Si bien ciertos algoritmos específicos y arquitecturas de redes neuronales han logrado un éxito notable en las tareas de FSL, el FSL se define por la naturaleza del problema de aprendizaje más que por el uso de cualquier método o estructura de modelo específico. Los métodos de FSL varían ampliamente, desde la adaptación de modelos previamente entrenados para su uso en tareas similares hasta el uso de modelos generativos para crear nuevas muestras y métodos de metaaprendizaje, que entrenan modelos para generalizar bien a nuevos problemas de clasificación y diferentes clases de datos, en lugar de realizar una tarea específica.

Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA 


Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

¿Cómo funciona la clasificación few-shot?

Aunque el FSL puede utilizar una amplia variedad de algoritmos o arquitecturas de redes neuronales, la mayoría de los métodos se basan en el aprendizaje por transferencia o el metaaprendizaje (o una combinación de ambos).

Si bien el FSL también se puede aplicar a tareas de regresión (o incluso aprendizaje por refuerzo), la mayoría de la documentación de FSL se centra en casos de uso de clasificación. Algunos métodos de FSL se pueden utilizar junto con otras soluciones que abordan la escasez de datos etiquetados: por ejemplo, en métodos de aprendizaje semisupervisado que incorporan información de grandes cantidades de datos no etiquetados junto con información del FSL en las limitadas muestras etiquetadas disponibles.1

Transferir aprendizaje

Los métodos basados en el aprendizaje por transferencia se centran en la adaptación de un modelo previamente entrenado para aprender nuevas tareas o clases de datos no vistas previamente.

Cuando se dispone de pocas muestras etiquetadas, utilizar el aprendizaje supervisado para entrenar un modelo desde cero, especialmente uno con un gran número de parámetros, como las redes neuronales convolucionales (CNN) que se suelen utilizar en visión artificial o las redes basadas en transformadores que se emplean en el procesamiento de lenguaje natural (PLN), suele conducir a un sobreajuste: el modelo puede funcionar bien en los datos de prueba, pero mal en los datos del mundo real. Pero recopilar una cantidad suficientemente grande de datos para evitar el sobreajuste suele ser un cuello de botella en el entrenamiento de modelos.

El aprendizaje por transferencia ofrece una solución práctica: aprovechar las características y representaciones útiles que un modelo entrenado ya ha aprendido. Un enfoque simple es ajustar un modelo de clasificación para realizar la misma tarea para una nueva clase a través del aprendizaje supervisado en un pequeño número de ejemplos etiquetados. Los enfoques más complejos enseñan nuevas habilidades a través del diseño de tareas posteriores relevantes (a menudo, de metaaprendizaje) a un modelo que ha sido entrenado previamente a través de tareas de pretexto: esto es cada vez más común en el PLN, particularmente en el contexto de modelos fundacionales.

Los enfoques de aprendizaje de transferencia más complejos adaptan una red neuronal entrenada a través de cambios en la arquitectura de la red: por ejemplo, reemplazar o volver a entrenar las capas externas de una red neuronal, donde se produce la clasificación final, mientras se mantienen las capas internas donde se produce la extracción de características. Congelar (o regularizar de otro modo los cambios en) las ponderaciones del modelo para todas las capas, excepto para las capas más externas, puede garantizar que las actualizaciones posteriores no den como resultado un “olvido catastrófico” del conocimiento ya aprendido. Esto permite un aprendizaje muy acelerado en un contexto de few-shot.

El aprendizaje por transferencia es más eficaz cuando el entrenamiento inicial del modelo es relevante para la nueva tarea. Por ejemplo, un modelo entrenado para determinadas especies de aves se generalizará bien a especies de aves no vistas tras un ajuste con solo unas cuantas muestras etiquetadas, porque las ponderaciones aprendidas de los filtros que la CNN utiliza para las convoluciones ya están optimizados para captar características relevantes para la clasificación de aves (como el plumaje, los picos, el tamaño de las alas, etc.), pero, si se utiliza el aprendizaje de pocas muestras para enseñar al mismo modelo a reconocer vehículos, el rendimiento será menos satisfactorio.

Enfoque a nivel de datos

Una solución alternativa al problema de las muestras de datos etiquetadas limitadas es generar muestras de entrenamiento adicionales. Esto es particularmente útil cuando los ejemplos del mundo real de una determinada clase de datos son extremadamente escasos, como puede ocurrir cuando se trata de enfermedades raras o especies exóticas.

La generación de datos, a través de modelos generativos, como las redes generativas adversativas (GAN) o los autocodificadores variacionales (VAE), puede producir suficientes muestras que se parezcan a las muestras etiquetadas originales para realizar el aprendizaje supervisado convencional, siempre que las muestras originales tuvieran suficiente diversidad para evitar el sobreajuste.

El aumento de datos, el proceso de creación de nuevas muestras mediante la aplicación de diferentes transformaciones a las muestras originales, se puede combinar con otros métodos: por ejemplo, se puede utilizar para crear muestras coincidentes para su uso en el metaaprendizaje de métricas en un proceso similar al aprendizaje autosupervisado contrastivo.

aprendizaje meta

A diferencia del aprendizaje supervisado o el ajuste, en el que un clasificador se entrena en las tareas exactas para las que se utilizará y el conjunto de entrenamiento contiene las mismas clases en las que se probará el modelo, el metaaprendizaje adopta un enfoque más amplio e indirecto. Mientras que los enfoques basados en el aprendizaje por transferencia adaptan modelos previamente entrenados, los métodos de metaaprendizaje a menudo entrenan sistemas de extremo a extremo desde cero. 

Según Santoro, et al. el "metaaprendizaje" se refiere a escenarios en los que se utilizan múltiples tareas para entrenar un modelo tanto a corto como a largo plazo. Dentro de cada tarea, el modelo aprende rápidamente a hacer predicciones relevantes para el dominio limitado de esa tarea específica; a través de las tareas, el modelo acumula conocimientos gradualmente capturando la forma en que los patrones y la estructura de la tarea varían a través de los dominios objetivo. Este proceso de dos niveles suele describirse como el modelo "aprender a aprender". 2

Por ejemplo, el objetivo de muchos métodos de metaaprendizaje destacados es entrenar una función de modelo, a lo largo de múltiples episodios de entrenamiento, para generar una predicción del grado de similitud entre puntos de datos de cualquier clase (incluidas las clases que el modelo aún no ha visto) para luego utilizar lo aprendido de ese proceso para resolver tareas posteriores (como problemas de clasificación específicamente definidos).

Algunos enfoques de metaaprendizaje funcionan en un nivel más abstracto, entrenando modelos para que sean fáciles de entrenar. En el aprendizaje supervisado tradicional, los parámetros de un modelo (como ponderaciones y sesgos) son lo que se "aprende", mientras que los hiperparámetrosdel modelo (como la tasa de aprendizaje o cómo se inicializan los parámetros) se configuran antes del entrenamiento y no forman parte del proceso de aprendizaje. El metaaprendizaje puede aproximarse a los beneficios del aprendizaje por transferencia al aprender puntos de partida ideales: inicializaciones de parámetros u otras opciones de hiperparámetros que se generalizarán bien a diferentes conjuntos de datos en una cantidad mínima de pasos de entrenamiento.

Clasificación N-way-K-shot

Aunque se puede utilizar una amplia variedad de arquitecturas de modelos de aprendizaje automático para el FSL, la estructura del entrenamiento y la evaluación del FSL generalmente sigue un marco N-way-K-shot, en el que N representa el número de clases y K, el número de ejemplos (o “shots”) proporcionados para cada clase.

 En la clasificación N-way-K-shot, el modelo se somete a múltiples episodios de entrenamiento. Cada episodio de entrenamiento consiste en una o más tareas de entrenamiento. Los modelos se evalúan mediante tareas de prueba, cuya estructura refleja la de las tareas de entrenamiento. Cada tarea de entrenamiento (y tarea de prueba) comprende dos conjuntos de datos:

  • El conjunto de soporte contiene K muestras de entrenamiento etiquetadas para cada una de las N clases. El modelo usa estos ejemplos de compatibilidad para aprender representaciones generalizadas para cada clase. Por ejemplo, el conjunto de datos de una tarea de clasificación de 3-way-2-shot 2 contiene 3 clases de imágenes y proporciona 2 ejemplos de cada una. Cuando K= 1, la tarea es one-shot learning. Cuando K= 0, el problema es zero-shot learning,que generalmente requiere soluciones únicas.
  • El conjunto de consultas contiene uno o más ejemplos nuevos para cada una de las N clases. Mediante representaciones aprendidas del conjunto de soporte, el modelo predice la clasificación para cada ejemplo en el conjunto de consulta. Una función de pérdida mide la divergencia ("pérdida") entre las predicciones del modelo y las predicciones "correctas"; después de cada episodio de entrenamiento, los parámetros del modelo se ajustan (optimizan) para minimizar la pérdida. 

Debido a que el objetivo del metaaprendizaje es entrenar modelos para generalizar bien a datos no vistos, en lugar de reconocer clases específicas de datos, cada tarea de entrenamiento suele incluir clases de datos diferentes a las utilizadas en cualquier tarea de entrenamiento anterior.

Para probar la capacidad del modelo para hacer predicciones de similitud precisas para clases hasta ahora no vistas, el conjunto de soporte y el conjunto de consultas utilizados para las pruebas deben contener clases de datos completamente nuevas a las que el modelo aún no ha estado expuesto en las tareas de entrenamiento.

Metaaprendizaje basado en métricas

Los algoritmos de metaaprendizaje basados en métricas funcionan según un principio similar al de K vecinos más cercanos: en lugar de predecir la clasificación modelando directamente el límite de decisión entre clases, los enfoques basados en métricas generan un valor continuo (como una incrustación de vectores) para representar una muestra de datos determinada y hacer inferencias aprendiendo una función que mide cierta métrica de distancia, que representa la similitud entre este valor y el valor de las diferentes muestras o clases con las que se compara.

Algoritmos FSL basados en métricas

Redes siamesas

Las redes siamesas, un desarrollo relativamente temprano en algoritmos basados en métricas, resuelven problemas de clasificación binaria mediante el uso de aprendizaje contrastivo: cuando se indican dos muestras, las redes siamesas predicen si se trata de un par positivo (coincidente) o negativo (no coincidente). La función de pérdida del modelo se utiliza para minimizar la distancia entre incrustaciones de vectores de pares positivos y maximizar la distancia entre incrustaciones de pares negativos. Los modelos de pérdida de tripletes son bastante similares: dada una muestra “ancla” y dos muestras adicionales (una coincidente y otra no), el modelo predice cuál es una coincidencia positiva y cuál es negativa.

En ambos métodos, es importante que las muestras de entrenamiento sean relativamente difíciles de distinguir entre sí; de lo contrario, el modelo no se verá obligado a aprender parámetros que produzcan incrustraciones más efectivas. El aumento de datos se utiliza a menudo cuando las muestras coincidentes son escasas.

Redes coincidentes

Mientras que las redes siamesas solo pueden resolver tareas de clasificación binaria, las redes coincidentes pueden realizar una clasificación multidireccional. Como tal, se considera uno de los primeros algoritmos dedicados de FSL.

Las redes coincidentes generan una incrustación para cada muestra en los conjuntos de compatibilidad y consulta mediante una red neuronal adecuada (como una CNN para tareas de imagen o LLM para tareas de lenguaje natural), y predicen la clasificación midiendo la distancia de coseno entre la incrustación de la muestra de consulta y la de las muestras de compatibilidad disponibles.

Redes prototípicas

Las redes prototípicas calculan las características promedio de todas las muestras disponibles para cada clase con el fin de calcular un prototipo para cada clase. La clasificación de un punto de datos dado se determina por su relativa proximidad a los prototipos de cada clase. A diferencia de las redes coincidentes, las redes prototípicas utilizan la distancia euclidiana en lugar de la distancia del coseno.

Se han propuesto muchos ajustes a este enfoque: por ejemplo, Zhu y Koniusz propuestos utilizando la propagación de etiquetas para mejorar el proceso de creación de prototipos.3

Redes de relaciones

Una red de relaciones (RN) opera bajo el mismo principio general que las redes coincidentes y prototípicas. Las RN también utilizan un módulo de incrustación que aprende a calcular incrustaciones para imágenes de entrada y prototipos de clase, pero, a diferencia de esos dos algoritmos, que predefinen la función de distancia utilizada para comparar incrustaciones, las RN agregan un módulo de relación que aprende una función de distancia no lineal que es la que mejor se adapta a los problemas de clasificación específicos en cuestión.

Mixture of Experts | Podcast

Decodificación de la IA: Resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

Metaaprendizaje basado en la optimización

Tradicionalmente, el aprendizaje profundo requiere muchas actualizaciones iterativas de los parámetros del modelo a través de la retropropagación y el descenso de gradiente, que, a su vez, depende de una gran cantidad de ejemplos etiquetados para completar los lotes de entrenamiento. Para entrenar de manera eficiente una red neuronal desde cero para un aprendizaje few-shot, se requiere una forma de optimizar las ponderaciones del modelo en solo unos pocos pasos de actualización.

Métodos FSL basados en la optimización

Los enfoques de metaaprendizaje basados en la optimización, también conocidos como metaaprendizaje basado en gradientes (GMBL), tienen como objetivo aprender los parámetros iniciales del modelo o hiperparámetros para una red neuronal que se puede ajustar de manera eficiente para tareas relevantes. Lo logran optimizando el proceso de descenso de gradiente, es decir, metaoptimizando el proceso de optimización en sí.

Metaaprendizaje independiente del modelo (MAML)

El MAML se encuentra entre los enfoques basados en la optimización más destacados y ha servido como base para una serie de enfoques derivados de su metodología central. Como su nombre indica, el metaaprendizaje independiente del modelo no se centra en una tarea específica o en la arquitectura del modelo de IA: puede utilizarse en cualquier modelo que aprenda mediante un descenso de gradiente.

El MAML implica dos niveles diferentes de actualizaciones de parámetros en un conjunto de tareas variadas de entrenamiento de FSL, p(T). En cada episodio de entrenamiento, se realiza una muestra aleatoriamente de una nueva tarea Ti de p(T); el descenso del gradiente, realizado en K pasos de tamaño α, se utiliza para optimizar un vector de parámetros del modelo específicos de la tarea (θ’i) después de cada tarea de entrenamiento. A lo largo de múltiples episodios de entrenamiento, se optimiza un conjunto de metaparámetros (θ) aplicando descenso de gradiente, en metapasos de tamaño β, a esos parámetros específicos de la tarea θ'i. Es decir, mientras que el descenso de gradiente ordinario calcula las derivadas con el fin de optimizar los parámetros de un modelo para una tarea determinada, el MAML calcula las derivadas de las derivadas (o "derivadas de segundo orden") para optimizar los parámetros iniciales de un modelo para la posterior optimización específica de la tarea.

Según el documento original, el objetivo es “encontrar parámetros del modelo que sean sensibles a los cambios en la tarea, de modo que pequeños cambios en los parámetros produzcan grandes mejoras en la función de pérdida de cualquier tarea extraída de p(T)”. Esto produce beneficios similares a los del aprendizaje por transferencia, al tiempo que evita la necesidad de grandes cantidades de datos etiquetados para el entrenamiento previo.

Las adaptaciones propuestas al MAML incluyen:

  • MAML de primer orden (FOMAML): la dependencia de MAML en derivados de segundo orden es costosa desde el punto de vista computacional y requiere una gran cantidad de memoria. El FOMAML simplifica el proceso a través de una serie de suposiciones que permiten la metaoptimización utilizando solo derivadas de primer orden.

  • Reptile: presenta un punto intermedio entre la sofisticación del MAML y la simplicidad del FOMAML: utiliza derivados de primer orden, pero implementa reglas únicas sobre cómo se actualizan los parámetros.4

  • Optimización del tamaño del paso: variantes como Meta-SGD5 y Alpha MAML6 agregan la capacidad de optimizar el tamaño y la dirección del paso para α y β. Del mismo modo, MAML++7 introduce una serie de modificaciones para aumentar la estabilidad y la eficiencia computacional.

Metaaprendizaje LTSM

Los enfoques de metaaprendizaje pueden hacer uso de redes de memoria a largo plazo (LSTM) basadas en RNN para entrenar un modelo de metaaprendizaje, que capture tanto el conocimiento a corto plazo de cada tarea de entrenamiento como el conocimiento a largo plazo común a cada tarea. Este metaaprendizaje se utiliza entonces para entrenar un clasificador de redes neuronales.

Optimización de incrustación latente (LEO)

En lugar de crear instancias y actualizar explícitamente un conjunto único de metaparámetros del modelo θ, la optimización de incrustación latente aprende una distribución generativa de parámetros del modelo específicos de la tarea de manera similar a los autocodificadores variacionales (VAE), que tiene el mismo propósito. La optimización del gradiente puede entonces realizarse dentro de ese espacio de incrustación aprendido y de baja dimensión.

Casos de uso de FSL

Las técnicas de FSL tienen una amplia variedad de aplicaciones, ya que muchas industrias y campos de investigación se benefician de la capacidad de aprender de forma rápida y eficaz a partir de relativamente pocos ejemplos.

Visión artificial

Si bien muchos algoritmos de FSL destacados se desarrollaron originalmente para (o se probaron en) tareas de clasificación de imágenes, el FSL también se puede utilizar para problemas de visión artificial más complejos.

Aunque la detección de objetos es un problema bastante más complejo que la clasificación de imágenes, ya que los objetos no solo deben clasificarse, sino también localizarse con precisión, por lo general; toma como requisito previo la clasificación de imágenes. De este modo, muchas de las ideas utilizadas para la clasificación pueden adoptarse para la detección de objetos few-shot.8

Del mismo modo, se han propuesto varias arquitecturas de modelos para la segmentación semántica few-shot.9

Robótica

El FSL puede permitir que los robots se adapten rápidamente a nuevos entornos y nuevas tareas a través de tareas de clasificación few-shot10 y aprendizaje por refuerzo.11

Procesamiento del lenguaje natural

El FSL ha mostrado resultados prometedores para el procesamiento del lenguaje natural (PLN), particularmente a través del aprendizaje por transferencia: es una forma intuitiva de adaptar modelos de lenguaje de gran tamaño (LLM), previamente entrenados en un corpus masivo de datos sin etiquetar, a tareas específicas, como la clasificación de texto y el análisis de sentimientos que pueden requerir una comprensión contextual específica.

Atención médica

El potencial del FSL para aclimatar rápidamente un modelo a clases de datos raras y no vistas es particularmente prometedor para los campos médicos, en los que la rareza de ciertas condiciones o la experiencia requerida para anotar con precisión datos médicos (como resonancia magnética o ecocardiografía) pueden hacer que la adquisición de un gran número de muestras etiquetadas sea prohibitivamente difícil.

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

Explore watsonx.ai Reserve una demostración en vivo
Notas de pie de página

1 "Realistic Evaluation of Deep Semi-Supervised Learning Algorithms", arXiv, 17 de junio de 2019
2 "A survey on semi-supervised learning", Springer, 15 de noviembre de 2019
3 "Transductive active learning – A new semi-supervised learning approach based on iteratively refined generative models to capture structure in data", Information Sciences (Volume 293), 18 de septiembre de 2014
4 "Semantic Segmentation with Active Semi-Supervised Learning", arXiv, 16 de octubre de 2022
5 "Semi-supervised learning by Entropy Minimization", Advances in Neural Information Processing Systems 17, 2004
6 "Density-based semi-supervised clustering", Data Mining and Knowledge Discovery, noviembre de 2010
7 "Semi-Supervised Learning with Ladder Networks", arXiv, 24 de noviembre de 2015
8 "Learning with Pseudo-Ensembles", arXiv, 16 de diciembre de 2014
9 "Temporal Ensembling for Semi-Supervised Learning", arXiv, 15 de marzo de 2017
10 "Improved Techniques for Training GANs", arXiv, 10 de junio de 2016