Abstract: Graph neural networks have emerged as a leading architecture for many graph-level tasks such as graph classification and graph generation with a notable improvement. Among these tasks, graph pooling is an essential component of graph neural network architectures for obtaining a holistic graph-level representation of the entire graph. Although a great variety of methods have been proposed in this promising and fast-developing research field, to the best of our knowledge, little effort has been made to systematically summarize these methods. To set the stage for the development of future works, in this paper, we attempt to fill this gap by providing a broad review of recent methods on graph pooling. Specifically, 1) we first propose a taxonomy of existing graph pooling methods and provide a mathematical summary for each category; 2) next, we provide an overview of the libraries related to graph pooling, including the commonly used datasets, model architectures for downstream tasks, and open-source implementations; 3) then, we further outline in brief the applications that incorporate the idea of graph pooling in a number of domains; 4) and finally, we discuss some critical challenges faced by the current studies and share our insights on potential directions for improving graph pooling in the future.
Graph Pooling for Graph Neural Networks: Progress, Challenges, and Opportunities
A curated list of papers on graph pooling (More than 130 papers reviewed).
We provide a taxonomy of existing papers as shown in the above figure.
Papers in each category are sorted by their uploaded dates in descending order.
If you find this repository useful for your research, please consider citing our paper [arXiv]
@article{liu2022graph,
title={Graph Pooling for Graph Neural Networks: Progress, Challenges, and Opportunities},
author={Chuang Liu and Yibing Zhan and Chang Li and Bo Du and Jia Wu and Wenbin Hu and Tongliang Liu and Dacheng Tao},
year={2022},
journal={arXiv preprint arXiv:2204.07321},
}
Analysis_Papers
-
Rethinking pooling in graph neural networks, NIPS 2020.
-
Understanding Pooling in Graph Neural Networks, ArXiv 2021.
-
A Fair Comparison of Graph Neural Networks for Graph Classification, ICLR 2020.
-
Graph Signal Processing and Deep Learning, IEEE Signal Processing Magazine 2020.
Flat_Pooling
Title | Venue | Task | Code (16/25) | Dataset |
---|---|---|---|---|
25. DMLAP: Multi-level attention pooling for graph neural networks: Unifying graph representations with multiple localities | Neural Networks 2022 | 1. Graph Classification | None | synthetic, OGB-molhiv, OGB-ppa, MCF-7 (TU dataset) |
24. GraphTrans: Representing Long-Range Context for Graph Neural Networks with Global Attention |
NIPS 2021 | 1. Graph Classification | 1.PyTorch | NCI1, NCI109, code2, molpcba |
23. GMT: Accurate Learning of Graph Representations with Graph Multiset Pooling. |
ICLR 2021 | 1. Graph Classification 2. Graph Reconstruction 3. Graph Generation | 1.PyTorch 2.PyTorch-Geometric | D&D, PROTEINS, MUTAG, IMDB-B, IMDB-M, COLLAB, OGB-MOLHIV, OGB-Tox21, OGB-ToxCast, OGB-BBBP, ZINC(Reconstruction), QM9(Generation) |
22. QSGCNN: Learning Graph Convolutional Networks based on Quantum Vertex Information Propagation | TKDE 2021 | 1. Graph Classification | None | MUTAG, PTC, NCI1, PROTEINS, D&D, COLLAB, IMDB-B, IMDB-M, RED-B |
21. DropGNN: DropGNN: Random Dropouts Increase the Expressiveness of Graph Neural Networks | NIPS 2021 | 1. Graph Classification 2. Graph Regression | PyTorch | MUTAG, PTC, PROTEINS, IMDB-B, IMDB-M QM9(Regression) |
20. SSRead: Learnable Structural Semantic Readout for Graph Classification | ICDM 2021 | 1. Graph Classification | PyTorch | D&D, MUTAG, Mutagencity, NCI1,PROTEINS, IMDB-B, IMDB-M |
19. FlowPool: Pooling Graph Representations with Wasserstein Gradient Flows | ArXiv 2021 | 1. Graph Classification | None | BZR, COX2, PROTEINS |
18. DKEPool: Distribution Knowledge Embedding for Graph Pooling | ArXiv 2021 | 1. Graph Classification | None | IMDB-B, IMDB-M, MUTAG, PTC, NCI1, PROTEINS, REDDIT-BINARY, OGB-MOLHIV, OGB-BBB |
17. FusionPooling: Hybrid Low-order and Higher-order Graph Convolutional Networks | Computational Intelligence and Neuroscience 2020 | 1. Text Classification 2. node classification | None | 20-Newsgroups // Cora, CiteSeer, PubMed |
16. SOPool: Second-Order Pooling for Graph Neural Networks | TPAMI 2020 | 1. Graph Classification | None | MUTAG, PTC PROTEINS, NCI1, COLLAB, IMDB-B, IMDB-M, REDDIT-BINARY,REDDIT-MULTI, |
15. StructSa: Structured self-attention architecture for graph-level representation learning | Pattern Recognition 2020 | 1. Graph Classification | None | MUTAG, PTC PROTEINS, NCI1, COLLAB, IMDB-B, IMDB-M, REDDIT-BINARY,REDDIT-MULTI, |
14. NAS: Graph Neural Network Architecture Search for Molecular Property Prediction | ICBD 2020 | 1. Graph Regression | None | QM7, QM8, QM9, ESOL, FreeSolv, Lipophilicity |
13. Neural Pooling for Graph Neural Networks | ArXiv 2020 | 1. Graph Classification | None | MUTAG, PTC PROTEINS, NCI1, COLLAB, IMDB-B, IMDB-M, REDDIT-BINARY,REDDIT-MULTI-5K, |
12. GFN: Are Powerful Graph Neural Nets Necessary? A Dissection on Graph Classification | ArXiv 2019 | 1. Graph Classification | PyTorch | MUTAG, PROTEINS, D&D, NCI1, ENZYMES, IMDB-B, IMDB-M, RDT-B. REDDTIT-Multi-5K, REDDIT-Multi-12K, COLLAB |
11. GIN: How Powerful are Graph Neural Networks? | ICLR 2019 | 1. Graph Classification | PyTorch | MUTAG, PROTEINS, PTC, NCI1, IMDB-B, IMDB-M, RDT-B. RDT-Multi-5K, COLLAB |
10. : Semi-Supervised Graph Classification: A Hierarchical Graph Perspective | WWW 2019 | 1. Graph Classification | PyTorch | Tencent |
9. DEMO-Net: Degree-specific Graph Neural Networks for Node and Graph Classification | KDD 2019 | 1. Graph Classification | TensorFlow | MUTAG, PTC PROTEINS,ENZYMES |
8. MSNAPool: Unsupervised Inductive Graph-Level Representation Learning via Graph-Graph Proximity | IJCAI 2019 | 1. Graph Classification 2. Graph similarity ranking 3. Graph visualization | TensorFlow | PTC, IMDB-B, WEB, NCI109, REDDIT-Multi-12K |
7. PiNet: Attention Pooling for Graph Classification | NIPS-W 2019 | 1. Graph Classification | Code | MUTAG, PTC, NCI1, NCI109, PROTEINS, Erdõs-Rényi graphs |
6. DAGCN: Dual Attention Graph Convolutional Networks | IJCNN 2019 | 1. Graph Classification | PyTorch | NCI1, D&D, ENZYMES, NCI109, PROTEINS, PTC |
5. DeepSet: Universal Readout for Graph Convolutional Neural Networks | IJCNN 2019 | 1. Graph Classification | Code | MUTAG, PTC, NCI1, PROTEINS,D&D |
4. SortPool: An End-to-End Deep Learning Architecture for Graph Classification | AAAI 2018 | 1. Graph Classification | 1.PyTorch-Geometric, 2.Matlab, 3.PyTorch 4.Spektral | MUTAG, PTC, NCI1 PROTEINS, D&D |
3. Set2set: Order Matters: Sequence to Sequence for Sets | ICLR 2016 | PyTorch-Geometric | ||
2. GatedPool: Gated Graph Sequence Neural Networks | ICLR 2016 | PyTorch-Geometric | ||
1. DCNN: Diffusion-Convolutional Neural Networks | NIPS 2016 | 1. Graph Classification | Theano | NCI1, NCI109, MUTAG, PCI, ENZYMES. |
Hierarchical_Pooling
Node_Clustering_Pooling
Title | Venue | Task | Code (10/20) | Dataset | |
---|---|---|---|---|---|
20. HGCN:Hierarchical Graph Capsule Network | AAAI 2021 | 1. Graph Classification | 1. PyTorch | MUTAG, NCI1, PROTEINS, D&D, ENZYMES, PTC, NCI109,IMDB-B, IMDB-M, Reddit-BINARY | |
19. HAP: Hierarchical Adaptive Pooling by Capturing High-order Dependency for Graph Representation Learning | TKDE 2021 | 1. Graph Classification 2. Graph Matching 3. Graph Similarity Learning | None | IMDB-B, IMDB-M, COLLAB, MUTAG, PROTEINS, PTC // synthetic datasets (graph matching) // AIDS, LINUX (graph similarity) | |
18. LCP: Hierarchical Graph Representation Learning with Local Capsule Pooling | MMAsia | 1. Graph Classification 2. Graph Reconstruction | None | D&D, PROTEINS, IMDB-B, IMDB-M, NCI1, NIC109 | |
17. MxPool: Multiplex Pooling for Hierarchical Graph Representation Learning | ArXiv 2021 | 1.Graph Classification | None | D&D, ENZYMES, PROTEINS, NCI109, COLLAB, RDT-MULTI | |
16. HIBPool: Structure-Aware Hierarchical Graph Pooling using Information Bottleneck | IJCNN 2021 | 1. Graph Classification | 1.PyTorch | ENZYMES, DD, PROTEINS, NCI1, NCI109,FRANKENSTEIN | |
15. MLC-GCN: Graph convolutional networks with multi-level coarsening for graph classification | Knowledge-Based Systems 2020 | 1.Graph Classification | None | D&D, ENZYMES, MUTAG, PROTEINS,IMDB-BINARY, IMDB-MULTI, REDDIT- BINARY, REDDIT-MULTI-5K | |
14. DGM: Deep Graph Mapper: Seeing Graphs through the Neural Lens | NIPS-W 2020 | 1. Graph Classification 2. Graph Visualisation | 1.PyTorch | D&D, PROTEINS, COLLAB, REDDIT-B | |
13. MuchGNN: Multi-Channel Graph Neural Networks | IJCAI 2020 | 1. Graph Classification | None | PTC, DD, PROTEINS, COLLAB, IMDB-BINARY, IMDB-MULTI, REDDIT-MULTI-12K | |
12. MinCutPool: Spectral Clustering with Graph Neural Networks for Graph Pooling | ICML 2020 | 1. Graph Classification 2. Graph Regression | 1.PyTorch-Geometric, 2.PyTorch | D&D, PROTEINS, COLLAB, REDDIT-BINARY, Mutagenicity, QM9(regression) | |
11. HaarPool: Haar Graph Pooling | ICML 2020 | 1. Graph Classification 2. Graph Regression | 1.PyTorch | MUTAG, PROTEINS, NCI1, NCI109, MUTAGEN, TRIANGLES, QM7(regression), | |
10. MemPool: Memory-Based Graph Networks | ICLR 2020 | 1. Graph Classification 2. Graph Regression | 1.PyTorch-Geometric, 2.PyTorch | D&D, PROTEINS, COLLAB, REDDIT-BINARY,ENZYMES ESOL(reg), Lipophilicity(reg) | |
9. StructPool: Structured Graph Pooling via Conditional Random Fields | ICLR 2020 | 1.Graph Classification | 1. PyTorch | ENZYMES, PTC, MUTAG, PROTEINS, COLLAB, IMDB-B, IMDB-M | |
8. MathNet: Haar-Like Wavelet Multiresolution-Analysis for Graph Representation and Learning | ArXiv 2020 | 1.Graph Classification 2. Graph Regression | None | D&D, PROTEINS, MUTAG, ENZYMES // QM7 (regression) MUTA-GENICITY | |
7.ProxPool: Graph Pooling with Node Proximity for Hierarchical Representation Learning | ArXiv 2020 | 1.Graph Classification | None | D&D, PROTEINS, NCI1, NCI109, MUTA-GENICITY | |
6. CliquePool: Clique pooling for graph classification | ICLR-W 2019 | 1. Graph Classification | None | D&D PROTEINS, ENZYMES, COLLAB | |
5. NMF: A Non-Negative Factorization approach to node pooling in Graph Convolutional Neural Networks | AIIA 2019 | 1. Graph Classification | None | D&D, PROTEINS, NCI1, ENZYMES, COLLAB | |
4. GRAHIES: Multi-Scale Graph Representation Learning with Latent Hierarchical Structure | CogMI 2019 | 1. Node Classification | None | Cora, CiteSeer, PubMed | |
3. EigenPool: Graph Convolutional Networks with EigenPooling | KDD 2019 | 1. Graph Classification | 1.PyTorch | D&D, PROTEINS, NCI1, NCI109, MUTAG, ENZYMES | |
2. LaPool : Towards Interpretable Molecular Graph Representation Learning | ArXiv 2019 | 1. Graph Classification 2. Graph Regression 3. Molecular Generation | 1.Pytorch | TOX21, D&D, PROTEINS, FRANKENSTEIN, QM9(regression) | |
1. DiffPool: Hierarchical Graph Representation Learning with Differentiable Pooling | NIPS 2018 | 1. Graph Classification | 1.PyTorch-Geometric, 2.PyTorch | D&D, PROTEINS, COLLAB, ENZYMES, REDDIT-MULTI |
Node_Drop_Pooling
Title | Venue | Task | Code (15/24) | Dataset |
---|---|---|---|---|
24. NCPool: Seeing All From a Few: Nodes Selection Using Graph Pooling for Graph Clustering | ArXiv 2021 | 1. Node Clustering | None | Cora, CiteSeer, PubMed, DBLP, ACM |
23. MEWISPool: Maximum Entropy Weighted Independent Set Pooling for Graph Neural Networks | ArXiv 2021 | 1. Graph Classification | 1. PyTroch | D&D, PROTEINS, MUTAG, FRANKENSTEIN, MUTAGENICITY, IMDB-BINARY, IMDB-MULTI, COLLAB, |
22. EGC2: Enhanced Graph Classification with Easy Graph Compression | ArXiv 2021 | 1. Graph Classification | None | D&D, PTC, NCI1, NCI109, IMDB-BINARY, REDDIT-BINARY, |
21. TAPPool: Topology-Aware Graph Pooling Networks | TPAMI 2021 | 1. Graph Classification | None | D&D, PTC, MUTAG, COLLAB, REDDIT-MULTI, |
20. MVPool: Hierarchical Multi-View Graph Pooling with Structure Learning | TKDE 2021 | 1. Graph Classification 2. Graph Clustering 3. Node Classification 4. Node Clustering | 1. PyTorch | D&D, PROTEINS, ENZYMES, NCI1, MCI109 // Cora, CiteSeer, PubMed, Coauthor-CS, Coauthor-Physics |
19. Ipool: Information-Based Pooling in Hierarchical Graph Neural Networks | TNNLS 2021 | 1. Graph Classification | None | D&D, PROTEINS, NCI1, NCI109, ENZYMES, MNIST, CIFAR-10 |
18. CGIPool: Graph Pooling via Coarsened Graph Infomax | SIGIR 2021 | 1. Graph Classification | 1.PyTorch | NCI1, NCI109, Mutagenicity, IMDB-B, IMDB-M, COLLAB PROTEINS |
17. CommPOOL:An Interpretable Graph Pooling Framework for Hierarchical Graph Representation Learning | Neural Networks 2021 | 1. Graph Classification | None | BZR, FRANKENSTEIN, PROTEINS, AIDS, Synthie |
16. PGP: Learning Hierarchical Review Graph Representations for Recommendation | ArXiv 2021 | 1. Recommandation | None | Amazon |
15. NDP: Hierarchical Representation Learning in Graph Neural Networks with Node Decimation Pooling | TNNLS 2020 | 1. Graph Classification | 1. TensoFlow | PROTEINS, ENZYMES, NCI1, MUTAG, Mutagenicity, D&D,COLLAB, Reddit-Binary |
14. VIPool: Graph Cross Networks with Vertex Infomax Pooling | NIPS 2020 | 1. Graph Classification 2. Node Classification | 1.PyTorch | IMDB- B, IMDB-M, COLLAB, D&D, PROTEINS, ENZYMES |
13. HGP-SL: Hierarchical Graph Pooling with Structure Learning | AAAI 2020 | 1. Graph Classification | 1.PyTorch | D&D, PROTEINS, NCI1, NCI109, ENZYMES, Mutagencity |
12. GSAPool: Structure-Feature based Graph Self-adaptive Pooling | WWW 2020 | 1. Graph Classification | 1.Pytorch | D&D, NCI1, NCI109, Mutagencity |
11. PANPool: Path Integral Based Convolution and Pooling for Graph Neural Networks | NIPS 2020 | 1. Graph Classification | 1.PyTorch-Geometric | PROTEINS, PROTEINS-FULL, NCI1, AIDS, MUTAGENCITY |
10. UGPool: Uniform Pooling for Graph Networks | Appl. Sci. 2020 | 1. Graph Classification | 1.PyTorch | D&D, PROTEINS, NCI1, NCI109, ENZYMES, HCP(Brain), ABIDE(Brain) |
9. ASAP: Adaptive Structure Aware Pooling for Learning Hierarchical Graph Representations | AAAI 2020 | 1. Graph Classification | 1.PyTorch-Geometric 2.PyTorch | D&D, PROTEINS, NCI1, NCI109, FRANKENSTEIN |
8. BUTDPool: Bottom-Up and Top-Down Graph Pooling | PAKDD 2020 | 1. Graph Classification | None | D&D, PROTEINS, NCI1, NCI109, REDDIT-Binary |
7. LookHops: light multi-order convolution and pooling for graph classification | ArXiv 2020 | 1. Graph Classification | None | PROTEINS, D&D, NCI1, NCI109, Mutagenicity, FRANKENSTEIN |
6. RepPool:Graph Pooling with Representativeness | ICDM 2020 | 1. Graph Classification | 1.PyTorch | PROTEINS, D&D, NCI1, NCI109, MUTAG, PTC, IMDB-BINARY, Synthie |
5. AttPool : Towards Hierarchical Feature Representation in Graph Convolutional Networks via Attention Mechanism | ICCV 2019 | 1. Graph Classification | 1.PyTorch | D&D, PROTEINS, COLLAB, REDDIT-BINARY,REDDIT-MULTI, NCI1 |
4. SAGPool: Self-Attention Graph Pooling | ICML 2019 | 1. Graph Classification | 1.PyTorch-Geometric 2.Spekral 2.PyTorch | D&D, PROTEINS, NCI1, NCI109, FRANKENSTEIN |
3. TopKPool: Understanding Attention and Generalization in Graph Neural Networks | ICLR-W 2019 NIPS 2019 | 1. Graph Classification | 1.PyTorch-Geometric 2.Spektral 3.PyTorch | D&D, PROTEINS, COLLAB, CCOLORS, TRIANGLES, MNIST-75sp |
2. TopKPool: Graph U-Nets | ICML 2019, | 1. Graph Classification 2. Node Classification | 1.PyTorch-Geometric 2.Spektral 3.PyTorch | D&D, PROTEINS, COLLAB // Cora, CiteSeer, PubMed |
1. TopKPool: Towards Sparse Hierarchical Graph Classifiers | NIPS-W 2018 | 1. Graph Classification | 1.PyTorch-Geometric 2.Spektral | D&D, PROTEINS, COLLAB, ENZYMES |
Other_Pooling
Title | Venue | Note | Task | Code (7/20) | Dataset |
---|---|---|---|---|---|
20. Diversified Multiscale Graph Learning with Graph Self-Correction | ArXIv 2021 | Self-Correction | 1. Graph Classifcation | None | D&D, PROTEINS, NCI1, NCI109, FRANKENSTEIN, OGB-MOLHIV |
19. Diversified Multiscale Graph Learning with Graph Self-Correction | ArXIv 2021 | Self-Correction | 1. Graph Classifcation | None | D&D, PROTEINS, NCI1, NCI109, FRANKENSTEIN, OGB-MOLHIV |
18. Pyramidal Reservoir Graph Neural Network | Neurocomputing 2021 | Clique pooling | 1. Graph Classifcation | 1.Spektral | D&D, PROTEINS, NCI1, ENZYMES, MUTANGENICITY, IMDB-BINARY, IMDB-MULTI, COLLAB, REDDIT-Binary, REDDIT-Multi-5K |
17. KPlexPool: K-plex cover pooling for graph neural networks | PKDD 2021 | Clique pooling | 1. Graph Classifcation | 1.PyTorch | D&D, PROTEINS,IMDB-BINARY, IMDB-MULTI, COLLAB, REDDIT-Binary, REDDIT-Multi-5K |
16. DHT: Edge Representation Learning with Hypergraphs | NIPS 2021 | HyperGraph | 1. Graph Classifcation 2. Graph generation 3. Graph reconstruction 4. Node Classification | 1.PyTorch | D&D, PROTEINS, MUTAG,IMDB-BINARY, IMDB-MULTI, COLLAB,HIV, Tox21, ToxCast, BBBP // ZINC (regression and generation) // Cora, CiteSeer (node classification) |
15. MuchPool: Multi-Channel Pooling Graph Neural Networks | IJCAI 2021 | Node Drop + Node Clustering | 1. Graph Classification | None | D&D, PROTEINS, NCI1, NCI109, ENZYMES, COLLAB |
14. Co-Pooling: Edge but not Least: Cross-View Graph Pooling | ArXiv 2021 | Edge View | 1. Graph Classification 2. Graph Regression | Node | D&D, PROTEINS, NCI1, NCI109, MSRC_21, COLLAB, IMDB-B, IMDB-M, REDDIT-Binary, REDDIT-Multi-12K FRANKENSTEIN, AIDS, BZR // ZINC, QM9(regression) |
13. GNP: Learning to Pool in Graph Neural Networks for Extrapolation | ArXiv 2021 | Extrapolation | 1. PyTroch | ||
12. EdgeCut:Graph Pooling by Edge Cut | ArXiv 2021 | Edge View | 1. Graph Classification 2. Node Classification | 1. PyTorch | D&D, PROTEINS, COLLAB Cora, CiteSeer, PubMed |
11. Counting Substructures with Higher-Order Graph Neural Networks: Possibility and Impossibility Results | ArXiv 2021 | Edge View | 1. Count Substructure | 1. PyTorch | Erdo ̋s-Renyi |
10. PAS: Pooling Architecture Search for Graph Classification | CIKM 2021 | Neuarl Architecher Search | 1.Graph Classification | None | D&D, PROTEINS, IMDB-B, IMDB-M, COX21 |
9. Adversarial Attack on Hierarchical Graph Pooling Neural Networks | ArXiv 2020 | Attack | 1. Graph Classification | None | D&D, Mutagenicity, AIDS, BZR, DHFR, ER_MD |
8. Robust Hierarchical Graph Classification with Subgraph Attention | ArXiv 2020 | SUbgraph Attention | 1. Graph Classification 2. Graph Clustering | None | MUTAG, PTC, PROTEINS, NCI1, NCI109, IMDB-B, IMDB-M // MUTAG, PROTEINS, IMDB-M |
7. Graphon Pooling in Graph Neural Networks | ArXiv 2020 | Graphon | None | None | None |
6. A Multi-Task Representation Learning Architecture for Enhanced Graph Classification | Neroscience 2020 | Multi-task | 1 Graph Classification 2. Node Classification | None | MUTAG, PTC, ENZYMES, PROTEINS, NCI1 |
5. LRP-Pool: Can Graph Neural Networks Count Substructures? | NIPS 2020 | WL-test | 1. Graph Classification | 1. PyTorch | HIV, ZINC, QM9 |
4. RP-Pool: Relational Pooling for Graph Representations | ICML 2019 | WL-test | 1. Graph Classification | 1. PyTorch | HIV, MUV, Tox21 |
3. Multi-Task Learning on Graphs with Node and Graph Level Labels | NIPS-W 2019 | Multi-task | 1. Graph Classification 2. Node Classification | None | ENZYMES, PROTEINS |
2. EdgePool: Towards Graph Pooling by Edge Contraction | ICML-W 2019 | Edge view | 1. Graph Classification | 1.PyTorch-Geometric | PROTEINS, COLLAB, REDDIT-BINARY, REDDIT-MULTI |
1. Graph Analysis and Graph Pooling in the Spatial Domain | ArXiv 2019 | Analysis | 1. Graph Classifcation | None | D&D, PROTEINS, ENZYMES, MDC, CNC, HLLD, SYNTHIETIC |