Theoretical Foundationsof Graph Neural Networks
Petar Veličković
CST Wednesday Seminar
17 February 2021

In this talk:
Neural networks for graph-structured data
(Graph Neural Networks; GNNs)

1

Fantastic GNNs
in the Wild

Molecules are graphs!
●

A very natural way to represent molecules is as a graph○ Atoms as nodes, bonds as edges○ Features such as atom type, charge, bond type...

GNNs for molecule classification●

Interesting task to predict is, for example, whether the molecule is a potent drug.
○ Can do binary classiﬁcation on whether the drug will inhibit certain bacteria. (E.coli)○ Train on a curated dataset for compounds where response is known.

GNN

Molecule

Inhibits E.coli?

Follow-up study●

Once trained, the model can be applied to any molecule.
○ Execute on a large dataset of known candidate molecules.
○ Select the ~top-100 candidates from your GNN model.
○ Have chemists thoroughly investigate those (after some additional ﬁltering).

●

Discover a previously overlooked compound that is a highly potent antibiotic!

Halicin...Achieve wide acclaim!
Arguably the most popularised success story of graph neural networks to date!

(Stokes et al., Cell’20)

...Achieve wide acclaim!
Arguably the most popularised success story of graph neural networks to date!

(Stokes et al., Cell’20)

...Achieve wide acclaim!
Arguably the most popularised success story of graph neural networks to date!

(Stokes et al., Cell’20)

...Achieve wide acclaim!
Arguably the most popularised success story of graph neural networks to date!

(Stokes et al., Cell’20)

Traffic maps are graphs!
Transportation maps (e.g. the ones found on Google Maps) naturally modelled as graphs.

Nodes could be intersections, and edges could be roads. (Relevant node features: road length,
current speeds, historical speeds)

DeepMind’s ETA Prediction using GNNs in Google Maps
Run GNN on supersegment graph to estimate time of arrival (ETA) (graph regression).

Already deployed in several major cities, signiﬁcantly reducing negative ETA outcomes!

GNNs are a very hot research topic

GNNs are currently experiencing their“ImageNet” moment

Rich ecosystem of libraries

github.com/rusty1s/pytorch_geometricgraphneural.network

dgl.aigithub.com/deepmind/graph_nets

github.com/deepmind/jraphRich ecosystem of datasets

ogb.stanford.edu

https://pytorch-geometric.readthedocs.
io/en/latest/modules/datasets.html

github.com/graphdeeplearning/benchmarking-gnns

graphlearning.io

2

Talk roadmap

What will we cover today?
●

Hopefully I’ve given you a convincing argument for why GNNs are useful to study○ For more details and applications, please see e.g. my EEML 2020 talk●My aim for today: provide good blueprints and contexts for studying the ﬁeld
○ Derive GNNs from ﬁrst principles○ Position this in context of several independently-studied derivations of GNNs
■ Often using drastically different mathematical tools…
○ Look to the past: how GNN-like models emerged in historical ML research○ Look to the present: some immediate lines of research interest○ Look to the future: how our blueprint generalises beyond graph-structured inputs●

Hopefully my perspective is of use both to newcomers and seasoned GNN practitioners○ Any and all feedback very welcome!

What is the content based on?
●

GNN derivation + further horizons inspired by my work on geometric deep learning○ Ongoing collaboration with Joan Bruna, Michael Bronstein and Taco Cohen●

Various contexts of GNN study inspired by Will Hamilton’s GRL Textbook (esp. Chapter 7)○ https://www.cs.mcgill.ca/~wlh/grl_book/○ Highly recommended!

●

Historical contexts developed with input of several researchers○ Thanks to Yoshua Bengio, Marco Gori, Jürgen Schmidhuber, Christian Merkwirth andMarwin Segler●

But of course, any errors and omissions are mine alone.

Disclaimer before advancing●

My talk content is geared to a general Computer Science audience○ We will construct “useful” functions operating over graphs○ We will use concepts commonly encountered in a CS curriculum●

Implementation requires background in machine learning with deep neural networks○ Useful resource to get started: “Deep Learning” by Goodfellow, Bengio and Courville■ https://www.deeplearningbook.org/●

I recently compiled a list of many useful GNN resources in a Twitter thread○ https://twitter.com/PetarV_93/status/1306689702020382720●

When you feel ready, I highly recommend Aleksa Gordić’s GitHub repository on GATs:○ https://github.com/gordicaleksa/pytorch-GAT○ Arguably the most gentle introduction to GNN implementations

3

Towards GNNs
from firstprinciples

Towards a neural network for graphs●

We will now work towards deﬁning a GNN from ﬁrst principles●

What properties are useful for operating meaningfully on graphs?

●

Speciﬁcally: what symmetries and invariances must a GNN preserve?
○ Let’s revisit a known example...

Convolution on images

Convolution on images

Convolution on images

Convolution on images

Convolutional neural network invariances●

Convolutional neural nets respect translational invariance●

Patterns are interesting irrespective of where they are in the image●

Locality: neighbouring pixels relate much more strongly than distant ones●

What about arbitrary graphs?

Isomorphism-preserving transformation●

The nodes of a graph are not assumed to be in any order●That is, we would like to get the same results for two isomorphic graphs●

To see how to enforce this, we will deﬁne new terms...

4

Permutation
invariance andequivarianceLearning on sets: Setup●

For now, assume the graph has no edges (e.g. set of nodes, V).

●

Let xi ∈ ℝk be the features of node i.

●

We can stack them into a node feature matrix of shape n x k:●That is, the ith row of X corresponds to xi●

Note that, by doing so, we have speciﬁed a node ordering!
○ We would like the result of any neural networks to not depend on this.

Permutations and permutation matrices●

It will be useful to think about the operations that change the node order○ Such operations are known as permutations (there are n! of them)○ e.g. a permutation (2, 4, 1, 3) means y1 ← x2, y2 ← x4, y3 ← x1, y4 ← x3.

●

To stay within linear algebra, each permutation deﬁnes an n x n matrix○ Such matrices are called permutation matrices○ They have exactly one 1 in every row and column, and zeros everywhere else
○ Their effect when left-multiplied is to permute the rows of X, like so:Permutation invariance●

We want to design functions f(X) over sets that will not depend on the order●

Equivalently, applying a permutation matrix shouldn’t modify the result!

●

We arrive at a useful notion of permutation invariance. We say that f(X) is permutation
invariant if, for all permutation matrices P:●

One very generic form is the Deep Sets model (Zaheer et al., NeurIPS’17):
where 𝜓 and 𝜙 are (learnable) functions, e.g. MLPs.
○

The sum aggregation is critical! (other choices possible, e.g. max or avg)

Permutation equivariance●

Permutation-invariant models are a good way to obtain set-level outputs●

What if we would like answers at the node level?
○ We want to still be able to identify node outputs, which a permutation-invariant
aggregator would destroy!

●

We may instead seek functions that don’t change the node order○ i.e. if we permute the nodes, it doesn’t matter if we do it before or after the function!

●

Accordingly, we say that f(X) is permutation equivariant if, for all permutation matrices P:

General blueprint for learning on sets●

Equivariance mandates that each node’s row is unchanged by f. That is, we can think ofequivariant set functions as transforming each node input xi into a latent vector hi:

where 𝜓 is any function, applied in isolation to every node. Stacking hi yields H = f(X).
●We arrive at a general blueprint: (stacking) equivariant function(s), potentially with aninvariant tail---yields (m)any useful functions on sets!

Here, ⨁ is a permutation-invariant aggregator (such as sum, avg or max).
(remark: this is typically as far as we can get with sets, without assuming or inferring additional structure)

5

Learning ongraphsLearning on graphs●

Now we augment the set of nodes with edges between them.
○ That is, we consider general E ⊆ V x V.

●

We can represent these edges with an adjacency matrix, A, such that:●

Further additions (e.g. edge features) are possible but ignored for simplicity.

●

Our main desiderata (permutation {in,equi}variance) still hold!

Permutation invariance and equivariance on graphs●

The main difference: node permutations now also accordingly act on the edges●

We need to appropriately permute both rows and columns of A
○ When applying a permutation matrix P, this amounts to PAPT●

We arrive at updated deﬁnitions of suitable functions f(X, A) over graphs:

Invariance:
Equivariance:Locality on graphs: neighbourhoods●

On sets, we enforced equivariance by applying functions to every node in isolation●

Graphs give us a broader context: a node’s neighbourhood○ For a node i, its (1-hop) neighbourhood is commonly deﬁned as follows:

N.B. we do not explicitly consider directed edges, and often we assume i ∈ Ni●

Accordingly, we can extract the multiset of features in the neighbourhoodand deﬁne a local function, g, as operating over this multiset: g(xi, XNi).

