Aller au contenu principal
ToolPotion
Conseiller IA
Soumettre

GraphSAINT

GraphSAINT est un framework flexible pour l'entraînement de réseaux neuronaux profonds sur graphes (GNN) sur de grands graphes. Il introduit une méthode d'entraînement par mini-batchs novatrice utilisant l'échantillonnage de graphes, offrant une précision, une efficacité et une scalabilité améliorées par rapport aux techniques traditionnelles d'échantillonnage de couches. Prend en charge plusieurs architectures GNN et échantillonneurs.

Voir le dépôt
Partager
Voir le dépôt
Partager

GraphSAINT est un framework général et flexible conçu pour l'entraînement de réseaux neuronaux sur graphes (GNN) à grande échelle. Il se distingue par une méthodologie d'entraînement par mini-batchs novatrice qui emploie l'échantillonnage de graphes, une rupture avec les approches conventionnelles d'échantillonnage de couches. Cette technique d'échantillonnage de graphes permet la construction de couches GNN complètes sur de petits sous-graphes échantillonnés, plutôt que l'échantillonnage au sein des couches. Ce changement fondamental de perspective entraîne plusieurs avantages clés.

Lire la suite

La précision est améliorée grâce à des techniques de normalisation simples mais efficaces qui atténuent le biais introduit par l'échantillonnage de graphes. De plus, GraphSAINT propose des échantillonneurs de graphes légers qui préservent les voisins cruciaux en fonction des caractéristiques topologiques, abordant la perte d'informations inhérente à tout processus d'échantillonnage. Ceci peut également être considéré comme une forme d'augmentation de données ou de régularisation d'entraînement.

L'efficacité est considérablement améliorée en résolvant le problème de « l'explosion des voisins », un défi courant dans les méthodes d'échantillonnage de couches. En construisant des couches GNN complètes et non échantillonnées sur des sous-graphes, le nombre de voisins reste constant quelle que soit la profondeur du réseau, réduisant le coût de calcul par mini-batch de l'exponentiel au linéaire par rapport à la profondeur du GNN. Cela réduit également considérablement la surcharge de communication dans les environnements distribués.

La flexibilité est un principe fondamental de GraphSAINT. La propagation des couches sur un sous-graphe de mini-batch reflète étroitement celle sur le graphe complet, permettant l'entraînement transparent de la plupart des architectures GNN conçues pour les graphes complets. Ceci contraste avec certains algorithmes d'échantillonnage de couches qui ne prennent en charge que des architectures GNN limitées. La scalabilité est atteinte en termes de taille de graphe, de taille de modèle et de ressources parallèles. Les tailles de sous-graphes n'ont pas besoin de croître proportionnellement à la taille du graphe, permettant aux grands graphes de tenir dans la mémoire GPU. Les coûts d'entraînement évoluent linéairement avec la largeur et la profondeur du GNN, et l'échantillonnage de graphes est hautement parallélisable.

