跳到主要内容
空间记忆与具身智能基础

第2章 从认知地图到工程系统——百年研究脉络

沿着 Tolman 迷宫实验、海马体 place cells、内嗅皮层 grid cells、Successor Representation 与昆虫导航的百年线索,提炼出可直接迁移到工程系统的五条空间表征设计原则

空间记忆 cognitive-map place-cells grid-cells successor-representation 具身智能

1. 为什么工程师要读一段认知科学

写空间记忆系统的工程师,几乎都会被同一种”概念诱惑”困住:

“我直接把图像扔进 VLM,让模型自己学会理解空间关系不就行了吗?”

这种想法在短任务上确实经常奏效——但只要任务跨过几小时、几个房间、几次重启,模型就会以惊人的稳定性走神。这一章不打算重复”模型为什么撑不住”的诊断(那是第 3 章的事),而是要回答一个更根本的问题:

空间能力到底是不是一种”独立的基础计算”?还是只是语义能力的副产品?

答案早在 LLM 出现之前的近 80 年里就被认知科学和神经科学反复回答过:空间能力是一种在不同物种、不同神经架构里被独立演化出来的”基础生存计算”——它不是高级文化能力的副产品,也不是语言智能的衍生形态。

这件事对工程师有非常直接的意义:

  • 如果空间能力是一种独立的计算,那它在系统架构里就应该有独立的层——不应该指望它从”足够大的视觉/语言模型”里自然涌现
  • 如果不同物种用不同神经结构实现了相似的空间计算原语,那这套原语本身就是架构无关的设计原则——这正是我们最需要的:一组可以直接借鉴到工程系统的”空间表征公理”

本章按这个目的组织:四节研究线索(Tolman 认知地图 / place-grid cells / Successor Representation / 昆虫导航),每一节都附一个工程翻译,把生物发现转成可以挂在 Spatial Memory 工程评审上的设计原则。最后一节把五条原则汇总成一张”空间表征 Cheat Sheet”。

2. Tolman 的迷宫:行为里就藏着内部地图

2.1 一个被刻意设计来反驳”刺激-反应”的实验

20 世纪上半叶的主流学习理论是”刺激-反应”链:动物看见某个线索 → 执行某个动作 → 得到强化。在这套范式下,老鼠学会走迷宫的过程就是”在每一个分叉点学会一个特定的转向动作”。

Tolman 不信。他设计了一系列实验,反复揭示同一个现象:

  • 绕路实验:老鼠学会一条从起点到食物的路径后,把它平时走的那条主道堵上。“刺激-反应”理论预测:老鼠在堵塞处会无所适从,因为它没学过这条新岔路上的”正确动作”。但实际上老鼠会立刻选一条几何上更短的替代路径——尽管这条路它从来没走过。
  • 潜在学习实验:让老鼠先在迷宫里没有奖励地自由探索几天,再放食物。如果学习只发生在”动作-奖励”配对里,那这几天的探索应该完全没用。但老鼠的表现说明:那几天它显然学到了什么——只是直到奖励出现时才把这个”什么”用了出来。
  • 位置 vs 转向的对立:让两组老鼠在 T 形迷宫里学习。第一组学”食物在房间的北侧”,第二组学”在岔口右转”。当老鼠的入口被换到迷宫的对面时,第一组依然能找到食物(北侧不变),第二组则会走错(“右转”变成了反方向)。两组老鼠学到的根本不是同一个东西

Tolman 把这种”动作之外、看不见但影响行为”的内部表征命名为 cognitive map(认知地图) [3]。

2.2 认知地图的关键性质

从工程师的视角重新组织一下,认知地图至少有三条性质:

  1. 结构化而不是动作链:保留的是”哪些地方彼此相邻 / 哪条路更短 / 哪些区域被某物占据”这类关系,而不是”在 X 处做 Y 动作”这种序列。
  2. 可重组合 / 可迁移:同一份内部地图可以支持新路径的规划——这意味着它至少是某种可被算法化遍历的数据结构,而不是被固化在某条特定 trajectory 上的”肌肉记忆”。
  3. 可独立于动机被构建:潜在学习说明地图的形成不依赖即时奖励——只要在环境中持续暴露,它就在被构建。

2.3 工程翻译:为什么 Spatial Memory 不能只是”动作-状态对”

