Inicio Topics few shot learning ¿Qué es el aprendizaje few-shot?
Explore nuestra plataforma de IA Suscríbase para conocer lo último en IA
Ilustración con collage de pictogramas de nubes, gráfico circular, pictogramas gráficos
¿Qué es el aprendizaje few-shot?

El aprendizaje few-shot es un marco del machine learning en el que un modelo de IA aprende a hacer predicciones precisas mediante la formación en un número muy pequeño de ejemplos etiquetados. Por lo general, se usa para entrenar modelos para tareas de clasificación cuando los datos de entrenamiento adecuados son escasos.

El aprendizaje few-shot (FSL) es un subconjunto de lo que a veces se denomina de manera más general aprendizaje n-shot, una categoría de la inteligencia artificial que también incluye el aprendizaje one-shot (en el que solo hay un ejemplo etiquetado de cada clase que aprender) y el aprendizaje zero-shot (en el que no hay ningún ejemplo etiquetado). Mientras que el aprendizaje one-shot es esencialmente una variante desafiante de FSL, el zero-shot learning es un problema de aprendizaje distinto que requiere sus propias metodologías únicas.

 En principio, el FSL tiene como objetivo emular la capacidad humana de aprender de un puñado de ejemplos. Esto contrasta con el aprendizaje supervisado convencional, que normalmente utiliza cientos (o miles) de puntos de datos etiquetados en muchas rondas de formación para enseñar 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 costes 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.

Aunque algunos algoritmos específicos y arquitecturas de redes neuronales han logrado éxitos notables en tareas de FSL, el aprendizaje de pocos disparos se define por la naturaleza del problema de aprendizaje más que por el uso de un método o estructura de modelo específicos. Los métodos de aprendizaje de pocas muestras son muy variados, desde la adaptación de modelos preentrenados para su uso en tareas similares hasta el uso de modelos generativos para crear nuevas muestras, pasando por métodos de metaaprendizaje que entrenan modelos para generalizar bien nuevos problemas de clasificación y diferentes clases de datos, en lugar de realizar una tarea específica.

Por qué la gobernanza de 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 gestión de riesgos y gobernanza de la IA.

Contenido relacionado

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

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

Aunque el aprendizaje few-shot puede utilizar una amplia variedad de algoritmos o arquitecturas de red neuronal, la mayoría de los métodos se crean en torno a transferir aprendizaje o meta aprendizaje (o una combinación de ambos).

Si bien el aprendizaje few-shot también se puede aplicar a las tareas de regresión (o incluso al aprendizaje por refuerzo), la mayoría de la literatura sobre el FSL se centra en los casos de uso de la clasificación. Algunos métodos 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 aprendizaje de tomas en las muestras limitadas disponibles.1

Aprendizaje por transferencia

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

Cuando hay pocas muestras etiquetadas disponibles, utilizando 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 normalmente se utilizan en computer vision o las redes basadas en transformadores utilizadas en el procesamiento del lenguaje natural (PLN), que a menudo conducen a un sobreajuste: el modelo puede funcionar bien en los datos de prueba, pero mal en los datos del mundo real. Sin embargo, la recopilación de 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 mediante el aprendizaje supervisado en un pequeño número de ejemplos etiquetados. Los enfoques más complejos enseñan nuevas habilidades mediante el diseño de tareas posteriores relevantes, a menudo tareas de metaaprendizaje, a un modelo que ha sido preentrenado mediante tareas de pretexto autosupervisadas: esto es cada vez más común en PNL, sobre todo en el contexto de los modelos fundacionales.

Los enfoques de aprendizaje por transferencia más complejos adaptan una red neuronal entrenada a través de cambios en la arquitectura de la red: por ejemplo, reemplazando o volviendo 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) las ponderaciones del modelo de todas las capas excepto las más externas puede garantizar que las actualizaciones posteriores no provoquen un "olvido catastrófico" de los conocimientos ya aprendidos. Esto permite un aprendizaje muy acelerado en un few-shot context.

El aprendizaje por transferencia tiene más éxito 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 fino con sólo unas pocas muestras etiquetadas, porque los pesos aprendidos 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 clase determinada de datos son extremadamente escasos, como puede ser el caso cuando se trata de enfermedades raras o especies exóticas.

Generación de datos, a través de modelos generativos como Redes Adversariales Generativas (GAN) o Autocodificadores variacionales (VAE), pueden producir suficientes muestras parecidas a las muestras etiquetadas originales para realizar el aprendizaje supervisado convencional, siempre que las muestras originales tuvieran suficiente para evitar el sobreajuste.

Aumento de datos, el proceso de creación de muestras nuevas mediante la aplicación de diferentes transformaciones a muestras originales, se puede combinar con otros métodos: por ejemplo, se puede utilizar para crear muestras coincidentes para el uso en meta aprendizaje métrico en un proceso similar a contrastar el autoaprendizaje supervisado.

