Sparse autoencoder experiments over frozen vision backbones, aimed at testing whether intermediate activations are compressible into a sparse spatial code and whether those sparse codes can support layer-to-layer transitions.
The current source of truth is the playbook-style analysis package under analysis/. It reconciles guide docs, code, and surviving run artifacts, then compiles a fresh report to analysis/report.pdf.
Use this precedence when reading the repo:
analysis/report.pdfand the supporting manifest files inanalysis/- phase writeups in
docs/PHASE1_RESULTS.mdthroughdocs/PHASE4_RESULTS.md - archived manuscript material in
report/when you need historical context
Artifact-backed positives:
- The
FieldSAEwinner remains highly compressive across the main CIFAR families. - The Phase 1 pareto sweep preserves the same basic story and keeps
Q3as the persistent bottleneck. - In the chain experiments, full-BPTT re-grounding reaches
0.7010against a0.7122hybrid upper bound, and rollout-aligned raw chaining reaches0.6821. - The changed-suite follow-ups added real signal instead of noise: fair RF budgeting rescues the RF-local branch, patch overlap helps, and coarse disjoint tilings are a genuine negative result.
- The ViT transfer artifact is one of the cleanest results in the repo: at about
5%retained it achievespred_agree = 0.9440on Imagenette validation.
Important interpretation caveat:
- The playbook audit found a confirmed repeated test-exposure pattern across the core CIFAR SAE, transition, and chain trainers. Those scripts evaluate on the test split during training and development, but in this repo that split is functioning as an analysis corpus for probing how the frozen CNN executes.
- The consequence is about interpretation, not about whether the mechanistic claim is real: the CIFAR top-1 numbers should be read as corpus-conditioned faithfulness measurements, not as untouched external evaluation numbers.
- The cleanest families in the current repo state are the PCA baseline and the ViT transfer path. Some post-hoc analyses are marked
suspectedrather thancleanbecause they inherit upstream SAE validity risk.
For the exact audit trail, see:
HIGH_DIM_PROJ/
├── analysis/ # current synthesized analysis package and PDF
├── docs/ # per-phase result writeups and design material
├── report/ # archived manuscript-era report assets
├── runs/ # checkpoints, cached activations, per-run result files
├── logs/ # launcher logs and collated JSON outputs
├── scripts/ # experiment launchers and older plotting helpers
├── src/ # model, training, eval, intervention, and audit code
├── data/ # local dataset tarballs
└── env.sh # required environment setup for GPU runs
Important codepaths:
src/train_sae.py,src/train_sae_changed.py: layerwise SAE trainingsrc/train_transition.py: adjacent sparse-code transitionssrc/train_chain.py,src/train_chain_changed.py: chain-aware trainingsrc/intervene.py,src/feature_audit.py,src/taxonomy.py: follow-up analysessrc/vit_sae.py: ViT transfer artifactanalysis/scripts/build_playbook_analysis.py: rebuild the analysis package
If you want the current report rather than the archived manuscript, rebuild analysis/ directly:
source env.sh
python analysis/scripts/build_playbook_analysis.pyThat script regenerates:
- the experiment registry and repo inventory
- intent, deviation, leakage, and outcome manifests
analysis/results_tidy.csv- vector figures under
analysis/figures/ analysis/report.texandanalysis/report.pdf
The main historical run flow is still:
source env.sh
python scripts/train_backbone.py --arch resnet56 --dataset cifar100 --out runs/backbone_r56_c100
python src/cache_activations.py --ckpt runs/backbone_r56_c100/best.pt --out runs/acts_r56_c100
python src/controls.py
python scripts/run_grid.py --phase phase1
python scripts/run_grid.py --phase phase2
bash scripts/run_phase3.sh
python src/train_chain.py --bptt
python src/intervene.py
python src/feature_audit.py --section Q5 --sae runs/phase2/E1_Q5_f0.05/sae.ptFor later extension families, the surviving launcher entrypoint is usually:
source env.sh
bash scripts/run_tier_rest_01.sh- Always
source env.shbefore GPU work. The repo relies on a project-local cuDNN preload to avoid the host CUDA/cuDNN mismatch described in the historical notes. - The analysis build itself is CPU-friendly, but compiling
analysis/report.pdfrequires a working LaTeX install withpdflatex.
If you are new to the repo, the fastest accurate path is:
- Read
analysis/report.pdf. - Check
analysis/open_questions.mdandanalysis/missing_runs.md. - Use the phase docs in
docs/only for per-family narrative detail. - Treat
report/REPORT.pdfas archived context, not the current reconciled conclusion.