El aprendizaje de pocos datos ha transformado la IA y el aprendizaje automático. Con este tipo de aprendizaje, los algoritmos se entrenan en pequeños conjuntos de datos. Si necesitas entrenar un modelo de IA con datos limitados, few-shot puede ser la solución que estabas buscando.
¿Dónde se utiliza el aprendizaje de pocos disparos?
El aprendizaje de pocos disparos se aplica en el mundo real prácticamente en todas partes. Tanto si necesitas un verdadero LLM de propósito general como si solo necesitas un raspado basado en IA, el aprendizaje de pocos disparos se utilizará en tu modelo al menos en cierta medida.
- aquí
- Robótica: Cuando aprenden a recoger cosas, los robots autónomos no necesitan grandes conjuntos de datos. Experimentan el proceso y luego realizan generalizaciones.
- Tecnología personalizada: Los teclados de los teléfonos y los relojes de fitness utilizan el aprendizaje de pocos disparos de forma muy eficaz.
- Productos farmacéuticos: A la hora de descubrir nuevos fármacos, los científicos suelen utilizar conjuntos de datos muy limitados. El aprendizaje de pocos datos puede aprovecharse en los primeros ensayos para acelerar las cosas.
- Tratamiento de lenguas: Los lingüistas y arqueólogos a menudo tienen que tratar con lenguas muertas en desuso. Las fuentes de primera mano de estos escritos son escasas. La IA puede utilizar el aprendizaje de pocos datos para ayudar a descifrar estas lenguas.
- Reconocimiento de imágenes: El reconocimiento facial requiere un aprendizaje de pocas imágenes. La mayoría de la gente no va a entrenar a una IA utilizando miles de fotos de una sola persona. Este mismo concepto se aplica también a las especies raras y en peligro de extinción.
Aprendizaje de pocos alumnos frente a otros paradigmas
El aprendizaje de pocos disparos forma parte de una familia más amplia de técnicas de aprendizaje automático denominada aprendizaje de n disparos. Con el aprendizaje n-shot, n representa el número de ejemplos etiquetados por clase con los que se entrena un modelo.
He aquí otros ejemplos de aprendizaje n-shot.
- Tiro Cero: Un modelo utiliza conocimientos previos para adivinar una clase que no ha visto. Imaginemos un modelo entrenado en caballos y tigres. Este modelo nunca ha visto una cebra, pero puede deducir que un caballo con rayas es una cebra.
- Una sola vez: Un modelo se entrena con un solo ejemplo por clase. Cuando un smartphone aprende tu cara a partir de una sola foto y te permite desbloquear la pantalla, se trata de un aprendizaje de una sola vez.
¿Cómo funciona el aprendizaje de pocos disparos?
Los modelos de pocos disparos son más extensos que los de disparo cero y disparo único, pero siguen basándose en conjuntos de datos muy limitados. Con los datos de entrenamiento adecuados, los modelos pueden generalizar rápidamente para identificar patrones y tendencias.
Al igual que sus parientes de cero disparos y un disparo, el aprendizaje de pocos disparos se basa en los siguientes principios.
- Aprovechamiento del conocimiento previo: Los modelos utilizan los conocimientos y el entrenamiento de tareas anteriores para identificar patrones en datos nuevos y desconocidos.
- Adaptación a tareas específicas: Los modelos cambian sus representaciones internas (clases) y su proceso de toma de decisiones para manejar adecuadamente nuevos datos con ejemplos limitados.
- Generalización a partir de pequeños conjuntos de datos: Con datos de entrenamiento cuidadosamente seleccionados, los modelos pueden generalizar eficazmente tras ver solo unas pocas muestras.
Tipos de aprendizaje de pocos disparos
El aprendizaje de unos pocos no está grabado en piedra. Forma parte de una industria de IA más amplia y en constante evolución. Sin embargo, el sector ha llegado a un consenso general sobre las técnicas que se enumeran en las siguientes secciones.
Aprendizaje por transferencia
Cuando un modelo aprende de una tarea y utiliza este conocimiento en una nueva tarea, esto se llama “Aprendizaje por transferencia”. Al igual que las personas, la IA puede utilizar la experiencia pasada para adaptarse a nuevas situaciones. Los conocimientos del modelo se transfieren y adquieren relevancia al intentar realizar la nueva tarea.
Imagina que enseñas a una IA a jugar a Call of Duty. Luego necesitas este modelo para jugar a Fortnite. Ya sabe apuntar, moverse y utilizar estrategias de combate. La experiencia previa del modelo en Call of Duty le da más posibilidades de éxito en Fortnite.
El aprendizaje por transferencia no se limita a la IA o al aprendizaje automático. Los humanos utilizamos el aprendizaje por transferencia todos los días. El aprendizaje por transferencia fue el principal impulsor de la revolución agrícola. Los humanos prehistóricos aprendieron a cultivar ciertos tipos de alimentos. Nuestros antepasados transfirieron estas habilidades a cualquier otro alimento de origen vegetal que pudieran encontrar. Con el tiempo, aplicaron estos mismos principios a la domesticación del ganado.
Aumento de datos
Para ampliar el aprendizaje de pocos disparos, podemos utilizar el aumento de datos. En el mundo real, a menudo generamos datos ficticios con similitudes a los datos reales. Esto suele implicar añadir aleatoriedad y ruido a los datos ficticios.
La interpolación y la extrapolación facilitan la comprensión del aumento de datos. Observe el gráfico siguiente. Como puede ver, sólo tenemos cuatro datos reales. Nuestra línea de puntos utiliza estos puntos para crear un patrón. Usando estos puntos del gráfico, podemos extrapolar que si X=5, Y=10 y si X=0, Y=0. Podemos interpolar que cuando X=1.5, Y=3.
Podemos identificar tendencias en nuestros datos limitados. Una vez comprendidas las tendencias, podemos generar infinitos datos adicionales siguiendo las reglas establecidas por los datos originales. Una fórmula (Y = 2X) convierte nuestro conjunto de datos de 4 tomas en un conjunto infinito de puntos.
En el mundo real, nada es perfecto y a menudo no existen ejemplos como el anterior. Imagina que entrenas a una IA con caballos. Tienes una foto real de un caballo marrón. La editas de forma inteligente y ahora tienes fotos de un caballo rojo, un caballo negro, un caballo blanco y una cebra. A partir de tu única foto de un caballo, has generado un conjunto de datos mucho mayor.
Puede obtener más información sobre el aumento de datos aquí.
Metaaprendizaje
El metaaprendizaje se centra más en la resolución de problemas que en los datos reales. Con el metaaprendizaje, se enseña a un modelo a dividir los problemas grandes en otros más pequeños y a utilizar diferentes estrategias para distintos tipos de problemas. Piensa en el orden de las operaciones que aprendiste en primaria.
Observa el siguiente problema: (2+(2*3))/4=?
Para resolver este problema, tenemos que descomponerlo.
(2+(2*3))/4=?
2*3=6
. Ahora podemos simplificarlo a(2 + 6)/4
.2+6=8
. Nuestro problema es ahora8/4
.8/4=2
. La cadena de problemas más pequeños se conecta para demostrar que(2+(2*3))/4=2
.
Al dividir el problema más grande en pasos más pequeños, podemos llegar a la conclusión de que nuestra respuesta es 2
. Cuando enseñamos a las máquinas que pueden resolver problemas grandes dividiéndolos en otros más pequeños. Entonces utiliza estrategias adecuadas para cada uno de los problemas más pequeños. Esto se llama metaaprendizaje. La máquina aprende estrategias de resolución de problemas que puede aplicar a un sinfín de escenarios diferentes.
Veamos otro ejemplo que aprendiste muy pronto. Una frase tiene que empezar con mayúscula y terminar con un signo de puntuación. Cuando un modelo aprende esto, no sólo aprende a escribir una frase. El modelo aprende a comunicar eficazmente todas sus ideas de forma que los humanos puedan leerlas y entenderlas.
Como en los otros ejemplos anteriores, el metaaprendizaje fue utilizado por las personas durante cientos de miles de años antes de que se adaptara al aprendizaje automático.
Aprendizaje métrico
Con el aprendizaje métrico, se enseña a un modelo a comparar similitudes entre datos en lugar de simplemente asignarles etiquetas. A continuación, utiliza una función para comparar métricas y ver lo cerca que están los nuevos datos de los anteriores. Teachable Machine nos permite experimentar con imágenes y ver cómo funciona realmente el aprendizaje métrico.
Imaginemos que entrenamos un modelo utilizando un conjunto de imágenes de gatos. El modelo analiza estas imágenes y aprende a comparar distintas características como el pelaje, los bigotes y la forma de las orejas.
Una vez que el modelo ha terminado de entrenarse, le damos una nueva foto de un gato. Comparará los datos de esta nueva foto con los de su entrenamiento. Tras observar los puntos de datos del pelaje, los bigotes y la forma de las orejas, calculará una puntuación de similitud. Si la nueva imagen es un 98% similar a los datos anteriores, el modelo determinará que es muy probable que la imagen sea un gato.
Si el modelo ha sido entrenado con otros métodos para decir “los gatos son monos”, después de estar seguro en un 98% de que esta nueva imagen es un gato, podría ejecutar lógica adicional de otros tipos de entrenamiento y decir: “¡tu foto del gato es mona!”.
Problemas inherentes al aprendizaje con pocos disparos
Cuando se trata de aprendizaje con pocos datos, los conjuntos de datos pequeños son a la vez un punto fuerte y un punto débil. El aprendizaje automático conlleva una serie de escollos. Para evitar los problemas que se exponen a continuación, es necesario entrenar modelos más pequeños utilizando los conceptos que hemos repasado en las secciones anteriores.
Generalización
Los modelos de pocos disparos pueden funcionar bien con cosas como el reconocimiento facial, pero cuando se trata de escenarios totalmente nuevos, suelen fallar cuando los datos no son lo bastante parecidos a lo que han visto.
Un LLM tradicional recibe millones, a veces incluso miles de millones o billones de puntos de datos. Esto permite al modelo manejar eficazmente los valores atípicos y hacer predicciones decentes cuando se trata de datos que no ha visto antes.
Si un modelo sólo ha visto un puñado de imágenes de gatos dibujados a lápiz, es muy posible que no reconozca la imagen de un gato del mundo real. Sin un conjunto de datos sólido, el modelo no siempre puede hacer generalizaciones sólidas.
Diversidad de datos
Los conjuntos de datos pequeños no suelen captar la verdadera diversidad presente en conjuntos de datos más grandes. Imaginemos que un modelo se ha entrenado con un pequeño conjunto de personas y que todas sus direcciones están en Estados Unidos. Es probable que este modelo esté sesgado y asuma que todas las personas son de Estados Unidos. Puede mitigar este problema con conjuntos de datos amplios y diversos. Nuestros conjuntos de datos pueden ayudarle a mejorar el rendimiento de su modelo.
A finales de la década de 2010, este problema afectaba a los modelos de IA de todo el mundo. A veces, este problema sigue apareciendo en la IA moderna. Cuando un modelo se entrena en las redes sociales, a menudo recoge los prejuicios que ve en ellas. Todos hemos oído hablar de los robots de IA racistas de finales de 2010. Así es como ocurre.
Representación de características
El problema de la diversidad de datos es un arma de doble filo. Pensemos en nuestro hipotético modelo que reconoce animales. Si este modelo sólo aprende que todos los gatos tienen cuatro patas, verá una foto de un caballo y decidirá que es increíblemente parecido a un gato.
Si un modelo de reconocimiento facial aprende que una cara tiene ojos, orejas, boca y nariz, pero no se le ha enseñado a comparar correctamente estos rasgos con sus datos de entrenamiento, el modelo dará resultados incorrectos (y a veces peligrosos). Si cualquiera con estos rasgos puede desbloquear tu teléfono, se crea un enorme problema de seguridad.
Conclusión
El aprendizaje de pocos datos puede reducir la necesidad de grandes conjuntos de datos. Los humanos han utilizado el aprendizaje de pocos disparos desde el principio. Hace poco que lo hemos adaptado a la IA. Existen algunos obstáculos. La generalización, la diversidad de datos y la representación de características presentan grandes obstáculos a la hora de crear modelos pequeños. El aprendizaje por transferencia, el aumento de datos, el metaaprendizaje y el aprendizaje métrico nos proporcionan grandes herramientas para superar estos retos no sólo en modelos grandes, sino también en modelos pequeños.