Linear Mechanisms for Spatiotemporal Reasoning in Vision Language Models

Raphi Kang, Hongqiao Chen, Georgia Gkioxari, Pietro Perona
1/18/2026
cs.CV

Official code: Raphoo/linear-mech-vlms (17 stars, last commit 2026-02-16).

Abstract

Spatio-temporal reasoning is a remarkable capability of Vision Language Models (VLMs), but the underlying mechanisms of such abilities remain largely opaque. We postulate that visual/geometrical and textual representations of spatial structure must be combined at some point in VLM computations. We search for such confluence, and ask whether the identified representation can causally explain aspects of input-output model behavior through a linear model. We show empirically that VLMs encode object locations by linearly binding \textit{spatial IDs} to textual activations, then perform reasoning via language tokens. Through rigorous causal interventions we demonstrate that these IDs, which are ubiquitous across the model, can systematically mediate model beliefs at intermediate VLM layers. Additionally, we find that spatial IDs serve as a diagnostic tool for identifying limitations in existing VLMs, and as a valuable learning signal. We extend our analysis to video VLMs and identify an analogous linear temporal ID mechanism. By characterizing our proposed spatiotemporal ID mechanism, we elucidate a previously underexplored internal reasoning process in VLMs, toward improved interpretability and the principled design of more aligned and capable models. We release our code for reproducibility: https://github.com/Raphoo/linear-mech-vlms.

View on arXivView PDF

Code Implementations(1)

Code for "Linear Mechanisms for Spatiotemporal Reasoning in Vision Language Models"

173Shell, PythonOct 3, 20258 months ago

Similar Papers

Cite this paper

@article{kang2026linear,
  title  = {Linear Mechanisms for Spatiotemporal Reasoning in Vision Language Models},
  author = {Raphi Kang and Hongqiao Chen and Georgia Gkioxari and Pietro Perona},
  year   = {2026},
  eprint = {2601.12626},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2601.12626v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2601.12626.svg)](https://codeofpaper.com/paper/2601.12626)

Discussion