Hierarchical Graph Representation Learning with Differentiable Pooling
Rex Ying, Jiaxuan You, Christopher Morris, Xiang Ren, William L. Hamilton, Jure Leskovec
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/AaltoPML/Rethinking-pooling-in-GNNspytorch★ 62
- github.com/basiralab/RG-Selectpytorch★ 9
- github.com/basiralab/reproduciblefedgnnpytorch★ 9
- github.com/dmlc/dgl/tree/master/examples/pytorch/diffpoolpytorch★ 0
- github.com/RexYing/graph-poolingpytorch★ 0
- github.com/gospodima/extended-simgnnpytorch★ 0
- github.com/Tioz90/DiffPooltf★ 0
- github.com/Tioz90/GCNtf★ 0
- github.com/VoVAllen/diffpoolpytorch★ 0
- github.com/PasqualeAuriemma/GCN-DIFFPOOLtf★ 0
Abstract
Recently, graph neural networks (GNNs) have revolutionized the field of graph representation learning through effectively learned node embeddings, and achieved state-of-the-art results in tasks such as node classification and link prediction. However, current GNN methods are inherently flat and do not learn hierarchical representations of graphs---a limitation that is especially problematic for the task of graph classification, where the goal is to predict the label associated with an entire graph. Here we propose DiffPool, a differentiable graph pooling module that can generate hierarchical representations of graphs and can be combined with various graph neural network architectures in an end-to-end fashion. DiffPool learns a differentiable soft cluster assignment for nodes at each layer of a deep GNN, mapping nodes to a set of clusters, which then form the coarsened input for the next GNN layer. Our experimental results show that combining existing GNN methods with DiffPool yields an average improvement of 5-10% accuracy on graph classification benchmarks, compared to all existing pooling approaches, achieving a new state-of-the-art on four out of five benchmark data sets.
Tasks
Benchmark Results
| Dataset | Model | Metric | Claimed | Verified | Status |
|---|---|---|---|---|---|
| COLLAB | GNN (DiffPool) | Accuracy | 75.48 | — | Unverified |
| D&D | GNN (DiffPool) | Accuracy | 80.64 | — | Unverified |
| D&D | S2V (with 2 DiffPool) | Accuracy | 82.07 | — | Unverified |
| ENZYMES | S2V (with 2 DiffPool) | Accuracy | 63.33 | — | Unverified |
| ENZYMES | GNN (DiffPool) | Accuracy | 62.53 | — | Unverified |
| PROTEINS | GNN (DiffPool) | Accuracy | 76.25 | — | Unverified |
| REDDIT-MULTI-12K | GNN (DiffPool) | Accuracy | 47.08 | — | Unverified |