A recipe for graph neural networks●

Now we can construct permutation equivariant functions, f(X, A), by appropriately applying
the local function, g, over all neighbourhoods:●

To ensure equivariance, we need g to not depend on the order of the vertices in XNi○ Hence, g should be permutation invariant!

A recipe for graph neural networks, visualised

How to use GNNs?

How to use GNNs?

How to use GNNs?

How to use GNNs?

How to use GNNs?

6

Messagepassing ongraphsWhat’s in a GNN layer?
●

As mentioned, we construct permutation-equivariant functions f(X, A) over graphs byshared application of a local permutation-invariant g(xi, XNi).
○ We often refer to f as “GNN layer”, g as “diffusion”, “propagation”, “message passing”●

Now we look at ways in which we can actually concretely deﬁne g.
○ Very intense area of research!

●

Fortunately, almost all proposed layers can be classiﬁed as one of three spatial “ﬂavours”.

The three “flavours” of GNN layers

Convolutional GNN●

Features of neighbours aggregated with ﬁxed weights, cij●

Usually, the weights depend directly on A.
○ ChebyNet (Defferrard et al., NeurIPS’16)○ GCN (Kipf & Welling, ICLR’17)○ SGC (Wu et al., ICML’19)●

Useful for homophilous graphs and scaling up○ When edges encode label similarity

Attentional GNN●

Features of neighbours aggregated with implicit weights (via attention)●

Attention weight computed as ɑij = a(xi, xj)○ MoNet (Monti et al., CVPR’17)○ GAT (Veličković et al., ICLR’18)○ GaAN (Zhang et al., UAI’18)●

Useful as “middle ground” w.r.t. capacity and scale○ Edges need not encode homophily○ But still compute scalar value in each edge

Message-passing GNN●

Compute arbitrary vectors (“messages”) to be sent across edges●

Messages computed as mij = 𝜓(xi, xj)○ Interaction Networks (Battaglia et al., NeurIPS’16)○ MPNN (Gilmer et al., ICML’17)○ GraphNets (Battaglia et al., 2018)●

Most generic GNN layer○ May have scalability or learnability issues○ Ideal for computational chemistry, reasoning and simulation

7

Perspectives
on GNNsThis framework looks quite clean, but...
●

We didn’t start researching GNNs from a blueprint like this.

●Graphs naturally arise across the sciences○ Different disciplines found different tools to process them●

To give you a feel of the scale of diversity, I will now survey several prior and concurrent
approaches to graph representation learning + to what extent they map to this blueprint.

●

If you’ve read up on graph machine learning before, there’s a good chance you will haveseen at least some of these.

I

Node
embeddingtechniquesNode embedding techniques●

Some of the earliest “successes” of deep learning on graphs relied on ﬁnding good ways toembed nodes into vectors hu (below: zu) using an encoder function○ At the time, implemented as a look-up table!

Credits to Will Hamilton

What’s in a good representation?
●

What makes an embedding “good”?
○ Graphs carry interesting structure!
○ Good node representations should preserve it.

●

Simplest notion of graph structure is an edge.
○ Features of nodes i and j should be predictive of existence of edge (i, j)!

●

Yields a straightforward unsupervised objective○ Optimise hi and hj to be nearby iff (i, j) ∈ E.
○ Can use standard binary cross-entropy loss:

Random-walk objectives●

This link-prediction objective is a special case of random-walk objectives.

●

Redeﬁne the condition from (i, j) ∈ E to i and j co-occur in a (short) random walk.

●

Dominated unsupervised graph representation learning prior to GNNs!
○ DeepWalk (Perozzi et al., KDD’14)○ node2vec (Grover & Leskovec, KDD’16)○ LINE (Tang et al., WWW’15)

Local objectives emulate Conv-GNNs●

Random walk objectives inherently capture local similarities.

●

But a (convolutional) GNN summarises local patches of the graph!
○ Neighbouring nodes tend to highly overlap in n-step neighbourhoods;○ Therefore, a conv-GNN enforces similar features for neighbouring nodes by design.

Local objectives emulate Conv-GNNs●

Random walk objectives inherently capture local similarities.

●

But a (convolutional) GNN summarises local patches of the graph!
○ Neighbouring nodes tend to highly overlap in n-step neighbourhoods;○ Therefore, a conv-GNN enforces similar features for neighbouring nodes by design.

●

