¿Qué Son las Graph Neural Networks?

Las redes neuronales de gráficos (GNN) aplican la potencia predictiva del deep learning a estructuras de datos ricas que representan los objetos y sus relaciones como puntos conectados por líneas en un gráfico.
por Rick Merritt

Cuando convergen dos tecnologías, pueden crear algo nuevo y maravilloso, como los teléfonos celulares y los navegadores que se fusionaron para forjar los teléfonos inteligentes.

Hoy en día, los desarrolladores están aplicando la capacidad de la IA para encontrar patrones en bases de datos de gráficos enormes que almacenan información sobre las relaciones entre puntos de datos de todo tipo. Juntos, producen una nueva herramienta poderosa llamada Graph Neural Network.

¿Qué Son las Graph Neural Networks?

Las Graph Neural Networks (GNN) aplican la potencia predictiva del deep learning a estructuras de datos ricas que representan los objetos y sus relaciones como puntos conectados por líneas en un gráfico.

En las GNN, los puntos de datos se denominan nodos, que están vinculados por líneas (llamadas bordes) con elementos expresados matemáticamente para que los algoritmos de machine learning puedan realizar predicciones útiles al nivel de nodos, edges o graphs enteros.

¿Qué Pueden Hacer las GNN?

Una creciente lista de empresas está aplicando las GNN para mejorar el descubrimiento de fármacos, la detección de fraudes y los sistemas de recomendación. Estas aplicaciones y muchas más se basan en encontrar patrones en las relaciones entre los puntos de datos.

Los investigadores están explorando casos de uso para las GNN en gráficos por computación, ciberseguridad, genómica y ciencia de materiales. Un documento reciente informó cómo las GNN utilizaron los mapas de transporte como gráficos para mejorar las predicciones de la hora de llegada.

Muchas ramas de la ciencia y la industria ya almacenan datos valiosos en bases de datos de gráficos. Con el deep learning, pueden entrenar modelos predictivos que descubren nueva información a partir de sus gráficos.

Example uses of graph neural networks
El conocimiento de muchos campos de la ciencia y la industria se puede expresar como gráficos.

«Las GNN son una de las áreas más populares de la investigación de deep learning, y vemos que un número creciente de aplicaciones aprovechan las GNN para mejorar su rendimiento», dijo George Karypis, científico principal sénior de AWS, en una charla a principios de este año.

Otros están de acuerdo. Las GNN «son cada vez más populares debido a su flexibilidad para modelar relaciones complejas, algo que las redes neuronales tradicionales no pueden hacer», dijo Jure Leskovec, un profesor adjunto en Stanford, en su charla reciente, donde mostró la siguiente tabla de artículos de IA que las menciona.

Recent papers on graph neural networks

¿Quién Usa las Graph Neural Networks?

Amazon informó en 2017 sobre su trabajo usando GNN para detectar fraudes. En 2020, implementó un servicio de GNN público que otros podrían usar para la detección de fraudes, los sistemas de recomendación y otras aplicaciones.

Para mantener el alto nivel de confianza de sus clientes, Amazon Search emplea las GNN para detectar vendedores, compradores y productos maliciosos. Con las GPU de NVIDIA, es capaz de explorar gráficos con decenas de millones de nodos y cientos de millones de bordes, al tiempo que reduce el tiempo de entrenamiento de 24 a cinco horas.

Por su parte, biopharma GSK mantiene un gráfico de conocimiento con casi 500,000 millones de nodos que se utilizan en muchos de sus modelos de idiomas de máquina, dijo Kim Branson, directora global de IA de la compañía, cuando habló en un panel de un taller sobre GNN.

LinkedIn utiliza las GNN para hacer recomendaciones en redes sociales y comprender las relaciones entre las habilidades de las personas y sus puestos de trabajo, dijo Jaewon Yang, ingeniero sénior de software del personal de la compañía, cuando habló en otro panel del taller.

«Las GNN son herramientas de uso general, y cada año descubrimos un montón de aplicaciones nuevas para ellas», dijo Joe Eaton, un ingeniero distinguido de NVIDIA, quien lidera un equipo que aplica la computación acelerada a las GNN. «Ni siquiera hemos arañado la superficie de lo que las GNN pueden hacer».

En otra muestra del interés en las GNN, los videos de un curso sobre ellas que Leskovec enseña en Stanford han recibido más de 700,000 vistas.

¿Cómo Funcionan las GNN?