这件事看起来朴素,但放到当前 Agent 系统里非常致命:

  • 强化学习路径默认用 (state, action, reward) 三元组组织经验——这接近”刺激-反应”的范式。它在固定环境的策略学习里有效,但本质上不维护”环境结构”。当任务从导航变成绕路、变成跨房间组合,它的泛化就崩了。
  • 大模型 + 工具调用这条路则把每一次交互当作 turn-level 的 prompt-response 对——本质上是把”动作-状态对”从 RL 里搬到了语言里。它在长任务上的失败模式和 RL 一脉相承:保留了行为链,没保留环境结构
  • 真正”像 Tolman 老鼠”的系统会在每次交互之后更新一份关系结构——不是更新一段对话历史,而是更新一张”对象 / 区域 / 关系 / 容器”的图。这正是 Dynamic Scene Graph、Belief Scene Graph、Hydra 这一类系统在做的事 [9, 10, 35]。

设计原则 #1:空间记忆应当是结构化的关系图,而不是 trajectory 缓存。 它的核心承载不是”我在 A 点做了什么”,而是”A、B、C 之间在物理世界里如何关联”。

3. Place Cells 与 Grid Cells:空间表征的神经实现

Tolman 给了行为学证据,但留了一个开放问题:认知地图到底在大脑里长什么样?这个问题在 1971 年被部分回答,并在 2014 年因为同一系列发现拿了诺奖。

3.1 Place cells:海马体的”地点单元”

O’Keefe 和 Dostrovsky 在 1971 年记录了自由活动的老鼠海马体神经元 [4],发现:

  • 某些神经元只在老鼠经过特定空间位置时才显著放电
  • 不同神经元的放电场(place field)覆盖环境的不同区域
  • 把许多 place cells 合在一起,就能从神经活动反推老鼠当时在哪儿

这件事的工程意义是震撼的:在大脑里存在一种对位置的稀疏编码——它不是一个连续坐标向量,而是一组”激活模式”。一个老鼠在房间里的当前位置,被表示成”哪些 place cells 正在亮”。

Place cells 还有几个值得工程师注意的细节:

  • 环境敏感:换一个房间,整个 place field 集合会重新映射(remapping)——同一组神经元在新环境里编码完全不同的位置。这意味着大脑维护的不是”全局坐标系”,而是每个环境一个独立的局部表征
  • 多尺度共存:在不同海马体亚区,place field 的大小不同——背侧海马的 field 小(编码精细位置),腹侧海马的 field 大(编码大致区域)。多尺度是天然存在的,不是后期才叠上去的工程优化

3.2 Grid cells:内嗅皮层的”度量骨架”

如果说 place cells 提供”我在哪”的稀疏编码,那 grid cells(内嗅皮层网格细胞,Hafting 等 2005 年发现 [5])则提供了让这个编码可比、可加、可外推的度量基础。

Grid cells 的放电场是周期性的——在二维平面上呈六边形阵列。一个 grid cell 不只是在一个位置激活,而是在一系列等距分布的位置上激活。把不同 grid cell 的不同周期叠在一起,就得到了一种连续、紧凑、保拓扑的空间度量表征。

这种结构非常像我们在工程里熟悉的”傅里叶基” / “位置编码”:

  • 单个 grid cell 类似一个特定频率的 sinusoid
  • 多个 grid cells(不同周期 / 不同朝向)叠加,就成了位置的多频率展开
  • 这种展开自然外推——遇到没去过的地方,模型也能插值出”它大概在这”

Grid cells 还揭示了大脑空间表征的另一个性质:度量与拓扑分离。Place cells 提供”在哪”,Grid cells 提供”距离 / 方向 / 几何关系”。两者协作但功能不同。

3.3 工程翻译:稀疏激活 + 度量骨架

把 place cells 和 grid cells 放在一起,能给工程系统两条非常具体的设计指引:

1. 局部稀疏 + 全局度量的两层表征

很多人做空间记忆时本能地想”存一份全局坐标系 + 在上面放对象”。但这条路在长期运行里几乎一定崩溃——传感器漂移、跨设备不一致、跨场景不可重用。海马 - 内嗅给的暗示是反过来的:

  • 每个环境一份局部稀疏编码(类似 place cells 的 remapping)——管对象身份和位置归属
  • 一份跨环境共享的度量骨架(类似 grid cells)——管距离、方向、几何外推

这条架构在工程系统里有现成的呼应:SLAM 子地图 + 全局位姿图、Lanelet2 的局部车道 + 全局地图、Hydra 的层级场景图都是这种”局部稀疏 / 全局度量”分离的体现 [10, 76]。

2. 多尺度从一开始就要有

不要先做”房间级”的精细地图,然后再”事后聚合”成楼层级、城市级——大脑早就告诉我们:多尺度是同时存在的,不是后期堆出来的

设计原则 #2:空间记忆应该用”局部稀疏 + 全局度量”的两层表征,并从一开始就支持多尺度。 不要从一份扁平的全局坐标系开始,那是工程上的死胡同。

3.4 一个常被忽略的提醒:remapping 是 feature 不是 bug

Place cells 在新环境里完全 remapping 这件事,初看像是”大脑的健忘”。但反过来想:这正是大脑用来避免跨环境干扰的机制。

工程系统里的对应物:当机器人从客厅走到卧室,它的”对象表”应该是两套而不是一套合并起来的。一个长期运行的家庭机器人不应该把客厅的钥匙和卧室的钥匙合并成同一个”钥匙 ID”——它们应该是带着房间归属的两个独立实体。这就是 remapping 在工程里的样子。

4. Successor Representation:从位置编码到预测式地图

第三条线索来自 2017 年 Stachenfeld 等人提出的 predictive map / Successor Representation (SR) 理论 [70]。这是一条从神经科学回到机器学习的重要桥梁。

4.1 SR 的核心想法

SR 的核心想法非常工程师友好:

  • 把环境抽象为状态转移图 G=(V,E)G = (V, E),每个节点是一个位置或区域
  • 状态 ss 的 SR 是一个向量 M(s)M(s),它的第 ii 项编码”从 ss 出发,未来访问到状态 ii 的折扣概率”
  • 形式化:M(s,s)=E[t=0γt1[st=s]s0=s]M(s, s') = \mathbb{E}\left[\sum_{t=0}^{\infty} \gamma^t \mathbb{1}[s_t = s']\big| s_0 = s\right]

也就是说,每个状态的表征不再是”它在哪”,而是”从它出发,未来会去哪”。

4.2 为什么这件事对工程系统重要

把 SR 翻译成工程语言:

  1. 空间记忆未必需要稠密几何:环境拓扑 + 转移概率就足以支持导航和规划。这意味着系统可以不存稠密地图,只存关系图——存储成本一下子就降了一两个数量级。
  2. 后继表征的低维结构 = 图拉普拉斯谱基:Stachenfeld 等人指出,SR 的低维特征模式与图拉普拉斯算子的谱基密切相关。这个发现把”空间记忆的压缩”和”图的频谱分析”连了起来——你可以用图拉普拉斯的特征向量来显式压缩一个空间表征 [71, 72]。
  3. grid-cell-like patterns 的统一解释:用图拉普拉斯特征向量去可视化一个二维环境,会出现非常类似 grid cells 的周期性激活模式。这暗示生物大脑里的 grid cells 可能就是在做某种环境结构的谱压缩 [70]。

4.3 工程翻译:保骨架,不保像素

SR 给工程系统的最重要启发可以浓缩成一句话:

真正可用的空间记忆,应该优先保存对导航 / 预测 / 查询有用的低维结构骨架,而不是稠密像素或全部历史帧。

这句话听起来像是一句常识,但它推翻的是当下相当一部分”空间记忆”工程实现的默认假设——很多团队在做空间记忆时,本能地把”高保真三维重建”当成目标,然后再在上面叠语义。SR / 谱压缩告诉你:你大概率不需要那么高的保真度——你需要的是结构正确关系完整可被预测算子操作的低维骨架。

这也呼应了第 6 章我们会讨论的话题:“NeRF / 3DGS 不等于空间智能”——它们解决的是”高保真重建”问题,不是”低维结构压缩”问题。

设计原则 #3:空间记忆的核心载荷是结构骨架(图、关系、转移),不是稠密重建。 高保真表征可以作为可视化旁路,但不应该成为状态层的主体。

5. 昆虫导航:没有海马体的”另一种实现”

如果只看哺乳动物,很容易得出一个错觉:空间能力一定要海马体 + 内嗅皮层这套结构。但生物学早已戳破这个错觉——昆虫没有海马,却有相当精密的空间导航能力

5.1 沙漠蚂蚁的路径积分

撒哈拉沙漠的 Cataglyphis 蚂蚁在沙地上四处寻找食物,找到后会以几乎直线的方式回到巢穴——尽管它来时走的是一条曲折的搜索路径。这件事被反复测量过:它没有沿原路返回,而是用某种内部计算估算出了从当前位置回家的方向和距离

这就是 path integration(路径积分)

  • 在每一刻,蚂蚁估计自己当前的运动方向(靠太阳偏振光做”罗盘”)和速度
  • 把这两件事在内部连续累加,就得到”我相对起点的位移向量”
  • 想回家时,这个向量取反就是回家方向

工程视角看,这是一种纯粹的自运动状态维护——不依赖任何环境地标,只依赖自身运动的累积估计。

5.2 蜜蜂的地标序列

蜜蜂则展示了另一类机制:地标记忆 + 序列重放

  • 蜜蜂能记住从蜂巢到花田之间一系列显著地标的视觉外观
  • 它不只是”记住每个地标长什么样”——还记住它们出现的顺序:先看到树,再看到岩石,再看到河
  • 即使飞行路径有偏差,只要看到下一个地标按序出现,蜜蜂就知道自己仍然走在正确的路上

这是一种视觉-序列记忆:地标作为节点,顺序作为约束。它本质上是 Tolman 认知地图的”路线”层级——只是用昆虫级别的神经预算实现了。

5.3 中央复合体与蘑菇体

支撑蚂蚁和蜜蜂这些能力的,不是海马,是两个完全不同的脑区:

  • 中央复合体(central complex):负责朝向表示、路径积分、目标方向比较——是昆虫的”罗盘 + 积分器”
  • 蘑菇体(mushroom body):负责视觉场景记忆、地标识别、关联学习——是昆虫的”地标库”

两者协作但分工清晰:一个管”我朝哪、走了多远”,一个管”我看到了哪些可识别的东西”。

5.4 工程翻译:保守的不是结构,是计算原语

跨物种比较给工程师最重要的一条 take-away 是:

真正在演化里被保留下来的,不是某个特定的解剖结构(海马、中央复合体、内嗅皮层),而是一组核心空间计算原语。

这组原语至少包括:

计算原语哺乳动物实现昆虫实现工程对应
朝向估计head direction cells中央复合体方向编码IMU + 视觉 compass
自运动积分path integration in entorhinal中央复合体 path integrator视觉里程计 / VIO
地标 / 场景识别hippocampus + perirhinal蘑菇体视觉记忆re-localization / place recognition
参考系转换retrosplenial cortex中央复合体的 ego↔allo 转换egocentric ↔ allocentric 坐标转换
目标比较与决策prefrontal + striatum中央复合体下游规划器 / 行为树

这张表的工程含义非常直接:当你设计空间记忆系统时,应该先把这五个原语放在心里,确保它们都被显式覆盖——而不是默认用一个”端到端模型”把它们都吞下去。一个端到端模型可能在 benchmark 上跑得很好,但很可能其中某一两个原语被它”绕过去”了——这种绕过去在 demo 阶段不会被发现,到了真实长程任务时就会变成不可解释的崩溃源头。

设计原则 #4:空间记忆系统应该显式覆盖五个跨物种保守的计算原语:朝向、自运动积分、地标识别、参考系转换、目标比较。 不要假设它们能”涌现”——确保它们在你的架构图上都有自己的方框。

6. 地标-路线-认知地图:层级化的空间表征

把上面所有线索汇总,可以提炼出一条认知科学和神经科学共同认可的层级化空间表征

认知地图 (Cognitive Map / Survey Knowledge)

路线 (Route)

地标 (Landmark)

这三层不是严格的同构关系,但它们提示了一条非常重要的组织原则

  • 地标是局部、可识别、可再次定位的空间锚点。它对应的工程概念是关键帧 / 显著特征 / 稳定对象 / 房间布局指纹
  • 路线把多个地标组织成可执行的序列,附带方向、顺序、动作和局部目标。它对应的工程概念是轨迹 / 拓扑边 / 子任务序列 / 导航 plan
  • 认知地图进一步把多条路线整合成关系结构,支持任意两点之间的推理。它对应的工程概念是图结构 / 全局拓扑 / 层级场景图 / 区域 - 楼层 - 建筑层级

这个三层组织在 AI 评测里也被验证过——多份空间智能 benchmark 把”地标识别 / 路径整合 / 布局理解 / 视角切换”作为正交维度分别测试,发现当前模型在不同层级上的能力严重不均衡 [22, 23]。这说明这个层级化拆解不是认知科学的概念游戏,而是工程系统真实存在的瓶颈结构。

工程翻译:从感知到查询的中间层不能跳过