meta aprendizaje

A diferencia del aprendizaje supervisado o afinación, en el que un clasificador se entrena en las tareas exactas para las que se usará 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 preentrenados, los métodos de metaaprendizaje suelen entrenar los sistemas de principio a fin 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 se describe a menudo como el modelo "aprendizaje para aprender". 2

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

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 las ponderaciones y los sesgos) son lo que se "aprende", mientras que los hiperparámetros del 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 machine learning para el aprendizaje few-shot, la estructura del entrenamiento y la evaluación del FSL generalmente sigue un marco de N-way-K-shot, en el que N representa el número de clases y K representa el número de ejemplos (o "tomas") 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 consta de una o más tareas de entrenamiento. Los modelos se evalúan a través de tareas de prueba, cuya estructura refleja la de las tareas de entrenamiento. Cada tarea de entrenamiento (y tarea de prueba) consta de dos conjuntos de datos:

  • El conjunto de soporte contiene muestras de entrenamiento etiquetadas con K para cada una de las N clases. El modelo utiliza estas muestras de soporte para aprender representaciones generalizadas para cada clase. Por ejemplo, el conjunto de datos para una tarea de clasificación de 3-way-2-shot contiene 3 clases de imágenes y proporciona 2 ejemplos de cada una. Cuando K= 1, la tarea es un aprendizaje one-shot. Cuando K= 0, el problema es el aprendizaje zero-shot, que normalmente requiere soluciones únicas.
  • El conjunto de consultas contiene uno o varios ejemplos nuevos para cada una de las N clases. Con las representaciones aprendidas del conjunto de compatibilidad, el modelo predice la clasificación de cada ejemplo del conjunto de consultas. 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 formación, los parámetros del modelo se ajustan a la misma para minimizar la pérdida. 

Dado 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 las tareas de entrenamiento anteriores.

Para probar la capacidad del modelo para realizar predicciones de similitud precisas para clases nunca vistas hasta ahora, el conjunto de compatibilidad y el conjunto de consultas utilizados para las pruebas deben contener clases de datos completamente nuevas a las que el modelo aún no se ha 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 próximos: 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 vectorial) para representar una muestra de datos determinada y hacen inferencias mediante el aprendizaje de una función que mide alguna métrica de distancia que representa la similitud entre este valor y el valor de las diferentes muestras o clases con las que se está comparando.

Algoritmos FSL basados en métricas
Redes siamesas

Un desarrollo relativamente temprano en algoritmos basados en métricas, las redes siamesas resuelven problemas de clasificación binaria mediante el uso del aprendizaje contrastivo: se muestran 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 vectoriales 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 incrustaciones más efectivas. El aumento de datos se utiliza a menudo cuando las muestras coincidentes son escasas.

Lea el artículo: "Redes neuronales siamesas para el reconocimiento de imágenes en una sola toma"
Redes coincidentes

Mientras que las redes siamesas solo pueden resolver tareas de clasificación binaria, las redes coincidentes pueden realizar la clasificación multipunto. Como tal, se considera uno de los primeros algoritmos dedicados al aprendizaje de pocos disparos. 

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 artículo: "Redes de emparejamiento para el aprendizaje único"
Redes prototípicas

Las redes prototípicas calculan las entidades promedio de todas las muestras disponibles para cada clase para calcular un prototipo para cada clase. La clasificación de un punto de datos determinado viene determinada por su proximidad relativa 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 de coseno.

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

Lea el artículo: "Prototypical Networks for Few-shot Learning"
Redes de relación

Una red de relaciones (RN) opera según el mismo principio general que las redes de emparejamiento y prototípicas. Los 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, los RN agregan un módulo de relación que aprende una función de distancia no lineal 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 deep learning requiere muchas actualizaciones iterativas de los parámetros del modelo a través de la retropropagación y el descenso del gradiente, que a su vez depende de una gran cantidad de ejemplos etiquetados para rellenar lotes de entrenamiento. Para entrenar de manera eficiente una red neuronal desde cero para un aprendizaje few-shot, se requiere una forma de optimizar los pesos 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 denominados metaaprendizaje basado en el gradiente (GMBL), tienen como objetivo aprender los parámetros iniciales del modelo o hiperparámetros de una red neuronal que puedan ajustarse eficazmente para las tareas pertinentes. Lo consiguen optimizando el proceso de descenso de gradiente, es decir, metaoptimizando el propio proceso de optimización.

Metaaprendizaje de modelo agnóstico (MAML)

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

