evalstate HF Staff commited on
Commit
0098249
·
verified ·
1 Parent(s): 55cd51b

Add model card: architectures, training, checkpoint locations

Browse files
Files changed (1) hide show
  1. README.md +58 -0
README.md ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ library_name: pytorch
4
+ tags:
5
+ - spherical-cnn
6
+ - so3-equivariant
7
+ - sola
8
+ - spherical-harmonics
9
+ - icosphere
10
+ - image-classification
11
+ ---
12
+
13
+ # Spherical-equivariance classifiers (spectral conv vs SoLA)
14
+
15
+ Tiny spherical-MNIST classifiers from the
16
+ [**Spherical Equivariance Benchmark**](https://huggingface.co/datasets/evalstate/spherical-equivariance-bench),
17
+ built to compare **classical zonal spectral spherical convolution** (Cohen et al.,
18
+ [ICML 2018, arXiv:1711.06721](https://arxiv.org/abs/1711.06721)) with **SoLA**
19
+ local SO(3)-equivariant attention ([Sekikawa et al., ICML 2026 #1440,
20
+ OpenReview S1StjDehJS](https://openreview.net/forum?id=S1StjDehJS)).
21
+
22
+ These are intentionally tiny (≤2k parameters) and trained at small scale to fit a
23
+ local-compute budget; they are **not** paper-scale accuracy models. Their job is to
24
+ demonstrate the equivariance contrast on a real spherical image task.
25
+
26
+ ## Architectures (rank-2 icosphere, 162 vertices; dim=16; lmax=6; 9 classes)
27
+ - `spectral.pt` — two zonal `SpectralConvLayer`s (exact complex SHT via least-squares
28
+ pseudo-inverse + per-degree scalar filter) → mean-pool → linear head. **2057 params**.
29
+ - `sola.pt` — two `SoLALayer`s (`score(i,j)=<q_i,k_j>·(b+w·u_i·u_j)` over mesh 2-ring
30
+ neighborhoods) → mean-pool → linear head. **973 params**.
31
+ - `mlp.pt` — per-vertex MLP baseline (non-equivariant). **1001 params**.
32
+ - `mlp_aug.pt` — same MLP, trained with random SO(3) augmentation (empirically-learned
33
+ equivariance). **1001 params**.
34
+
35
+ Checkpoints store **learnable parameters only** (the complex SHT basis buffers and the
36
+ icosphere geometry are deterministic and rebuilt by `make_model(...)` in `train.py`).
37
+ Load with `strict=False`.
38
+
39
+ ## Results (25-40 epochs, CPU)
40
+ | Model | canonical acc | rotated acc (mean of 3) | params | latency (ms, batch-1 CPU) |
41
+ |---|---|---|---|---|
42
+ | spectral conv | 45.2% | 40.7% | 2057 | 2.31 |
43
+ | SoLA | 17.0% | 17.7% | 973 | 2.35 |
44
+ | MLP (no aug) | 21.8% | 22.1% | 1001 | 0.31 |
45
+ | MLP (+ rot aug) | 24.9% | 25.1% | 1001 | 1.84 |
46
+
47
+ All models underfit at this scale; the point is that the **equivariant** models retain
48
+ rotated ≈ canonical accuracy by construction (e.g. spectral 40.7 vs 45.2), even when
49
+ underfit. Paper-scale rotation robustness (SoLA 71.8 vs a position-embedding baseline
50
+ 13.5 under SO(3) test rotation) is reproduced in the
51
+ [SoLA reproduction logbook](https://huggingface.co/spaces/dmitry-rov/repro-sola-spherical-so3-equivariant-local-attention).
52
+
53
+ ## Checkpoint + code locations (canonical, in the research bucket)
54
+ - checkpoints: `hf://buckets/evalstate/research-agent/26-08-21-classical-vs-modern-spherical-6ab9/scratch/research/data/checkpoints/`
55
+ ([HTTPS](https://huggingface.co/buckets/evalstate/research-agent/tree/26-08-21-classical-vs-modern-spherical-6ab9/scratch/research/data/checkpoints))
56
+ - model/training code: `train.py` under
57
+ `.../scratch/research/code/`
58
+ - 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)