FlowPool: Pooling Graph Representations with Wasserstein Gradient Flows
  In several machine learning tasks for graph structured data, the graphs under
consideration may be composed of a varying number of nodes. Therefore, it is
necessary to design pooling methods that aggregate the graph representations of
varying size to representations of fixed size which can be used in downstream
tasks, such as graph classification. Existing graph pooling methods offer no
guarantee with regards to the similarity of a graph representation and its
pooled version. In this work, we address this limitation by proposing FlowPool,
a pooling method that optimally preserves the statistics of a graph
representation to its pooled counterpart by minimising their Wasserstein
distance. This is achieved by performing a Wasserstein gradient flow with
respect to the pooled graph representation. Our method relies on a versatile
implementation which can take into account the geometry of the representation
space through any ground cost and computes the gradient of the Wasserstein
distance with automatic differentiation. We propose the differentiation of the
Wasserstein flow layer using an implicit differentiation scheme. Therefore, our
pooling method is amenable to automatic differentiation and can be integrated
in end-to-end deep learning architectures. Further, FlowPool is invariant to
permutations and can therefore be combined with permutation equivariant feature
extraction layers in GNNs in order to obtain predictions that are independent
of the ordering of the nodes. Experimental results demonstrate that our method
leads to an increase in performance compared to existing pooling methods when
evaluated on graph classification.
