精读笔记

Problem Setting

《Task-agnostic self-modeling machines》(Science Robotics / 2019)关心的不是让机器人完成某个具体任务,而是让机器人在没有设计者提供的物理/形态模型时,自己学习一个可复用的“身体模型”。真正问题是:如果机器人将来要不断面对新任务、损伤和磨损,那么最应该被长期维护的内部对象是什么?作者的答案是 self-model,而不是 task policy。

困难点在于真实机器人并不等价于解析运动学链。电机命令和实际关节/末端状态之间存在迟滞、结构柔性、自碰撞、执行误差和未建模耦合。传统 forward kinematics 可以给出干净的几何映射,但它对真实硬件偏差的适配能力有限;model-free RL 可以绕过建模,但每个任务都重新消耗物理交互,且经验很难转化为跨任务资产。关键矛盾是:要想跨任务复用,需要模型;但要想模型长期有效,又不能依赖固定手写模型。

Motivation

已有路线缺的是一个可持续更新、任务无关、直接贴合真实身体的内部模型。硬编码模拟器的问题不是不能用,而是它把“机器人是什么”固定在设计时刻;一旦发生磨损、装配误差、损伤或负载变化,模型就会过期。端到端策略学习的问题也不是不能完成任务,而是把经验绑定在任务目标上,导致每个新任务都需要重新学习或大量 finetune。

作者的核心观察很直接:任务是 transient 的,身体是 persistent 的。因此跨任务学习最自然的共享变量不是 reward、policy 或 task embedding,而是 action-sensation dynamics。只要 self-model 足够好,后续任务可以在内部模型中通过规划/搜索解决,看起来像 one-shot learning,但实际计算被转移到了 model-based planning 内部。

Core Idea

核心思想是把“机器人学习”拆成两个时间尺度:慢速、持续地学习自身;快速、临时地基于自身模型规划任务。这里的 self-model 是任务无关的 forward predictor:给定动作命令和相关历史状态,预测末端位置/感知结果。它不显式恢复机械臂的 CAD、DH 参数或物理常数,而是学习一个与现实硬件一致的输入—输出模型。

这个建模方式引入的 inductive bias 是“身体作为跨任务共享结构”。相比 model-free policy,它把数据累积到一个公共模型中;相比解析模型,它允许真实硬件中的非理想效应通过数据进入模型。信息流也被重新组织:任务经验不只更新任务策略,而可以反哺 self-model;损伤检测也变成 model prediction 与 reality 的不一致检测。真正的变化不是用了深度学习,而是把深度学习放在 forward self-simulation 位置上,而不是直接放在 policy 位置上。

Method

方法的必要机制可以压缩为三步。

第一,robot babbling:机器人执行随机轨迹,记录 motor command 与末端绝对坐标。它解决的是无任务情况下如何获得身体覆盖数据的问题。这里随机探索不是高级探索策略,更多是用低维机械臂的可覆盖性换取 self-model 的训练集。

第二,学习 self-model:模型学习动作、当前/历史位置、过去命令与未来末端位置之间的关系。显式模型只建 motor command 到末端位置的映射,隐式序列模型进一步吸收历史依赖,因此能覆盖自碰撞、迟滞和柔性等非几何因素。其核心变化是把 hand-designed kinematics 变成 data-fitted embodied predictor。

第三,基于 self-model 做任务规划:对于 pick-and-place 或 handwriting,不再对每个任务重新训练策略,而是在 self-model 内部搜索可达动作序列。closed-loop 模式用真实位置反馈不断重定位,降低模型误差累积;open-loop 则更直接测试 self-model 的预测质量。损伤实验中,更换变形连杆后通过预测误差发现身体变化,再用额外数据更新 self-model,本质是在线重新校准 forward model。

Key Insight / Why It Works

这篇最重要的 insight 是:在机器人学习里,最可复用的不是策略,而是身体模型。只要任务共享同一 embodiment,那么 action-sensation model 就天然比 task policy 有更高的复用价值。这也是它区别于一般 model-based RL 的地方:模型不是某个任务的 transition model,而是机器人自身的持续性表征。

方法有效的主要原因并不是网络特别强,而是问题结构有利:四自由度机械臂、末端三维位置、相对低维动作空间、固定环境、任务都落在同一 reachable workspace 内。在这种设置下,随机 babbling 可以给出足够覆盖,forward model 学到的是一个相对平滑的局部插值函数。closed-loop 控制进一步把长期预测问题降解为短步长反复校正,因此模型不必拥有很强的长期 rollout 精度。

最可能的核心贡献是 task/self decomposition:把经验从任务层剥离出来,沉淀为自模型。隐式序列模型是必要增强,因为真实执行器不是无记忆几何映射;但它更像把未建模硬件效应吸收到函数逼近器中,不是新的物理建模原则。planning 部分则比较朴素,增益来源不清,很可能主要来自 learned forward model 与 closed-loop feedback 的组合,而不是 planner 本身。

