Description
Ce dépôt GitHub héberge l'implémentation officielle du modèle Simplifying Graph Convolutional Networks (SGC), tel que détaillé dans le papier ICML2019. Le SGC est une avancée dans les réseaux convolutionnels sur graphes (GCN) qui simplifie l'architecture en supprimant les non-linéarités et en fusionnant les matrices de poids. Cette transformation aboutit à un modèle linéaire qui conserve des performances compétitives tout en réduisant considérablement le temps d'entraînement et les ressources computationnelles.
Lire la suite
L'implémentation prend en charge divers jeux de données de graphes, notamment les réseaux de citation comme Cora, Citeseer et Pubmed, ainsi que les réseaux sociaux tels que Reddit. Pour les réseaux de citation, le modèle atteint une précision notable, par exemple 81,0 % sur Cora, 71,9 % sur Citeseer et 78,9 % sur Pubmed, avec des temps d'entraînement aussi bas que 0,13 seconde sur une GTX 1080 Ti. Pour le jeu de données Reddit, il atteint un score F1 de 94,9 % en 2,7 secondes.
Le dépôt comprend du code pour le prétraitement des données, la définition du modèle, l'entraînement et l'évaluation. Il fournit également des conseils sur l'optimisation des hyperparamètres, en particulier pour la décroissance des poids, en utilisant des outils comme hyperopt. Des conseils pratiques sont offerts, tels que la normalisation des caractéristiques pour qu'elles aient une moyenne nulle et un écart type d'un afin d'accélérer la convergence, une technique bénéfique pour le SGC et d'autres modèles linéaires.
Au-delà de l'implémentation principale, le dépôt renvoie à des ressources supplémentaires et à des implémentations de référence dans des bibliothèques populaires comme Deep Graph Library (DGL), PyTorch Geometric, Spektral, StellarGraph et tf_geometric. Il présente également une branche en cours de développement pour des études d'ablation et du code pour des tâches en aval, en commençant par la classification de texte. Ce projet est une ressource précieuse pour les chercheurs et les praticiens cherchant à exploiter des modèles de réseaux neuronaux sur graphes efficaces et performants.
- CatégorieModèles d'IA et LLM
- Modèle tarifaireOpen source
- DéploiementCloud, Auto-hébergé
- PlateformesWeb
Fonctionnalités principales de Simplification des réseaux convolutionnels sur graphes
Implémentation officielle du papier Simplifying Graph Convolutional Networks (SGC).
Architecture simplifiée de réseau convolutionnel sur graphes (GCN).
Supprime les non-linéarités et fusionne les matrices de poids pour un modèle linéaire.
Temps d'entraînement considérablement réduit par rapport aux GCN traditionnels.
Atteint des performances compétitives sur des jeux de données de référence.
Prend en charge les réseaux de citation (Cora, Citeseer, Pubmed) et les réseaux sociaux (Reddit).
Inclut du code pour le prétraitement des données, l'entraînement du modèle et l'évaluation.
Fournit des conseils sur l'optimisation des hyperparamètres.
Offre des conseils pratiques sur la normalisation des caractéristiques pour une convergence accélérée.
Base de code pour les tâches en aval, y compris la classification de texte.
Références aux implémentations dans les bibliothèques GNN populaires.
Premiers pas avec Simplification des réseaux convolutionnels sur graphes
Accéder au modèle : Cloner le dépôt GitHub.
Configurer l'environnement : Installer les dépendances en utilisant `pip install -r requirements.txt`.
Préparer les données : Télécharger le jeu de données Reddit et le placer dans le répertoire `data/`.
Entraîner pour les réseaux de citation : Exécuter `python citation.py --dataset [nom_du_dataset] --tuned`.
Entraîner pour Reddit : Exécuter `python reddit.py --inductive --test`.
Intégrer : Adapter les scripts fournis pour des jeux de données personnalisés ou des tâches en aval.
Cas d'utilisation de Simplification des réseaux convolutionnels sur graphes
- Classification de nœuds
- Classification de texte
- Apprentissage de caractéristiques de graphes
- Entraînement efficace de GNN
- Benchmarking de GNN







