--- license: mit library_name: pytorch tags: - spherical-cnn - so3-equivariant - sola - spherical-harmonics - icosphere - image-classification --- # Spherical-equivariance classifiers (spectral conv vs SoLA) Tiny spherical-MNIST classifiers from the [**Spherical Equivariance Benchmark**](https://huggingface.co/datasets/evalstate/spherical-equivariance-bench), built to compare **classical zonal spectral spherical convolution** (Cohen et al., [ICML 2018, arXiv:1711.06721](https://arxiv.org/abs/1711.06721)) with **SoLA** local SO(3)-equivariant attention ([Sekikawa et al., ICML 2026 #1440, OpenReview S1StjDehJS](https://openreview.net/forum?id=S1StjDehJS)). These are intentionally tiny (≤2k parameters) and trained at small scale to fit a local-compute budget; they are **not** paper-scale accuracy models. Their job is to demonstrate the equivariance contrast on a real spherical image task. ## Architectures (rank-2 icosphere, 162 vertices; dim=16; lmax=6; 9 classes) - `spectral.pt` — two zonal `SpectralConvLayer`s (exact complex SHT via least-squares pseudo-inverse + per-degree scalar filter) → mean-pool → linear head. **2057 params**. - `sola.pt` — two `SoLALayer`s (`score(i,j)=·(b+w·u_i·u_j)` over mesh 2-ring neighborhoods) → mean-pool → linear head. **973 params**. - `mlp.pt` — per-vertex MLP baseline (non-equivariant). **1001 params**. - `mlp_aug.pt` — same MLP, trained with random SO(3) augmentation (empirically-learned equivariance). **1001 params**. Checkpoints store **learnable parameters only** (the complex SHT basis buffers and the icosphere geometry are deterministic and rebuilt by `make_model(...)` in `train.py`). Load with `strict=False`. ## Results (25-40 epochs, CPU) | Model | canonical acc | rotated acc (mean of 3) | params | latency (ms, batch-1 CPU) | |---|---|---|---|---| | spectral conv | 45.2% | 40.7% | 2057 | 2.31 | | SoLA | 17.0% | 17.7% | 973 | 2.35 | | MLP (no aug) | 21.8% | 22.1% | 1001 | 0.31 | | MLP (+ rot aug) | 24.9% | 25.1% | 1001 | 1.84 | All models underfit at this scale; the point is that the **equivariant** models retain rotated ≈ canonical accuracy by construction (e.g. spectral 40.7 vs 45.2), even when underfit. Paper-scale rotation robustness (SoLA 71.8 vs a position-embedding baseline 13.5 under SO(3) test rotation) is reproduced in the [SoLA reproduction logbook](https://huggingface.co/spaces/dmitry-rov/repro-sola-spherical-so3-equivariant-local-attention). ## Checkpoint + code locations (canonical, in the research bucket) - checkpoints: `hf://buckets/evalstate/research-agent/26-08-21-classical-vs-modern-spherical-6ab9/scratch/research/data/checkpoints/` ([HTTPS](https://huggingface.co/buckets/evalstate/research-agent/tree/26-08-21-classical-vs-modern-spherical-6ab9/scratch/research/data/checkpoints)) - model/training code: `train.py` under `.../scratch/research/code/` - full comparative report: [`output/report.md`](https://huggingface.co/buckets/evalstate/research-agent/tree/26-08-21-classical-vs-modern-spherical-6ab9/output/report.md)