En este sitio web utilizamos cookies para mejorar tu experiencia de navegación y entender mejor tua preferencias. Eso nos ayuda a entenderte mejor y a centrarnos en aquellos tópicos que son de tu interés. Por favor, acepta nuestro uso de cookies.
Lenguaje & Modelos de Atención
Mediante el uso de modelos de incrustación aprendimos a capturar el contenido semántico de cada palabra en el lenguaje en forma de una representación vectorial. Sin embargo, para capturar el significado completo de una frase no basta con disponer de todos esos significados. Necesitamos hacer una interpretación en términos de la estructura gramatical de la frase. Nuevamente aquí debemos alejarnos de modelos formales. Confiar en los datos en este punto también consiste en un proceso de composición vectorial. Para cada palabra dentro de una frase podremos calcular la distancia vectorial de las demás y eso nos da una medida de la relevancia de cada palabra en el proceso de interpretación de la frase completa. Este tipo de estrategias reciben el nombre de modelos de atención. Resulta confuso pensar que con tanto ajuste vectorial estemos moviendo el sistema a alguna suerte de representación formal del significado dirigido por los datos pero lo cierto es que de hecho es así. En la frase “El gato pardo se sentó en la alfombra” intuitivamente cabe pensar que cualquier proceso cognitivo de captura semántica pasa más cerca de hacer una interpretación semántica de las palabras “gato”, “sentó” y “alfombra” que de otras palabras presentes en la frase como “El”, “se” o “pardo”. Esa modulación en relevancia atencional es precisamente lo que consiguen discriminar los modelos de atención que aplican hoy en día con éxito todos los sistemas de Inteligencia Artificial Generativa centrados en lenguaje.
Lenguaje & Modelos de Atención
Modelos de Incrustación
El primer paso tendría que ser capturar el significado esencial de cada palabra de nuestro lenguaje de forma precisa. Durante muchos años habíamos intentado, sin éxito, conquistar este esfuerzo a base de los modelos lingüísticos que nos enseñaron en la escuela. Pero si algo habíamos aprendido de tantos años de inteligencia conexionista es que debemos confiar más en los datos al diseñar nuestras soluciones. Idealmente se trataría en encontrar una representación numérica vectorial para cada término manteniendo una único idea subyacente en todo el constructo. Todas las palabras que, de algún modo, estuvieran relacionadas con una dada deberían alojarse en la vecindad proximal dentro de ese espacio vectorial. Esa sería la esencia de la captura semántica. Pero, ¿qué queríamos decir con eso de estar relacionadas? Juguemos a un juego. Supongamos que ponemos a un sistema inteligente a procesar toda la literatura del siglo de oro español. Ahora fabriquemos 4 vectores distintos con un solo 1 en una posición y 0 en el resto. Da igual que posición se escoja con tal de que en cada vector la posición activa sea distinta. Imaginemos que nos fijamos en 4 palabras de todo ese corpus de texto y se las asociamos a cada vector. Rocinante será uno de los vectores, Quijote otro, Dulcinea un tercero y Sancho el cuarto. Ahora empieza el entrenamiento. Durante el procesamiento de cada frase dentro de cada texto buscamos las coocurrencias de nuestras palabras. Por ejemplo al procesar la palabra Quijote dentro de una frase dada, si la palabra Dulcinea también aparece en la frase entonces sumamos una pequeña contribución a la posición de Dulcinea dentro del vector de Quijote. Lo recíproco haremos al analizar esa misma frase computando el vector Dulcinea y encontrando la coocurrencia Quijote. Con esto, ya finalizada la fase de entrenamiento, obtendremos vectores para cada palabra que capturan la relación semántica con otras palabras por coocurrencia. Esto no es del todo preciso pero sirve para ilustrar el proceso. Resulta asombroso que de manera tan trivial pueda capturarse el significado de las palabras de forma numérica.
Perspectiva General
Puede resultar injusto pero el auge de atención de la Inteligencia Artificial se alcanzo con la llegada de los modelos generativos, sistemas capaces de mostrar un comportamiento emergente creativo en la generación de textos, imágenes, audio o video. Pero quizá la mayor contribución de valor ha sido la de los modelos de lenguaje. Se trata de redes neuronales con la capacidad de capturar todo el contenido semántico de una consulta de entrada, abrigada por su correspondiente contexto en forma de una codificación numérica vectorial y generar después una continuidad a dicho contexto que se devuelve como respuesta a la consulta. En una primera fase de entrada el sistema es capaz de adjudicar a cada palabra un significado local que depende de la relación semántica que ésta mantiene con sus anteriores. En la fase de salida la interpretación semántica así generada se utiliza para generar siguientes palabras que den una continuidad coherente al texto introducido. Hay variantes y matices en todo esto.
De la Neurona Artificial a los Transformers
Parece que la Inteligencia Artificial es algo que acaba de nacer. Pero lo cierto es que el recorrido de toda esta disciplina ha sido un largo camino. Desde que Mc Culloch y Pitts idearan el primer modelo matemático sobre la neurona artificial y Rosemblatt descubriera su valor como operador geométrico de clasificación lineal hasta las más recientes arquitecturas de transformadores han pasado la friolera de 7 décadas. Y además todo ello atravesando dos periodos de inactividad por desanimo de los investigadores que se dieron en llamar los inviernos de la Inteligencia Artificial. Creo justo reclamar desde este rincón el mundo una merecida ovación y reconocimiento a todos aquellos incansables curiosos que hicieron sus contribuciones de academia para poder haber llegado hasta aquí.