Inicio topics few shot learning ¿Qué es Few-Shot Learning?
Explorar nuestra plataforma de IA Suscríbase para recibir actualizaciones sobre IA
Ilustración con collage de pictogramas de nubes, gráfico circular, pictogramas gráficos
¿Qué es Few-Shot Learning?

Few-Shot Learning es un marco de aprendizaje automático 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.

Por qué la gobernanza de la IA es un imperativo empresarial para escalar la IA empresarial

Conozca los obstáculos para la adopción de la IA, en particular la falta de soluciones de gobernanza y gestión de riesgos.

Contenido relacionado

Regístrese para obtener la guía sobre modelos fundacionales

¿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 aprendizajesemisupervisado 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 pretextoautosupervisadas: 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.

Lea el documento: "Siamese Neural Networks for One-shot Image Recognition"
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.

Lea el documento: "Matching Networks for One Shot Learning"
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

Lea el documento: "Prototypical Networks for Few-shot Learning"
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.

Lea el documento: "Learning to Compare: Relation Network for Few-Shot Learning"
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 el FSL, 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 tareaTi de p(T); el descenso de 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.

Lea el documento: "Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks"
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.

Lea el documento: "Optimization as a Model for Few-Shot Learning"
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.

Lea el documento: "Meta-Learning with Latent Embedding Optimization"
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
Servicios de consultoría de IA

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.

Explore nuestros servicios de consultoría sobre IA
IBM watsonx Assistant

Brinde una atención al cliente congruente e inteligente en todos los canales y puntos de contacto con IA conversacional.

Conozca IBM watsonx Assistant

IBM watsonx.ai

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.

Explore watsonx.ai
Recursos de FSL FSL e IA generativa

Obtenga más información sobre el auge y el futuro de la IA generativa y cómo el FSL encaja en el panorama general.

FSL con semántica múltiple

Sobre la base de los avances recientes en el FSL con información semántica adicional, demostramos que es posible realizar más mejoras mediante la combinación de una semántica múltiple y más variada (etiquetas de categoría, atributos y descripciones en lenguaje natural).

Consejos para escribir instrucciones para el modelo fundacional

Una descripción general rápida de los consejos de ingeniería de rápida para few-shot y one-shot prompting para modelos fundacionales.

Dé el siguiente paso

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de aprendizaje automático con IBM® watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

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

Todos los enlaces se encuentran fuera de ibm.com

1 "An Embarrassingly Simple Approach to Semi-Supervised Few-Shot Learning," arXiv, 28 de septiembre de 2022
2 "Meta-Learning with Memory-Augmented Neural Networks," Proceedings of the 33rd International Conference on Machine Learning, 19 de junio de 2016
3 "Transductive Few-shot Learning with Prototype-based Label Propagation by Iterative Graph Refinement," Computer Vision Foundation, 23 de abril de 2023
4 "Reptile: A scalable meta-learning algorithm," OpenAI, 7 de marzo de 2018
5 "Meta-SGD: Learning to Learn Quickly for Few-Shot Learning," arXiv, 28 de septiembre de 2017
6 "Alpha MAML: Adaptive Model-Agnostic Meta-Learning," arXiv, 17 de mayo de 2019
7 "How to train your MAML," arXiv, 5 de marzo de 2019
8 "Few-Shot Object Detection: A Comprehensive Survey," arXiv, 15 de septiembre de 2022
9 "Leaderboard: Few-Shot Semantic Segmentation on PASCAL-5i (1-Shot)," PapersWithCode, consultado el 3 de enero de 2024
10 "Few-Shot Continual Active Learning by a Robot," arXiv, 12 de octubre de 2022
11 "Few-Shot Preference Learning for Human-in-the-Loop RL," Proceedings of the 6th Conference on Robot Learning, 2023