Skip to content

Track: Track2; Team name: TJPaik; Model: Directed Simplicial Neural Networks (Dir-SNN)#328

Open
TJPaik wants to merge 5 commits into
geometric-intelligence:mainfrom
TJPaik:tdl2026/dirsnn
Open

Track: Track2; Team name: TJPaik; Model: Directed Simplicial Neural Networks (Dir-SNN)#328
TJPaik wants to merge 5 commits into
geometric-intelligence:mainfrom
TJPaik:tdl2026/dirsnn

Conversation

@TJPaik

@TJPaik TJPaik commented May 22, 2026

Copy link
Copy Markdown

Checklist

  • My pull request has a clear and explanatory title.
  • My pull request passes the Linting test.
  • I added appropriate unit tests and I made sure the code passes all unit tests. (refer to comment below)
  • My PR follows PEP8 guidelines. (refer to comment below)
  • My code is properly documented, using numpy docs conventions, and I made sure the documentation renders properly.
  • I linked to issues and PRs that are relevant to this PR.

Description

This PR adds a TopoBench implementation of Directed Simplicial Neural Networks (Dir-SNN), based on Lecha et al., Higher-Order Topological Directionality and Directed Simplicial Neural Networks (ICASSP 2025 / arXiv:2409.08389).

Paper: https://arxiv.org/pdf/2409.08389
Reference implementation: https://github.com/ManuelLecha/DirSNN

Main changes:

  • Adds the simplicial/dirsnn backbone, implementing the edge-level Dir-SNN layer with polynomial directed-adjacency propagation.
  • Adds DirSNNWrapper, which forwards directed lower/upper edge adjacencies to the backbone and projects learned edge embeddings back to nodes through incidence_1 for downstream TopoBench readout.
  • Adds DirectedSimplicialLifting, a TopoBench lifting that materializes the four directed lower edge adjacencies from Eq. (3) and six directed upper edge adjacencies from Eq. (4) of the paper.
  • Adds Hydra configs for the default all-10-adjacency challenge model and a dirsnn_official_lower variant matching the official lower-adjacency experimental setup.
  • Adds unit tests for the backbone, wrapper, and directed lifting.
  • Adds the GraphUniverse challenge results.json generated by the official 2026 evaluation harness.

Challenge requirements covered:

  • Track: Track2
  • Team name: TJPaik
  • Model: Directed Simplicial Neural Networks (Dir-SNN)
  • Backbone: topobench/nn/backbones/simplicial/dirsnn.py
  • Hydra config: configs/model/simplicial/dirsnn.yaml
  • Results file: 2026_tdl_challenge/outputs/dirsnn/results.json
  • Requested label: track-2-tnn
  • Registration form: submitted

Issue

This is a submission to the 2026 Topological Deep Learning Challenge. There is no linked issue to close.

Additional context

The default simplicial/dirsnn config uses all ten directed edge adjacencies: four lower and six upper. The additional simplicial/dirsnn_official_lower config forwards only the four lower adjacencies, matching the narrower setup used in the reference experiments.

The backbone follows the Dir-SNN edge-level propagation mechanism. The final readout is adapted to TopoBench/GraphUniverse tasks by projecting learned edge signals to 0-cells through incidence_1, because the challenge evaluator expects standard TopoBench node/graph-level outputs. The wrapper first constructs this edge-derived 0-cell signal from the learned edge embedding; in the submitted config, TopoBench's default wrapper residual connection is kept, so the edge-derived x_0 and updated x_1 are combined with the original encoded 0-cell and 1-cell signals before the downstream PropagateSignalDown readout. The projection uses signed incidences from the lifting, so orientation-sensitive boundary signs are preserved before the learned downward propagation/readout rather than replaced by an unsigned pooling shortcut.

This TopoBench readout is not an exact copy of the official Dir-SNN classifier, which applies its own classifier/readout over edge features after the Dir-SNN propagation. The PR therefore ports the Dir-SNN directed edge-propagation backbone and adapts the output head to TopoBench tasks rather than claiming end-to-end parity with the reference training script.

TopoBench graph inputs are undirected/symmetric, so DirectedSimplicialLifting uses a deterministic canonical orientation u -> v when u < v. This orientation is a deterministic adaptation for undirected GraphUniverse-style inputs, not a data-provided edge direction. The directed_input=True path is intentionally guarded for now because raw directed edge ordering would otherwise be misaligned with SimplicialComplex canonical 1-simplex ordering.

Validation:

  • GitHub CI passes: Linting / ruff, Testing / build (3.11), Docs / build (3.11).
  • Local full test suite was used during validation; the current head is covered by the passing GitHub Testing workflow.
  • Local focused tests: Dir-SNN backbone, wrapper, and directed lifting tests pass.
  • Local lint check on changed Python files passes.

@TJPaik TJPaik marked this pull request as ready for review May 22, 2026 16:11
@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@LouisVanLangendonck LouisVanLangendonck added the track-2-tnn 2026 Topological Deep Learning Challenge -- Track 2 TNNs label May 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

track-2-tnn 2026 Topological Deep Learning Challenge -- Track 2 TNNs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants