🟠 A study guide to learn about Graph Neural Networks (GNNs)
# Graph Neural Networks (GNNs) Study Guide

![](/gnn.jpeg)

Graph neural networks (GNNs) are rapidly advancing progress in ML for complex graph data applications. I've composed this concise recipe (i.e., studysheet) dedicated to students who are lookin to learn and keep up-to-date with GNNs. It's non-exhaustive but it aims to get students familiar with the topic. 

## ⭐ Gentle Introduction to GNNs

There are several introductory content to learn about GNNs. The following are some useful ones:

🔗 [Foundations of GNNs](https://www.youtube.com/watch?v=uF53xsT7mjc) (by Petar Veličković)

🔗 [Gentle Introduction to GNNs](https://distill.pub/2021/gnn-intro/) (by Distill)

🔗 [Understanding Convolutions on Graphs](https://distill.pub/2021/understanding-gnns/) (by Distill)

🔗 [Math Behind Graph Neural Networks](https://rish-16.github.io/posts/gnn-math/) (by Rishabh Anand)

🔗 [Graph Convolutional Networks](http://tkipf.github.io/graph-convolutional-networks/) (by Thomas Kipf)

🔗[Graph Neural Networks for Geometric Graphs - Chaitanya K. Joshi, Simon V. Mathis](https://youtu.be/VKj5wzZsoK4)


## 📘 Survey Papers on GNNs

Here are two fantastic survey papers on the topic to get a broader and concise picture of GNNs and recent progress:

🔗 [Graph Neural Networks: A Review of Methods and Applications](https://arxiv.org/abs/1812.08434) (Jie Zhou, Ganqu Cui, Shengding Hu, Zhengyan Zhang, Cheng Yang, Zhiyuan Liu, Lifeng Wang, Changcheng Li, Maosong Sun)

🔗 [Graph Neural Networks: Methods, Applications, and Opportunities](https://arxiv.org/abs/2108.10733) (Lilapati Waikhom, Ripon Patgiri)

🔗 [A Comprehensive Survey on Graph Neural Networks](https://arxiv.org/abs/1901.00596) (Zonghan Wu, Shirui Pan, Fengwen Chen, Guodong Long, Chengqi Zhang, Philip S. Yu)


## 👩‍💻 Diving Deep into GNNs

After going through quick high-level introductory content, here are some great material to go deep:

🔗 [Geometric Deep Learning](https://geometricdeeplearning.com/) (by Michael M. Bronstein, Joan Bruna, Taco Cohen, Petar Veličković)

🔗 [Graph Representation Learning Book](https://www.cs.mcgill.ca/~wlh/grl_book/) (by William Hamilton)

🔗 [CS224W: ML with Graphs](https://www.youtube.com/playlist?list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn) (by Jure Leskovec)

## 📚 GNN Papers and Implementations

If you want to keep up-to-date with popular recent methods and paper implementations for GNNs, the Papers with Code community maintains this useful collection:

🐙 [Graph Models by Papers with Code](https://paperswithcode.com/methods/category/graph-models)

## 📈 Benchmarks and Datasets

If you are interested in benchmarks/leaderboards and graph datasets that evaluate GNNs, the Papers with Code community also maintains such content here:

🔗 [Datasets by Papers with Code](https://paperswithcode.com/datasets?mod=graphs&page=1)

🔗 [Graph Benchmarks by Papers with Code](https://paperswithcode.com/area/graphs)

## :octocat: Tools

Here are a few useful tools to get started with GNNs:

🔥 [PyTorch Geometric](https://pytorch-geometric.readthedocs.io/en/latest/#)

🔗 [Deep Graph Library](https://www.dgl.ai/)

🦒 [jraph](https://github.com/deepmind/jraph)

🟠 [Spektral](https://graphneural.network/)

## 🍎 Tutorials

I will be posting several tutorials on GNNs, here is the first of the series. More coming soon!
<table>
  <tr>
    <td>Introduction to GNNs with PyTorch Geometric</td>
    <td><a href="https://colab.research.google.com/drive/1d0jLDwgNBtjBVQOFe8lO_1WrqTVeVZx9?usp=sharing">
  <img src="https://colab.research.google.com/assets/colab-badge.svg" width = '' >
</a></td>
  </tr>
</table>

---
To get regular updates on new ML and NLP resources, follow me on [Twitter](https://twitter.com/omarsar0).
