Track: Track1; Team name: LangDiff; Model: GREAD - #420
Open
Mullerio wants to merge 2 commits into
Open
Conversation
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checklist
Description
This PR adds a implementation of "GREAD: Graph Neural Reaction-Diffusion Networks" (https://arxiv.org/abs/2211.14208) from Choi et al. at ICML 2023.
GREAD evolves node representations according to a graph reaction-diffusion system, where the diffusion term exchanges information over the graph and the reaction term is used to control the dynamics. The implementation includes:
The graph structure is prepared once per forward pass and reused by every ODE evaluation. The ODE solvers are implemented without relying on e.g an external library like torchdiffeq
The submitted config is in configs/model/graph/gread.yaml and due to time and compute constraints no hyperparameter tuning was done.
Tests
Tests cover output shape, gradients, weighted edges, wrapper arguments, disjoint batches, both solvers, original and learned adjacency, all reaction terms, coefficient modes, graph symmetrization, and pipeline instantiation.
All pass using
uv run --no-sync ruff check topobench/nn/backbones/graph/gread.py test/nn/backbones/graph/test_gread.py test/pipeline/test_pipeline.py
uv run --no-sync pytest test/nn/backbones/graph/test_gread.py -q
uv run --no-sync pytest test/pipeline/test_pipeline.py -q
Embedding Diagnostics, comparing with other implementaions
To investigate the weaker results of GREAD compared to e.g. my other submissions #400, #335, #399 i ran some quick tests. Due to time constraints the code was implemneted using LLMs, but checked by me.
K-means NMI
Embeddings are clustered into the 20 ground-truth communities without using labels during fitting. Agreement with the labels is measured using
Higher values indicate more easy detectable community clusters.
Nearest-neighbor purity
Using cosine similarity, the ten nearest neighbors$N_{10}(i)$ of each node are evaluated with
Cross-graph purity excludes all nodes belonging to the query graph. Here, AdvDIFFormer drops from$0.529$ ordinary purity to $0.388$ cross-graph purity and has the highest same-graph neighbor fraction ($0.401$ ). This indicates that AdvDIFFormer has less well transfarable embeddings. (also note that again due to constraints i did not tune the AdvDIFFormer run much, only testing two different hyperparameter configs)
Edge cosine gap
For normalized embeddings$z_i$ , community-boundary contrast is measured by
A large gap shows stronger cahnges between within-community and boundary edges. GREAD has the smallest gap ($0.041$ ), meaning that both edge types remain similarly oriented after propagation. Possibly explaining the weaker performance.
Conclusion
These findings provide a benchmark-specific explanation, i expect both AdvDIFFormer and GREAD to perform better, as in their papers, on other benchmarks that might be better suited.
The frozen-embedding notebook, per-seed CSV files, and generated figures are included under
analysis/.