Las redes neuronales de grafos (GNN) son una clase de redes neuronales artificiales diseñadas para tareas cuyas entradas son grafos. Un grafo consiste en nodos (vértices) y aristas (conexiones) que pueden representar entidades y sus relaciones, como átomos en una molécula o usuarios en una red social. A diferencia de las imágenes o el texto, los grafos no tienen un orden canónico de sus nodos, por lo que las arquitecturas GNN suelen diseñarse para ser equivariantes a permutaciones: reordenar los nodos en la entrada reordena las representaciones de nodo correspondientes de la misma manera. Para tareas de predicción a nivel de grafo, las GNN utilizan una función de lectura invariante a permutaciones, cuya salida no cambia con el orden de los nodos.
El elemento clave de diseño de las GNN es el paso de mensajes por pares, donde los nodos del grafo actualizan iterativamente sus representaciones intercambiando información con sus vecinos. Esto permite que la red capture patrones y dependencias estructurales locales. Las GNN se han convertido en una piedra angular del aprendizaje automático en datos relacionales, con aplicaciones que abarcan dominios de aprendizaje profundo como la biología molecular, la química, la física, las redes sociales y el procesamiento del lenguaje natural.
Desarrollo Histórico
El concepto de aplicar redes neuronales a grafos surgió a finales de los años 1990 y principios de los 2000. Los primeros enfoques recursivos y convolucionales sentaron las bases, pero el campo ganó un impulso significativo en la década de 2010 con la llegada de recursos computacionales más potentes y el éxito del aprendizaje profundo en otros dominios. Un artículo de posición de 2022 argumentó que muchas arquitecturas descritas como "más allá" del paso de mensajes pueden interpretarse en cambio como paso de mensajes sobre grafos modificados adecuadamente, proponiendo el término "paso de mensajes aumentado" para tales enfoques. Esto destaca el papel central del paso de mensajes en el diseño de GNN.
Arquitectura
La arquitectura de una GNN genérica implementa varias capas fundamentales. Las capas equivariantes a permutaciones mapean una representación de un grafo a una representación actualizada del mismo grafo, típicamente mediante paso de mensajes. Las capas de agrupación local reducen el grafo mediante submuestreo, aumentando el campo receptivo de manera similar a la agrupación en redes neuronales convolucionales. Las capas de agrupación global, también llamadas capas de lectura, proporcionan una representación de tamaño fijo de todo el grafo y deben ser invariantes a permutaciones. Ejemplos de agrupación global incluyen la suma, la media o el máximo elemento a elemento.
Las GNN estándar de paso de mensajes son como máximo tan expresivas como la prueba de isomorfismo de grafos de Weisfeiler-Leman, lo que significa que existen estructuras de grafo distintas que no pueden distinguirse mediante tales redes. Se pueden diseñar GNN más potentes que operan en geometrías de dimensiones superiores, como complejos simpliciales. A partir de 2022, si las arquitecturas futuras superarán la primitiva de paso de mensajes sigue siendo una cuestión de investigación abierta.
Capas de Paso de Mensajes
Las capas de paso de mensajes son capas equivariantes a permutaciones que mapean un grafo a una representación actualizada del mismo grafo. Formalmente, pueden expresarse como redes neuronales de paso de mensajes (MPNN). Sea G = (V, E) un grafo, donde V es el conjunto de nodos y E es el conjunto de aristas. Para un nodo u en V, sea N_u su vecindario, x_u sus características y e_uv las características de la arista (u, v). Una capa MPNN calcula una representación de nodo actualizada h_u como:
h_u = φ(x_u, ⊕_{v∈N_u} ψ(x_u, x_v, e_uv))
donde φ y ψ son funciones diferenciables (por ejemplo, redes neuronales artificiales), y ⊕ es un agregador diferenciable e invariante a permutaciones como suma, media o máximo. El agregador combina mensajes de los vecinos, y φ actualiza la representación del nodo. Cada capa de paso de mensajes aumenta el campo receptivo en un salto, permitiendo que la información se propague a través del grafo.
Varias arquitecturas GNN implementan diferentes variantes de paso de mensajes. Por ejemplo, las redes convolucionales de grafos (GCN) utilizan un promedio simple de las características de los vecinos, mientras que las redes de atención de grafos (GAT) emplean mecanismos de atención para ponderar las contribuciones de los vecinos. Estas variaciones afectan la capacidad y el sesgo inductivo del modelo.
Aprendizaje Geométrico Profundo
Las GNN forman parte del tema más amplio del aprendizaje geométrico profundo, que busca generalizar las arquitecturas de redes neuronales a dominios no euclidianos. En este marco, ciertas arquitecturas existentes pueden interpretarse como GNN que operan en grafos definidos adecuadamente. Por ejemplo, una capa de red neuronal convolucional en visión por computadora puede considerarse una GNN aplicada a grafos cuyos nodos son píxeles, con aristas que conectan píxeles adyacentes. De manera similar, una capa de transformador en procesamiento del lenguaje natural puede verse como una GNN aplicada a grafos completos cuyos nodos son palabras o tokens en un pasaje de texto. Esta perspectiva unifica arquitecturas aparentemente dispares bajo un marco matemático común.
Aplicaciones
Las GNN se han aplicado a una amplia gama de dominios. En el diseño de fármacos moleculares, las moléculas se representan como grafos con nodos para átomos y aristas para enlaces atómicos, a menudo incluyendo propiedades químicas conocidas como características. Las entradas pueden variar en tamaño debido a diferentes números de átomos y enlaces. Una tarea a nivel de grafo podría ser predecir la eficacia de una molécula para una aplicación médica específica, como eliminar la bacteria E. coli. Las GNN también se han utilizado en análisis de redes sociales, redes de citas y sistemas de recomendación. En física, pueden modelar interacciones de partículas, y en optimización combinatoria, se han aplicado a problemas NP-difíciles como el problema del viajante.
Implementaciones y Bibliotecas
Varias bibliotecas de código abierto implementan GNN, haciéndolas accesibles para investigadores y profesionales. PyTorch Geometric es una biblioteca popular construida sobre PyTorch, mientras que TensorFlow GNN proporciona funcionalidad similar para TensorFlow. La Biblioteca de Grafos Profundos (DGL) es independiente del marco, soportando múltiples backends. jraph está diseñada para JAX, y GraphNeuralNetworks.jl y GeometricFlux.jl sirven al ecosistema de Julia. Estas bibliotecas ofrecen capas preconstruidas, operaciones de agrupación y utilidades para manejar datos de grafos, acelerando el desarrollo y la experimentación.
Desafíos y Direcciones Futuras
A pesar de su éxito, las GNN enfrentan varios desafíos. La limitación de poder expresivo en relación con la prueba de Weisfeiler-Leman restringe su capacidad para distinguir ciertas estructuras de grafo. La escalabilidad a grafos grandes es otro problema, ya que el paso de mensajes puede ser computacionalmente intensivo. La investigación continúa en arquitecturas más expresivas, como aquellas que usan características de orden superior o paso de mensajes aumentado. Además, la comprensión teórica de la generalización y robustez de las GNN es un área activa de estudio. A partir de 2022, el campo está evolucionando rápidamente, con nuevas arquitecturas y aplicaciones que emergen regularmente.