What?

Learning node embeddings based on the subsample of their surroundings in the graph with an ability to generalise to unseen graphs.

Why?

Existing approaches (when the paper was published) assumed a single fixed graph. We need something that generalises to new graphs.

How?

source: original paper

source: original paper

TLDR: Learn $k$ aggregators, one for each hop.

For forward propagation:

My traditional pseudosciencecode:

def forward(V, aggregators, W, depth, nonlinearity):
  v_prev = V
  v = V.copy()
  n_nodes = V.shape[0] # [N_nodes, Node_features]
  for k in range(depth):
    for i in range(hprev.size()):
      agg = aggregators[k](sample_neighbours(i, v_prev, k))
      v[i] = nonlinearity(W*concat([v_prev[i], agg]))
      v_prev = l2norm(v) #for some reason, in the paper this is outside of the inner loop
  return v

And?