S-Space:多模态模型答错方位,是看不见还是不会算?

会说“左边”的模型,内部真的知道“左边”吗?

先想象一张照片:森林小径上,一头熊站在左边,一个背包放在右边。你问一个多模态模型“背包在熊的左边还是右边”,它答得又快又准。可你换个问法,“如果站到熊的位置上,背包在它的哪一边”,同一个模型立刻开始犯糊涂。它能流利地说出“左、右、上、下、远、近”这些词,可只要要求它把视角挪一挪,这些词就散了架。

这不是个别模型的毛病。发表于 ICLR 2026 的基准工作 SpinBench 考察了 43 个视觉语言模型,发现只要任务涉及想象视角的切换,准确率就大幅塌方。更说明问题的是,研究者干脆把正确的空间关系直接写进题面,等于替模型把“看清物体在哪”这一半工作也做完了,可在 39 个模型里仍有 16 个掉到随机线以下。SpinBench

于是问题变得很尖锐:模型嘴上说得出方位,它内部到底有没有一张“空间地图”?如果没有,那些正确的“左边右边”就只是从训练文本里学来的语言套路,跟眼前的画面没什么关系;如果有,那它为什么还会答错?

这个问题今天格外要紧,原因很实在。多模态模型正被接进各种具身系统里当眼睛和脑子用,这篇论文考察的五个模型里,就有两个是从基础模型继续做动作训练得到的机器人模型。如果模型连“换个视角看”都算不明白,那么让它走进真实环境去抓取、去绕开障碍,就可能在物理世界里出岔子。所以追问“它内部到底有没有、又用不用得上一张空间地图”,不是一道纯学术的思考题,而是这类模型能否被托付给物理世界的前置门槛。

这个问题也并非空想。早在 2023 年,Gurnee 和 Tegmark 就发现,把 Llama-2-70B 第 50 层的激活投影到一个学到的经纬度方向上,散点几乎能拼出一张可辨认的世界地图。Space&Time 这说明“连续的空间量能以线性方式活在模型内部”并非天方夜谭,也就替“有”这一侧添了一份旁人做过的旁证。于是问题从“模型能不能装下一张地图”,收窄成更具体的追问:它的空间表征住在哪一层、长什么形状,又能不能被读出来、被用起来?

图注:Llama-2-70B 第 50 层激活投影到学到的经纬度方向后,散点几乎拼出可辨认的世界地图轮廓(左);投影到年份方向则得到按时间排序的事件散点(右)。这是探针方向上的低维投影可视化,不是模型在内部“画地图”。Space&Time

那它可能长什么形状?作者团队在自己的技术博客里给了一个形象的猜测:一张工作台。感知把物体的位置写上去,后续的计算在上面维护和更新这些位置,语言输出再按需读取。团队最早是在一个二维网格世界的前作里瞥见了它的影子,这篇论文则是把它从二维格子推进到真实的三维场景。MirroS 不过这是一条线索,不是已经坐实的答案。这块工作台在三维场景里是否真的存在,它长什么样、住在哪一层,又该怎么把它读出来,正是接下来要从模型内部一路查下去的问题。

高维激活里藏着三根坐标轴:S-Space 长什么样

论文给这块工作台的形状取了个名字,叫 S-Space。它的定义短到可以写在一行里。对某一个模型、某一层,把物体对应的那个 token 的激活向量记作高维空间里的一个点 $h_t$,S-Space 就是三根固定的方向轴 $v_x, v_y, v_z$ 张成的一个三维线性子空间。把激活往这三根轴上投影,就得到物体的一组连续坐标:

$$ c_t = V^\top h_t $$

其中 $V$ 是三根轴拼成的矩阵。这三根轴分别对应水平、垂直和距离,也就是我们熟悉的左右、上下、远近。S-Space

这里有两个细节值得停下来看清楚。第一,模型里并不存在一个“左边”的分类器。它没有把位置离散地打上标签,而是把一连串连续的数字写进激活里,就像坐标里的小数点后好几位,而“左”或“右”是等到语言输出时才临时转换出来的。第二,这组坐标是以观察者为中心的。它衡量的不是“在世界地图上位于哪里”,而是“相对于看这张图的人,物体在你的左边还是右边、近还是远”。这一点在后面会变成整篇故事的关键。

图注:三面板示意图。左面板给出森林小径上熊与背包相对观察者的坐标;中面板画出高维激活向量被三条正交方向 $v_x, v_y, v_z$ 高亮;右面板给出投影得到的数值坐标(熊 0.13、0.10、0.42,背包 0.86、0.61、0.43)。右面板的数字是论文画的说明性示例,不是实验测量值。S-Space

“线性”这两个字值得多掂量一下分量。所谓线性,是说把激活投影成坐标这件事只需要一次矩阵乘法,不需要再训练一个解码网络。这和“训练一个左右分类器”有本质区别。分类器是你外挂上去的,它学到的可能只是你喂给它的那批标注的规律。S-Space 的三根轴不是这样:不必另训一个分类器,直接对激活做一次三轴投影,连续坐标就出来了。论文把它当成模型内部的工作台,凭的就是这条读出通路,而不是一个事后拼凑出来的探针。

还有一点容易被忽略:这块子空间非常薄。模型的激活动辄几千维,S-Space 只占其中三个方向。这条薄薄的读出通路值得被单独拎出来研究,理由不在“这里被划成了专属地盘”,而在于读它不需要任何额外训练:三根固定的轴,一次矩阵乘法,坐标直接落地。读出方式如此朴素,它才不像一个为某类任务临时搭起来的装置,而更像模型激活结构里本来就存在的一层。

那为什么选中层的激活?论文的解释很朴素:太靠前的层还牢牢贴着输入像素,太靠后的层已经一门心思准备预测下一个词,只有中间那一段,空间信息才真正栖息着。研究者逐层扫过去,取验证准确率最高的那一层。这套逻辑,其实和 Llama-2 里投影出经纬度是同一件事,只不过地理坐标换成了第一人称的 $x, y, z$。

到这里,第一章留下的问题算是答了一半:S-Space 是一组可以投影读出的连续坐标。但坐标不会平白出现,它们是被谁、用什么样的手法从上千维的激活里挖出来的?

这 3 根轴是怎么被挖出来的:对答案求梯度

没有人靠肉眼看高维向量,也没有人靠聚类去猜。论文用的手法很干净:看答案的分数对激活的梯度,梯度指向哪个方向,那根轴就在哪个方向。

具体分四步。第一步,造一批相对空间问答对,比如一张图配上“哪边是左”的提问。第二步,对答案算一个 logit 差,把“右”的对数概率减掉“左”的对数概率:

$$ s_{p,x} = \text{logit}(\text{right}) - \text{logit}(\text{left}) $$

上下、远近各算一个,得到三个分数。第三步,让这三个分数分别对物体 token 的激活求梯度。

把这一步拆开看,梯度其实是在问模型一个问题:在激活空间里,往哪个方向挪一挪,最能让它把答案从“左”翻成“右”?最能撬动答案的那些方向,就是轴的候选。

第四步做一次角色反对称化,把 query 物体和 reference 物体的梯度相减再取平均:

$$ a_{p,g} = \frac{1}{2}\left(\nabla_{h_q} s_{p,g} - \nabla_{h_r} s_{p,g}\right), \qquad v_g = \text{unit}\left(\mathbb{E}p[a{p,g}]\right) $$

这一步是整个流程里最容易被忽略、却最关键的一步。相减旨在抵消两物体共有的上下文成分、突出与相对几何有关的差异。最后跨大量 prompt 求平均、再归一化,三根轴就稳定下来了。

这套操作并非凭空发明,它有明确的方法学祖先,就是后来的 J-Space 论文提出的 Jacobian lens。J-lens 的核心是一个对某一层的平均雅可比矩阵 $J_\ell$,它刻画的是“这一层的激活到最终输出之间的线性映射”;有了它,就能把中间层的激活直接映射到输出空间去读。J-Space

S-Space 做的是把 J-lens 往前推一步。J-lens 把激活映射到离散的词表,读出的是“下一个词可能是哪个”;S-Space 把这个离散的落点换成连续的空间坐标,读出的是“这个物体在哪个位置”。用一句话概括:同一套对激活求梯度的机械,只是输出的终点从词表变成了坐标轴。

至于到底该在哪一层动手,论文没有给出漂亮的理论,而是老老实实地做了一层扫,用 1,800 对留出的 COCO 图片对六个空间关系做验证,取准确率最高的那一层。这是经验性的选择,也预告了它后面会被列为局限之一。但方法本身的轮廓已经清楚了:这三根轴不是猜出来的,而是顺着“答案对激活的梯度”指出的方向挖出来的。那么,挖出来的东西是真的吗?还是只是一次过拟合出来的巧合?

