Interpretable and Testable Vision Features via Sparse Autoencoders
Samuel Stevens, Wei-Lun Chao, Tanya Berger-Wolf, Yu Su
TL;DR
The paper proposes sparse autoencoders as a practical, model-agnostic bridge between concept discovery and causal probing in vision models. By training SAEs on frozen ViT activations, each sparse feature yields real-image exemplars and a decoding vector that enables precise, testable interventions without retraining the backbone. Applying this to CLIP and DINOv2 reveals language supervision fosters cultural and abstract semantic abstractions absent in purely visual models, and SAEs provide causal validation across classification and semantic segmentation tasks. The work advocates for a falsifiable, interactive interpretability framework and provides code and demos to encourage broader exploration, while acknowledging qualitative limitations and the need for further methodological development.
Abstract
To truly understand vision models, we must not only interpret their learned features but also validate these interpretations through controlled experiments. While earlier work offers either rich semantics or direct control, few post-hoc tools supply both in a single, model-agnostic procedure. We use sparse autoencoders (SAEs) to bridge this gap; each sparse feature comes with real-image exemplars that reveal its meaning and a decoding vector that can be manipulated to probe its influence on downstream task behavior. By applying our method to widely-used pre-trained vision models, we reveal meaningful differences in the semantic abstractions learned by different pre-training objectives. We then show that a single SAE trained on frozen ViT activations supports patch-level causal edits across tasks (classification and segmentation) all without retraining the ViT or task heads. These qualitative, falsifiable demonstrations position SAEs as a practical bridge between concept discovery and causal probing of vision models. We provide code, demos and models on our project website: https://osu-nlp-group.github.io/saev.
