精读笔记
Problem Setting
[MPC-Injection: Biasing Off-Policy Locomotion RL Toward Controller-Induced Behavior Basins](arXiv preprint / 2026)
这篇论文实际处理的是 locomotion RL 中一个很具体但常被训练曲线掩盖的问题:在 underspecified reward 下,多个行为 basin 都能拿到高 return,但只有其中一部分是工程上可部署的 gait。pure off-policy RL 容易收敛到 scooting、limb vibration、膝盖走路等“奖励正确、行为错误”的 basin。真正困难点不在探索稀疏奖励,也不在样本效率,而在 reward 本身无法判别设计者偏好的动力学模式。
以前方法卡在行为偏好的表达接口上。Reward shaping 可以把 gait preference 写进 reward,但代价是大量手调项,并且偏好变化通常意味着重新调 reward / 重训。AMP 或 trajectory tracking 则把偏好写进参考 motion data 和 imitation machinery,需要 retargeting、discriminator 或 tracking loss。关键矛盾是:我们想保持 task reward 简单、可复用,但又要从多个同 return basin 中选中一个工程上合理的 basin。
Motivation
作者的核心观察是:off-policy actor-critic 的优化对象不仅由 reward 决定,也由 replay buffer 的 state distribution 决定。也就是说,即使 reward 不变,只要改变 actor / critic 经常看到哪些 states,就可能改变策略最终落入哪个 basin。
这补上了 reward shaping 与 imitation 之间的缺口:如果已经有一个 MPC 能生成想要的 gait,那么不一定需要把 MPC 当 teacher 做 behavior cloning,也不一定要把 gait 偏好翻译成 reward terms。可以更弱地使用 MPC:只把它访问过的状态分布混入 replay,让 RL 自己在这些 states 上用 task reward 和 learned Q 做 policy improvement。
这个动机很重要,因为它把“行为规格”从显式目标函数转为训练分布偏置。作者真正想证明的是:controller data 不只是 bootstrap exploration 或提高 return 的数据源,它可以作为 basin selector。
Core Idea
核心思想是 replay-distribution-level behavior biasing。MPC 先在同一仿真环境中产生期望 gait 的 transitions;训练 off-policy RL 时,把一定比例的 MPC transitions 注入 replay buffer。于是 actor-critic 的更新不再只覆盖当前 policy 自己已经陷入的状态流形,而是持续包含 controller-induced basin 附近的 states。
这改变的是优化几何,而不是 reward。vanilla RL 一旦早期进入 scooting basin,replay buffer 很快被 scooting states 填满,actor 只在这些 states 上做 improvement,形成自我强化。MPC-Injection 往 buffer 里塞入 upright walking / trotting basin 的 states,相当于给 actor 一个额外的优化支点:在这些本来访问不到的 states 上,当前 policy 也被要求产生高 Q action。
和 prior 的本质区别在于它没有监督策略去复制控制器动作。MPC action 只是 critic 学习 transition dynamics / reward 的 off-policy 样本之一;actor 更新时使用的是自己的 action。这个区别使它更像 distributional prior 或 basin prior,而不是 imitation prior。可迁移的 insight 是:在多解 RL 问题里,改变训练状态分布本身就是一种偏好注入机制。
Method
方法层面真正关键的机制很少。
第一,MPC trajectories 必须来自与 RL 相同的 MDP / simulator。这样 injected transition 对 critic 来说仍是合法 off-policy sample,避免把问题变成 offline imitation 或 model mismatch learning。它解决的是“能否不破坏 Q-learning 更新”的合法性问题。
第二,注入比例 p 控制 replay buffer 中 MPC samples 的期望占比。这个参数不是普通超参,而是在平衡两个力:controller basin 的拉力,以及 policy 自己 rollout distribution 的闭环可达性。p 太小接近 vanilla RL;p 太大则 actor 主要在自己到不了的 states 上优化,无法把 basin pull 转成可执行策略。论文经验上发现 25% 最稳定,但这更像 operating point,不是理论最优。
第三,奖励在注入时按 RL task reward 重新计算,而不是直接使用 MPC cost。这一点保证偏好不是通过 reward 偷渡进来;MPC cost 只影响采样到哪些 states。这里的干净性是论文 claim 成立的关键。
第四,quadruped 中 MPC 输出 torque,而 RL policy 输出 joint position residual,因此需要 inverse-PD conversion。这个部分是必要工程适配,但也引入近似:转换只在 control interval 第一个 substep 精确,后续存在 torque mismatch。文中承认这是 approximate off-policy sample;这意味着 Go2 结果里有一部分增益归因并不完全干净。
Key Insight / Why It Works
这篇最有价值的 insight 是:off-policy RL 的 behavior basin 不只由 reward landscape 决定,也由 replay state distribution 决定。对于 function approximation 下的 actor-critic,actor objective 是在 buffer states 上最大化 Q(s, π(s))。因此 replay buffer 实际定义了“策略在哪里需要变好”。如果 buffer 只包含坏 basin states,policy improvement 会局限在坏 basin 内;如果 buffer 混入好 basin states,actor 就会在好 basin 上得到梯度。
这不是 scaling,也不是简单 data augmentation。它更接近一种 inductive bias / curriculum / state-space anchoring。MPC data 提供的是状态覆盖和 basin anchor,而不是专家动作标签。真正核心贡献是把 controller-generated replay 从“提高探索和 return”的工具,重新解释为“在等价高回报 basin 中选择一个 basin”的工具。
最可能有效的部分是 state distribution bias,而不是 MPC action 本身。因为 actor 并不 clone MPC action;它在 MPC states 上通过 learned Q 找自己的 action。这也解释了为什么方法可以在 SAC 和 TD3 上都工作:机制依赖 replay-buffer actor-critic 的通用结构,而不是某个算法细节。
25% injection 的现象也很有信息量。它说明 controller data 不是越多越好;这不是 offline RL 中“专家数据越多越强”的故事。过高比例让优化分布脱离策略真实可达分布,导致 actor 学到的改进无法闭环。这支持作者关于 basin pull 与 self-rollout consolidation 的解释。
但也要直说:这里的“biasing”并没有形成显式稳定约束。MPC states 只是训练早中期把 policy 拉进 basin;一旦 policy 自己的 rollouts 与 MPC basin 重叠,额外拉力会下降。如果原始 reward 仍允许 drift,策略后期可能离开 gait basin。也就是说,它是 soft anchoring,不是 hard behavior constraint。
可能只是辅助的部分包括具体 MPC solver 类型、UMAP 可视化、以及一些 sim-to-real 工程栈。它们帮助展示效果,但不是机制贡献。真正的贡献不在“用了 MPC”,而在“只通过 replay distribution 使用 MPC”。
Relation To Prior Work
这篇最接近 demonstration-augmented replay、DAgger-like data mixing、guided policy search、MPC-to-RL bootstrap 和 offline-to-online RL,但它的定位更窄也更清楚:不是用专家数据提高 return,而是在 reward 等价解中选择行为 basin。
和 reward shaping 的本质差异是偏好注入的位置不同。Reward shaping 改变 Bellman target 和 Q landscape;MPC-Injection 不改 reward,只改变 Q / actor 更新采样的 states。因此它无法像 reward shaping 那样持续惩罚偏离 gait 的行为,但也避免了 20 多个 gait terms 的手工调参。
和 AMP / adversarial imitation 的本质差异是没有显式 imitation objective。AMP 通过 discriminator 把 motion prior 写进 reward-like signal,持续影响 policy;MPC-Injection 只通过数据分布影响 actor-critic,弱得多,也轻得多。它牺牲了一部分 anchoring 强度,换来 pipeline 简化。
和 prior controller-generated replay 的差异主要是问题 framing,而不是机制全新。把 controller trajectories 放进 replay buffer 并不新;新意在于作者把它用于 intentionally underspecified locomotion reward 下的 basin selection,并通过相同 return、不同 gait 的实验去证明“不是 reward improvement,而是 behavior selection”。
技术谱系上,它属于 off-policy RL 的 data-distribution intervention,而不是 imitation learning、MPC-RL residual control 或 test-time planning。部署时 policy 不依赖 MPC,因此它也不是 hybrid controller。
Dataset / Evaluation
评价设计基本能支撑核心 claim,但边界很明显。
walker 是合适的诊断环境,因为简单 velocity reward 明显允许 scooting 与 upright walking 共存,可以验证 return 无法区分 basin。Go2 则提供更接近真实 locomotion 的证据,并包含 sim-to-real qualitative deployment。三腿 half-cheetah case study 对“无 motion dataset 时 MPC 更容易提供行为数据”这个论点有帮助,但更像 illustrative evidence,不是系统验证。
论文做得比较好的地方是没有只看 return,而是看 state-distribution embedding、footstep raster、torque usage、硬件视频行为。这与它的 claim 匹配:如果问题是 basin selection,训练曲线本来就不是主要指标。
不足也很明显。任务覆盖集中在低维/中等复杂度 velocity tracking,命令空间窄,地形简单。真机结果是 qualitative,对 robustness、能耗、tracking error、长时间稳定性、disturbance recovery 的量化不足。AMP 和 reward shaping baseline 的工程公平性也不完全清楚,尤其 AMP 被描述为不稳定但可能受实现、retargeting、domain randomization、PPO/SAC 差异影响。
benchmark 确实验证了“25% injection 可以在这些设置中选中 MPC-like basin”,但还没有验证“该机制能广泛替代 reward shaping / imitation”。更严格的测试应覆盖多命令、多地形、多 gait 切换、在线 MPC data selection,以及在 controller suboptimal / partial coverage 情况下的行为。
Limitation
最核心限制是:方法并没有消除行为规格,只是把规格从 reward engineering / motion data engineering 转移到了 controller design。若没有能产生期望 basin 的 MPC,或者 MPC cost 本身也难设计,这个方法没有免费午餐。
第二,泛化依赖 MPC data coverage。policy 学到的是不是一般化 locomotion principle,还是在 controller state distribution 附近做 replay-induced retrieval,文中未充分说明。尤其作者自己提到,naively mixing widely varying velocity commands 不一定保持 clean basin,这说明方法对数据分布组织非常敏感。
第三,注入比例是脆弱点。25% 在这些任务上有效,但没有理论选择准则。高比例失败说明 controller data 与 policy occupancy 的 mismatch 会直接伤害学习;低比例又拉不动 basin。未来如果扩到多地形、多命令,固定比例很可能不够。
第四,late-stage drift 是结构性问题。因为没有显式 imitation loss 或 shaped reward anchor,MPC-Injection 的 basin pull 会随着 policy occupancy 与 MPC occupancy 重叠而弱化。若原 reward 仍允许低姿态、省力但不可部署的局部改进,policy 可能慢慢漂走。
第五,quadruped 的 action conversion 是近似的,torque-to-position target 只在第一个 substep 精确。这里可能引入 hidden modeling error,增益来源不完全干净。虽然结果可用,但不能把所有效果都归因到纯粹 replay-distribution bias。
第六,对 baseline 的比较更像工程成本对比,而不是严格性能胜出。论文 claim 的强项是 simplicity 和 behavior biasing,不是证明 MPC-Injection 在所有指标上优于 reward shaping 或 AMP。
Takeaway
- 1. 最值得迁移的 insight:在 off-policy actor-critic 中,replay state distribution 本身就是行为偏好的接口;对于多 basin 问题,不改 reward 也能改最终行为。
- 2. MPC-Injection 的实质贡献不是“用 MPC 帮 RL”,而是把 controller trajectory 从 supervision signal 降级为 distributional anchor。
- 这种弱监督形式可能适用于很多“reward 对、行为不对”的机器人任务。
- 3. 未来真正值得做的是 adaptive injection:根据 policy reachability、critic uncertainty、basin membership 或 command curriculum 动态选择哪些 MPC states 进入 buffer,而不是固定 25%。
一句话总结
这篇论文把 MPC-generated replay 从提高样本效率的老技巧重新定位为 off-policy locomotion RL 的行为 basin selector,真正贡献是证明“训练分布偏置”可以作为介于 reward shaping 与 imitation learning 之间的轻量行为规格接口。
