graph SAGE

[[concept]]
Graph SAGE

Introduced by Hamilton-Ying-Leskovee in 2017, each Graph SAGE layer implements the following 2 operations:

Aggregate

(U)i=AGGREGATE({(x)j,jN(i)})

Concatenate

(x)i=σ(CONCAT((x1)i,(U)i))

The standard AGGREGATE operation is an average over N(i). Letting H=[H0H1]T, we get

(U)i=1|N(i)|jN(i)(x1)jU=SX1,S=D1/2AD1/2x=σ([x1U]H)=σ(x1H0+SX1H1)

where A is the binary adjacency matrix, which is equivalent to a GCN with nodewise normalization (x)i||(x)i||2. This normalization helps in some cases (empirically).

notes

  • SAGE implementations allow for a variety of AGGREGATE functions, including max and LSTMs (which look at N(i) as a sequence, losing permutation equivariance). In these cases, SAGE is no longer a graph convolution.

    • There are both advantages and disadvantages of staying a GCN and using other functions.
  • the authors of SAGE popularized the AGGREGATE=UPDATE representation of GNNs (with K=2) meaning

x=σ(SX1H)

Sx is the "aggregate" and σ(H) is the "update"

Mentions

File
the WL test is at least as powerful as a GNN for detecting graph non-isomorphism
2025-02-17 graphs lecture 8
2025-02-24 graphs lecture 10
2025-04-16 lecture 21
2025-02-25 equivariant lecture 4