Hasta la fecha, el deep learning se ha centrado principalmente en imágenes y texto, tipos de datos estructurados que se pueden describir como secuencias de palabras o cuadrículas de píxeles. Por el contrario, los gráficos no se estructuran. Pueden tomar cualquier forma o tamaño y contener cualquier tipo de datos, incluidas imágenes y texto.

Mediante un proceso llamado traspaso de mensajes, las GNN organizan gráficos para que los algoritmos de machine learning puedan usarlos.

El traspaso de mensajes incorpora en cada nodo información sobre sus vecinos. Los modelos de IA utilizan la información incorporada para encontrar patrones y hacer predicciones.

Message passing in GNNs
Ejemplos de flujos de datos en tres tipos de GNN.

Por ejemplo, los sistemas de recomendación utilizan una forma de incrustación de nodos en las GNN para conectar a los clientes con los productos. Los sistemas de detección de fraude utilizan incrustaciones de bordes para encontrar transacciones sospechosas y los modelos de descubrimiento de fármacos comparan gráficos completos de moléculas para descubrir cómo reaccionan entre sí.

Las GNN son únicas de otras dos formas: Usan matemáticas dispersas y los modelos generalmente solo tienen dos o tres capas. Otros modelos de IA generalmente usan matemáticas densas y tienen cientos de capas de redes neuronales.

Example pipeline for a graph neural network
Un proceso de GNN tiene un gráfico como entrada y predicciones como resultados.

¿Cuál Es la Historia de las GNN?

Un documento de 2009 de investigadores de Italia fue el primero en nombrar a las Graph Neural Networks. Sin embargo, tomó ocho años hasta que dos investigadores en Ámsterdam demostraron su poder con una variante que llaman una graph convolutional network (GCN), que es una de las GNN más populares de la actualidad.

El trabajo de GCN inspiró a Leskovec y dos colegas de Stanford a crear GraphSage, una GNN que mostró nuevas formas en que podía funcionar la función de traspaso de mensajes. Lo puso a prueba en el verano de 2017 en Pinterest, donde se desempeñó como científico jefe.

The GraphSage graph neural network
GraphSage fue pionera en técnicas de agregación potentes para la aprobación de mensajes en las GNN.

Su implementación, PinSage, fue un sistema de recomendación que abarcó 3,000 millones de nodos y 18,000 millones de bordes para superar a otros modelos de IA en ese momento.

Pinterest lo aplica hoy en día en más de 100 casos de uso de toda la empresa. «Sin las GNN, Pinterest no sería tan atractivo como lo es hoy en día», dijo Andrew Zhai, ingeniero sénior de machine learning de la empresa, cuando habló en un panel en línea.

Mientras tanto, han emergido otras variantes e híbridos, incluidas las graph recurrent networks y graph attention networks. Los GAT toman prestado el mecanismo de atención definido en los modelos transformer para ayudar a las GNN a enfocarse en porciones de conjuntos de datos que son de mayor interés.

Variations of graph neural networks
Una descripción general de las GNN representaba un árbol genealógico de sus variantes.

Escalado de Graph Neural Networks

De cara al futuro, las GNN deben escalar en todas las dimensiones.

Las organizaciones que todavía no mantienen bases de datos de gráficos necesitan herramientas para facilitar el trabajo de crear estas estructuras de datos complejas.

Aquellos que utilizan bases de datos de gráficos saben que están creciendo en algunos casos para tener miles de características integradas en un solo nodo o edge. Esto presenta desafíos para cargar de manera eficiente los enormes conjuntos de datos desde subsistemas de almacenamiento a través de redes a procesadores.

«Entregamos productos que maximizan la memoria, el ancho de banda computacional y el rendimiento de los sistemas acelerados para abordar estos problemas de carga y escalado de datos», dijo Eaton.

Como parte de ese trabajo, NVIDIA anunció en GTC que ahora es compatible con PyTorch Geometric (PyG), además de Deep Graph Library (DGL). Estos son dos de los frameworks de software GNN más populares.

NVIDIA tools for creating graph neural networks
NVIDIA proporciona múltiples herramientas para acelerar el desarrollo de GNN.

Los contenedores DGL y PyG optimizados por NVIDIA están ajustados y probados para las GPU de NVIDIA. Proporcionan un lugar fácil para comenzar a desarrollar aplicaciones utilizando GNN.

Para obtener más información, mira una charla sobre la aceleración y escalado de las GNN con DGL y GPU de Da Zheng, un científico aplicado sénior en AWS. Además, los ingenieros de NVIDIA organizaron charlas separadas sobre la aceleración de las GNN con DGL y PyG.

Para comenzar hoy mismo, regístrate en nuestro programa de acceso anticipado para DGL y PyG.