Descrição
Graph Neural PDEs é um repositório do GitHub desenvolvido pelo twitter-research, oferecendo o código-fonte para suas publicações GRAND (Graph Neural Diffusion) e BLEND (Beltrami Flow and Neural Diffusion on Graphs). Esses modelos conceituam o aprendizado profundo em grafos como um processo de difusão contínuo, com Redes Neurais em Grafos (GNNs) servindo como discretizações de Equações Diferenciais Parciais (EDPs) subjacentes.
A inovação central reside em como a estrutura de camadas e a topologia das GNNs são mapeadas para as escolhas de discretização de operadores temporais e espaciais. Este desenvolvimento principiado leva a uma nova classe de GNNs projetadas para superar problemas prevalentes no aprendizado em grafos, como limitações de profundidade, supersuavização e gargalos. Um aspecto chave desses modelos é sua estabilidade em relação a perturbações de dados, abordada por meio de esquemas de discretização implícitos e explícitos.
O repositório inclui implementações para versões lineares e não lineares do GRAND, que demonstraram desempenho competitivo em vários benchmarks de grafos padrão. O BLEND estende o GRAND operando em um espaço não euclidiano, evoluindo conjuntamente as características dos nós e as codificações posicionais. Isso fornece um método robusto para reengenharia de grafos. O projeto também detalha os requisitos e comandos para configurar as dependências necessárias, focando principalmente em PyTorch e suas bibliotecas relacionadas, e oferece conselhos de solução de problemas para questões comuns de instalação, particularmente aquelas relacionadas a incompatibilidades de versão do CUDA.
Para usuários interessados em executar os experimentos, o repositório descreve as etapas de preparação de dados e pré-processamento para GRAND e BLEND. Ele especifica a criação de uma pasta `./data` para conjuntos de dados e, para BLEND, uma pasta adicional `./data/pos_encodings` para codificações posicionais. São fornecidas instruções para executar experimentos em conjuntos de dados como Cora, Citeseer, Computers, Photo e ogbn-arxiv, juntamente com orientações para gerar ou baixar codificações posicionais.
O projeto incentiva contribuições e relata problemas de segurança por meio do programa de recompensa por bugs do Twitter. Ele é licenciado sob a licença Apache-2.0, tornando-o livremente disponível para uso e modificação. O repositório também inclui citações para os artigos GRAND e BLEND, permitindo que os pesquisadores referenciem o trabalho fundamental.
Destaques de Graph Neural PDEs
Implementação do modelo GRAND (Graph Neural Diffusion)
Implementação do modelo BLEND (Beltrami Flow and Neural Diffusion on Graphs)
Trata o aprendizado profundo em grafos como um processo de difusão contínuo
Modela GNNs como discretizações de EDPs subjacentes
Aborda desafios de aprendizado em grafos como supersuavização e limitações de profundidade
Proporciona estabilidade em relação a perturbações de dados
Inclui versões lineares e não lineares do GRAND
BLEND oferece extensão não euclidiana para reengenharia de grafos
Instruções detalhadas de instalação para dependências (PyTorch, etc.)
Orientação para preparação de dados e codificações posicionais
Scripts para execução de experimentos em conjuntos de dados de referência
Solução de problemas para questões de instalação de dependências
Licença Apache-2.0
Primeiros passos com Graph Neural PDEs
Configurar ambiente: Crie e ative um ambiente conda com a versão Python especificada.
Instalar dependências: Use pip para instalar bibliotecas necessárias, incluindo PyTorch, PyTorch Geometric e outras.
Preparar dados: Crie uma pasta `./data` para conjuntos de dados e `./data/pos_encodings` para BLEND.
Gerar codificações posicionais: Use scripts fornecidos ou baixe codificações pré-computadas, se necessário para BLEND.
Executar experimentos: Navegue até o diretório `src` e execute `run_GNN.py` com os parâmetros do conjunto de dados.
Solucionar problemas de instalação: Verifique as versões do CUDA e PyTorch se encontrar erros de instalação.
Casos de uso de Graph Neural PDEs
- Pesquisa em Redes Neurais em Grafos
- Classificação de Nós
- Reengenharia de Grafos
- Abordagem da Supersuavização
- Benchmarking de Modelos GNN
- Aprendizado Contínuo em Grafos