读得准、改得动、平时也在:三组证据证明它不是巧合

判断一块内部表征是不是真的,论文摆出了三条证据,一条比一条硬。

要理解这三条为什么层层加码,可以先反过来想:如果 S-Space 只是巧合,它会分别露馅。读得准这一条,一个随机方向也可能碰巧和位置相关;改得动这一条,随机方向就翻不动答案;平时也在这一条,任务专用的装置在非空间问题下就会失效。三条全过,巧合的空间就被压得很小了。

第一条是读得准。把 S-Space 读出的坐标和物体的真实位置摆在一起,两者在水平、垂直、距离三根轴上都强相关,线性拟合也贴得很紧。读出的坐标还能直接支撑空间问答,在 CV-Bench、EmbSpatial、SpatialTunnel 三个基准上都站得住。其中 EmbSpatial 的问法特别对得上号:它只问六类以观察者为中心的关系,也就是左右、上下、远近,恰好是 S-Space 三根轴的离散版本。EmbSpatial

第二条是改得动,也是最硬的一条。光能读出、能相关,还只能说明存在一组方向与位置有关;要证明模型真的在用它,就得动手去改它。研究者沿着 S-Space 的方向给坐标加上或减去一个量,看模型的答案会不会跟着翻。

图注:因果干预实验。(a) 是二维配置矩阵,把“空间问题 / 非空间问题”与“沿 S-Space 方向编辑 / 沿随机方向编辑”组合起来;(b) 是答案保留率随编辑幅度 α 变化的曲线。沿 S-Space 方向编辑空间问题对应的曲线随 α 上升而明显下降,其余组合保持接近 100%。实验仅在 Molmo2-ER 第 17 层做。S-Space

结果分两层。空间问题上,沿 S-Space 方向编辑,答案会随着编辑幅度增大而被翻过来;而沿随机方向做同样幅度的编辑,答案几乎不动。这说明那根轴是有因果作用的,不是事后相关。更漂亮的是选择性:同样的编辑几乎不碰非空间问题的回答。换句话说,你改的是空间这一格,没有把整张工作台掀翻。这个“只改一点点、别处不受影响”的性质,正是把 S-Space 从一次笼统的全脑扰动里区分出来的证据。

这条选择性还有一个隐藏含义。如果一改就天下大乱,说明这根轴是个被所有任务共享的公共通道,那它就更像是一种通用的激活方向,而不是专门装空间信息的那一格。恰恰因为它只动空间、不动别的,我们才能说 S-Space 是一块分工明确的内部结构。

第三条是平时也在。把任务从空间问答换成完全不涉及空间的问题,S-Space 的读出依然稳定有效。这一点排除了“它是被特定问法诱导出来的”这种解释:如果一组方向只在空间题里才出现,那它更可能是个任务专用的装置;而它在非空间 prompt 下照样能读,说明它是模型固有结构的一部分。

三条证据串起来,结论是:S-Space 是真的,它有因果作用,而且一直都在。到这里,第一章的矛盾反而更刺眼了。既然模型如此可靠地知道每个物体在哪,那它在视角切换上为什么还是答错?

知道在哪 ≠ 算得出来:瓶颈原来卡在变换这一环

要回答这个问题,得先有一台够精细的仪器,能测量视角变换这件事到底难在哪。论文选的是 SpinBench,它把“视角取用”这一高层能力拆成七类任务,从最基础的同一物体识别,到单图内的相对位置,再到动态旋转,最后是重灾区的心理旋转和视角切换。任务设计本身就是一个信号:它专门盯住视角与旋转。

现象层的数据很不好看。前面提到,即使把正确的空间关系直接写进题面,39 个模型里仍有 16 个低于随机线。这说明大部分模型的失败,至少有相当一部分不是“没看清图”,而是“拿到了关系也算不动”。

于是论文做了一个关键的切分,把一道视角问题拆成两段。第一段是感知:从 S-Space 里把物体的坐标读出来。第二段是计算:拿着这些坐标,显式地做一次视角变换,也就是把参考系转过去,再用一条确定的规则算出答案。

