A graph neural network (GNN) is a type of neural network leveraged to handle graph data. One kind of graph data is a single graph that is large enough to contain a myriad of nodes. Later, we can attribute each node to well-qualified features and discriminate them accordingly. Then, by means of GNN, we can perform node classification on this large graph. The CORA dataset, the publicly available dataset for node classification on a large graph, is used in this tutorial. The graph feature extractor utilized in this tutorial consists of a sequence of ResGatedGraphConv
, SAGEConv
, and TransformerConv
, which are implemented by PyTorch Geometric. The final classifier comprises MLP.
To run the code for this project, please click here.
The table below exhibits the quantitative performance of the model on the test data.
Metrics | Score |
---|---|
Accuracy | 0.743 |
Loss | 2.695 |
GNN's training and validation accuracy curve.
GNN's training and validation loss curve.
The qualitative result is provided as follows:
The visualization of the embedding space of the nodes in the large graph in the course of the training process.
- Residual Gated Graph ConvNets
- Inductive Representation Learning on Large Graphs
- Masked Label Prediction: Unified Message Passing Model for Semi-Supervised Classification
- CORA dataset
- Node Classification on Large Knowledge Graphs
- Graph attention network (GAT) for node classification
- PyTorch Geometric
- PyTorch Lightning