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.
El hecho de que la agregación se base en operaciones como la suma o el promedio es lo que garantiza la invariancia a las permutaciones. No importa en qué orden recibamos los mensajes, el resultado final de la agregación será el mismo. Por ejemplo, sumar 2, 3 y 5 dará el mismo resultado independientemente del orden en que sumemos estos números.
Aprendiendo a varios niveles
Las redes neuronales gráficas son capaces de analizar, encontrar patrones y realizar predicciones a diferentes niveles:
-
Nivel de nodo: predicción de propiedades específicas de nodos individuales, como la detección de fraudes en transacciones de bitcoins.
-
Nivel de arista: predicción de conexiones futuras en redes sociales, como identificar quién podría convertirse en amigo de quién o recomendaciones de artículos en plataformas de compra online.
-
Nivel de grafo completo: análisis de propiedades globales del grafo, como la predicción de la solubilidad de compuestos químicos.
Aplicaciones de las redes neuronales gráficas
Aunque las noticias sobre inteligencia artificial generativa, como ChatGPT y DALL-E, han dominado los titulares, las redes neuronales gráficas ya se utilizan en diversas aplicaciones con un impacto similar en nuestras vidas:
-
Sistemas de recomendación. Alibaba las utiliza para mejorar la precisión de sus recomendaciones de productos, integrando información compleja sobre los usuarios y sus interacciones.
-
Biomedicina. AlphaFold de DeepMind, una herramienta utilizada en biología computacional, las usa para predecir la estructura de proteínas con una precisión sin precedentes.
-
Navegación y transporte. Google Maps emplea en la actualidad redes neuronales gráficas para optimizar rutas y predecir el tráfico en tiempo real.
-
Meteorología. GraphCast de Google las aplica para mejorar las predicciones meteorológicas. Puede realizar una predicción de diez días de la meteorología global en cuestión de minutos.
Las redes neuronales gráficas ya se encuentran en nuestras vidas sin que lo sepamos, y las empleamos cuando utilizamos Google Maps o recibimos recomendaciones de productos para comprar en internet. Aunque poco conocidas por el público general, suponen uno de los grandes avances en el campo de la inteligencia artificial de los últimos años.
Diego Canales Aguilera no recibe salario, ni ejerce labores de consultoría, ni posee acciones, ni recibe financiación de ninguna compañía u organización que pueda obtener beneficio de este artículo, y ha declarado carecer de vínculos relevantes más allá del cargo académico citado.