Saltar al contenido principal
ToolPotion

Graph Neural PDEs

Graph Neural PDEs es un proyecto de código abierto que proporciona código Python para Redes Neuronales de Grafos (GNNs) que tratan el aprendizaje de grafos como un proceso de difusión continua. Implementa los modelos GRAND y BLEND, ofreciendo enfoques novedosos para abordar desafíos comunes del aprendizaje de grafos como el sobre-suavizado y las limitaciones de profundidad.

Visitar URL

Descripción

Graph Neural PDEs es un repositorio de GitHub desarrollado por twitter-research, que ofrece el código fuente para sus publicaciones GRAND (Graph Neural Diffusion) y BLEND (Beltrami Flow and Neural Diffusion on Graphs). Estos modelos conceptualizan el aprendizaje profundo en grafos como un proceso de difusión continua, con las Redes Neuronales de Grafos (GNNs) sirviendo como discretizaciones de Ecuaciones Diferenciales Parciales (EDPs) subyacentes.

La innovación principal radica en cómo la estructura de capas y la topología de las GNNs se mapean a las elecciones de discretización de los operadores temporales y espaciales. Este desarrollo principista conduce a una nueva clase de GNNs diseñadas para superar problemas prevalentes en el aprendizaje de grafos, como las limitaciones de profundidad, el sobre-suavizado y los cuellos de botella. Un aspecto clave de estos modelos es su estabilidad con respecto a las perturbaciones de datos, abordada a través de esquemas de discretización implícitos y explícitos.

El repositorio incluye implementaciones para versiones lineales y no lineales de GRAND, que han demostrado un rendimiento competitivo en varios benchmarks de grafos estándar. BLEND extiende GRAND operando en un espacio no euclidiano, evolucionando conjuntamente las características de los nodos y las codificaciones posicionales. Esto proporciona un método robusto para la reestructuración de grafos. El proyecto también detalla los requisitos y comandos para configurar las dependencias necesarias, centrándose principalmente en PyTorch y sus bibliotecas relacionadas, y ofrece consejos de solución de problemas para problemas comunes de instalación, particularmente aquellos relacionados con incompatibilidades de versión de CUDA.

Para los usuarios interesados en ejecutar los experimentos, el repositorio describe los pasos de preparación de datos y preprocesamiento tanto para GRAND como para BLEND. Especifica la creación de una carpeta `./data` para los conjuntos de datos y, para BLEND, una carpeta adicional `./data/pos_encodings` para las codificaciones posicionales. Se proporcionan instrucciones para ejecutar experimentos en conjuntos de datos como Cora, Citeseer, Computers, Photo y ogbn-arxiv, junto con orientación para generar o descargar codificaciones posicionales.

El proyecto fomenta las contribuciones y reporta problemas de seguridad a través del programa de recompensa por errores de Twitter. Tiene licencia bajo la licencia Apache-2.0, lo que lo hace libremente disponible para su uso y modificación. El repositorio también incluye citas para los artículos de GRAND y BLEND, lo que permite a los investigadores referenciar el trabajo fundamental.

Aspectos destacados de Graph Neural PDEs

  • Implementación del modelo GRAND (Graph Neural Diffusion)

  • Implementación del modelo BLEND (Beltrami Flow and Neural Diffusion on Graphs)

  • Trata el aprendizaje profundo en grafos como un proceso de difusión continua

  • Modela las GNNs como discretizaciones de EDPs subyacentes

  • Aborda desafíos del aprendizaje de grafos como el sobre-suavizado y las limitaciones de profundidad

  • Proporciona estabilidad con respecto a las perturbaciones de datos

  • Incluye versiones lineales y no lineales de GRAND

  • BLEND ofrece extensión no euclidiana para la reestructuración de grafos

  • Instrucciones detalladas de instalación para dependencias (PyTorch, etc.)

  • Orientación sobre la preparación de datos y codificaciones posicionales

  • Scripts para ejecutar experimentos en conjuntos de datos de referencia

  • Solución de problemas de instalación de dependencias

  • Licencia Apache-2.0

Primeros pasos con Graph Neural PDEs

  1. Configurar entorno: Crear y activar un entorno conda con la versión de Python especificada.

  2. Instalar dependencias: Usar pip para instalar las bibliotecas requeridas, incluyendo PyTorch, PyTorch Geometric y otras.

  3. Preparar datos: Crear una carpeta `./data` para los conjuntos de datos y `./data/pos_encodings` para BLEND.

  4. Generar codificaciones posicionales: Usar los scripts proporcionados o descargar codificaciones precalculadas si es necesario para BLEND.

  5. Ejecutar experimentos: Navegar al directorio `src` y ejecutar `run_GNN.py` con los parámetros del conjunto de datos.

  6. Solucionar problemas de instalación: Verificar las versiones de CUDA y PyTorch si se encuentran errores de instalación.

Casos de uso de Graph Neural PDEs

  • Investigación de Redes Neuronales de Grafos
  • Clasificación de Nodos
  • Reestructuración de Grafos
  • Abordar el Sobre-suavizado
  • Benchmarking de Modelos GNN
  • Aprendizaje Continuo de Grafos

Preguntas frecuentes de Graph Neural PDEs

Reseñas de Graph Neural PDEs

Cargando...

Herramientas de IA populares como Graph Neural PDEs

Las Redes Temporales de Grafos (TGNs) ofrecen un marco genérico y eficiente para el aprendizaje profundo en grafos dinámicos. Esta biblioteca basada en Python utiliza módulos de…

Modelos de IA y LLM

Las Redes Convolucionales de Grafos (GCNs) son un tipo de red neuronal diseñada para procesar datos estructurados como grafos. Generalizan las redes neuronales convolucionales a…

Otras herramientas de IA

Modelos de IA

EvolveGCN proporciona código para Redes Convolucionales de Grafos Evolutivos diseñadas para grafos dinámicos. Este modelo de IA, publicado en AAAI 2020, ofrece un marco para…

Modelos de IA y LLM

Este repositorio proporciona la implementación oficial del artículo "Simplifying Graph Convolutional Networks". Ofrece un modelo de Red Convolucional de Grafos (GCN) optimizado…

Modelos de IA y LLM

Este repositorio proporciona una implementación de Agregación Principal de Vecindario (PNA) para Redes Neuronales de Grafos. Soporta los frameworks PyTorch, DGL y PyTorch…

Plataformas de aprendizaje automático

Este repositorio proporciona una implementación en PyTorch del modelo "Simple and Deep Graph Convolutional Networks" (GCNII). Incluye código para replicar resultados…

Modelos de IA y LLM

Modelos de IA

LightGCN es una Red Convolucional de Grafos simplificada diseñada para sistemas de recomendación. Se centra en el componente esencial de agregación de vecindario para el filtrado…

Modelos de IA y LLM

Este repositorio de GitHub proporciona implementaciones en PyTorch para DeepGCNs, DeeperGCN y GNN1000. Permite entrenar Redes Convolucionales de Grafos muy profundas adaptando…

Plataformas de aprendizaje automático