Skip to main content
QUICK REVIEW

[논문 리뷰] Code as Policies: Language Model Programs for Embodied Control

Jacky Liang, Wenlong Huang|arXiv (Cornell University)|2022. 09. 16.
Robot Manipulation and Learning인용 수 35
한 줄 요약

이 논문은 코드-쓰기 LLM이 자연어 명령으로 로봇 정책 코드를 생성하여 지각-행동 루프를 제어하고, 추가 학습 없이 여러 로봇에 걸쳐 반응적 및 경유지 기반 정책을 가능하게 한다.

ABSTRACT

Large language models (LLMs) trained on code completion have been shown to be capable of synthesizing simple Python programs from docstrings [1]. We find that these code-writing LLMs can be re-purposed to write robot policy code, given natural language commands. Specifically, policy code can express functions or feedback loops that process perception outputs (e.g.,from object detectors [2], [3]) and parameterize control primitive APIs. When provided as input several example language commands (formatted as comments) followed by corresponding policy code (via few-shot prompting), LLMs can take in new commands and autonomously re-compose API calls to generate new policy code respectively. By chaining classic logic structures and referencing third-party libraries (e.g., NumPy, Shapely) to perform arithmetic, LLMs used in this way can write robot policies that (i) exhibit spatial-geometric reasoning, (ii) generalize to new instructions, and (iii) prescribe precise values (e.g., velocities) to ambiguous descriptions ("faster") depending on context (i.e., behavioral commonsense). This paper presents code as policies: a robot-centric formulation of language model generated programs (LMPs) that can represent reactive policies (e.g., impedance controllers), as well as waypoint-based policies (vision-based pick and place, trajectory-based control), demonstrated across multiple real robot platforms. Central to our approach is prompting hierarchical code-gen (recursively defining undefined functions), which can write more complex code and also improves state-of-the-art to solve 39.8% of problems on the HumanEval [1] benchmark. Code and videos are available at https://code-as-policies.github.io

연구 동기 및 목표

  • 현실 세계의 지각-행동 루프에 근거를 두도록 동기를 부여하여 데이터 수집 및 학습 필요성을 줄인다.
  • 자연어 지시로부터 실행 가능한 로봇 정책을 생성할 수 있는 코드 작성 LLM을 시연한다.
  • 복잡한 정책을 구성하고 일반화 능력을 향상시키기 위해 계층적 코드 생성 제안.
  • 여러 로봇과 작업에서 CaP를 보여주고 반응 제어 및 시각 기반 조작 포함.
  • 로봇 공학 중심의 코드 생성 벤치마크를 소개하고 규모 효과를 분석한다.

제안 방법

  • 자연어 명령을 주석으로 제공받아 Python-like 정책 코드를 생성하기 위해 OpenAI Codex를 사용한다.
  • 예시(소수 샷)로 명령-코드 매핑을 제시하여 LLM을 프롬프트하고, 지각 출력 처리 및 액추에이터 제어 정책 코드를 생성한다.
  • 정의되지 않은 함수를 재귀적으로 정의하여 더 크고 재사용 가능한 정책 모듈을 구축하는 계층적 코드 생성 사용.
  • Python exec를 통해 안전하게 글로벌/로컬 범위를 제한하여 실제 로봇에서 생성된 LMP를 실행한다.
  • 지각 및 제어 API에 LMP를 접지(예: 개방 어휘 탐지기, NumPy, Shapely, PD/임피던스와 유사 프리미티브 등).
  • 로봇 공학 벤치마크(RoboCodeGen, HumanEval) 및 실제 하드웨어에서 탁상 및 이동식 조작 작업 전반에 걸쳐 평가한다.

실험 결과

연구 질문

  • RQ1코딩-LMM이 자연어 명령을 실행 가능한 로봇 정책으로 번역하고 지각 및 제어 매개변수에 대해 추론할 수 있는가?
  • RQ2계층적 코드 생성을 통해 로봇 정책의 품질과 일반화 및 표준 코드 생성 벤치마크가 개선되는가?
  • RQ3CaP는 언어 기반 플래너 및 전통적인 모방 학습 벤치마크 대비 로봇 작업에서 어떻게 성능을 보이는가?
  • RQ4지각 기반 개방 어휘 탐지기 및 제어 프리민티브가 LMP의 유연한 작업 접지를 가능하게 하는가?
  • RQ5도메인 및 모델 크기에 따른 CaP의 한계와 확장성은 어느 정도인가?

주요 결과

  • 계층적 코드 생성은 정책 품질과 코드 생성 벤치마크를 향상시키며, 더 큰 Codex 모델에서 HumanEval에서 39.8% P@1를 달성한다.
  • CaP는 개방 어휘 지각 및 프로그래머블 제어 프리미티브를 사용하여 여러 로봇 플랫폼에서 반응적이고 경유지 기반 정책을 가능하게 한다.
  • CaP는 보지 못한 명령 및 물체에 일반화할 수 있으며 추가 훈련 없이 새로운 작업에 정책 코드를 적응시킬 수 있다.
  • 로봇 벤치마크에서 CaP는 보이거나 보이지 않는 속성 시나리오에서 일부 감독 학습 벤치마크보다 우수한 성능을 보이고, 미지의 속성 및 작업에 대한 강건한 일반화를 보여준다.
  • 더 큰 모델과 계층적 프롬프트는 코드 생성 및 로봇 작업 전반에서 더 나은 성능과 상관관계가 있다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.