Le dépôt fournit des implémentations Python en TensorFlow et PyTorch, ainsi qu'une implémentation C++ pour les techniques d'entraînement parallèles. Il prend en charge diverses architectures GNN comme GraphSAGE, GAT et JK-Net, ainsi que plusieurs échantillonneurs de graphes, notamment Node, Edge, RW et MRW. Le framework est conçu pour les chercheurs et les praticiens travaillant avec de grands ensembles de données de graphes qui nécessitent un entraînement GNN efficace et précis.

  • CatégoriePlateformes de machine learning
  • Modèle tarifaireOpen source
  • DéploiementCloud, Auto-hébergé
  • PlateformesLinux, Windows

  • Entraînement par mini-batchs pour GNN profonds sur de grands graphes

  • Méthode d'apprentissage inductive basée sur l'échantillonnage de graphes

  • Approche novatrice d'entraînement par mini-batchs utilisant l'échantillonnage de graphes

  • Élimine le biais introduit par l'échantillonnage de graphes via la normalisation

  • Échantillonneurs de graphes légers pour préserver les voisins importants

  • Résout le problème de « l'explosion des voisins » pour l'efficacité

  • Scalable par rapport à la taille du graphe, la taille du modèle et les ressources parallèles

  • Prend en charge plusieurs architectures GNN (GraphSAGE, GAT, JK-Net, GaAN, MixHop)

  • Prend en charge divers échantillonneurs de graphes (Node, Edge, RW, MRW, Graphe complet)

  • Disponible en implémentations TensorFlow et PyTorch

  • Inclut une implémentation C++ pour les techniques d'entraînement parallèles

  • Facilite la personnalisation pour vos propres ensembles de données et échantillonneurs

  1. Accéder au modèle : Cloner le dépôt GitHub.

  2. Configurer l'environnement : Installer les dépendances, y compris Python, TensorFlow/PyTorch, Cython et g++.

  3. Compiler les échantillonneurs : Exécuter `python graphsaint/setup.py build_ext --inplace`.

  4. Préparer le jeu de données : Formater vos données de graphe dans `adj_full.npz`, `adj_train.npz`, `role.json`, `class_map.json` et `feats.npy`.

  5. Configurer l'entraînement : Définir les hyperparamètres à l'aide des fichiers de configuration YAML dans `./train_config/`.

  6. Exécuter l'entraînement : Exécuter les scripts d'entraînement en utilisant `python -m graphsaint.<tensorflow/pytorch>_version.train` avec les indicateurs appropriés pour les données, la configuration et l'utilisation du GPU.

  • Entraînement de graphes à grande échelle
  • Apprentissage inductif sur les graphes
  • Apprentissage de représentations de graphes
  • Classification de nœuds
  • Prédiction de liens
  • Prédiction au niveau du graphe
  • Développement de GNN personnalisés

Avis sur GraphSAINT

Chargement...

Outils IA populaires comme GraphSAINT

DeepGCNs

Dépôts GitHub d'IA

Ce dépôt GitHub fournit des implémentations PyTorch pour DeepGCNs, DeeperGCN et GNN1000. Il permet l'entraînement de réseaux convolutionnels sur graphes très profonds en adaptant…

Plateformes de machine learning
Voir l'outil

Dépôts GitHub d'IA

Ce dépôt GitHub fournit des implémentations PyTorch pour DeepGCNs, DeeperGCN et GNN1000. Il permet l'entraînement de réseaux convolutionnels sur graphes très profonds en adaptant…

Plateformes de machine learning
Voir le Top 250 Dépôts GitHub d'IA

Ce dépôt fournit une implémentation de l'Agrégation Principale de Voisinage (PNA) pour les Réseaux de Neurones Graphiques. Il prend en charge les frameworks PyTorch, DGL et…

Plateformes de machine learning
Voir l'outil

GCNII

Dépôts GitHub d'IA

Ce dépôt fournit une implémentation PyTorch du modèle "Simple and Deep Graph Convolutional Networks" (GCNII). Il comprend du code pour reproduire les résultats semi-supervisés et…

Plateformes de machine learning
Voir l'outil

Dépôts GitHub d'IA

Ce dépôt fournit une implémentation PyTorch du modèle "Simple and Deep Graph Convolutional Networks" (GCNII). Il comprend du code pour reproduire les résultats semi-supervisés et…

Plateformes de machine learning
Voir le Top 250 Dépôts GitHub d'IA

Les Réseaux Convolutifs sur Graphes (GCNs) sont un type de réseau neuronal conçu pour traiter des données structurées sous forme de graphes. Ils généralisent les réseaux neuronaux…

Autres outils IA
Voir l'outil

Réseaux d'Attention Graphique

Dépôts GitHub d'IA

Les Réseaux d'Attention Graphique (GATs) sont de nouvelles architectures de réseaux neuronaux conçues pour les données structurées en graphes. Ils exploitent des couches…

Autres outils IA
Voir l'outil

Cet article offre une introduction douce aux Réseaux Neuronaux Graphiques (GNN), expliquant comment les réseaux neuronaux peuvent exploiter les structures graphiques. Il couvre la…

Autres outils IA
1 sur 8