精读笔记
Problem Setting
这篇论文实际处理的是一种比标准 sim2real 更麻烦的设定:source simulator 不是低保真物理模型,而是状态空间本身被压缩、裁剪、替换后的 abstract simulator。传统 sim2real 至少假设 sim 和 real 的 state/action 语义基本一致,因此可以做参数识别、dynamics correction 或 domain randomization;这里的问题是,真实状态经过映射 φ 后,抽象状态序列通常不再满足 Markov 性。
真正困难点不是“仿真不准”,而是“抽象导致当前状态不够用”。真实世界里影响下一步和 reward 的变量——例如姿态漂移、接触状态、延迟、滑移、关节内部状态——在抽象 simulator 中不存在。把真实轨迹投影到抽象空间后,得到的不是一个普通 MDP transition dataset,而更像 POMDP observation history。因此,直接学习 Ps(s'|s,a) 的校正器在机制上就错了。
这个任务的关键矛盾是:越抽象的 simulator 越便宜、越容易训练 RL,也可能更快探索 high-level behavior;但 abstraction 本身又破坏了 decision sufficiency。论文的价值在于明确指出 abstract sim2real 的主要瓶颈不是 fidelity gap,而是 information-state gap。
Motivation
已有路线缺的是对“抽象诱导的 partial observability”的正面处理。domain randomization 假设可以通过随机化覆盖真实扰动,但如果 simulator 中根本没有关节、接触、延迟、相机噪声等变量,随机化空间本身就是错的。neural simulator grounding 假设可以用真实数据修正 simulator dynamics,但如果 correction 只看当前抽象状态,它面对的是非 Markov transition,拟合目标本身不稳定。
作者的核心观察很直接:当前抽象状态不够,但抽象历史可能够。被丢掉的真实变量并不一定完全不可见,它们可能以时间相关的方式影响抽象轨迹。例如滑移、朝向偏差、速度滞后、步态失稳都可能通过过去若干步的位置/速度/动作变化被推断出来。因此,abstract sim2real 应该被建模为从 history 中构造 approximate information state,而不是把 abstract state 当作真实 Markov state。
关键缺口是:已有 recurrent grounding 可以利用历史,但如果只优化 next abstract state prediction,学到的 hidden state 未必保留控制相关信息。论文想补的是“面向控制的历史表示”,而不是单纯更强的预测器。
Core Idea
论文真正的核心思想是:把抽象 simulator 的状态替换为一个从抽象历史中学习出来的 latent information state,并让策略、reward model、transition model 都在这个 latent 上工作。这样,simulator 不再被视为一个当前抽象状态上的 MDP,而是被改造成一个 history-conditioned latent MDP 近似。
这个改动引入了一个重要 inductive bias:latent 不仅要能预测下一抽象状态,还要能预测 reward,并且能自预测下一 latent。这相当于把 AIS / self-predictive representation 的思想移植到 abstract sim2real grounding 中。它迫使 recurrent hidden state 不只是记录短期运动学误差,而是保留对未来控制和价值有用的摘要信息。
和 prior 的本质区别在于,ASTRA 不满足于“让 abstract simulator 的下一步轨迹更像 real projection”,而是试图让抽象历史生成一个可决策的状态表示。也就是说,它改变的是信息流:真实数据不是只用来校正 simulator transition,而是用来塑造 simulator 内部可供 RL 使用的状态变量。
Method
方法层面最关键的是三步。
第一,history encoder。ASTRA 用 recurrent encoder 将抽象状态-动作历史压缩成 latent z。它解决的是 abstract state 非 Markov 的问题;没有这一步,后续所有 grounding 都只能拟合一个混合了多个真实隐状态的条件分布。核心变化是:策略输入从 ss 变成 z,simulator correction 从 state-conditioned 变成 history-conditioned。
第二,AIS-style training objective。ASTRA 同时训练 latent transition、reward predictor 和 next abstract state predictor。next abstract state loss 负责让模型仍然贴近真实投影轨迹;reward loss 负责把任务相关信息注入 latent;latent self-prediction loss 负责让 z 在时间上接近 Markov。这里真正必要的是 reward + latent transition 这两个约束,因为它们把“预测观测”提升为“构造可控制状态”。
第三,target encoder alignment。部署时真实机器人并不直接运行 abstract simulator history,而是有真实历史 ht。ASTRA 学一个 target encoder ζ,把真实历史映射到与 source encoder θ 兼容的 latent 空间。它解决的是训练时 latent 与部署时 latent 的接口问题。文中用分布对齐而不是强监督逐点对齐,机制上合理,但其稳定性和必要性文中没有充分展开。
其余实现细节,如 Gaussian latent transition、MMD、共享 backbone、GRU/LSTM,不是论文的核心;它们更多是让上述机制可训练。
Key Insight / Why It Works
这篇论文最重要的 insight 是:abstract sim2real 的关键不是让 simulator 更真实,而是让 abstract history 变成 approximate information state。只要历史中包含足够可反推的信号,latent state 就能恢复那些被 abstraction 隐式删除但影响控制的变量,例如延迟、漂移、滑移、接触模式、动力学残差等。
ASTRA 相比 NAS 这类 recurrent neural augmented simulator 的可能核心增益来自 representation bias,而不是模型容量。NAS 只优化下一抽象状态预测,容易学到对短期 MSE 有利但对控制无关甚至有害的 hidden state;ASTRA 加 reward prediction 和 latent self-prediction 后,把 hidden state 推向“可用于决策的 sufficient statistic”。这本质上是 better inductive bias / latent structure,而不是单纯 scaling。
不过,不能过度解读为模型学到了完整 world model。它更像是从低维轨迹历史中做隐变量滤波,恢复一部分任务相关 dynamics residual。所谓抽象 simulator 被 grounded,本质上是 policy 在 learned latent dynamics 上训练,而不是原始 simulator dynamics 被物理意义上修好了。
哪部分最可能是核心贡献?我认为是“抽象导致非 Markov,因此 grounding 必须 history-based,并且 hidden state 要用控制相关 auxiliary loss 约束”这一点。next abstract state prediction 是必要但不充分;target encoder alignment 是部署接口;真正的新信息在 AIS-style objective 对 sim2real grounding 的重构。
哪部分可能只是辅助?MMD 对齐、Gaussian transition head、具体 baseline 配置、甚至部分 COMPASS 对比,都可能受实现细节影响。实验中 ASTRA 的收益也可能部分来自更强训练信号和更好的 regularization,而非严格意义上 AIS 理论保证。
数据覆盖仍是底层瓶颈。ASTRA 能从历史中推断隐变量,前提是收集到的真实轨迹覆盖了这些隐变量的变化模式。若 real data 不激发相关 dynamics,latent 不会凭空学出来。因此核心能力可能相当程度来自数据覆盖 + representation bias 的组合,而不是 representation 单独解决泛化。
Relation To Prior Work
它最接近三条技术谱系:neural simulator grounding、POMDP/history-based RL、self-predictive / approximate information state representation。
相对传统 simulator grounding,它的实质差异是 state-space mismatch。Golemo、NeuralSim、grounded action transformation 等方法主要处理同一状态语义下的残差动力学;ASTRA 处理的是 abstraction 后的 non-Markov observation dynamics。因此它不是简单把 correction network 换成 RNN,而是重新定义了 correction 应该依赖的信息状态。
相对 domain randomization,ASTRA 的差异在于不尝试枚举扰动参数,而是用真实轨迹学习隐含 residual 的历史统计。DR/COMPASS 更像 robustification,ASTRA 更像 latent system identification。前者在抽象 simulator 缺变量时会遇到表达瓶颈;后者只要历史中有可识别信号,就可能恢复部分隐变量。
相对 AIS/self-predictive representation,ASTRA 的新意不是提出新的 representation learning 理论,而是把 AIS 作为 abstract sim2real 的 grounding criterion。这个组合是实质创新:它把 state abstraction theory 中“抽象导致 POMDP”的结论,转化成机器人 sim2real 中可操作的训练目标。
看似新的部分里,很多是已有思想重组:RNN 处理 partial observability、auxiliary reward prediction、latent transition prediction、simulator residual learning 都不是新模块。真正新增的信息是它们在 abstract simulator setting 下的角色重新分配。
Dataset / Evaluation
评估覆盖面还算有说服力:有 sim2sim 的 legged navigation 和 humanoid locomotion,也有 NAO 真机导航和踢球。任务类型跨 navigation、locomotion、ball interaction,确实比只在单一 toy domain 上验证更强。
实验基本支持论文主张:抽象越严重,direct transfer / DR 越弱,history-based grounding 越重要;ASTRA 相对 NAS 的提升表明仅做 prediction accuracy 不够,控制相关 representation 有价值。humanoid 的 abstraction hierarchy 尤其有用,因为它显示当 abstraction 保留更多关键状态时,COMPASS/NAS 与 ASTRA 的差距缩小,说明 ASTRA 的优势主要来自 severe abstraction 下的信息恢复。
但 evaluation 也有明显限制。真机 NAO 实验 seed 少、任务规模小,而且依赖 walk engine、state estimator、low-level controller 和数据增强。它验证了方法在一个工程栈中有用,但没有证明大规模真实 deployment 下的泛化。
另外,real-world data 的采集策略比较朴素;文中展示 data efficiency plateau,但这并不能证明方法数据需求低,只能说明在该任务分布下 200 条轨迹左右已覆盖主要状态。若任务更开放、contact 更复杂、initial distribution 更宽,数据需求可能急剧上升。
总体上,实验足以支持“abstract sim2real 需要 history-based AIS-like grounding”这个 claim,但不足以支持更强的 claim,例如方法能一般性解决高度抽象 world model 到真实机器人迁移。
Limitation
第一,方法的根本前提是 abstract history 对被丢弃的真实变量仍有可识别性。如果 φ 太粗,多个真实状态在所有可观测历史上都不可区分但需要不同动作,ASTRA 没法解决。这不是训练不足,而是信息论上不可恢复。
第二,方法把一部分难题转移到了 abstraction design 和 interface design。论文假设 φ 已知,action space 可共享或有 low-level controller 可转换。真实 embodied AI 中,什么 abstraction 合适、哪些变量必须保留、action abstraction 如何设计,往往正是最难的问题。ASTRA 没有自动解决这些。
第三,增益归因不完全清楚。ASTRA 比 NAS 好,可能因为 AIS loss 真正保留了任务信息,也可能因为多任务 auxiliary loss 提供了更强监督、更稳定训练、更好的 regularization。文中缺少对 latent 内容、reward loss/transition loss 分别贡献、不同数据覆盖下失败模式的深入诊断。
第四,scalability 上限未明。历史 encoder 在短 horizon navigation/locomotion 中可以做隐变量滤波,但在长程任务、稀疏 reward、多对象交互、非平稳环境中,单一 latent transition 是否还能维持足够 Markov 性是未知的。
第五,泛化可能主要来自 train/test distribution 接近。真机任务和 sim2sim benchmark 的目标分布相对受控,policy 很可能学习的是有限场景中的 residual compensation,而不是广义可组合的 world model。这里的“world model”更接近 task-specific latent dynamics adapter。
第六,target encoder alignment 可能是脆弱环节。部署时真实传感噪声、缺失、漂移如果超出 collected data,ζ 输出的 latent 是否仍与 θ 的 latent manifold 对齐,文中未充分说明。
Takeaway
- 1. 抽象 simulator 的 sim2real 问题应首先被看作 information-state construction,而不是 physics residual correction。
- 这个视角比“低保真仿真也能用”更重要。
- 2. 对高度抽象模型做 grounding 时,next-state prediction 不是充分目标;必须引入和控制相关的 representation constraint,例如 reward prediction、value prediction、latent self-prediction 或 successor-style objectives。
- 3. 未来更值得做的是主动收集能识别隐变量的数据,而不是继续被动增加 correction network 容量。
一句话总结
这篇论文把 abstract sim2real 从“修正低保真 simulator”推进到“从抽象历史中学习 approximate information state”,其主要贡献是用 AIS-style 表示学习为高度抽象仿真器提供了一个面向控制的 grounding 机制。
