Las redes neuronales gráficas también han revolucionado la inteligencia artificial (Chatgpt).
Tanto las redes sociales como las redes de carreteras se pueden representar mediante grafos, esto es, objetos matemáticos que nos permiten describir y analizar sistemas donde sus elementos están relacionados. Por ejemplo, en una red social, podemos representar a las personas como nodos y las conexiones de amistad entre ellas como aristas. Otro caso es el de los sistemas de transporte, donde las ciudades son los nodos y las carreteras que las conectan son las aristas.
La teoría de grafos moderna nace en 1736 con el famoso problema de los puentes de Königsberg planteado por Leonhard Euler. Desde entonces, esta teoría se ha consolidado como una importante rama de las matemáticas, tanto teórica como aplicada. Sin embargo, solo recientemente los avances en aprendizaje profundo (del inglés deep learning) han comenzado a integrarse en este área.

La razón fundamental es que el aprendizaje automático se ha centrado tradicionalmente en el análisis y procesamiento de datos tabulares, imágenes, texto y audio. Desde hace algo más de diez años, algunas arquitecturas sofisticadas de redes neuronales han revolucionado campos como el reconocimiento de imágenes (redes de convolución) y el procesamiento del lenguaje natural (redes recurrentes y transformadores).
Sin embargo, estas arquitecturas no son adecuadas para datos en forma de grafos, donde la relación entre los datos es tan importante como los datos mismos.
El problema de las permutaciones
Matemáticamente, la principal limitación de estas técnicas de aprendizaje profundo para manejar y analizar grafos es que no son invariantes a las permutaciones de los datos.
Para entender esto, veamos un ejemplo sencillo:
Imaginemos que tenemos un grafo que representa las amistades entre cuatro personas: Adán Benítez, Belén Antúnez, Carlos Díaz y Diego Canales. Estas personas están conectadas de la siguiente manera: Adán es amigo de Belén y Carlos; Belén es amiga de Adán y Carlos; Carlos es amigo de todos los demás y, finalmente, Diego es amigo solamente de Carlos.
El grafo que representa las relaciones entre las personas no depende de si identificamos los nodos mediante la inicial del nombre o del apellido de cada persona. Sin embargo, la tabla que recoge las relaciones (matriz de adyacencia) puede cambiar según cómo nombremos los nodos a pesar de representar la misma realidad.
En la figura siguiente se observa que ambos grafos son iguales (mismas conexiones entre las mismas personas), pero los patrones de las matrices de adyacencia son diferentes.
Una red neuronal tradicional podría interpretar este cambio de orden como un grafo diferente. Esto es problemático, porque queremos que nuestra red neuronal entienda que la estructura de las amistades es la misma independientemente del orden en que se considere a las personas.
La solución de las redes neuronales gráficas
Para resolver este problema, las redes neuronales gráficas (Graph Neural Networks o GNN en inglés) se basan en la propagación de mensajes y la agregación de información. Cada nodo del grafo recibe información de sus nodos vecinos a través de las aristas que los conectan. Este proceso se repite en varias capas, permitiendo que la información fluya a través del grafo.
Propagación de mensajes: En cada capa de una red neuronal gráfica, cada nodo envía y recibe mensajes de sus nodos vecinos. Imagine que cada persona en nuestra red de amistades envía un mensaje a todos sus amigos. Estos mensajes contienen información relevante sobre cada persona, como sus características y estados.
Agregación de información: Después de recibir los mensajes, cada nodo (o persona) combina la información recibida de sus amigos. Esto se hace mediante una operación de agregación, como una suma, una media o un máximo. Por ejemplo, si Ana, Ben y Carla se envían mensajes entre sí, cada uno de ellos sumará, promediará o tomará el valor máximo de los mensajes recibidos.
Leer el artículo entero en: The Conversation