Node classification using Graph Neural Networks (GNNs)
Recently, deep learning methods showed significant performance in various research fields, including computer vision and natural language processing. Graph Neural Network approaches have been specifically designed to take advantage of these great performances while applying them to graphs.
Learning information about object and their relations is done by following a message passing framework, where node representations
In the above formulation,
Considering the toy graph in the image below, a graph neural network model updates a node (e.g the red node) by:
- selecting all its neighbors, i.e grey nodes
- aggregating information from them (using
$f$ ) - this information can be contained in node feature - updating the (red) node representation (using
$\psi$ )
Message passing framework |
Objective
This tutorial will teach you how to use Graph Neural Networks for node classification tasks. For this purpose, we will use Scikit Network library, which is a Python package for the analysis of large graphs. It implements several graph algorithms (clustering, classification, ranking) as well as a Graph Neural Networks module. The whole package is based on efficient graph representation through sparse matrices (using Scipy) and it is designed to be super easy to implement.
Context
This tutorial and poster have been presented for the LTCI-day2022 (Information processing and communication laboratory, Télécom Paris, France).