Descrição
Este repositório do GitHub hospeda a implementação oficial do modelo Simplifying Graph Convolutional Networks (SGC), conforme detalhado no artigo da ICML2019. O SGC é um avanço nas Redes Convolucionais de Grafos (GCNs) que simplifica a arquitetura removendo não linearidades e colapsando matrizes de peso. Essa transformação resulta em um modelo linear que mantém desempenho competitivo, ao mesmo tempo que reduz drasticamente o tempo de treinamento e os recursos computacionais.
A implementação suporta vários conjuntos de dados de grafos, incluindo redes de citação como Cora, Citeseer e Pubmed, bem como redes sociais como Reddit. Para redes de citação, o modelo atinge precisão notável, por exemplo, 81,0% em Cora, 71,9% em Citeseer e 78,9% em Pubmed, com tempos de treinamento de apenas 0,13 segundos em uma GTX 1080 Ti. Para o conjunto de dados Reddit, ele atinge uma pontuação F1 de 94,9% em 2,7 segundos.
O repositório inclui código para pré-processamento de dados, definição de modelo, treinamento e avaliação. Ele também fornece orientação sobre ajuste de hiperparâmetros, particularmente para decaimento de peso, usando ferramentas como hyperopt. Aconselhamento prático é oferecido, como normalizar características para ter média zero e desvio padrão um para acelerar a convergência, uma técnica benéfica para SGC e outros modelos lineares.
Além da implementação principal, o repositório aponta para recursos adicionais e implementações de referência em bibliotecas populares como Deep Graph Library (DGL), PyTorch Geometric, Spektral, StellarGraph e tf_geometric. Ele também apresenta um branch em andamento para estudos de ablação e código para tarefas downstream, começando com classificação de texto. Este projeto é um recurso valioso para pesquisadores e profissionais que buscam alavancar modelos eficientes e eficazes de redes neurais de grafos.
Destaques de Simplificando Redes Convolucionais de Grafos
Implementação oficial do artigo Simplifying Graph Convolutional Networks (SGC).
Arquitetura simplificada de Rede Convolucional de Grafos (GCN).
Remove não linearidades e colapsa matrizes de peso para um modelo linear.
Tempo de treinamento significativamente reduzido em comparação com GCNs tradicionais.
Alcança desempenho competitivo em conjuntos de dados de referência.
Suporta redes de citação (Cora, Citeseer, Pubmed) e redes sociais (Reddit).
Inclui código para pré-processamento de dados, treinamento de modelo e avaliação.
Fornece orientação sobre ajuste de hiperparâmetros.
Oferece conselhos práticos sobre normalização de características para convergência acelerada.
Base de código para tarefas downstream, incluindo classificação de texto.
Referências a implementações em bibliotecas populares de GNN.
Primeiros passos com Simplificando Redes Convolucionais de Grafos
Acessar modelo: Clone o repositório GitHub.
Configurar ambiente: Instale as dependências usando `pip install -r requirements.txt`.
Preparar dados: Baixe o conjunto de dados Reddit e coloque-o no diretório `data/`.
Treinar para redes de citação: Execute `python citation.py --dataset [nome_do_dataset] --tuned`.
Treinar para Reddit: Execute `python reddit.py --inductive --test`.
Integrar: Adapte os scripts fornecidos para conjuntos de dados personalizados ou tarefas downstream.
Casos de uso de Simplificando Redes Convolucionais de Grafos
- Classificação de Nós
- Classificação de Texto
- Aprendizado de Características de Grafos
- Treinamento Eficiente de GNN
- Benchmarking de GNNs







