DEEP LEARNING JP
[DL Papers]
Code as Policies: Language Model Programs
for Embodied Control
Keno Harada, M2, the University of Tokyo
http://deeplearning.jp/
書誌情報
論文名 Code as Policies: Language Model Programs for Embodied Control
著者 Jacky Liang, Wenlong Huang, Fei Xia, Peng Xu, Karol Hausman, Brian
Ichter, Pete Florence, Andy Zeng (Robotics at Google)
概要 大規模言語モデルによるプログラム生成を用いて、指示文のコメントと小サンプ
ルのプロンプトからロボットの行動方策のプログラムを生成. あらかじめ準備する
行動、認識APIとプロンプト文を工夫することによりPerception-actionのフィー
ドバックループを必要とするようなタスクに応じた行動方策の記述を可能に.
Link https://code-as-policies.github.io/
https://ai.googleblog.com/2022/11/robots-that-write-their-own-
code.html
2
背景: 大規模言語モデルを用いたプランニング +
行動の課題
Perception-actionのフィードバックループを必要とするようなタス
ク(指示文)に応じた行動方策を柔軟に設計できない
• スキルをあらかじめ準備し、タスクプランニングを大規模言語モデルに
任せる(SayCanなど)
- あらかじめ準備したスキルの選択、順序を決めるのみ
- スキルの追加は大量のデータを用いたBC, RLが必要
現状のパイプラインで実行できないタスク
• 知覚と行動が結びついているタスク: “オレンジが見えたらリンゴを置い
て”
• 常識を反映するようなタスク: “より早く動いて”
• 空間の相対関係を考慮するタスク: “リンゴをもう少し左に動かして”
3
大規模言語モデルを用いたプログラム生成に着目
4
プロンプト
指示文
出力
From Code as Policies: Language Model Programs for Embodied Control
関連研究:大規模言語モデルを使用してタスクのサブタスクを記述、場面
に合わせたサブタスクの選択
5
From Do As I Can, Not As I Say: Grounding Language in Robotic Affordances
関連研究:大規模言語モデルへ物体検出結果の組み
込み
6
From Socratic Models: Composing Zero-Shot Multimodal Reasoning with Language
関連研究: 言語モデルを使用したプログラム生成
7
From Evaluating Large Language Models Trained on Code
関連研究との違い
8
From Code as Policies: Language Model Programs for Embodied Control
提案手法
• Prompting Language Model Programs
- Promptの構成要素
• Example Language Model Programs(Low‒level)
- Code-writing LLMの使用による学習データ中のthird-party library
の使用
- 関数名の工夫とHint/Examplesの工夫による自前libraryの使用
- タスク指示文とcodeを結びつけるLanguage reasoning
• Example Language Model Programs(High-level)
- while loop, nested function, hierarchically generation
9
Promptの構成要素
• Hints
- どのAPIが呼び出し可能か、そのAPIがどのように呼び出しうるかの
type hints
import numpy as np
from utils import get̲obj̲names, put̲first̲on̲second
• Examples
- 自然言語の指示文(#コメント)とそれを遂行するプログラムとのペア
- プロンプトに過去の指示とプログラム例を含めていくことで、”undo
the last action“というような指示も行える
10
Low-level
11
From Code as Policies: Language Model Programs for Embodied Control
Third-party library
Low-level
12
From Code as Policies: Language Model Programs for Embodied Control
自前ライブラリ
Language reasoning
High-level: control flow
13
From Code as Policies: Language Model Programs for Embodied Control
High-level: nested function
14
From Code as Policies: Language Model Programs for Embodied Control
High-level: Hierarchical generation
15
From Code as Policies: Language Model Programs for Embodied Control
High-level
16
From Code as Policies: Language Model Programs for Embodied Control
実験
• 階層的なプログラム生成の工夫の有効性の確認
- Code-Generation Benchmarksにおいてプログラム生成そのもの
の質の確認
• マニピュレーションタスクにおいて既存手法との比較
• 提案手法が異なるロボットにおいても容易に適用可能であることの確認
17
RoboCodeGenを新しく提案・評価
空間情報、幾何情報を考慮したプログラム生成問題の追加
生成結果に含まれるプログラムに外部ライブラリの使用許可・推奨
Docstingなし
18
From Code as Policies: Language Model Programs for Embodied Control
Flat vs Hierarchical(未定義の関数使用)
19
From Code as Policies: Language Model Programs for Embodied Control
このpromptにおける階層の工夫が提案手法での独特な工夫
既存手法より高い汎化性能を確認
• 階層的なプログラム生成の工夫の有効性の確認
- Code-Generation Benchmarksにおいてプログラム生成そのもの
の質の確認
U: Unseen, S: Seen, A: Attribute(物体の特徴), I: Instruction(指示文)
20
From Code as Policies: Language Model Programs for Embodied Control
既存手法より高い汎化性能を確認
21
From Code as Policies: Language Model Programs for Embodied Control
既存手法より高い汎化性能を確認
22
From Code as Policies: Language Model Programs for Embodied Control
Mobile Manipulatorへの適用
23
# take the coca cola can from the cart and put it in the middle of the fruits on the table.
From Code as Policies: Language Model Programs for Embodied Control
おまけ
24
From Code as Policies: Language Model Programs for Embodied Control
まとめ
指示文のコメントと小サンプルのプロンプトからロボットの行動方策の
プログラムを生成. あらかじめ準備する行動、認識APIとプロンプト文を
工夫.
Limitation
あらかじめ準備するAPI, プロンプト文に制限される
Exampleにない抽象度の行動は苦手らしい
感想
プロンプトエンジニアの記述力が試される(appendix Aオモロイ)
25

【DL輪読会】Code as Policies: Language Model Programs for Embodied Control