Fundamentos de la IA
¿Qué es el Aprendizaje de Pocos Disparos?
El aprendizaje de pocos disparos se refiere a una variedad de algoritmos y técnicas utilizadas para desarrollar un modelo de inteligencia artificial utilizando una cantidad muy pequeña de datos de entrenamiento. El aprendizaje de pocos disparos intenta permitir que un modelo de inteligencia artificial reconozca y clasifique nuevos datos después de haber sido expuesto a relativamente pocos ejemplos de entrenamiento. El entrenamiento de pocos disparos se diferencia de los métodos tradicionales de entrenamiento de modelos de aprendizaje automático, donde normalmente se utiliza una gran cantidad de datos de entrenamiento. El aprendizaje de pocos disparos se utiliza principalmente en visión por computadora.
Para desarrollar una mejor intuición sobre el aprendizaje de pocos disparos, examinaremos el concepto con más detalle. Examinaremos las motivaciones y conceptos detrás del aprendizaje de pocos disparos, exploraremos algunos tipos de aprendizaje de pocos disparos y cubriremos algunos modelos utilizados en el aprendizaje de pocos disparos a alto nivel. Finalmente, examinaremos algunas aplicaciones para el aprendizaje de pocos disparos.
¿Qué es el Aprendizaje de Pocos Disparos?
“Aprendizaje de pocos disparos” describe la práctica de entrenar un modelo de aprendizaje automático con una cantidad mínima de datos. Normalmente, los modelos de aprendizaje automático se entrenan con grandes volúmenes de datos, cuanto más mejor. Sin embargo, el aprendizaje de pocos disparos es un concepto importante de aprendizaje automático por varias razones.
Una razón para utilizar el aprendizaje de pocos disparos es que puede reducir drásticamente la cantidad de datos necesarios para entrenar un modelo de aprendizaje automático, lo que reduce el tiempo necesario para etiquetar grandes conjuntos de datos. De manera similar, el aprendizaje de pocos disparos reduce la necesidad de agregar características específicas para varias tareas cuando se utiliza un conjunto de datos común para crear diferentes muestras. El aprendizaje de pocos disparos puede idealmente hacer que los modelos sean más robustos y capaces de reconocer objetos basados en menos datos, creando modelos más generales en lugar de los modelos altamente especializados que son la norma.
El aprendizaje de pocos disparos se utiliza más comúnmente en el campo de la visión por computadora, ya que la naturaleza de los problemas de visión por computadora requiere grandes volúmenes de datos o un modelo flexible.
Subcategorías
La frase “aprendizaje de pocos disparos” es en realidad solo un tipo de aprendizaje que utiliza muy pocos ejemplos de entrenamiento. Dado que se utilizan solo “pocos” ejemplos de entrenamiento, existen subcategorías de aprendizaje de pocos disparos que también involucran entrenamiento con una cantidad mínima de datos. El “aprendizaje de un disparo” es otro tipo de entrenamiento de modelos que implica enseñar a un modelo a reconocer un objeto después de ver solo una imagen de ese objeto. Las tácticas generales utilizadas en el aprendizaje de un disparo y el aprendizaje de pocos disparos son las mismas. Tenga en cuenta que el término “aprendizaje de pocos disparos” puede utilizarse como un término genérico para describir cualquier situación en la que un modelo se está entrenando con muy pocos datos.
Enfoques para el Aprendizaje de Pocos Disparos
La mayoría de los enfoques de aprendizaje de pocos disparos se pueden clasificar en una de tres categorías: enfoques de nivel de datos, enfoques de nivel de parámetros y enfoques basados en métricas.
Enfoques de Nivel de Datos
Los enfoques de nivel de datos para el aprendizaje de pocos disparos son muy simples en concepto. Para entrenar un modelo cuando no se dispone de suficientes datos de entrenamiento, se puede obtener más datos de entrenamiento. Hay varias técnicas que un científico de datos puede utilizar para aumentar la cantidad de datos de entrenamiento que tiene.
Los datos de entrenamiento similares pueden respaldar los datos de destino exactos en los que se está entrenando un clasificador. Por ejemplo, si se está entrenando un clasificador para reconocer tipos específicos de perros pero se carece de muchas imágenes de la especie que se está intentando clasificar, se pueden incluir muchas imágenes de perros que ayudarían al clasificador a determinar las características generales que componen un perro.
La ampliación de datos puede crear más datos de entrenamiento para un clasificador. Esto generalmente implica aplicar transformaciones a los datos de entrenamiento existentes, como rotar las imágenes existentes para que el clasificador examine las imágenes desde diferentes ángulos. Las GAN también se pueden utilizar para generar nuevos ejemplos de entrenamiento basados en lo que aprenden de los pocos ejemplos auténticos de datos de entrenamiento que se tienen.
Enfoques de Nivel de Parámetros
Aprendizaje de Meta
Un enfoque de nivel de parámetros para el aprendizaje de pocos disparos implica el uso de una técnica llamada “aprendizaje de meta”. El aprendizaje de meta implica enseñar a un modelo a aprender qué características son importantes en una tarea de aprendizaje automático. Esto se puede lograr creando un método para regular cómo se explora el espacio de parámetros de un modelo.
El aprendizaje de meta utiliza dos modelos diferentes: un modelo de maestro y un modelo de estudiante. El modelo de maestro aprende a encapsular el espacio de parámetros, mientras que el algoritmo de estudiante aprende a reconocer y clasificar los elementos reales en el conjunto de datos. En otras palabras, el modelo de maestro aprende a optimizar un modelo, mientras que el modelo de estudiante aprende a clasificar. Las salidas del modelo de maestro se utilizan para entrenar al modelo de estudiante, mostrándole al modelo de estudiante cómo navegar por el gran espacio de parámetros que resulta de tener muy pocos datos de entrenamiento. De ahí el “meta” en aprendizaje de meta.
Uno de los principales problemas con los modelos de aprendizaje de pocos disparos es que pueden sobreajustarse fácilmente en los datos de entrenamiento, ya que frecuentemente tienen espacios de alta dimensión. Limitar el espacio de parámetros de un modelo resuelve este problema, y si bien se puede lograr aplicando técnicas de regularización y seleccionando las funciones de pérdida adecuadas, el uso de un algoritmo de maestro puede mejorar dramáticamente el rendimiento de un modelo de aprendizaje de pocos disparos.
Un modelo de clasificador de aprendizaje de pocos disparos (el modelo de estudiante) intentará generalizar en función de la pequeña cantidad de datos de entrenamiento que se le proporciona, y su precisión puede mejorar con un modelo de maestro para dirigirlo a través del espacio de parámetros de alta dimensión. Esta arquitectura general se conoce como “aprendizaje de meta basado en gradientes”.
El proceso completo de entrenar un aprendizaje de meta basado en gradientes es el siguiente:
- Crear el modelo de base (maestro)
- Entrenar el modelo de base en el conjunto de soporte
- Hacer que el modelo de base devuelva predicciones para el conjunto de consulta
- Entrenar al modelo de meta (estudiante) en la pérdida derivada del error de clasificación
Variantes del Aprendizaje de Meta
Aprendizaje de Meta Agnóstico es un método utilizado para mejorar la técnica básica de aprendizaje de meta basado en gradientes que se describió anteriormente.
Como se mencionó anteriormente, un aprendizaje de meta basado en gradientes utiliza la experiencia previa adquirida por un modelo de maestro para ajustar y entregar predicciones más precisas para una pequeña cantidad de datos de entrenamiento. Sin embargo, comenzar con parámetros inicializados aleatoriamente significa que el modelo aún puede sobreajustarse en los datos. Para evitar esto, se crea un “aprendizaje de meta agnóstico” limitando la influencia del modelo de maestro. En lugar de entrenar al modelo de estudiante directamente en la pérdida para las predicciones hechas por el modelo de maestro, el modelo de estudiante se entrena en la pérdida para sus propias predicciones.
Para cada episodio de entrenamiento de un aprendizaje de meta agnóstico:
- Se crea una copia del modelo de meta actual.
- La copia se entrena con la ayuda del modelo de base/maestro.
- La copia devuelve predicciones para los datos de entrenamiento.
- La pérdida calculada se utiliza para actualizar el modelo de meta.
Aprendizaje de Métricas
Los enfoques de aprendizaje de métricas para diseñar un modelo de aprendizaje de pocos disparos generalmente implican el uso de métricas de distancia básicas para hacer comparaciones entre muestras en un conjunto de datos. Se utilizan algoritmos de aprendizaje de métricas como la distancia coseno para clasificar muestras de consulta en función de su similitud con las muestras de soporte. Para un clasificador de imágenes, esto significaría clasificar imágenes en función de la similitud de las características superficiales. Después de seleccionar y transformar un conjunto de soporte de imágenes en un vector de incrustación, se hace lo mismo con el conjunto de consulta y luego se comparan los valores de los dos vectores, con el clasificador que selecciona la clase que tiene los valores más cercanos al conjunto de consulta vectorizado.
Una solución de aprendizaje de métricas más avanzada es la “red prototípica”. Las redes prototípicas agrupan los puntos de datos juntos, combinando modelos de agrupación con la clasificación basada en métricas descrita anteriormente. Al igual que en el agrupamiento K-means, se calculan los centros de los clusters para las clases en los conjuntos de soporte y consulta. Luego se aplica una métrica de distancia euclidiana para determinar la diferencia entre los conjuntos de consulta y los centros de los conjuntos de soporte, asignando el conjunto de consulta a la clase de los conjuntos de soporte que esté más cerca.
La mayoría de los demás enfoques de aprendizaje de pocos disparos son solo variaciones de las técnicas básicas descritas anteriormente.
Aplicaciones para el Aprendizaje de Pocos Disparos
El aprendizaje de pocos disparos tiene aplicaciones en los muchos subcampos de la ciencia de datos, como la visión por computadora, el procesamiento de lenguaje natural, la robótica, la atención médica y el procesamiento de señales.
Las aplicaciones para el aprendizaje de pocos disparos en el espacio de visión por computadora incluyen el reconocimiento de caracteres eficiente, la clasificación de imágenes, el reconocimiento de objetos, el seguimiento de objetos, la predicción de movimiento y la localización de acciones. Las aplicaciones de aprendizaje de pocos disparos en el procesamiento de lenguaje natural incluyen la traducción, la completación de oraciones, la clasificación de intención del usuario, el análisis de sentimiento y la clasificación de texto multietiqueta. El aprendizaje de pocos disparos se puede utilizar en el campo de la robótica para ayudar a los robots a aprender sobre tareas a partir de solo unas pocas demostraciones, lo que permite a los robots aprender a realizar acciones, moverse y navegar por el mundo que los rodea. El descubrimiento de fármacos de pocos disparos es un área emergente de la atención médica de inteligencia artificial. Finalmente, el aprendizaje de pocos disparos tiene aplicaciones para el procesamiento de señales de audio, que es el proceso de analizar datos de audio, lo que permite a los sistemas de inteligencia artificial clonar voces basadas en solo unas pocas muestras de usuario o la conversión de voz de un usuario a otro.