From a representation perspective, DeepWalk-style models emulate a convolutional GNN!

●●

Corollary 1: Random-walk objectives can fail to provide useful signal to GNNs!
Corollary 2: At times, DeepWalk can be matched by an untrained conv-GNN!
○ First spotted within DGI (Veličković et al., ICLR’19)○ Independently veriﬁed by SGC (Wu et al., ICML’19)

Parallels to NLP●

Note clear correspondence between node embedding techniques and word embedding
techniques in NLP○ nodes ~ words○ random walks ~ sentences○ “node2vec” ~ “word2vec”○ The optimisation objectives are near-equal!

●This correspondence continues even nowadays, with recent unsupervised graphrepresentation learning techniques borrowing concepts from BERT.
(“Strategies for pre-training graph neural networks”; Hu, Liu et al., ICLR’20)●

Speaking of NLP...

II

NaturalLanguage
ProcessingParallels from NLP●

It’s not only that NLP feeds into GNN design...

●Words in a sentence interact○ Nontrivially and non-sequentially○ We may want to use a graph over them
○ But what is this graph?

●

A common assumption is to assume a complete graph○ Then let the network infer relations●

If you’re at all involved with NLP, this should sound familiar...

A note on Transformers
Transformers are Graph Neural Networks!
●●

Fully-connected graphAttentional ﬂavour

The sequential structural information is injected throughthe positional embeddings. Dropping them yields afully-connected GAT model.
Attention can be seen as inferring soft adjacency.
See Joshi (The Gradient; 2020).

III

Spectral GNNs

Look to the Fourier transform●

The convolution theorem deﬁnes a very attractive identity:“convolution in the time domain is multiplication in the frequency domain”●

This could give us a ‘detour’ to deﬁning convolutions on graphs○ Pointwise multiplication is easy!
○ But what are the ‘domains’ in this case?

●We will ﬁrst see how graphs arise in discrete sequences.

Rethinking the convolution on sequences*for easier handling of boundary conditions●

We can imagine a sequence as a cyclical grid graph, and a convolution over it:●

NB this deﬁnes a circulant matrix C([b, c, 0, 0, …, 0, a]) s.t. H = f(X) = CXProperties of circulants, and their eigenvectors●

Circulant matrices commute!
○ That is, C(v)C(w) = C(w)C(v), for any parameter vectors v, w.

●

Matrices that commute are jointly diagonalisable.
○ That is, the eigenvectors of one are eigenvectors of all of them!

●

Conveniently, the eigenvectors of circulants are the discrete Fourier basis●

This can be easily computed by studying C([0, 1, 0, 0, 0, …]), which is the shift matrix.

The DFT and the convolution theorem●

If we stack these Fourier basis vectors into a matrix:○ We recover the discrete Fourier transform (DFT), as multiplication by 𝚽*. (conjugate transpose)●

We can now eigendecompose any circulant as C(𝜃) = 𝚽𝚲𝚽*○ Where 𝚲 is a diagonal matrix of its eigenvalues,●

The convolution theorem naturally follows:●

Now, as long as we know 𝚽, we can express our convolution usingrather thanWhat we have covered so far

Key idea: we don’t need to know the circulant if we know its eigenvalues!

Credits to Michael BronsteinWhat about graphs?
●

On graphs, convolutions of interest need to be more generic than circulants.
○ But we can still use the concept of joint eigenbases!
○ If we know a “graph Fourier basis”, 𝚽, we can only focus on learning the eigenvalues.

●

For grids, we wanted our convolutions to commute with shifts.
○ We can think of the shift matrix as an adjacency matrix of the grid
○ This generalises to non-grids!
○ For the grid convolution on n nodes, 𝚽 was always the same (n-way DFT).
○ Now every graph will have its own 𝚽!

●

Want our convolution to commute with A, but we cannot always eigendecompose A!

●

Instead, use the graph Laplacian matrix, L = D - A, where D is the degree matrix.
○ Captures all adjacency properties in mathematically convenient way!

Example LaplacianGraph Fourier Transform●

Assuming undirected graphs, L is:○ Symmetric (LT = L)
○ Positive semi-deﬁnite (xTLx ≥ 0 for all x ∈ ℝ|V|)○ This means we will be able to eigendecompose it!

●

This allows us to re-express L = 𝚽𝚲𝚽*, as before.
○ Changing the eigenvalues in 𝚲 expresses any operation that commutes with L.
○ Commonly referred to as the graph Fourier transform (Bruna et al., ICLR’14)●

Now, to convolve with some feature matrix X, do as follows (the diagonal can be learnable):Spectral GNNs in practice●

However, directly learning the eigenvalues is typically inappropriate:○ Not localised, doesn’t generalise to other graphs, computationally expensive, etc.

●

Instead, a common solution is to make the eigenvalues related to 𝚲, the eigenvalues of L
○ Commonly by a degree-k polynomial function, pk○ Yielding○ Popular choices include:■ Cubic splines (Bruna et al., ICLR’14)■ Chebyshev polynomials (Defferrard et al., NeurIPS’16)■ Cayley polynomials (Levie et al., Trans. Sig. Proc.’18)●

NB by using a polynomial in L, we have deﬁned a conv-GNN!
○ With coefﬁcients deﬁned by cij = (pk(L))ij○ Most efﬁcient spectral approaches “spatialise” themselves in similar ways
○ The “spatial-spectral” divide is often not really a divide!

The Transformer positional encodings and beyond●

Lastly, another look at Transformers.

●

Transformers signal that the input is a sequence of words by using positional embeddings○ Sines/cosines sampled depending on position●

Very similar to the DFT eigenvectors!

●

Positional embeddings could hence be interpreted as eigenvectors of the grid graph○ Which is the only assumed ‘underlying’ connectivity between the words●

We can use this idea to run Transformers over general graph structures!
○ Just feed some eigenvectors of the graph Laplacian (columns of 𝚽)○ See the Graph Transformer from Dwivedi & Bresson (2021)

IV

Probabilistic
Graphical
ModelsProbabilistic modelling●

We’ve so far used edges in a graph to mean any kind of relation between nodes●

Taking a more probabilistic view, we can treat nodes as random variables, and interpretedges as dependencies between their distributions.
○ This gives rise to probabilistic graphical models (PGMs)○ They help us ignore relations between variables when computing joint probabilities

Markov random fields●

One particular PGM of interest here is the Markov random ﬁeld (MRF).
○ It allows us to decompose the joint into a product of edge potentials●

Speciﬁcally, we assume nodes are represented by inputs X and latents H○ Inputs and latents are related for every node in isolation○ Latents are related according to the edges of the graph●This yields the following decomposition of the joint

where 𝚽 and 𝚿 are real-valued potential functions.

Mean-field inference●

To embed nodes, we need to sample from the posterior, p(H | X).
○ Generally intractable, even if we know the exact potential functions.

●

One popular method of resolving this is mean-ﬁeld variational inference○ Assume that posterior can be approximated by a product of node-level densities

where q is a well-deﬁned density, that is easy to compute and sample (e.g. Gaussian).
●

We then obtain the parameters of q by minimising the distance (e.g. KL-divergence) to thetrue posterior, KL(𝚷u q(hu) || p(H | X))●

Minimising the KL is intractable, but it admits a favourable approximate algorithm

GNNs strike again!
●

Using variational inference techniques (out of scope), we can iteratively update q, startingfrom some initial guess q(0)(h), as follows:●

See anything familiar? :)GNNs strike again!
●

Using variational inference techniques (out of scope), we can iteratively update q, startingfrom some initial guess q(0)(h), as follows:●This aligns very nicely with computations of a (message-passing) GNN!

GNNs and PGMs, more broadly●

Based on this idea, structure2vec (Dai et al., ICML’16) embed mean-ﬁeld inference within
computations of a GNN.
○ Key difference: in PGMs, we expect potential functions speciﬁed and known upfront○ Here, they are deﬁned implicitly, within the latents of a GNN.

●

The structure2vec GNN itself is not unlike a typical MPNN.

●

Recently, there are other approaches that unify GNNs with PGM-like computations:○ CRF-GNNs (Gao et al., KDD’19)○ GMNNs (Qu et al., ICML’19)○ ExpressGNN (Zhang et al., ICLR’20)○ Tail-GNNs (Spalević et al., ICML’20 GRL+)

V

Graph
Isomorphism
TestingHow powerful are Graph Neural Networks?
●

GNNs are a powerful tool for processing real-world graph data
○ But they won’t solve any task speciﬁed on a graph accurately!

●

Canonical example: deciding graph isomorphism○ Am I able to use my GNN to distinguish two non-isomorphic graphs? (hG1 ≠ hG2)
○ If I can’t, any kind of task discriminating them is hopeless●