MAML implica dos niveles diferentes de actualizaciones de parámetros en un conjunto de diversas tareas de formación FSL, p(T). En cada episodio de entrenamiento, se toma una muestra aleatoria de una nueva tarea Ti de p(T); el descenso en 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 varios episodios de entrenamiento, se optimiza un conjunto de metaparámetros (θ) aplicando un descenso de gradiente, en metapasones de tamaño β, a esos parámetros específicos de la tarea θ'i. En otras palabras, 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, 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 papel original, el objetivo es "encontrar parámetros de modelo sensibles a los cambios en la tarea, de modo que los pequeños cambios en los parámetros generen 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 a MAML incluyen:

  • MAML de primer orden (FOMAML): la dependencia de MAML de las derivadas de segundo orden es costosa desde el punto de vista informático y requiere una gran cantidad de memoria. FOMAML simplifica el proceso a través de una serie de supuestos que permiten la meta-optimización utilizando solo derivados de primer orden.

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

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

Lea el artículo: "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 y corto plazo (LSTM) basadas en RNN para entrenar un modelo de metaaprendizaje para capturar tanto el conocimiento a corto plazo de cada tarea de entrenamiento como el conocimiento a largo plazo común a cada tarea. A continuación, este metaaprendizaje se utiliza para entrenar un clasificador de redes neuronales.

Lea el artículo: "Optimization as a Model for Few-Shot Learning"
Optimización de la 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 la 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 sirve para el mismo propósito. Luego, la optimización del gradiente se puede realizar dentro de ese espacio de incrustación aprendido y de baja dimensión.

Lea el artículo: "Meta-Learning with Latent Embedding Optimization"
Casos de uso de aprendizaje few-shot

Las técnicas de aprendizaje few-shot tienen una amplia variedad de aplicaciones, ya que muchas industrias y campos de investigación se beneficiarán de la capacidad de aprender rápida y eficazmente a partir de relativamente pocos ejemplos.

Computer vision

Aunque muchos algoritmos FSL destacados se desarrollaron originalmente para (o se probaron en) tareas de clasificación de imágenes, FSL también puede utilizarse para problemas de visión por ordenador más complejos.

Si bien la detección de objetos es un problema significativamente 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, generalmente se toma la clasificación de imágenes como requisito previo. Por lo tanto, muchas ideas utilizadas para la clasificación pueden adoptarse para la detección de objetos con pocos disparos.8  

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

Robótica

FSL puede permitir que los robots se adapten rápidamente a nuevos entornos y nuevas tareas mediante tareas de clasificación de pocos intentos10 y aprendizaje por refuerzo.11

Procesamiento del lenguaje natural

El FSL ha dado resultados prometedores en el procesamiento del lenguaje natural (PLN), sobre todo a través del aprendizaje por transferencia: es una forma intuitiva de adaptar grandes modelos lingüísticos (LLM), preentrenados en un corpus masivo de datos sin etiquetar, a tareas específicas como la clasificación de textos y el análisis de sentimientos que pueden requerir una comprensión contextual específica.

Atención médica

El potencial de FSL para aclimatar rápidamente un modelo a clases de datos raras y desconocidas es especialmente prometedor para los campos de la medicina, en los que la rareza de ciertas afecciones o los conocimientos necesarios para anotar con precisión los datos médicos (como resonancias magnéticas o ecocardiografías) pueden hacer que la adquisición de un gran número de muestras etiquetadas resulte prohibitivamente difícil.

Soluciones relacionadas
Servicios de consultoría de IA

Reimagine su forma de trabajar con la IA: nuestro equipo diverso y global de más de 20 000 expertos en IA puede ayudarle a diseñar y escalar la IA y la automatización de forma rápida y segura en toda su empresa, 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 servicios de consultoría de IA de IBM
IBM watsonx Assistant

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

Explore IBM watsonx Assistant

IBM watsonx.ai

Entrenar, validar, ajustar e implementar IA generativa, modelos fundacionales y capacidades de aprendizaje automático con facilidad y crear aplicaciones de IA en una fracción del tiempo con una fracción de los datos.

Explore watsonx.ai
Recursos de aprendizaje ofocales Aprendizaje con pocas posibilidades e IA generativa

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

Aprendizaje de pocas oportunidades con semántica múltiple

Sobre la base de los recientes avances en el aprendizaje de pocos disparos con información semántica adicional, demostramos que son posibles nuevas mejoras combinando semántica múltiple y más rica (etiquetas de categorías, atributos y descripciones en lenguaje natural).

Consejos para escribir prompts del modelo fundacional

Un rápido resumen de consejos de prompt engineering para few-shot prompting y one-shot prompting para modelos fundacionales.

Dé el siguiente paso

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

Explore watsonx.ai Solicite una demostración en directo
Notas a pie de página

Todos los vínculos residen 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," Actas de la 33ª Conferencia Internacional sobre 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 de2017
6 "Alpha MAML: Adaptive Model-Agnostic Meta-Learning," arXiv, 17 de mayor 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," Actas de la 6ª Conferencia sobre aprendizaje de robots, 2023