可以用一个生活化的图像来记住这个切分。一个视力极好的人能一眼看清棋盘上每颗棋子的位置,可你让他闭着眼睛心算“把棋盘顺时针转 90 度后,马在哪一格”,他可能就卡住了。看清位置是一种能力,在脑子里旋转坐标是另一种能力。论文的数据正是在说,今天的多模态模型前者已经过关,后者还差得远。

图注:感知与计算的分解诊断。(a) 是 SpinBench 的视角切换任务模板,含可选的“给出前提”设置;(b) 是诊断流水线:图像进入后读出物体 token 的 S-Space 坐标,显式施加视角旋转,最后用确定性空间规则得到答案。这套流水线是论文外部的诊断程序,不是模型自己的思维链。S-Space

结果非常干净。如果让模型直接回答,准确率只有 60.96%;如果把感知和计算拆开,用 S-Space 读出坐标再加一次显式旋转,准确率跳到 91.10% 到 99.31% 之间。三个模型、两种设置下这个跳跃都成立。

模型直接回答仅用思维链S-Space 读出 + 显式旋转
Molmo2-ER60.96%未报告94.52%
Qwen3.5-4B60.96%62.33%91.10%
Qwen3.6-27B60.96%83.56%95.21%

这张表的意义,不在于“某个新方法又刷高了几个点”,而在于它把失败定位到了具体的那一环。如果瓶颈在表征,也就是模型根本读不准物体坐标,那么无论后面怎么旋转都不会有用;可事实是,同一批坐标经过一次外部旋转能达到九成以上。表征层完全够用,问题出在“在脑子里做坐标变换”这一步。

顺带看一眼思维链那一列,这里有个反直觉之处值得点破。让模型多写几步推理文字,看起来像是在帮它一步步把坐标转过去,但对 Qwen3.5-4B 几乎没用,只从 60.96% 挪到 62.33%;对 Qwen3.6-27B 却管用得多,涨到 83.56%。同一个手法,在两个模型上效果差出一大截,说明思维链能不能补上那个缺口,取决于模型自己有没有一套可被调用起来的变换机制,而不是写字这个动作本身有什么魔力。

论文还往诊断深处多挖了一铲。它读取模型的方位词坐标,发现绝对方位与图像自身的参考系是系统性纠缠的:east 落在与 right 同一侧,north 与 above 对齐,northeast 同时反映两者。这提示模型内部把“地图上的东西南北”和“图片里的左右上下”压进了同一组轴,很可能是网页图文预训练里地图式参考系留下的偏置。

这条“内部表征”的路线并不是唯一选择。同一时期还有工作走的是外部路线,不改模型内部,而是在 prompt 层面加一道结构化的自纠错,让模型自己检查视角再改写答案。那篇工作最后的结论同样耐人寻味:准确率会上升,但这不等于推理变鲁棒了,答对背后依然可能是冗余或残缺的推理。Viewpoint

两条路线指向同一个判断:模型的“知道”和“会算”之间有一道沟。S-Space 的价值,正是把这道沟精确地量了出来。那么,这块工作台除了看得见的物体,还装了些什么,它自己的边界又在哪里?

屏幕外的球与抽象的政治词:这个工作台的边界在哪

如果这块工作台只会服务看得见的物体,那它的故事还不够有意思。论文的案例研究显示,它管得比这更宽。

第一类现象发生在屏幕之外。一张守门员扑救的照片里,球其实并不在画面内,但 ball 这个 token 的坐标会被补在扑救方向上。第二类现象关于观察者自己:抽象的 you 这个 token 会落在距离轴的近端,而把同一张送货机器人的图和“经过你”换成“朝你走来”,变化的是 you 的距离坐标,机器人自己的坐标却稳稳不动。第三类现象把物理方向和抽象语义连了起来:socialist 落在水平轴的左端,conservative 落在右端。

现象S-Space 里的表现
守门员朝画面外的球扑救ball 的坐标被补在扑救方向上
观察者自身you 落在距离轴的近端
图配“经过你”改成“朝你走来”you 的距离坐标由远变近,机器人坐标不动
socialist 与 conservative分别落在水平轴的左右两端

