Las redes neuronales de grafos (GNN) son una clase de redes neuronales artificiales diseñadas para tareas cuyas entradas son grafos, como estructuras moleculares, redes sociales o redes de citas. A diferencia de las redes neuronales estándar que asumen entradas de tamaño fijo y ordenadas, las GNN operan sobre grafos de tamaño y topología arbitrarios. Debido a que los grafos generalmente no tienen un orden canónico de nodos, las arquitecturas de GNN suelen diseñarse para ser equivariantes a permutaciones: reordenar los nodos de 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, asegurando que la salida no cambie por el orden de los nodos.
El elemento de diseño clave de las GNN es el paso de mensajes por pares, donde los nodos actualizan iterativamente sus representaciones intercambiando información con sus vecinos. Esto permite que la red capture información estructural tanto local como global. Una aplicación destacada es el diseño de fármacos moleculares, donde las moléculas se representan como grafos con átomos como nodos y enlaces como aristas, a menudo incluyendo propiedades químicas como características. Las tareas a nivel de grafo incluyen predecir la eficacia de una molécula para un uso médico específico, como eliminar la bacteria E. coli. Las GNN también se han aplicado en procesamiento de lenguaje natural, análisis de redes sociales, física y optimización combinatoria NP-difícil.
Desarrollo Histórico
El concepto de aplicar redes neuronales a datos estructurados como grafos surgió a finales de los años 1990 y principios de los 2000. Trabajos tempranos de investigadores como Franco Scarselli y colegas introdujeron redes neuronales recursivas para grafos, que procesaban estructuras de grafo de manera recurrente. Alrededor de la misma época, se desarrollaron enfoques convolucionales, dando lugar a las primeras redes convolucionales de grafos. Estas arquitecturas tempranas sentaron las bases para las GNN modernas, que han evolucionado a través de contribuciones de muchos grupos de investigación académicos e industriales.
Un hito significativo fue la introducción de las redes neuronales de paso de mensajes (MPNN) en 2017, que unificaron muchas variantes existentes de GNN bajo un marco común. Desde entonces, se han propuesto numerosas arquitecturas, cada una implementando diferentes versiones de paso de mensajes. 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, acuñando el término "paso de mensajes aumentado" para tales enfoques.
Arquitectura
La arquitectura de una GNN genérica típicamente incluye tres tipos fundamentales de capas: capas equivariantes a permutaciones, capas de agrupación local y capas de agrupación global. Las capas equivariantes a permutaciones, a menudo implementadas mediante paso de mensajes, actualizan las representaciones de los nodos agregando mensajes de los vecinos inmediatos. Cada una de estas capas aumenta el campo receptivo en un salto, permitiendo que los nodos incorporen información de partes más lejanas del grafo.
Las capas de agrupación local reducen el grafo mediante submuestreo, similar a la agrupación en redes neuronales convolucionales para imágenes. Ejemplos incluyen agrupación por k-vecinos más cercanos, agrupación top-k y agrupación por autoatención. Las capas de agrupación global, también conocidas como capas de lectura, producen una representación de tamaño fijo de todo el grafo y deben ser invariantes a permutaciones. Las funciones de lectura comunes incluyen suma, media o 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-Lehman, lo que significa que existen estructuras de grafo distintas que no pueden ser distinguidas por tales redes. Se han propuesto 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 el primitivo de paso de mensajes sigue siendo una pregunta de investigación abierta.
Capas de Paso de Mensajes
Las capas de paso de mensajes son el núcleo de la mayoría de las GNN. Formalmente, pueden expresarse como redes neuronales de paso de mensajes (MPNN). Dado un grafo G = (V, E) con características de nodo x_u y características de arista e_uv, una capa MPNN actualiza la representación de cada nodo h_u usando una función diferenciable φ y una función de mensaje ψ:
h_u = φ(x_u, ⊕_{v∈N_u} ψ(x_u, x_v, e_uv))
Aquí, N_u denota la vecindad del nodo u, y ⊕ es una función de agregación invariante a permutaciones como suma, media o máximo. La función de mensaje ψ calcula un mensaje de cada vecino, y la agregación combina estos mensajes. La función de actualización φ luego combina las características propias del nodo con los mensajes agregados para producir la nueva representación.
Diferentes arquitecturas de GNN varían en cómo definen ψ y φ. Por ejemplo, las redes convolucionales de grafos (GCN) usan una suma normalizada simple de características de 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 permiten que las GNN capturen diferentes aspectos de la estructura del grafo.
Aprendizaje Geométrico Profundo
Las GNN son parte del campo más amplio del aprendizaje geométrico profundo, que busca generalizar las redes neuronales a dominios no euclidianos. En este contexto, muchas arquitecturas existentes pueden interpretarse como GNN que operan sobre grafos definidos adecuadamente. Por ejemplo, una capa de red neuronal convolucional en visión por computadora puede verse como una GNN aplicada a grafos donde los nodos son píxeles y las aristas conectan píxeles adyacentes. De manera similar, una capa de Transformer (architecture) en procesamiento de lenguaje natural puede verse como una GNN aplicada a grafos completos cuyos nodos son palabras o tokens en un pasaje de texto.
Esta perspectiva ha llevado a una polinización cruzada entre campos. Técnicas desarrolladas para GNN, como los mecanismos de atención, han influido en las arquitecturas de transformers, y los conocimientos de los transformers han informado el diseño de GNN. La visión unificada del aprendizaje geométrico profundo ha sido articulada por investigadores como Michael Bronstein y Joan Bruna, entre otros.
Aplicaciones
Las GNN han encontrado aplicaciones en una amplia gama de dominios. En biología molecular y química, se utilizan para descubrimiento de fármacos, predicción de funciones de proteínas y diseño de materiales. Por ejemplo, las GNN pueden predecir propiedades moleculares o generar moléculas novedosas con características deseadas. En redes sociales, las GNN impulsan sistemas de recomendación, detección de comunidades y predicción de enlaces. Las redes de citas, donde los artículos son nodos y las citas son aristas, se benefician de las GNN para clasificación de temas y predicción de impacto.
En física, las GNN modelan interacciones de partículas y simulan sistemas dinámicos. También se aplican a problemas de optimización combinatoria NP-difíciles, como el problema del viajante o el coloreo de grafos, donde pueden aprender heurísticas. En procesamiento de lenguaje natural, las GNN se usan para análisis semántico, extracción de relaciones y razonamiento sobre grafos de conocimiento. Además, las GNN se han empleado en visión por computadora para generación de grafos de escenas y procesamiento de nubes de puntos.
Bibliotecas de Software
Varias bibliotecas de código abierto implementan GNN, haciéndolas accesibles a investigadores y profesionales. PyTorch Geometric, construida sobre PyTorch, es una de las bibliotecas más utilizadas, ofreciendo una rica colección de capas y conjuntos de datos de GNN. TensorFlow GNN proporciona funcionalidad similar para el ecosistema de TensorFlow. La Biblioteca de Grafos Profundos (DGL) es independiente del marco, soportando tanto PyTorch como TensorFlow. Para usuarios de JAX, jraph ofrece primitivas de GNN. En el lenguaje Julia, GraphNeuralNetworks.jl y GeometricFlux.jl proporcionan implementaciones de GNN.
Estas bibliotecas han acelerado la investigación y el despliegue de GNN al proporcionar implementaciones eficientes de operaciones de paso de mensajes, agrupación y lectura. También incluyen utilidades para manejar datos de grafos, como agrupamiento en lotes y carga de datos, que son esenciales para entrenar en grafos grandes.
Desafíos y Direcciones Futuras
A pesar de su éxito, las GNN enfrentan varios desafíos. Un problema importante es la escalabilidad, ya que el paso de mensajes sobre grafos grandes puede ser computacionalmente costoso. Técnicas como el muestreo de grafos y el entrenamiento por mini-lotes se han desarrollado para abordar esto. Otro desafío es el suavizado excesivo, donde el paso de mensajes repetido hace que las representaciones de los nodos se vuelvan indistinguibles, limitando la profundidad de las GNN.
La expresividad es otra área activa de investigación. Dado que las GNN estándar están limitadas por la prueba de Weisfeiler-Lehman, los investigadores han explorado GNN de orden superior, transformers de grafos y arquitecturas que operan sobre complejos simpliciales o hipergrafos. Estos enfoques buscan capturar información estructural más compleja. A partir de 2022, la cuestión de si el paso de mensajes seguirá siendo el paradigma dominante está abierta, con trabajo continuo en paso de mensajes aumentado y primitivas alternativas.
La interpretabilidad y la robustez también son importantes. Entender qué aprenden las GNN y hacerlas robustas a ataques adversariales en grafos son temas de investigación activos. A medida que las GNN se despliegan cada vez más en dominios de alto riesgo como la atención médica y los sistemas autónomos, abordar estos desafíos será crucial para su adopción más amplia.