evalstate's picture
evalstate HF Staff
Add model card: architectures, training, checkpoint locations
0098249 verified
|
Raw
History Blame Contribute Delete
3.09 kB
---
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)=<q_i,k_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)