Spelled Out Intro to Graph Convolution Networks
This blog is the implementation of the paper Semi-Supervised Classification With Graph Convolutional Networks by Kipf et al., ICLR 2017.
I’ve aimed to create a notebook that’s easy to understand. It begins with a simple graph, explaining the GCN formula step by step. I implemented the GCN model using PyTorch (without relying on specific graph libraries like PyTorch Geometric, DGL, etc.) on the Cora dataset. Additionally, I replicated a section of the paper called “Node Embeddings With Random Weights” using the Zachary Karate Club dataset. The goal was to demonstrate how GCN can be a powerful tool for extracting features from nodes in a graph.
Going ahead, I have also implemented all the variants of the GCN mentioned in the paper which are:
- Single Parameter Model
- 1st Order term only
- 1st order model
- Chebyshev Polynomials for k = 2
- MLP