What is a graph neural network?



What is a graph neural network (GNN)? How is a GNN different from a NN? How exactly is a GNN related to graphs? What are the components of a GNN? What are the inputs and outputs of GNNs?

How can GNNs be trained? Can we also use gradient descent with back-propagation to train GNNs?


Posted 2019-03-12T10:46:08.563

Reputation: 19 783

If someone is interested in answering to this question, have a look at this article A Gentle Introduction to Graph Neural Networks (Basics, DeepWalk, and GraphSage) and the research article A New Model for Learning in Graph Domains (which the paper that introduced GNN).

– nbro – 2019-03-14T10:34:49.513



Graph Neural Networks

The term Graph Neural Network, in its broadest sense, refers to any Neural Network designed to take graph structured data as its input:

To cover a broader range of methods, this survey considers GNNs as all deep learning approaches for graph data.

However the original paper to propose the term specifically referred to recursive neural networks (RNN) adapted to take graph-structured data as their input:

This paper presents a new neural model, called graph neural network (GNN), capable of directly processing graphs. GNNs extends recursive neural networks and can be applied on most of the practically useful kinds of graphs, including directed, undirected, labelled and cyclic graphs.


Note, Wu et al propose a taxonomy dividing GNN's into four subgroups:

  • Recurrent graph neural networks (RecGNN)
  • Convolutional graph neural networks (ConvGNN)
  • Graph autoencoders (GAE)
  • Spatial-temporal graph neural networks (STGNN)

ConvGNN's can themselves be classified by whether they use Spectral methods or Spatial methods, and GAE's by whether they are designed for Network embedding or Graph generation.


Posted 2019-03-12T10:46:08.563

Reputation: 423

Thank you for this answer. Of course, I am already familiar with GNNs. Anyway, I think that one of the most unclear things when it comes to GNNs is how they are trained. Are they still trained with GD? What are the labels? What are the loss functions? You could talk a little bit about that ;) – nbro – 2020-04-25T18:51:41.680