Redes Neuronales de Grafos, ¿qué son?

Rredes neuronales grafos.gif

Las redes neuronales de grafos, o Graph Neural Networks (GNN) son un tipo especial de red neuronal que funciona directamente sobre grafos a diferencia de las redes neuronales típicas reciben de entrada información codificada como vectores, matrices o tensores. Esta diferencia, permite que las GNN, puedan aprender a partir de información más compleja, ya que no son sólo números aislados, si no que se incorporan las relaciones entre estos.

Un grafo es una forma de organizar la información como nodos o vértices que representan algún dato y relaciones, llamadas aristas, entre estos. Debido a esto, pueden ser más complejas de analizar que imágenes o texto. Por esa razón las redes neuronales típicas no funcionan de forma adecuada.

Este tipo de redes se pueden aplicar para de la siguiente forma:

·       Diagnóstico de enfermedades: Si organizamos las enfermedades en un grafo de acuerdo a sus síntomas podemos utilizar una GNN para que aprenda las relaciones entre síntomas y enfermedades, lo que puede utilizarse para generar diagnósticos más precisos.

·       Síntesis de compuestos químicos: Entrenando una red sobre una base de datos de moléculas, representadas como grafos, es posible aprender a sintetizar nuevas moléculas o determinar nuevas formas de generarlas.

·       Modelado de diseminción de enfermedades: Combinando la información de geolocalización de las personas así como síntomas potenciales, es posible generar modelos que puedan utilizarse para predeccir la propagación de enfermedades como el COVID-19. En este caso, la información de posición es organizada como grafos que alimentan una GNN para aprender las relaciones de propagación.

·       Predicción de tráfico: Combinando información espacial de las carreteras (distancias) e información variable en el tiempo (como es estado del clima), es posible predecir el flujo que habrá en als vialidades.

·       Recomendación de productos: Codificando la información de los productos como nodos, y relacionando los que más se compran en conjunto, es posible entrenar una GNN para poder generar recomendaciones dadas las relaciones existentes entre productos.

·       Clasificación de textos: Aunque es posible clasificar textos utilizando otros métodos del área de la Inteligencia Artificial, las GNN también se pueden utilizar si representamos las palabras como nodos y las relaciones entre ellas como los aristas.

·       Generación de imágenes: Es posible es aprender la relación entre los objetos en imágenes, para poder generarlas automáticamente a partir de una descripción o incluso realizar el proceso contrario, es decir, generar una descripción de una imagen a partir de los objetos que la componen.

Como podemos ver, las GNN tienen varias aplicaciones, siempre que podamos representar la información como grafos.

PhD. Alejandro Maldonado.