Graph neural networks and its variants

  • Graph convolutional network (GCN) [research paper] [tutorial] [Pytorch code] [MXNet code]:

  • Graph attention network (GAT) [research paper] [tutorial] [Pytorch code] [MXNet code]: GAT extends the GCN functionality by deploying multi-head attention among neighborhood of a node. This greatly enhances the capacity and expressiveness of the model.

  • Relational-GCN [research paper] [tutorial] [Pytorch code] [MXNet code]: Relational-GCN allows multiple edges among two entities of a graph. Edges with distinct relationships are encoded differently.

  • Line graph neural network (LGNN) [research paper] [tutorial] [Pytorch code]: This network focuses on community detection by inspecting graph structures. It uses representations of both the original graph and its line-graph companion. In addition to demonstrating how an algorithm can harness multiple graphs, this implementation shows how you can judiciously mix simple tensor operations and sparse-matrix tensor operations, along with message-passing with DGL.

Graph Convolutional Network

Graph Convolutional Network

Relational Graph Convolutional Network

Relational Graph Convolutional Network

Line Graph Neural Network

Line Graph Neural Network

Understand Graph Attention Network

Understand Graph Attention Network