Una semana más, continuamos con nuestra introducción a las redes neuronales. Conforme nos alejamos de los principios del Aprendizaje Profundo, la cosa se complica, pero de igual forma intentaremos comprender a nivel general el funcionamiento de esta tecnología crítica para el mundo digital actual.
Bien, ya hemos visto como podemos utilizar redes neuronales para trabajar sobre inputs numéricos (redes neuronales lineales) y sobre imágenes y videos (redes neuronales convolucionadas). Parece que la pieza clave que nos falta, el otro gran formato con el que la humanidad almacena información, es el texto. Y desde luego, es esa capacidad para interactuar con texto la que más llama la atención de la última tanda de aplicaciones IA, surgida en los últimos años y popularizada por herramientas como ChatGPT. Se trata, sin embargo, de un formato muy distinto a los que hemos visto hasta ahora, y con una serie de retos bastante particulares y, a priori, complicados de solventar.
Sobre algunos de esos retos, como la conversión de palabras (información analógica) a tokens semánticos (información), vamos a pasar de puntillas; se trata de temas bastante interesantes, pero que trascienden el propio funcionamiento de las redes neuronales. El problema que verdaderamente revisar la estructura de nuestras redes es el de la atención. Por ejemplo, fijémonos en la siguiente frase:
Los pueblos de Badajoz no son muy grandes pero sí bonitos.
Analizando palabra a palabra estos elementos, podríamos sacar una cierta idea de lo que va el texto (Pueblos, Badajoz, Grandes, Bonitos), pero el verdadero significado de la frase viene dada por todos los elementos, ordenados, y considerados en su conjunto: ese “pero” establece un contraste, y ese “no” llega a alterar completamente el significado de la siguiente palabra. Si cambiasemos de orden las palabras, podría quedarnos algo así como:
Los pueblos de Badajoz sí son grandes, pero no muy bonitos
Una nueva afirmación que (además de obviamente falsa) es completamente contraria a la anterior. Con eso, lo que queremos hacer ver es que cuando trabajamos con texto, no basta con tener palabras como inputs: también es necesario tener memoria, para recordar las palabras que han venido antes. Esto no solo se aplica al texto, por cierto: esta memoria también es necesaria si queremos analizar, por ejemplo, series temporales, importantes en sectores como el de la predicción metereológica. Entre las redes capaces de implementar esta gestión de memoria, se encuentran las Redes Neuronales Recurrentes, las redes LSTM y GRU, y los Transformers. Para implementar esta capacidad de análisis de contexto, utilizamos los conceptos de memoria (a corto y largo plazo) y atención.
Aunque los detalles sobre la implementación de cada uno de estos elementos pueden ser un tanto complejos, son bastante autoexplicativos en cuanto al papel general que cumplen en la red neuronal: la memoria a corto plazo, la primera en ser implementada, guarda información de una iteración a otra de la operación de la red, permitiendo establecer por ejemplo relaciones entre palabras colindantes, o días consecutivos, aunque falla a la hora de conservar información a lo largo de periodos largos de tiempo; la memoria a largo plazo, por otra parte, es menos relevante a un nivel detallado pero permite conservar información relevante para todo el proceso de la red, y sería la responsable de interpretar la función de los distintos elementos de una frase (sujeto, predicado, etc), o de poner en valor procesos anuales en el análisis de series temporales; finalmente, el concepto de atención se refiere a la importancia relativa de cada elemento estudiado, determinando de forma dinámica que parámetros tiene un mayor peso sobre la predicción final. Resumiendo, podemos decir que la memoria corto plazo mantiene información de una capa de neuronas a otra; a largo plazo, mantiene un registro paralelo de los parámetros; y la atención organiza la relevancia de cada parámetro.
Este último concepto de atención es quizá un poco más “vago”, pero de una importancia capital: al relativizar el acceso a memoria, permite un uso más eficiente de los recursos computacionales y permitiendo una gestión más eficiente de la memoria. Los Transformers que mencionábamos al principio del artículo son precisamente redes neuronales que basan su funcionamiento en este concepto de atención, y son estos núcleos de procesamiento los que han permitido la proliferación de los Modelos Extensos de Lenguaje, de los que hablaremos en más profundidad la semana que viene.
