【论文阅读】Code as Policies: Language Model Programs for Embodied Control

快速了解部分

基础信息(英文):

  1. 题目: Code as Policies: Language Model Programs for Embodied Control
  2. 时间: 2022.09
  3. 机构: Google Robotics
  4. 3个英文关键词: LLM, Robot Policy, Code Generation

1句话通俗总结本文干了什么事情

本文利用大语言模型(LLM)根据自然语言指令直接生成Python代码作为机器人的控制策略,从而让机器人具备处理复杂任务、空间推理和泛化新指令的能力。

研究痛点:现有研究不足 / 要解决的具体问题

现有方法要么依赖于语义分析提取固定技能,难以处理未见过的指令;要么采用端到端学习(Language to Action),需要海量的机器人训练数据。此外,现有的LLM应用通常仅用于高层规划,无法直接干预感知-行动的反馈循环,导致难以处理涉及空间几何、速度调节等具体控制细节的任务。

核心方法:关键技术、模型或研究设计(简要)

提出"Code as Policies"(CaP)框架,利用Code-LLM(如OpenAI Codex)将自然语言指令转化为可执行的Python策略代码。该方法采用分层代码生成(Hierarchical Code-Gen),允许模型递归定义未定义的函数,并结合感知API(如VLM)和控制基元来构建反应式策略。

深入了解部分

作者想要表达什么

作者试图证明,通过将代码作为策略的表示形式,预训练的大语言模型可以无需额外微调,仅通过少量示例(Few-shot Prompting)就能掌握机器人控制的逻辑。这不仅能解决数据稀缺问题,还能通过代码的结构化特性(如循环、库函数调用)实现自然语言无法精确表达的空间推理和行为常识(如"移动得更快")。

相比前人创新在哪里

  1. 直接生成控制代码:不同于SayCan等仅生成动作序列,CaP生成的是包含反馈循环(While/If)和数学计算的底层Python代码。
  2. 分层代码生成:提出让模型递归地定义新函数(Function Generation),显著提升了在HumanEval基准测试和机器人任务中的性能。
  3. 利用第三方库进行几何推理:利用LLM对NumPy、Shapely等库的先验知识,直接处理坐标计算和形状分析,实现精确的空间几何推理。

解决方法/算法的通俗解释

这就像是给机器人配了一个"程序员影子"。当机器人听到指令(如"把红积木移到蓝碗左边"),它不靠自己死记硬背的动作,而是让AI现场写一段Python脚本。这段脚本里包含了"看一眼(调用视觉API)"、"算一下坐标"、"循环移动直到到位"等逻辑。写完这段代码,机器人就直接运行它来完成任务。

解决方法的具体做法

  1. 提示工程(Prompting):在Prompt中提供Hint(可用的API列表、导入库)和Examples(自然语言注释 -> 代码的对应关系)。
  2. 生成策略代码(LMP) :LLM根据指令生成包含感知(如get_pos)、逻辑(如while循环)和动作(如put_first_on_second)的Python代码。
  3. 分层扩展 :如果代码中调用了未定义的函数(如parse_obj),系统会再次调用LLM来生成这个函数的实现,直到所有函数都定义完毕。
  4. 安全执行:在沙盒环境中执行生成的代码,调用真实的机器人API。

基于前人的哪些方法

  1. Code-Completion LLM:基于Codex等经过代码训练的大模型。
  2. Open-Vocabulary Perception:依赖现有的视觉语言模型(如ViLD, MDETR)将图像映射到物体名称和位置。
  3. Control Primitives:依赖底层的脚本化控制基元(如阻抗控制器、吸盘抓取)。

实验设置、数据、评估方式、结论

  1. 基准测试:在HumanEval和自建的RoboCodeGen基准上,CaP的分层生成方法显著优于扁平生成方法(HumanEval P@1达39.8%)。
  2. 仿真环境:在模拟的桌面操作环境中,对比CLIPort和NL Planner,CaP在未见过的属性和指令上表现出极强的泛化能力。
  3. 实体机器人:在UR5e机械臂(绘图、抓取)和移动操纵机器人(导航、扔垃圾)上成功演示了自然语言到复杂策略的实时生成。
  4. 结论:CaP能有效解决长程规划、空间几何推理任务,且无需针对特定任务收集训练数据。

提到的同类工作

  1. SayCan:利用LLM生成动作序列,但依赖于预定义的价值函数。
  2. CLIPort:基于模仿学习的视觉语言策略,需要大量演示数据。
  3. Inner Monologue:结合视觉语言模型进行自我对话和重规划。

和本文相关性最高的3个文献

  1. Evaluating large language models trained on code <2021.07> (HumanEval基准,证明了Code-LLM能力的基础文献)
  2. Do as i can, not as i say: Grounding language in robotic affordances <2022.04> (Google Robotics的SayCan工作,是本文直接对比和改进的前序工作)
  3. Mdetr-modulated detection for end-to-end multi-modal understanding <2021> (MDETR视觉语言模型,本文在实验中直接使用了该模型作为感知API的基础)
相关推荐
Jurio.4 小时前
AI Daily Paper Reader(ADPR):零服务器搭建个人/团队通用大模型API驱动的论文阅读与推荐平台
论文阅读·人工智能·ai
emfuture4 小时前
国产工控机选型实录:基于龙芯2K3000的中嵌科技EU-7500在边缘计算场景下的适配笔记
人工智能·笔记·边缘计算
IT_陈寒4 小时前
React状态更新后视图不刷新?我差点以为是灵异事件
前端·人工智能·后端
蓦然回首却已人去楼空4 小时前
深度学习进阶:自然语言处理|3.4 QA|共享权重与 `remove_duplicate` 详解
人工智能·深度学习·自然语言处理
searchforAI4 小时前
我用这款本土NotebookLM平替重构了知识库
人工智能·笔记·gpt·ai·音视频·知识图谱
不懂的浪漫4 小时前
01|从 Spring Boot 项目理解 RAG:ingest、query、rerank、trace 到 eval
java·人工智能·spring boot·后端·ai·rag
无心水4 小时前
【分布式利器:金融级】金融级分布式架构开源框架全景解读
人工智能·分布式·金融·架构·开源·wpf·金融级框架
在线打码4 小时前
从零打造“绘礼AI”:如何用AI重构婚礼策划全流程
人工智能·langchain·agent·婚礼策划
x-cmd4 小时前
[260520] x-cmd v0.9.5:x install 支持 skill 安装,新增 git ci 命令让 AI 帮你写 commit
人工智能·git·ci/cd·agent·install·x-cmd