需要警惕的是,这里的“self-modeling”并不等于学习了可解释的身体结构,也不等于形成了可组合的物理概念。它更像在低维身体—传感空间内学了一个可用于控制的 surrogate simulator。所谓 open-ended generality 在这篇中没有被真正验证;更强的说法需要在更高维、更接触丰富、更长期在线变化的系统上成立。

Relation To Prior Work

这篇位于 adaptive control、learned forward model、model-based RL 和 Lipson 系列 self-modeling robots 的交叉处。和传统 adaptive control 的区别在于,它不假设一个固定解析模型再估参数,而是用较自由的函数逼近器学习 action-sensation mapping。和 2006 年 resilient machines 那类通过搜索形态参数解释观测的工作相比,这里更少依赖显式形态假设,也不要求恢复可解释 morphology;代价是模型更黑箱。

和 model-free RL 的本质差异是经验归属不同:model-free 把数据压缩进任务策略,换任务时复用性弱;本文把数据压缩进 self-model,换任务时通过规划复用。和 Gazebo/MuJoCo 这类设计者提供的 simulator 相比,它追求的是机器自己从现实中拟合一个 simulator,且可在损伤后更新。

看似新的“自我意识”叙事其实更多是已有 forward model / internal model 思想的重新包装;实质创新在于把它明确做成 task-agnostic asset,并在真机上展示了同一个 self-model 支持多任务和损伤适应。它不是提出了新的控制理论,而是给出一个清晰的系统级范式:learn the robot first, solve tasks second。

Dataset / Evaluation

评估使用真实机械臂而非纯仿真,这是论文可信度的重要来源。任务包括随机 babbling 采集、pick-and-place、handwriting,以及形态损伤后的再适应。覆盖面上,它确实测试了“同一 self-model 可被不同任务调用”,但任务间共享的状态空间非常强:都是末端位置控制,且环境复杂度低。

closed-loop 结果支持 learned self-model 可以达到接近解析 forward kinematics 的实用精度;open-loop 误差和 pick rate 则暴露出模型长期预测和规划鲁棒性有限。handwriting 只是定性展示,不能算强证据。损伤实验说明模型可再校准,但损伤类型是单一连杆替换,且需要额外数据,尚不能证明一般意义上的 damage diagnosis。

总体上,evaluation 支持弱版本 claim:机器人可以从自身数据学习一个可用于局部规划的任务无关前向模型。它不充分支持强版本 claim:机器人具备通用自我建模、长期自我监控或开放世界终身学习能力。

Limitation

第一,方法成立强依赖数据覆盖。后续任务必须落在 babbling 数据覆盖的工作空间及动作分布附近;一旦需要外推,learned self-model 很可能迅速失效。核心能力可能主要来自低维空间中的插值,而不是结构性理解。

第二,scalability 未证明。四自由度机械臂和末端位置预测远低于真实移动操作、腿式机器人、软体机器人或接触丰富操作的复杂度。动作维度、传感维度和接触模式增加后,随机 babbling 的样本效率会成为瓶颈。

第三,planning 能力比较浅。closed-loop 控制把问题简化为反复小步校正,planner 实际没有形成长期状态建模;所谓内部模拟更多是短视 forward prediction。open-loop 表现明显更弱,说明 self-model 还不足以单独承担复杂任务执行。

第四,self-model 的语义有限。它预测末端位置,不等于理解完整身体构型、质量分布、接触动力学或 actuator health。损伤检测是 prediction error 检测,不是因果定位;文中未充分说明异常检测阈值、主动诊断策略以及多种损伤下的可辨识性。

第五,增益归因不完全清晰。闭环反馈、低维任务、数据覆盖、planner 失败过滤都可能贡献很大。论文把效果归因于 self-modeling 范式是合理的,但哪些部分来自 representation,哪些来自 engineering / data coverage,文中没有充分拆解。

Takeaway

  • 1. 最值得迁移的思想是 self/task separation:对于长期运行机器人,优先学习可跨任务复用的 embodiment model,而不是为每个任务单独学习策略。
  • 2. learned simulator 的价值不在于取代所有物理建模,而在于补上真实硬件中解析模型难以维护的 residual:迟滞、柔性、磨损、装配误差和损伤。
  • 3. closed-loop learned model 是现实可行路线:不要要求 learned model 做长程完美 rollout,而是让它作为局部 planner / predictor,并用现实反馈持续校正。
  • 4. 未来真正值得做的是主动自建模:让机器人选择最能减少 self-model uncertainty 的动作,而不是随机 babbling;同时把 self-model 从末端位置扩展到接触、力、视觉和长期形态变化。

一句话总结

这篇论文在机器人学习谱系中的位置是:把深度学习前向模型明确提升为可持续更新、任务无关的 embodied self-model,用它连接 model-based control 与终身机器人学习,但其实验主要证明了低维真机上的可复用局部 surrogate simulator。