Permutation invariance mandates that two isomorphic graphs will always be
indistinguishable, so this case is OK.

Weisfeiler-Leman Test●

Simple but powerful way of distinguishing: pass random hashes of sums along the edges○ Connection to conv-GNNs spotted very early; e.g. by GCN (Kipf & Welling, ICLR’17)●

It explains why untrained GNNs work well!
○ Untrained ~ random hash●

The test does fail at times, however:GNNs are no more powerful than 1-WL●

Over discrete features, GNNs can only be as powerful as the 1-WL test described before!

●

One important condition for maximal power is an injective aggregator (e.g. sum)●

Graph isomorphism network (GIN; Xu et al., ICLR’19) proposes a simple,
maximally-expressive GNN, following this principle

Higher-order GNNs●

We can make GNNs stronger by analysing failure cases of 1-WL!

●

For example, just like 1-WL, GNNs cannot detect closed triangles○ Augment nodes with randomised/positional features■ Explored by RP-GNN (Murphy et al., ICML’19) and P-GNN (You et al., ICML’19)■ See also: Sato et al. (SDM’21)○ Can also literally count interesting subgraphs (Bouritsas et al., 2020)●

k-WL labels subgraphs of k nodes together.
○ Exploited by 1-2-3-GNNs (Morris et al., AAAI’19)●

Further avenues of interest:○ Invariant and equivariant GNNs (Maron et al. (ICLR’19))○ Directional graph networks (DGNs) (Beaini, Passaro et al. (2020))

Going beyond discrete features●

What happens when features are continuous? (real-world apps / latent GNN states)○ … the proof for injectivity of sum (hence GINs’ expressivity) falls apartWhich is best? Neither.
●

There doesn’t seem to be a clear single “winner” aggregator here…

●

In fact, we prove in the PNA paper (Corso, Cavalleri et al., NeurIPS’20) that there isn’t one!

●

The proof is (in my opinion) really cool! (relies on Borsuk-Ulam theorem)●

PNA proposes empirically powerful combination of aggregators for general-purpose GNNs:

VI

Geometric
Deep LearningRemark on geometric deep learning●

We used the blueprint of invariances and equivariances to describe GNNs●

In fact, it is remarkably powerful! By combining an appropriate○ Local and equivariant layer speciﬁed over neighbourhoods○ Activation functions○ (Potentially: pooling layers that coarsen the structure)○ Global and invariant layer over the entire domain
we recover many standard architectures (including CNNs and Transformers!)●

But also a more general class of geometric deep learning architectures

The “Four Gs” of geometric deep learning

Credits to Michael BronsteinSome architectures of interest

Credits to Taco CohenVII

Historicalconcepts

Where did GNNs come from?
●

Early forms can be traced to the early 1990s, often involving DAG structures.
○ Labeling RAAM (Sperduti, NeurIPS’94)○ Backpropagation through structure (Goller & Küchler, ICNN’96)○ Adaptive structure processing (Sperduti & Starita, TNN’97; Frasconi et al., TNN’98)●

First proper treatment of generic graph structure processing happens in the 2000s:○ The GNN framework (Gori et al., IJCNN’05; Scarselli et al., TNN’08)○ The NN4G framework (Micheli, TNN’09)●

The GNN model of Gori, Scarselli et al. used primarily recurrent-style updates○ Updated for modern best practices by gated GNNs (Li et al., ICLR’16)

VIII

Computational
Chemistry

“Chemistry disrupts ML, not the other way around”●

Important and concurrent GNN development line came from computational chemistry○ Very relevant to the area, as molecules are naturally modelled as graphs●

GNN-like models of molecular property prediction arise, also, in the 1990s○ Examples include ChemNet (Kireev, CICS’95) and (Baskin et al., CICS’97)●“Molecular Graph Networks” (Merkwirth and Lengauer, CIM’05) already propose many
elements commonly found in modern MPNNs●

This drive continued well into the 2010s:○ GNNs for molecular ﬁngerprinting (Duvenaud et al., NeurIPS’15)○ GNNs for quantum chemistry (Gilmer et al., ICML’17)●

Lastly, recall (Stokes et al., Cell’20): chemistry is to-this-day a leading outlet for GNNs!

Thank you!
Questions?
petarv@google.com | https://petar-v.com

With many thanks to Will Hamilton, Joan Bruna, Michael Bronstein and Taco Cohen