Learning Graph Neural Networks - Day 1

I recently started learning about Graph Neural Networks or more specifically Graph Representation Learning. After taking MA2054 - Graph Theory in semester 4, most of the content taught (traversal problems) pretty much bored me out. I found GNNs much more interesting in real-world applications. One such is drug discovery and molecule classification.

I started off with this playlist. There is also a great free book named Graph Representation Learning for beginners which covers from the basics of Graph Theory to advanced learning techniques.

Then I started exploring and experimenting with the Karate Club dataset. This was one of the first tutorials in the PyTorch Geometric GNN library. One of the basic stuff to learn in GNNs is the Graph Convolution Network, which is the graph version of CNNs. Learning about the GCN layer, I read the paper Semi-Supervised Classification with Graph Convolutional Networks by Kipf et al. (2017). I tried to train a node embedding for the Karate Club network using a 3-layer GCN.

Random initialization and trained node embedding

The process of training a simple GCN and watching the layers learn an embedding really excited me.