Las graph neural networks o GNN (en español, redes neuronales gráficas) son una nueva forma de redes neuronales artificiales (artificial neural networks) basadas en grafos. Para comprender las GNN, primero debes saber qué se entiende por grafo en el ámbito de la informática, en que el término se refiere a una forma concreta de estructurar los datos: un grafo consta de varios puntos de datos (nodos, o vertices en inglés) que están conectados entre sí (mediante bordes, o edges en inglés) y, por lo tanto, forman pares. Lo verás más claro con este ejemplo: la persona A y la persona B pueden representarse como puntos en un grafo. Si están conectados, significa que hay alguna relación entre ellos. Si se eliminan las conexiones, solo queda un conjunto de personas o datos.
El árbol es una forma bien conocida de grafo. En esta estructura, los nodos están conectados de modo que solo existe una ruta (que puede recorrer varios nodos) entre el punto A y el punto B. Los bordes pueden seguir una dirección o ninguna. En un grafo, las relaciones son tan importantes como los propios datos. Tanto a los bordes como a los nodos se les pueden asignar atributos.
Por lo tanto, el grafo resulta ideal para representar condiciones reales, lo que, precisamente, es uno de los retos del aprendizaje profundo: lograr que el software pueda comprender las condiciones naturales. Esto es justo lo que hace una graph neural network, donde los nodos recopilan información de los nodos vecinos, porque estos intercambian mensajes entre sí regularmente. De esta manera, la graph neural network es capaz de aprender: los datos se transmiten y se incorporan a las propiedades del nodo correspondiente.