Skip to content

Track: Track2; Team name: r2; Model: AirTNN#329

Open
aniervs wants to merge 4 commits into
geometric-intelligence:mainfrom
aniervs:track2-airtnn
Open

Track: Track2; Team name: r2; Model: AirTNN#329
aniervs wants to merge 4 commits into
geometric-intelligence:mainfrom
aniervs:track2-airtnn

Conversation

@aniervs

@aniervs aniervs commented May 23, 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.
  • My PR follows PEP8 guidelines.
  • 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 contributes AirTNN (Topological Neural Networks over the Air, Fiorellino, Battiloro & Di Lorenzo — arXiv:2502.10070) as a Track 2 (TNN) submission for the TDL Challenge 2026, operating on the cell domain.

Files added

  • topobench/nn/backbones/cell/airtnn.py: the AirTNN backbone and AirTNNLayer.
  • configs/model/cell/airtnn.yaml: full TBModel composition.
  • test/nn/backbones/cell/test_airtnn.py: unit tests.
  • test/pipeline/test_pipeline.py: set to MODELS = ["cell/airtnn"].
  • 2026_tdl_challenge/outputs/airtnn_full/results.json: results of training and evaluation in GraphUniverse

Adaptation to TopoBench.
The reference implementation filters dense [batch, num_cells, F] tensors against a single shared Laplacian via a custom batch_mm. TopoBench batches complexes as a disjoint union, so the signal is a flat [N, F] tensor and the Laplacians are block-diagonal sparse operators. Each shift therefore becomes a single torch.sparse.mm(L, x); block-diagonal multiplication keeps per-complex message passing isolated, so this is exact (not an approximation) and additionally supports the inductive, variable-size setting GraphUniverse requires. Channel fading is sampled per nonzero of the sparse operator (independent channel per complex); noise is added per cell.

Complexity (per layer).
Sparse shifts cost O(k · nnz(L) · F) and the linear maps O(k · N · F²);
memory O(nnz(L) + N · F).

Additional context

  • Paper: Fiorellino, Battiloro, Di Lorenzo, Topological Neural Networks over the Air, arXiv:2502.10070.
  • Channel model on GraphUniverse. GraphUniverse has no wireless channel, so the primary runs use snr_db = 100 (the ideal filter). An SNR sweep (100 / 20 / 10) is planned as a robustness ablation rather than the main result.

@aniervs aniervs marked this pull request as draft May 23, 2026 23:39
@aniervs aniervs marked this pull request as ready for review May 24, 2026 03:42
@aniervs aniervs changed the title Track: Track2; Team name: r2; Model: AirTNN (Topological Neural Networks over the Air) Track: Track2; Team name: r2; Model: AirTNN May 26, 2026
@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