Track: Track2; Team name: Oversmooth operators; Model: DPHGNN - #398
Open
AlGoRythm3000 wants to merge 14 commits into
Open
Track: Track2; Team name: Oversmooth operators; Model: DPHGNN#398AlGoRythm3000 wants to merge 14 commits into
AlGoRythm3000 wants to merge 14 commits into
Conversation
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
AlGoRythm3000
force-pushed
the
dphgnn_gf
branch
2 times, most recently
from
July 31, 2026 00:15
7f8a48e to
9e90b17
Compare
AlGoRythm3000
marked this pull request as ready for review
July 31, 2026 16:07
…iments Renames lifting_confounding_study/model_ablation/feature_signal to exp1_/exp2_/exp3_-prefixed names, removes the stale E2_ablation/ E3_feature_signal leftovers, and brings in the real Phase-1+2 results for the model-ablation and feature-signal studies. Kaggle runner notebooks are intentionally excluded from this branch (kept on e2_e3_experiments only).
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
Model
This PR implements DPHGNN as a Track 2 (TNN) backbone for the TDL Challenge 2026.
DPHGNN combines three hypergraph "views" of the same node set — clique expansion, star expansion, and a HyperGCN expansion — through topology-aware attention (spatial, over raw features, and spectral, over Laplacian-smoothed features), a spectral inductive bias block that concatenates random-walk / symmetric / HGNN Laplacian terms (summing them cancels the symmetric term — see decision D-7), a gated feature mixture module, and a dynamic feature fusion step whose residual connection is the paper's claimed anti-oversmoothing mechanism, followed by one UniGCN-style output layer.
A reference implementation exists (https://github.com/mr-siddy/DPHGNN) but it is a non-executable research draft — undefined variables, hardcoded tensor shapes, globally-instantiated layers, a dependency (
dhg) outside TopoBench's stack — so it was used only to infer intent, never as a spec. Every deviation from it (and every ambiguity in the paper) is documented below and cross-referenced to equations in the backbone's docstrings.What is included
topobench/nn/backbones/hypergraph/dphgnn.pytopobench.nn.wrappers.HypergraphWrapper(no custom wrapper needed)configs/model/hypergraph/dphgnn.yamltest/nn/backbones/hypergraph/test_dphgnn.pytest/pipeline/test_pipeline.py(addedhypergraph/dphgnn)2026_tdl_challenge/outputs/2026-07-29_21-29-46/results.json2026_tdl_challenge/extra_analysis_oversmooth_operators/lifting_confounding_study/Implementation notes (deviations from the reference code / paper ambiguities)
random_noise(labels)) into the attention features — with no basis in the paper, and commented# errrby the original authors. This is a data leak. It is not reproduced:DPHGNN.forward(x_0, incidence_hyperedges)never receivesy.nn.MultiheadAttentionover allscatter_softmaxover the edges ofincidence_hyperedgesinside the forward pass, never precomputed — this makes a block-diagonal batch of several disjoint hypergraphs produce exactly the concatenation of the per-hypergraph outputs "for free", which is asserted directly by a dedicated test.hidden_channels=64,n_gnn_layers=2,taa_heads=4,n_dff_layers=1(+ 1 output layer = 2 message-passing layers total, the paper's "2-DPHGNN Layers"),dropout=0.5,sib_lambda=0.5— ~55.6K trainable parameters.configs/dataset/graph/graphuniverse_inductive.yaml: bumpeddataloader_params(batch_size16→64,num_workers0→2,persistent_workers: true) to make the 72-run grid tractable on a single Kaggle GPU session; no change to the dataset itself.Evaluation
2026_tdl_challenge/run_evaluation.ipynbwas run withMODEL_CONFIG = "hypergraph/dphgnn"on Kaggle (72 runs: 12 GraphUniverse grid cells × 3 seeds × 2 tasks, full OOD evaluation). The generatedresults.jsonis committed at2026_tdl_challenge/outputs/2026-07-29_21-29-46/.Highlights (in-distribution test, mean over 3 seeds, aggregated by homophily level):
Tests
test/nn/backbones/hypergraph/test_dphgnn.py: 29 tests, all passing, covering the invariants called out in the implementation notes above:(x_0, x_1)contract expected byHypergraphWrapper;eval();supernode_init,with_mediators,taa_neighborhood).test/pipeline/test_pipeline.pywas extended withhypergraph/dphgnnfor an end-to-end training smoke test.Result figures
In-distribution test performance across the 12 GraphUniverse grid cells (mean over 3 seeds), plus OOD (train-homophily-conditioned) deltas:
2026_tdl_challenge/outputs/2026-07-29_21-29-46/heatmap_community_detection_accuracy.png2026_tdl_challenge/outputs/2026-07-29_21-29-46/heatmap_triangle_mse_over_triangles.png2026_tdl_challenge/outputs/2026-07-29_21-29-46/OOD/(per-homophily-level OOD delta plots for both tasks)Extra analysis: does the graph→hypergraph lifting choice confound the structural-regime signal?
2026_tdl_challenge/extra_analysis_oversmooth_operators/lifting_confounding_study/— a follow-up study on top of the required evaluation, motivated by oversmoothing/expressivity concerns on lifted graphs. We run DPHGNN under three lifting arms (khop1,khop2, a feature-basedknn3) plus a GCN reference, across the same 4-cell homophily × power-law regime grid, 3 seeds each (48 runs), and disentangle lifting choice from structural regime with a two-way ANOVA.cell(structural regime) explains 48.7% of total variance in test accuracy,arm(lifting choice) 26.1%, their interaction 25.2%, residual ≈0.03% (seed noise is negligible).khop2ranks Config class #1 in all 4 cells (mean rank 1.00);knn3— the feature-based lifting — collapses under high homophily (rank 4/4) because GraphUniverse node features are near-uninformative by design (inter-class σ≈0.2 vs intra-class σ≈0.63), and, unlike homophily/degree/power-law, that noise level is not varied per grid cell. This is a finding, not a bug: it is not "fixed" by tuningk.Figures:
figures/fig1_lifting_by_regime.png(slope chart across regimes) andfigures/fig2_rank_table.png(4×4 rank table with mean-rank summary). Full writeup, ANOVA table, and bootstrap CIs in the folder'sREADME.md.