Vision-encoder interpretability · steering
CLIP and DINOv2 read the image off a single CLS token. SigLIP has no CLS — it pools every patch through an attention head (MAP). That one architectural choice is what made SigLIP awkward to steer. Here's the picture, and the one-line reason the edit doesn't get averaged away.
A dedicated token does the reading. To steer, you edit that one lane; the rest of the image is left intact.
Every patch feeds an attention-weighted sum. There's no single lane to edit — and "won't pooling average my edit away?" becomes the worry.
The pool is an attention-weighted sum of transformed values — f(x)=WOWVx is linear:
Steer: add the same Δ to every token, then pool again:
Linearity splits it; the offset factors out:
Attention weights sum to 1, so they can't shrink it:
This decomposition is exactly Kobayashi et al., “Attention is Not Only a Weight” (EMNLP 2020): an attention output is Σ α·f(x), so a token's contribution is α·‖f(x)‖, not α alone — which is also why a high-attention CLS/SEP token can contribute little. Companion to The Steerability Spectrum of Visual Attributes. The flip side: with no protected CLS, a SigLIP edit hits the readout directly, so it steers — but its object identity frays sooner than a CLS-readout model's.