Description
Graph Neural PDEs est un dépôt GitHub développé par twitter-research, offrant le code source de leurs publications GRAND (Graph Neural Diffusion) et BLEND (Beltrami Flow and Neural Diffusion on Graphs). Ces modèles conceptualisent l'apprentissage profond sur les graphes comme un processus de diffusion continu, les réseaux neuronaux sur graphes (GNN) servant de discrétisations des équations aux dérivées partielles (EDP) sous-jacentes.
Lire la suite
L'innovation principale réside dans la manière dont la structure des couches et la topologie des GNN sont mappées aux choix de discrétisation des opérateurs temporels et spatiaux. Ce développement basé sur des principes conduit à une nouvelle classe de GNN conçus pour surmonter les problèmes prévalents dans l'apprentissage sur graphes, tels que les limitations de profondeur, le sur-lissage et les goulots d'étranglement. Un aspect clé de ces modèles est leur stabilité par rapport aux perturbations des données, traitée par des schémas de discrétisation implicites et explicites.
Le dépôt comprend des implémentations pour les versions linéaires et non linéaires de GRAND, qui ont démontré des performances compétitives sur divers benchmarks de graphes standards. BLEND étend GRAND en opérant dans un espace non euclidien, faisant évoluer conjointement les caractéristiques des nœuds et les encodages positionnels. Cela fournit une méthode robuste pour le ré-enchevêtrement de graphes. Le projet détaille également les exigences et les commandes pour configurer les dépendances nécessaires, se concentrant principalement sur PyTorch et ses bibliothèques associées, et offre des conseils de dépannage pour les problèmes d'installation courants, en particulier ceux liés aux incompatibilités de version CUDA.
Pour les utilisateurs intéressés par l'exécution des expériences, le dépôt décrit les étapes de préparation des données et de prétraitement pour GRAND et BLEND. Il spécifie la création d'un dossier `./data` pour les jeux de données et, pour BLEND, un dossier supplémentaire `./data/pos_encodings` pour les encodages positionnels. Des instructions sont fournies pour exécuter des expériences sur des jeux de données tels que Cora, Citeseer, Computers, Photo et ogbn-arxiv, ainsi que des conseils pour générer ou télécharger des encodages positionnels.
Le projet encourage les contributions et le signalement des problèmes de sécurité via le programme de prime aux bogues de Twitter. Il est licencié sous la licence Apache-2.0, ce qui le rend librement disponible pour utilisation et modification. Le dépôt inclut également des citations pour les articles GRAND et BLEND, permettant aux chercheurs de référencer le travail fondamental.
- CatégorieModèles d'IA et LLM
- Modèle tarifaireOpen source
- DéploiementCloud, Auto-hébergé
- PlateformesWeb
Fonctionnalités principales de Graph Neural PDEs
Implémentation du modèle GRAND (Graph Neural Diffusion)
Implémentation du modèle BLEND (Beltrami Flow and Neural Diffusion on Graphs)
Traite l'apprentissage profond sur les graphes comme un processus de diffusion continu
Modélise les GNN comme des discrétisations d'EDP sous-jacentes
Aborde les défis de l'apprentissage sur graphes tels que le sur-lissage et les limitations de profondeur
Assure la stabilité par rapport aux perturbations des données
Inclut les versions linéaires et non linéaires de GRAND
BLEND offre une extension non euclidienne pour le ré-enchevêtrement de graphes
Instructions d'installation détaillées pour les dépendances (PyTorch, etc.)
Guide pour la préparation des données et des encodages positionnels
Scripts pour exécuter des expériences sur des jeux de données de référence
Dépannage des problèmes d'installation des dépendances
Licence Apache-2.0
Premiers pas avec Graph Neural PDEs
Configurer l'environnement : Créer et activer un environnement conda avec la version Python spécifiée.
Installer les dépendances : Utiliser pip pour installer les bibliothèques requises, y compris PyTorch, PyTorch Geometric, et d'autres.
Préparer les données : Créer un dossier `./data` pour les jeux de données et `./data/pos_encodings` pour BLEND.
Générer les encodages positionnels : Utiliser les scripts fournis ou télécharger des encodages pré-calculés si nécessaire pour BLEND.
Exécuter les expériences : Naviguer vers le répertoire `src` et exécuter `run_GNN.py` avec les paramètres du jeu de données.
Dépanner l'installation : Vérifier les versions CUDA et PyTorch en cas d'erreurs d'installation.
Cas d'utilisation de Graph Neural PDEs
- Recherche sur les réseaux neuronaux sur graphes
- Classification de nœuds
- Ré-enchevêtrement de graphes
- Résolution du sur-lissage
- Évaluation comparative des modèles GNN
- Apprentissage continu sur graphes







