一句话定位
给 LLM 机器人规划器接上一条环境反馈回路——把成功检测(success detection)、场景描述(被动/主动)、人类反馈都转成文本追加进 prompt,让同一个完全冻结、不做任何额外训练的 LLM(InstructGPT-1.3B 或 PaLM-540B)在长程任务里根据上一步执行结果重新规划、重试或主动提问;在仿真桌面重排、真实桌面重排、真实厨房移动操作三个环境上,闭环反馈都比”只规划不听反馈”的基线带来显著提升(如真实厨房在人为制造扰动下总成功率从 SayCan 的 30.8% 升到 60.4%)。
背景与定位
Inner Monologue 出自 Robotics at Google(Wenlong Huang、Fei Xia、Ted Xiao 等 equal contribution,按字母序署名),2022-07 挂 arXiv,作者与 saycan(2022-04)高度重叠(Karol Hausman、Brian Ichter、Sergey Levine、Pierre Sermanet 等),是同一条 “LLM 当高层规划器 + 预训练底层技能库” 路线上的直接后续工作,其厨房移动操作实验直接复用 SayCan 的机器人平台、BC 策略与 RL 价值函数。
论文明确指出此前工作的共同缺陷是单向(one-directional):Huang et al. 2022《Language Models as Zero-Shot Planners》纯 prompt 生成计划,saycan 用价值函数给动作做 affordance grounding,Socratic Models(Zeng et al. 2022,用 GPT-3 + ViLD 等多个基础模型拼语言接口)也只是把感知结果一次性喂给 LLM——三者都没有让 LLM 在执行过程中持续获知”这一步到底成没成、场景变成什么样了”,因此一旦中间某步失败或计划不可行,系统无法重新规划。Inner Monologue 的方案是把成功检测、被动/主动场景描述、人类反馈都转成文本,随着机器人与环境交互持续注入 LLM 的 few-shot prompt,形成”内心独白”,全程不需要任何额外训练或微调。
范式上它仍属于 “LLM 高层规划器 + 模块化感知 / 技能库” 的组合式路线(区别于日后 RT-2 那类单网络端到端 VLA),本文的核心贡献不在网络架构,而在反馈接口的设计与系统性验证——这也是它后续催生 Code as Policies、PaLM-E 等一系列”LLM + 机器人”闭环工作的起点。
模型架构
Inner Monologue 不是单一网络,而是”LLM 规划器 + 感知反馈模块 + 预训练底层技能”的组合系统,论文在三个环境里分别搭了三套不同配置(Table 4):
| 仿真桌面重排 | 真实桌面重排 | 真实厨房移动操作 | |
|---|---|---|---|
| LLM | InstructGPT-1.3B | InstructGPT-1.3B | PaLM-540B |
| 底层策略 | CLIPort 式 Transporter Net | MDETR + 启发式几何原语 | 复用 SayCan 学到的策略 |
| Success Feedback | Ground truth + 启发式 | MDETR + 启发式 | 微调 CLIP(自训练) |
| Object Feedback | Ground truth + 启发式 | MDETR | 人工提供(结构化) |
| Scene Feedback | Ground truth + 启发式 | N/A | N/A |
| Human Feedback | N/A | N/A | 人工提供(非结构化) |
规划器:InstructGPT-1.3B(GPT-3 用 RLHF 微调出的 1.3B 参数模型,经 OpenAI API 调用)或 PaLM-540B(Chowdhery et al. 2022,训练数据含高质量网页文档、书籍、维基百科、对话、GitHub 代码),全程冻结,仅做 few-shot in-context prompting。
三类反馈接口(本文真正的架构创新):
- Success Detection:二分类,判断上一低层技能是否成功。
- Passive Scene Description:不需要 LLM 主动询问、自动注入 prompt 的结构化反馈,含 Object feedback(场景中的物体列表)与 Scene feedback(任务进度——已达成的子目标列表)。仿真桌面里 Object 只在每个 episode 开始时给一次(近似 Socratic Models 式一次性感知),而 Success / Scene 是每步执行后都刷新的真闭环反馈。
- Active Scene Description(Human Feedback):LLM 在每步规划后自选”继续(continue)“或”提问(ask)“,提问由人开放式回答(无固定格式),厨房环境的 case study 里可见”Do you have a preference on what drink you would want?”这类真实追问(Appendix Listing 4)。
各环境底层策略与感知模块细节:
- 仿真桌面重排:CLIP 视觉 backbone 的 Transporter Net(仿 CLIPort),输出 3D pick 位置 + 3D place 位置,交给脚本化 pick-place 动作执行;成功检测用 ground-truth 物体位姿的启发式规则(拾取物与放置物 2D 欧氏距离 < 4cm 且高度更高判定成功)。
- 真实桌面重排:物体识别用开放词表检测器 MDETR(把候选物体名拼接成一句 caption 喂给模型);pick-place 原语把检测框中心从深度图反投影到机器人基座系,末端先移到目标上方 15cm 再下探至 5N 接触力停止;成功检测按检测框中心与目标位置的 2D 距离阈值判定(堆叠任务 3cm、分拣任务 10cm)。
- 真实厨房移动操作:机器人为 Everyday Robots 移动机械臂,7-DoF 手臂 + 两指夹爪,RGB 观测,采用 concurrent(动作执行中持续规划)闭环控制;底层 BC 操作策略与 RL 价值函数(做 affordance grounding)直接复用 SayCan。成功检测是自训练的 “前瞻(foresight)+ 后见(hindsight)“双检测器:foresight 模型用 CLIP 图像编码器分别嵌入初始观测 o₀ 与技能终止后的观测 o_f,拼接过融合 MLP,再与 CLIP 文本编码器编出的技能描述嵌入拼接过 MLP,输出 sigmoid 成功概率;hindsight 模型用 CLIP 式对称对比损失在所有候选技能的文本嵌入上做分类,推理时对图像-技能嵌入点积做带可学习温度的 softmax;两者按阈值 τ 组合——foresight 概率过阈值后再跑 hindsight,只有 hindsight 判定的技能与 foresight 一致才算成功,用于压低假阳性。
三套环境物理平台互不共享(仿真 Ravens 环境 / 真实 UR5e + 腕装 RealSense / Everyday Robots 移动机械臂),无跨本体统一动作头,共享的只是同一套”LLM + 文本反馈”公式。
数据
- 仿真桌面重排底层策略:20,000 条预采集示范(“pick up [x] and place it on [y]“格式指令 + 俯视 RGB-D + 模拟器 ground-truth pick/place 坐标),覆盖全部物体(不做物体级泛化,聚焦长程行为泛化)。作对照的多任务 CLIPort baseline 用同样 20,000 条示范,但只在 8 个任务族中的 4 个训练任务族上训练。
- 真实桌面重排:不训练新模型,直接复用现成的 MDETR 开放词表检测器 + 脚本化几何 pick-place 原语;测试时人为注入平移噪声——堆叠任务 σ=1.5cm、分拣任务 σ=0.7cm(截断 1.5σ)。
- 真实厨房移动操作(复用 SayCan 数据栈):BC 操作策略训练在 68,000 条遥操作示范 + 12,000 条自主成功 episode(从 276,000 条自主 rollout 筛选而来)上,由 10 台机器人历时 11 个月用 VR 头显遥操作采集;foresight / hindsight 成功检测器训练数据来自同一批遥操作 + 自主 rollout 的离线数据(具体标注条数未单独披露)。
- 感知模块横向对比:ViLD、MDETR 两个开放词表检测器在 10 个代表性厨房 episode 上评测物体识别效果(Table 5)——ViLD precision 85.7% / recall 72.0% / accuracy 88.9%;MDETR precision 39.6% / recall 87.5% / accuracy 68.2%(ViLD 综合更准但仍有 28.0% 漏检;MDETR 召回高但精度低)。
- 评测任务规模:仿真 8 任务族(4 seen + 4 unseen)× 每任务族 50 episode,测试时叠加像素噪声 N(0,3)、pick-place 原语噪声 N(0,2.5)、落点噪声 N(0,0.02m);真实桌面 2 个任务族 × 10 次;厨房 3 个任务族(4 操作 + 2 抽屉 + 2 移动操作指令,见 Table 6)× 共 120 次评测,含”无扰动”与”人为对抗扰动”两组。
- 三个环境相互独立,本文不涉及 sim-to-real 迁移或跨环境数据配比。
训练方法
- 核心方法论:LLM 全程冻结,只做 few-shot in-context prompting,不做任何微调。Inner Monologue 把每步执行后的文本反馈(success / object / scene / human)追加进 prompt,再重新查询 LLM 生成下一步动作,循环直至 LLM 输出”done”或达到步数上限(仿真设 k=15)。
- 训练只发生在两处:①底层技能策略(仿真/真实桌面的 pick-place 原语训练;厨房环境复用 SayCan 已训练好的 BC 策略 + RL 价值函数,本文不重新训练它们);②厨房环境的成功检测器——foresight 用二值交叉熵(BCE)对成功/失败标签做监督,hindsight 用 CLIP 式对称对比损失,两者训练中都微调 CLIP 骨干。
- 仿真环境 Object+Scene 变体额外要求 LLM 在给出已达成子目标后生成 chain-of-thought 式”Robot thought”总结,作者发现这能提升目标追踪的一致性。
- 厨房环境 Active Scene Description case study:LLM 每步后二选一”continue”或”ask”,ask 时提出开放式问题、由人回答,回答内容不限格式(可以是场景确认,也可以是对计划的修改,如”我不想要有咖啡因的,换个别的”)。
- 没有针对 LLM 本身的强化学习或微调;所有 RL/BC 训练都在复用的底层技能上完成。
Infra(训练 / 推理工程)
本文不是训练算力论文,多数 infra 细节未披露:
- LLM 训练算力:InstructGPT-1.3B(Ouyang et al. 2022)与 PaLM-540B(Chowdhery et al. 2022)均是外部现成权重 / API 调用,本文未重新训练也未披露其训练算力。
- 底层技能与感知/成功检测模块的训练算力(GPU/TPU 数量、小时数)本文未披露——厨房环境的 BC 策略与 RL 价值函数直接复用 SayCan 已训练好的模型,本文不重述其算力;仿真/真实桌面 pick-place 原语的训练算力同样未披露。
- 推理侧:控制频率(Hz)、端到端时延未披露;仅知仿真环境每 episode 步数上限 k=15,厨房环境采用 concurrent(边执行上一动作边规划)闭环控制。
- 硬件平台:真实桌面重排 = UR5e 机械臂 + 腕装 Intel RealSense RGB-D 相机;厨房移动操作 = Everyday Robots 移动机械臂(7-DoF 臂 + 两指夹爪,RGB 观测)。
评测 benchmark
1. 仿真桌面重排(Ravens 环境,Table 1,50 episode/任务,叠加测试时扰动)——五个方法对比:CLIPort(无 LLM,固定步数终止)、CLIPort+oracle(无 LLM,oracle 终止)、Object(+LLM,仅一次性物体列表,无逐步反馈)、Object+Success(+Inner Monologue)、Object+Scene(+Inner Monologue,最优):
| 任务 | CLIPort | +oracle | Object | Obj+Success | Obj+Scene |
|---|---|---|---|---|---|
| Seen: Pick and place | 24.0% | 74.0% | 80.0% | 90.0% | 94.0% |
| Seen: Stack all blocks | 2.0% | 32.0% | 4.0% | 10.0% | 26.0% |
| Seen: [x] corner/side | 2.0% | 32.0% | 30.0% | 28.0% | 30.0% |
| Seen: [x] bowl | 32.0% | 94.0% | 52.0% | 46.0% | 56.0% |
| Unseen: 不同角落 | 0.0% | 0.0% | 20.0% | 20.0% | 26.0% |
| Unseen: 匹配颜色碗 | 0.0% | 0.0% | 56.0% | 70.0% | 82.0% |
| Unseen: 不匹配颜色碗 | 0.0% | 0.0% | 62.0% | 76.0% | 86.0% |
| Unseen: 堆叠指定角落 | 0.0% | 0.0% | 0.0% | 4.0% | 6.0% |
CLIPort(含 oracle)在 4 个 unseen 任务上全部 0%(无法泛化到未训练指令);Object+Scene 全线最优,论文将其归因于”能持续追踪所有目标条件与已达成目标”。
2. 真实桌面重排(Table 2,10 次/任务):LLM/Object(开环基线,仅在任务开始跑一次物体识别)vs. +Inner Monologue 三个变体:
| 任务族 | 开环 Object | IM-Object | IM-Success | IM-Object+Success |
|---|---|---|---|---|
| 3-block 堆叠 | 20% | 40% | 40% | 100% |
| 果蔬分拣 | 20% | 50% | 40% | 80% |
| 总计 | 20% | 45% | 40% | 90% |
3-block 堆叠任务上闭环 Object+Success 把成功率从开环基线的 20% 直接拉到 100%。
3. 真实厨房移动操作(Table 3,120 次评测,对比 SayCan baseline):
| 任务族 | SayCan | IM w/ Success | IM w/ Success+Object |
|---|---|---|---|
| 无扰动·操作 | 50.0% | 62.5% | 75.0% |
| 无扰动·移动操作 | 50.0% | 50.0% | 75.0% |
| 无扰动·抽屉 | 83.3% | 83.3% | 100.0% |
| 有扰动·操作 | 12.5% | 25.0% | 33.3% |
| 有扰动·移动操作 | 0.0% | 25.0% | 75.0% |
| 有扰动·抽屉 | 0.0% | 44.4% | 44.4% |
| 总计 | 30.8% | 48.7% | 60.4% |
人为对抗扰动下 SayCan 总成功率跌到接近 0(无显式高层重试机制),Inner Monologue 因能调用合适的恢复模式而总成功率达 60.4%,接近 SayCan 的两倍。失败归因(Fig 4)显示:加入扰动后 SayCan 的失败以 LLM 层面的规划失败为主(无法应对已发生的执行失败),Inner Monologue 变体则大幅压低了这类失败。
4. 涌现能力(定性展示,非量化 benchmark):持续适应中途改变的指令(Fig 5a)、目标不可行时自主提议替代方案(Fig 5b,“紫色块太重→换蓝色块”)、跨语言交互(Fig 5c,中文新指令被正确理解并重新规划)、交互式场景问答(Fig 5d)、对反馈顺序与指令拼写错误的鲁棒性(Appendix Fig 9)。这些行为均未在 prompt 示例中出现过。
论文没有与 RT-1 / RT-2 等端到端 VLA 策略做对比,所有 baseline 都是”LLM 规划但反馈更弱或无反馈”的变体(CLIPort、开环 Object、SayCan 本身)。
创新点与影响
- 首次系统研究”给 LLM 机器人规划器接反馈通道”本身:把反馈按”任务特定的成功检测”和”场景相关的被动/主动描述”两条轴系统化归类,而非像此前工作那样把感知结果一次性喂给 LLM。
- 验证了免训练闭环的普适性:仅靠 few-shot prompting、不重新训练 LLM 或底层策略,注入文本反馈就能在三个完全不同的环境(不同 LLM、不同技能库、不同感知模块)下一致提升长程任务成功率,且在存在扰动/失败时提升最明显(真实厨房对抗扰动下 SayCan 30.8% → Inner Monologue 60.4%;真实 3-block 堆叠 20% → 100%)。
- 记录了一批未被显式 prompt 过的涌现行为(持续适应新指令、不可行时自主提议、多语言理解、交互式场景问答),说明效果部分来自 LLM 本身的通用能力而非任务特定示例。
- 确立了”反馈接口设计”作为 LLM 机器人系统的独立研究维度,为 Code as Policies、PaLM-E 等后续”LLM + 机器人闭环”工作提供了直接范式基础。
作者自陈局限:①主实验大量依赖 oracle 级场景描述(人工提供或脚本系统),仅在附录里初步验证了 ViLD / MDETR 等自动化感知模型的可行性,且明显弱于人工(如 MDETR precision 仅 39.6%);②失败来源有三——成功检测的假阴性(导致多余重试)、假阳性(引入对抗性的部分可观测性)、以及 LLM 规划错误(有时会忽略反馈仍提议场景中不存在的物体);③高层推理能力再强也受底层控制策略能力上限制约;④涌现能力的一致性参差不齐,受当前 LLM 能力限制;⑤如何聚合可能不准确的多源反馈(如让文本表达不确定性)、以及加入安全/伦理反馈模块,都留作未来工作。
原始链接
- 论文(arXiv abs):https://arxiv.org/abs/2207.05608
- 论文 PDF:https://arxiv.org/pdf/2207.05608
- 项目主页:https://innermonologue.github.io/
- 项目页面上的 “Code” 链接为占位符(指向裸 github.com,未指向真实代码仓库),本工作未发现专属的官方博客(项目页 “Blogpost” 链接指向一篇与本工作无关的 2021 年 Google AI Blog 文章,已在存档中说明)
一手源存档(sources/)
- inner-monologue—project-page — innermonologue.github.io 项目页快照(abstract / approach / 三环境结果摘要 / BibTeX)
- arXiv 原文 PDF(2207.05608,含 Appendix A 三环境实现细节、B 实验设置、C 涌现能力补充图例、D 全部 prompt 模板)——arXiv 原文 PDF,不入 git,见上方 PDF 链接