Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Local pooling in graph regression/classification problems #307

Closed
msainsburydale opened this issue Jun 17, 2023 · 3 comments
Closed

Local pooling in graph regression/classification problems #307

msainsburydale opened this issue Jun 17, 2023 · 3 comments

Comments

@msainsburydale
Copy link

Is it possible to use local pooling between the layers of a graph neural network, so that clusters of nodes are aggregated between graph convolution layers?

@CarloLucibello
Copy link
Member

Do you have a specific paper in mind?

@msainsburydale
Copy link
Author

Thanks for your quick reply. Understanding Pooling in Graph Neural Networks sparked my interest. The authors introduce a framework "SRC" for unifying local pooling operators discussed in the literature: (S)elect K subsets of nodes that will be aggregated, (R)educe over these node subsets (i.e., pool over them), and (C)onnect the aggregated nodes to form a new graph with K nodes.

Personally, I'm interested in applying a local pooling layer that is as similar as possible to conventional pooling found in CNNs. For context, my graph input is a spatial data set, edge features are the spatial distance between observations, and I'm performing a graph-level regression task. So, I thought a simple K-means clustering approach would be effective, or the Graclus algorithm referenced in the above paper:

Graclus halves the node set by iteratively collapsing a randomly selected node with its most strongly connected neighbour. The method is equivalent to more expensive approaches based on the eigendecomposition of the adjacency matrix.

Thanks in advance for any comments you may have.

@CarloLucibello
Copy link
Member

It seems hard to produce a gpu-friendly implementation of some of those operators, but one can start with cpu-only implementations. I made a list of some of those pooling operators in #308

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

No branches or pull requests

2 participants