What is a graph neural network (GNN)?

Here are some sub-questions

  • 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?

1 Answer 1


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 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.

  • 1
    $\begingroup$ Of course, after all this time, I am already familiar with GNNs. However, I think that one of the unclearest 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 (then I would accept your answer). $\endgroup$
    – nbro
    Commented Apr 25, 2020 at 18:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .