Finding and using interpretable latents in a neutrino foundation model with sparse autoencoders
Authors: Raphaël Bonnet-Guerrini, Johann Ioannou-Nikolaides, Inar Timiryasov, Vincenzo Piuri
Organizations: Computer Science Department, Università degli Studi di Milano, Milano, Italy · INFN Sezione di Milano, Milano, Italy · Niels Bohr Institute, University of Copenhagen, Copenhagen, Denmark
We present a first application of sparse-autoencoder-based mechanistic interpretability to particle physics. Studying a neutrino foundation model pretrained on IceCube data and fine-tuned for direction reconstruction, we identify a validated atlas of physical concepts in the model representation, using a strict validation protocol consisting of held-out tests, matched nuisance controls, and replication across independent dictionary trainings. Causal interventions show that the direction head barely draws on this atlas. Motivated by this underused information, we train an uncertainty head on the same event-level representation to predict the model's angular reconstruction error. Unlike the direction head, it depends causally on quality and brightness features from the atlas. At 20% selection efficiency, this interpretable estimator improves the median angular resolution from 20.2∘ to 3.2∘. These results suggest that mechanistic interpretability can reveal learned latent physics encoded within a model's internal representation and help design downstream tasks that exploit it.
Figures & tables
Split name
Role
Fraction
sae_train
SAE weight training
75%
sae_reconstruction_val
Reconstruction and fidelity validation
10%
concept_dev
Candidate latent discovery
7%
concept_test
Independent concept validation
6%
causal_test
Independent causal interventions
2%
Table 1: Disjoint event splits used for SAE training and downstream validation. Fractions refer to the nominal one-million-event partition.
Choice
Values tested
Selected
Basis
Expansion m/d
{2,4,8}
4
intrinsic diagnostics
BatchTopK budget k
{8,16,32}
16
fidelity–sparsity tradeoff
AuxK coefficient λaux
{0,2−8,2−6,2−5,2−4,2−3,2−2}
2−5
zero dead latents
AuxK budget kaux
{64,256,512}
512
validation diagnostics
Dead-step threshold τdead
{28,29,210,212,213}
28
validation diagnostics
Table 2: Concept-independent SAE selection. We select the configuration using intrinsic reconstruction and sparsity diagnostics on sae_reconstruction_val set, before any concept validation or causal analysis.
Figure 1: Concept-validation protocol. A candidate SAE read-out is first identified by association, then tested for held-out selectivity, and finally intervened on to establish whether a particular downstream head uses it. Robustness checks are applied across the validation chain. Exact numerical criteria are given in Table 5 .
Figure 2: Illustration of five events ordered by increasing activation of zbc on causal_test ( z=0.35 , 0.45 , 0.58 , 1.03 , 2.67 ). Panels share camera, detector frame and charge scale.
Feature
Role
Validation / response
Min. control AUROC
Response analog
zbc
bright-clean events
0.91
0.79
4/4
zbc′
clean events, secondary
0.69
0.84
4/4
zaux
auxiliary activity
0.84
0.85
3/4
zbs
brightness-associated support (dense)
charge monot. +0.92
non-selective
4/4
zdepth
detector depth (layer 2)
0.986
0.984
layer bank
Table 3: Named sparse directions identified in the paper. The final column reports whether an analogous response appears across dictionary seeds; it does not report replication of the complete validation criteria. Section 3.3 gives the corresponding seed-by-seed verdicts.
Figure 3: Response profiles of the main SAE latents along the auxiliary fraction and the total charge, on concept_dev set events. Bands show the min-max spread across dictionary seeds.
Figure 4: Highest-activating event of each latent on causal_test . Markers are DOMs (charge summed per DOM), area grows with charge , color encodes hit time within the event, and filled versus hollow marks non-auxiliary versus auxiliary hits. Panels share axes and charge scale.
Figure 5: Dose response of the brightness-support latent zbs (latent 973 ) on causal_test : this single coordinate is rescaled as z→sz before decoding. In both panels the two curves are clean events ( faux≤0.05 ) split by brightness alone: bright ( Qtot≥160 p.e.) and dim ( Qtot≤122 p.e.). Left: the resulting change in the true angular error of the direction head. Right: the resulting shift M1 in the log-error predicted by the uncertainty head (Section 4.3 ).
Figure 6: Sensitivity structure of the direction and uncertainty heads. Left: normalized singular-value spectra of the aggregate head Jacobians on the concept_dev and concept_test splits. Right: absolute cosine similarity between each head’s leading sensitivity axis and selected SAE decoder directions, physics-probe directions, and the first two principal components. The dashed vertical line marks ∣cos∣=0.14 .
Direction head
Uncertainty head
Intervention
effect
verdict
seeds
M1
verdict
seeds
remove zbc
+0.04∘
null
4/4
+0.31
causal
4/4
remove zaux
+0.00∘
null
3/4
−0.059
null, sign only
3/4
remove clean pair
+0.03∘
null
4/4
+0.32
causal
4/4
remove clean family
−0.02∘
null
3/4
+0.78
causal
4/4
remove clean core
+0.02∘
null
3/4
+0.37
causal
4/4
Table 4: Intervention effects on the final layer for the direction head and the uncertainty head. The “seeds” columns report replication of the corresponding verdict across the four independently trained SAE dictionaries. Direction-head effects are measured as shifts of angular error in degrees. Uncertainty-head effects are measured as shifts of predicted log error, M1 in Eq. ( 21 ).
Figure 7: Left: median angular error of the retained sample as a function of selection efficiency for detector-level observables, distributed representation read-outs, the sparse feature zbc , and the uncertainty head. The horizontal line gives the unselected resolution, and bands show bootstrap intervals. Right: median true angular error in bins of the error predicted by Ulin and UMLP . The diagonal indicates perfect calibration, while the shaded regions show the within-bin spread of true angular errors.
Appendix figures & tables13 assets
Supplementary material from the paper’s appendix.
Appendix
Figure 8: Held-out mean angular error of a linear CLS probe at each layer. Lower values are better; the frozen direction head is shown as a reference.
Stage
Fixed rule
Primary binary candidate
Discovery AUROC ≥0.75 and survival of every evaluable matched-control scheme
Secondary read-out
Reported separately when it survives the nuisance controls but remains below the primary AUROC bar
Independent confirmation
Re-evaluate the fixed candidate on concept_test , without reselection or threshold tuning
Family membership
Auxiliary-monotonicity score ams≤−0.85 for the clean side or ams≥+0.85 for the auxiliary side
Direction-head causality
Δ+≥0.05∘ , z(Δ+)≥2 , and z(Δ+−Δ−)≥2
Uncertainty-head causality
∣M1∣≥0.02 , z(M1)≥2 , and the pre-specified sign
Appendix
Table 5: Fixed discovery, validation, and intervention rules. Each row gives the condition used at that stage.
Latent
AUROC
Top- 1% enrich.
Firing rate
Min. ctrl AUROC
Status
Positive class: clean-trigger events
640
0.913
15.40×
0.139
0.818
primary
1006
0.698
14.94×
0.087
0.699
secondary
751
0.631
6.13×
0.134
0.550
rejected
946
0.601
15.18×
0.014
0.510
rejected
418
0.591
3.89×
0.126
0.590
rejected
Appendix
Table 6: Discovery-split rankings for the clean-trigger and auxiliary-dominated contrasts. AUROC measures event-level discrimination, top- 1% enrichment is the prevalence of the positive class in the highest-activation tail relative to its overall prevalence, firing rate is P(zj>0) , and “Min. ctrl AUROC” is the lowest AUROC across the matched-control schemes. Status records the role assigned after applying the fixed discovery criteria.
Family
Definition
n
clean_pair
{640,1006}
2
clean_family
All ams≤−0.85 , excluding the brightness-support coordinate zbs
194
clean_core
Members of clean_family with firing rate ≥0.05
5
aux_family
All ams≥+0.85
135
Appendix
Table 7: Reference-dictionary families. The final column gives the number of included latents.
Positive class
Score
Test AUROC
Control AUROC
clean
PC 10
0.846
0.727
clean
zbc
0.911
0.787
auxiliary
PC 10
0.847
0.845
auxiliary
zaux
0.840
0.854
high charge
PC 10
0.848 † † † High/low charge is a binary contrast between the top and bottom quintiles of total charge.
0.750
high charge
zbs ( 973 )
0.532 ‡ ‡ ‡ zbs is strongly charge-monotonic in population means but has near-chance per-event high/low-charge discrimination. This is why we describe it as brightness-associated rather than as a validated brightness read-out.
0.516
Appendix
Table 8: PCA and SAE scores evaluated on the independent concept_test split. Control AUROC is the strictest matched-control value for each target.
Layer 8
Layer 3
Target
CLS
SAE
k=1
k90%
CLS
SAE
k=1
k90%
linefit speed
0.48
0.42
0.16
128
0.61
0.53
0.14
64
linearity
0.52
0.53
0.12
128
0.49
0.52
0.10
128
time extent
0.78
0.78
0.36
32
0.88
0.88
0.43
16
top-5 charge frac.
0.60
0.51
0.05
256
0.73
0.64
0.08
64
z RMS
0.67
0.67
0.10
256
0.74
0.71
0.19
64
Appendix
Table 9: Held-out morphology-probe results at layers 8 and 3. Within each layer, CLS and SAE are the R2 values of dense ridge probes using the raw CLS representation and all SAE latents, respectively. The k=1 column gives the best single-latent R2 , while k90% is the smallest number of selected latents needed to reach 90% of the dense-SAE R2 .
Layer
Latent
Depth AUROC
Min. ctrl AUROC
Direction-head Δ+
2
171
0.986
0.984
+0.0064∘
3
191
0.925
0.899
−0.009∘
8
none retained
0.598
—
—
Appendix
Table 10: Depth isolation across layers. “Min. ctrl AUROC” is the lowest AUROC across the matched-control schemes, and Δ+ is the direction-head angular-error shift after removing the selected latent. At layer 8, 0.598 is the best raw AUROC, but no latent passed the isolation criteria.
Role
Quantity
Seed 1
Seed 2
Seed 3
Seed 4
Clean primary
latent
640
754
617
947
test AUROC
0.911
0.874
0.912
0.996
min. ctrl AUROC
0.787
0.740
0.781
0.987
all ctrl schemes
Yes
No
Yes
Yes
Clean secondary
latent
1006
662
918
808
test AUROC
0.694
0.744
0.691
0.679
Appendix
Table 11: Functional read-out analogues across SAE seeds. Each block reports the coordinate and its held-out validation quantities.
Family
n
Status
Δ+
Δ−
Select.
z+
Ctrl med.
Ctrl mean
clean_pair
2
null
+0.033∘
−0.007∘
+0.039∘
−0.33
+0.024∘
+0.844∘
clean_family
194
null
−0.020∘
−0.016∘
−0.005∘
−1.25
+7.651∘
+9.239∘
zaux
1
null
+0.004∘
+0.033∘
−0.029∘
−0.22
−0.006∘
+0.247∘
aux_family
135
null
−0.008∘
+0.031∘
−0.039∘
−0.75
+0.025∘
+1.305∘
clean_core
5
null
+0.018∘
−0.010∘
+0.028∘
−0.63
+0.033∘
+2.966∘
Appendix
Table 12: Reference-dictionary removals on causal_test . “Select.” is Δ+−Δ− ; the last columns summarize matched controls.
Role
Seed 1
Seed 2
Seed 3
Seed 4
Clean primary
+0.057∘ (null)
+0.098∘ (null)
+0.031∘ (null)
−0.033∘ (null)
Clean secondary
+0.082∘ (pass)
+0.113∘ (null)
+0.042∘ (null)
−0.019∘ (null)
Auxiliary
+0.156∘ (null)
−0.117∘ (null)
—
−0.040∘ (null)
Brightness support
+13.51∘ (V)
+14.81∘ (V)
+11.61∘ (V)
+14.59∘ (V)
Appendix
Table 13: Direction-head shifts across SAE seeds. Parentheses give the fixed-rule verdict or dose-response shape.
Experiment
Δ recip.
Δ donor
z(Δ+)
z(sel.)
Verdict
write 640 into aux
−0.012∘
+0.025∘
−0.92
−0.71
null
full swap ( + zero 195 )
−0.002∘
+0.034∘
−0.01
−0.51
null
write {640,1006} into aux
+0.003∘
+0.045∘
−0.21
+0.03
null
full swap
+0.013∘
+0.053∘
+0.38
−0.22
null
write clean core ( 5 lat.)
+0.006∘
+0.044∘
−0.06
+0.25
null
full swap
+0.016∘
+0.051∘
+0.28
+0.56
null
Appendix
Table 14: Direction-head writing tests. Recipient and donor columns give the induced angular-error shifts.
Dictionary
Objective
Bright-clean AUROC
Causal set
Best concept AUROC
Validated pairs
One-shot
pure functional
0.53
16
—
0
R1
pure functional
0.53
11
0.59
0
R9
reconstruction anchored
0.87
6
0.69
0
R10
reconstruction anchored
0.878
6
<0.75
0
Appendix
Table 15: Results for the functionally trained dictionaries. ‘Bright-clean AUROC” gives the best bright-clean read-out, ‘Causal set” counts latents that affect the direction head, and ‘Best concept AUROC” tests those latents against the full concept vocabulary. ‘Validated pairs” counts the pairs that pass the complete validation procedure.
Intervention
Seed 1
Seed 2
Seed 3
Seed 4
remove zbc
+0.310
+0.193
+0.295
+0.612
remove clean pair
+0.321
+0.374
+0.307
+0.612
remove clean family
+0.775
+0.837
+1.012
+0.805
remove clean core
+0.373
+0.493
+0.681
+0.617
clean core after support exclusion
+0.373
+0.493
+0.302
+0.617
Appendix
Table 16: Cross-seed uncertainty-head removals. Entries are shifts M1 in predicted log error.