Skip to content

Add SpaPooling: hierarchical graph pooling operator#10667

Open
rodrigueg wants to merge 5 commits intopyg-team:masterfrom
rodrigueg:feature/spapooling
Open

Add SpaPooling: hierarchical graph pooling operator#10667
rodrigueg wants to merge 5 commits intopyg-team:masterfrom
rodrigueg:feature/spapooling

Conversation

@rodrigueg
Copy link
Copy Markdown

Summary

Adds SpaPooling (Soft Partition Assignment Pooling), a hierarchical graph pooling operator published at the International Conference on Big Data Analytics and Knowledge Discovery (DaWaK 2025).

"SpaPool: Soft Partition Assignment Pooling for Graph Neural Networks"
Govan, R., Scherrer, R., Fournier-Viger, P., Selmaoui-Folcher, N., DaWaK 2025
https://doi.org/10.1007/978-3-032-02215-8_27

Method

SpaPooling selects a subset of representative nodes via a configurable selection module (TopK or SAGPool), then computes a soft assignment matrix S between all nodes and the representatives. The coarsened graph is obtained as:

  • O = SX  (pooled node features)
  • A' = SA S  (pooled adjacency)

Three association modes are supported: scalar dot-product, cosine similarity, and scaled dot-product attention. Several regularization losses are available: DiffPool, MinCut, DMoN, or a custom combination.

Checklist

  • reset_parameters() implemented
  • __repr__() implemented
  • Docstring references the paper
  • Tests cover shapes, batching, all select/association/loss modes, and gradient flow
  • flake8 passes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant