世界模型、状态估计与记忆
机器人要依据有限观察构造一个可用于行动的“当前世界”,再用模型预测动作后果,用记忆保留眼前已经看不到的信息。
现实状态不能被任何单个传感器完整看到。相机受遮挡和光照影响,激光雷达看不到颜色与材质,编码器知道关节角却不知道杯子是否滑动,力传感器只有接触后才提供信息。状态估计把不同时间、不同传感器的观察融合成对机器人位姿、速度、物体状态和不确定性的判断。经典方法包括卡尔曼滤波、粒子滤波、因子图和 SLAM;学习方法可以提供深度、语义、物体姿态或隐变量。可靠系统会保留估计的不确定性,并让规划器据此留出安全余量。
“世界模型”这个词在机器人中至少有三种用法。第一种是显式物理与几何模型,如地图、碰撞体、刚体动力学和接触参数。第二种是学习到的状态转移模型,预测采取动作后状态如何变化。第三种是生成式视频或多模态模型,以图像、潜变量或 token 预测未来观察。三者都在回答“如果这样做,会发生什么”,精度目标和适用时间尺度不同。用于避障的几何模型需要保守边界,用于策略预训练的生成模型更重视多样性,用于控制的动力学模型还要有足够低的推理时延。
模型式强化学习将感知编码成潜在状态 \(z_t\),学习转移与奖励模型,再在模型中想象轨迹:
Dreamer 系列展示了在学习世界模型里“想象”未来并改进策略的路线。优势是许多试错可以发生在模型内部,数据利用率更高;风险是模型误差会被规划器主动利用。一个对布料、液体或接触预测不准的世界模型,可能给出视觉上合理、物理上不可执行的未来。应用时应监测多步预测误差,并限制规划范围落在模型有数据支持的区域。
记忆解决的是部分可观测和长时任务。即时感知缓存保存最近数帧,帮助估计速度和接触变化;工作记忆保存当前任务状态,例如“杯子已经清洗,尚未放回”;情景记忆记录某时某地发生过什么;语义记忆保存较稳定的知识,例如工具用途和房间结构。记忆可以放进循环网络或 Transformer 上下文,也可以存入可检索数据库。长上下文计算简单,成本随序列增长且容易混入无关历史;检索式记忆更节省上下文,检索错一条记录可能导致任务状态判断错误。
长期任务最常见的失败是“外观相同、历史不同”。两个关着的抽屉看上去一样,其中一个已经放入零件,另一个仍为空;当前图像无法区分,系统必须回忆动作结果。另一类失败是动作执行结果与计划不同:机器人发出了“关门”,门被障碍物卡住。若记忆只记录指令,系统会错误地认为门已经关闭。有效记忆应记录观察到的状态变化、置信度和证据时间,并允许后续观察纠正旧结论。
世界模型也不能代替真实反馈。预测未来可以帮助选择动作,碰撞、摩擦和人的临时介入仍会改变结果。规划器每执行一小段就应重新观察,用模型预测与真实观察的偏差触发重规划或接管。这与模型预测控制的滚动时域思想一致:保持前瞻,同时不断用现实修正模型。
设计世界模型与记忆时,可以先按任务列出“必须记住多久”的事实。毫秒级是关节和接触动态,秒级是一个抓取动作,分钟级是多步任务,跨天可能涉及地图变化、设备维护和用户偏好。每类事实需要不同的更新频率、容量、隐私期限与删除机制。把所有日志永久存储会增加检索噪声、隐私风险和运维成本。
状态估计的核心直觉是“预测与证据加权”。系统先依据上一步状态和动作预测现在,再比较传感器测量;模型稳定且传感器噪声大时更信预测,模型不确定且测量可靠时更信观察。贝叶斯滤波把它写成预测与更新:
这条公式也解释了传感器故障的危险:如果系统错误地认为一条失真的测量很可靠,融合会把状态拉向错误方向。创新量、时间戳和传感器健康状态应一起监测。
记忆条目需要来源和失效条件。例如“扳手在第二个抽屉”应带最近观察时间、来自相机还是人类告知、置信度,以及抽屉被再次打开后需要复核。对移动物体,旧记忆只能提供搜索先验;对固定地图,记忆可以保持更久。检索结果进入动作前,系统应检查它是否与当前视觉、任务和权限一致。
深入阅读
- Timothy Barfoot, *State Estimation for Robotics*:https://asrl.utias.utoronto.ca/~tdb/bib/barfoot_ser17.pdf
- DreamerV3 原始论文:https://arxiv.org/abs/2301.04104
- PaLM-E 多模态状态输入:https://palm-e.github.io/
- HALO,长时视觉运动策略的记忆检索:https://robin-lab.cs.utexas.edu/HALO/
- BEHAVIOR-1K 长时家庭任务:https://behavior.stanford.edu/