Awesome
GNN-Learning-and-Integration
First, for beginners, I really recommend they should start from a college course, like CS224W: Machine Learning with Graphs, stanford Fall 2019 and Note which could help you get a good understanding of networks and how we discover information out of it.
1. GNN Intuitive Learning
For those who do not know graph theory, this video Fundamental graph theory could help you to get a quick overview of graph theory. Convolution is an important part of GNN, and is kind of similar to CNN (CNN explainer will help you get a visual understanding how convolution works.). However, it is still a little different, this post (what is Convolution, graph Laplacian?) will take you to grasp a deeper understading of graph convolution on the mathematical level. After that, there are some excellent works which try to give generalized explanations of GNN models such as GNN model explainer.
It is still not bad to start from some early classic works. For simplicity, I recommend one work which could help you open your eyes to GNN--GCN by kipf and the reading lists are as follows:
- Graph Neural Network by kipf
- GCN Introduction
- GCN 为什么是低通滤波器
- 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型
2. GNN Mathematical Theory Learning
For those who want get a deeper view of GNN math theory, I think those posts are very good and easy to understand.
- GNN Conclusions
- GNN Review report
- Graph model: graph embedding and graph convolutional network
- Mathematical foundation of GNN
- Dive into Convolution deeply: Mathematical derivation
3. Academic Paper
3.1 Survey Paper
- Graph Neural Networks-A Review of Methods and Applications.pdf
- Deep Learning on Graphs: A Survey
- A Comprehensive Survey on Graph Neural Networks
- Machine Learning on Graphs: A Model and Comprehensive Taxonomy
- A Practical Guide to Graph Neural Networks
- GNNExplainer: Generating Explanations for Graph Neural Networks
3.2 Some Important Papers on GNN
- The graph neural network model
- Diffusion-Convolutional Neural Networks
- Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks
- Semi Supervised Classification With Graph Convolutional Networks (GCN)
- Variational Graph Auto-Encoders.pdf
4. Curated list
5. Tools
5.1 Three Tools
Actually, I really recommend to use Keras in tensorflow (not pure tensorflow) and Pytorch bacause the two do not have too many version issues and have nice code styles.
- Tensorflow
- Keras
- Pytorch
- Awesome-pytorch-list: A comprehensive list of pytorch related content on github,such as different models,implementations,helper libraries,tutorials etc
- How to solve problem: No module named torch_sparse
5.2 Dataset
5.3 Library to build GNN easily
- Deep Graph Library (DGL)
- DIG: Dive into Graphs is a turnkey library for graph deep learning research.
- Open Graph Benchmark: The Open Graph Benchmark (OGB) is a collection of realistic, large-scale, and diverse benchmark datasets for machine learning on graphs.
- GraphGym: a powerful code platform for the community to explore GNN designs and tasks.
- Graph Neural Networks with Keras and Tensorflow 2.: Spektral is a Python library for graph deep learning, based on the Keras API and TensorFlow 2. The main goal of this project is to provide a simple but flexible framework for creating graph neural networks (GNNs).
- CogDL: An Extensive Research Toolkit for Graphs
- Graph Convolutional Neural Networks (GCNN) models: This repository contains a tensorflow implementation of GCNN models for node classification, link predicition and joint node classification and link prediction to supplement the survey paper by Chami et al.
- Benchmarking Graph Neural Networks [paper] [code]
5.4 Plotting
- Matplotlib教程 [Link]
- How to use t-SNE efficiently
- Scikit-plot
- Tools-to-Design-or-Visualize-Architecture-of-Neural-Network
- ML Visuals [repo] [slides]
- Science Plots
- Visualize of loss function
6. Courses & Learning material
- 吴恩达机器学习系列
- AlphaTree-graphic-deep-neural-network: 机器学习(Machine Learning)、深度学习(Deep Learning)、对抗神经网络(GAN),图神经网络(GNN),NLP,大数据相关的发展路书(roadmap), 并附海量源码(python,pytorch)带大家消化基本知识点
- Awesome Math: A curated list of awesome mathematics resources.
- Graph Representation Learning Book
- Deep Learning on Graphs
- Virgilio Data Science
- C5.4 Networks From Harvard