这些例子既是能力展示,也是警告。同一根编码物理左右的轴,同时装下了“政治上的左与右”,说明 S-Space 并不完全来自眼前的像素,它也继承了大语言训练里铺天盖地的语义关联。能编码抽象概念是好事,但把物理方向和语义色彩挤进同一组轴,也意味着模型对方向的判断可能被语言层面的关联悄悄带偏。论文把它当作大规模语言训练留下的印记来看待,既是能力的来源,也可能是偏置的来源。

那么这副工具在整个可解释性版图里站在哪儿?一篇覆盖到 2025 年初的多模态可解释性综述,把方法按模型族和工具谱系铺成了一张分类地图,横轴是模型类型,纵轴是解释技术,从线性探针、logit lens 一路排到因果追踪和稀疏自编码器。MLLM-Mech

图注:综述给出的三维分类地图,交叉排布模型家族(非生成式视觉语言模型、生成式视觉语言模型、文生图扩散模型)与解释技术(线性探针、logit lens、因果追踪、表征分解、稀疏自编码器等),并连到下游应用一列。这张图截至 2025 年初,本身并不包含 S-Space,但可以把它理解为落在生成式视觉语言模型那一列、logit lens 与因果追踪之间的一个连续坐标变体。MLLM-Mech

在这张地图上,S-Space 的血缘很清楚:它属于把 Jacobian lens 从离散词汇推向连续空间坐标的那一支。同一支上还有一个离散词汇端的近亲,用激活差构造概念向量再注入残差流,做的是“哪类概念藏在哪一层”的分类与因果验证。CausalProbe

但它自己的边界也很清楚。水平与垂直用的是图像平面坐标,不是真实世界的度量坐标;距离那一维来自一个现成的深度估计器;最优层是逐个扫出来的经验选择;而且所有结论只覆盖五个模型,即 Molmo2-ER、MolmoAct2-Pretrain、MolmoAct2、Qwen3.5-4B 和 Qwen3.6-27B,不能想当然地推广到所有多模态模型。这四条边界,论文自己都讲得很坦白。

这也顺带解释了为什么单纯堆思维链不够。让模型把推理写出来,本质上是希望它在文字里一步步把坐标转过去。可如果它内部压根没有一套可靠的变换机制,写再多步骤也还是文字层面的打转。论文没有给出解法,但它把病灶指得很准:要补的不是“看得见”,而是“转得动”。

所以回到标题那个问题:模型答错方位,是看不见还是不会算?这篇论文的答案是,它看得见,甚至看得相当准;它卡在“算”上,卡在把坐标系在自己脑子里转过去的那一步。S-Space 最大的贡献,未必是发现了三根轴,而是提供了一把能把“看得见”和“算得出”分别检验的尺子。有了这把尺子,下一个问题就不再是模型行不行,而是它具体在哪一步不行。

想深入可以读原文:S-Space: Exploring Spatial Workspace in Multimodal Language Models,arXiv:2610.13527

参考文献

  1. S-Space: Exploring Spatial Workspace in Multimodal Language Models,Zhiyuan Shi 等,arXiv:2610.13527,本专题锚论文。
  2. Language Models Represent Space and Time,Gurnee & Tegmark,arXiv:2310.02207,线性空间表征假说的奠基工作。
  3. Verbalizable Representations Form a Global Workspace in Language Models,Gurnee 等,arXiv:2607.15495,J-Space / Jacobian lens 方法学祖先。
  4. EmbSpatial-Bench: Benchmarking Spatial Understanding for Embodied Tasks with Large Vision-Language Models,Du 等,arXiv:2406.05756,评测载体。
  5. SpinBench: Perspective and Rotation as a Lens on Spatial Reasoning in VLMs,Zhang 等,arXiv:2509.25390,ICLR 2026,视角变换现象学基准。
  6. A Survey on Mechanistic Interpretability for Multi-Modal Foundation Models,Lin 等,arXiv:2502.17516,MLLM 可解释性工具谱系。
  7. Causal Probing for Internal Visual Representations in Multimodal Large Language Models,Deng 等,arXiv:2605.05593,EMNLP 2026,activation steering 同源工作。
  8. Thinking outside the frame: viewpoint-aware spatial reasoning in large multimodal models,Ke 等,Visual Intelligence 4:21,2026,外部 prompt 路线对照。
  9. S-Space: Exploring Spatial Workspace in Multimodal Models (MirroS blog),作者团队 blog,前作溯源与工作台隐喻。
S-Space:多模态模型答错方位,是看不见还是不会算?