设计原则 #5:空间记忆的内部组织应该至少有”地标 → 路线 → 全局拓扑”三层。 不要从感知层直接跳到全局查询——中间这层”路线 / 关系骨架”是连接局部观测和全局推理的必要桥梁。

很多空间记忆原型的失败模式都是把这层省了:感知层吐出一堆带 3D 坐标的对象 → 直接放进一个全局 ObjectStore → 上层做查询。表面上这条路最简洁,但它丢掉了”对象之间的拓扑关系”和”路径上的顺序信息”——一旦任务变成”从客厅走到厨房,沿途有什么”,系统会发现自己缺少回答这种问题的中间结构。

7. 五条工程原则的汇总

把前面五节的”工程翻译”汇总成一张挂在 Spatial Memory 工程评审上的 Cheat Sheet:

#设计原则来源反例(容易踩的坑)
1空间记忆应当是结构化关系图,不是 trajectory 缓存Tolman 认知地图 / 潜在学习把交互历史当作记忆,期望模型自然推断关系
2局部稀疏 + 全局度量两层表征,从一开始支持多尺度Place cells + Grid cells一份扁平全局坐标系,跨房间 / 跨设备崩溃
3核心载荷是结构骨架(图、关系、转移),不是稠密重建Successor Representation / 谱压缩把高保真三维重建当作记忆主体(NeRF / 3DGS 当目标)
4显式覆盖五个保守计算原语:朝向、自运动积分、地标识别、参考系转换、目标比较昆虫与哺乳动物跨物种保守用一个端到端模型期望它们涌现
5内部组织至少有地标 → 路线 → 全局拓扑三层地标-路线-认知地图层级从感知直接跳到全局查询,缺中间路线层

这五条原则会贯穿模块剩下的章节:第 4 章把它们落到三层架构里(Perception / Cognition / Memory),第 6 章用它们对照神经符号路线和全隐式路线的差距,第 8 章则在工程落地里把它们变成具体的代码 / 评测项。

8. 章节小结

本章核心结论:

  1. 空间能力是一种独立的基础计算——不是语言智能或文化能力的副产品,而是在不同物种、不同神经架构里独立演化出来的同一组计算原语。这件事的工程含义是:它在系统架构里必须有独立的层
  2. Tolman 的认知地图说明:动物在内部维护的是结构化关系图,不是动作链。工程系统里对应的是 Dynamic Scene Graph 这一类结构,而不是 trajectory 历史。
  3. Place cells 和 Grid cells 提示了”局部稀疏编码 + 全局度量骨架”的双层表征——这是跨房间、跨设备、跨尺度稳定运行的关键。
  4. Successor Representation 把”空间记忆”和”图拉普拉斯谱压缩”连起来——告诉工程系统:你需要的是结构骨架,不是稠密像素。
  5. 昆虫导航说明真正保守的是计算原语,不是结构——朝向、积分、地标、参考系转换、目标比较——必须在你的架构里被显式覆盖。
  6. 地标 → 路线 → 全局拓扑的层级是连接局部感知和全局查询的必要中间结构。
  7. 下一章预告:我们将转向”为什么这些事在 2024-2026 年突然变成业界共同的瓶颈”,看具身智能、自动驾驶、XR 这三股应用压力如何在同一时期撞上同一堵墙。

思考题

  1. 拿你正在做的系统,对照本章的”五条设计原则” Cheat Sheet 自查。最容易先暴露的不达标项,往往就是你下一次”不可解释长程崩溃”的根因——动手做一次 dry-run 比再读三篇 paper 更能找到突破口。
  2. Tolman 实验里的”老鼠绕路”放到你的系统上对应什么场景?比如”机器人原本的清扫路径被一把椅子挡住了,它能不能自己发现一条新的等价路径”?如果不能,它缺的是结构化关系图,还是仅仅缺一条新路径的训练数据?
  3. Successor Representation 的低维谱压缩,在你的系统里有没有对应实现?还是你目前在用一套”全分辨率几何重建”作为状态层?如果是后者,你能不能想象出一种更简约的替代结构?
  4. 拿沙漠蚂蚁的”五个计算原语”对照你当前 Agent 的架构图——每一个原语都对应到哪个模块?有没有哪一个根本没人在管?这个原语就是你系统里的”暗物质 bug”潜伏处。

下一章我们离开理论根基,回到当前业界。我们会看具身智能、自动驾驶、XR 这三股看起来完全不同的应用力量,如何在 2024-2026 年同时把空间记忆从”研究角落”推到”系统瓶颈”的位置。