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?


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.

| improve this answer | |
  • $\begingroup$ 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 ;) $\endgroup$ – nbro Apr 25 at 18:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.