Traditional GNNs [1]}, [2]}, [3]}, [4]} operate using the message passing paradigm [2]}, [6]}. In message passing, messages are created for each edge using some message function, which takes as input sender and receiver node embeddings together with any edge features. For each node, all incoming messages are aggregated and the resulting neighborhood embedding is used together with the current node embedding to create a new embedding for the node. This is repeated for a usually small fixed number of rounds \(r\) . Thus, each node's embedding contains information from its \(r\) -hop neighborhood. To classify the resulting graph as a whole, a readout step is needed to aggregate all of the node embeddings. While many graph coarsening and pooling approaches have been proposed, simple pooling functions such as sum, mean, or max followed by a linear layer or a Multilayer Perceptron (MLP) have proved to usually be the best choice [7]}, [8]}.
