PaLM-SayCan:飲み物をこぼしてしまったからちょっと助けて!とロボットに頼めるようになる(1/2)

モデル

1.PaLM-SayCan:飲み物をこぼしてしまったからちょっと助けて!とロボットに頼めるようになる(1/2)まとめ

・ロボットは明確なタスク定義を用いて学習しているので曖昧な指示が苦手
・言語モデルは曖昧な指示も理解できるが現実世界を知らないため限界がある
・PaLM-SayCanは言語モデルを使ってユーザとロボットの対話を促進する手法

2.PaLM-SayCanとは?

以下、ai.googleblog.comより「Towards Helpful Robots: Grounding Language in Robotic Affordances」の意訳です。元記事は2022年8月16日、Brian IchterさんとKarol Hausmanさんによる投稿です。

アイキャッチ画像はDALL·E 2による画像生成でプロンプトは「I spilled my drink, can you help?」左側がオリジナルのDALL·E 2生成画像、右側がGFPGANで更に綺麗にした画像。右側の方が確かに肌等は綺麗ですが、左側の方が酔ってる感は出てますね。

ここ数年、機械学習をロボティクスに応用することに大きな進展が見られました。しかし、現在のロボットシステムは、「リンゴを拾ってください」というような非常に短いハードコードされたコマンドしか実行できません

これは、ロボットシステムが明確なタスクと報酬に対して最高のパフォーマンスを発揮する傾向があるからです。

長期目線が必要なタスクの実行や、例えば「ちょうど運動したところだから、健康的なスナックを取ってくれますか?」というような抽象的な目標について推論が必要になるユーザーからの問いかけを学習することに苦労しているのです。

一方、近年の言語モデル(LM:Language Models)の学習の進歩により、さまざまな言語理解・生成タスクを実行できるシステムが登場し、素晴らしい成果を上げています。

しかし、これらの言語モデルは、その学習過程の性質上、本質的に物理世界に根ざしていません。一般に言語モデルは、環境と対話することも、その応答の結果を観察することもありません。その結果、ロボットが物理的な状況下で行うには非論理的、非現実的、あるいは危険な命令を生成してしまう可能性があります。

例えば、言語モデルGPT-3は「飲み物をこぼしたので助けてください」という質問に対して、「掃除機を使ってみてはいかがでしょうか?」と答えますが、この提案はロボットにとって安全でない、あるいは実行不可能な提案である可能性があります。

また、FLAN言語モデルに同じ質問をすると「ごめんなさい、こぼすつもりはなかったんです」とこぼしたことを謝るなど、あまり有用な回答をしてくれません。

そこで、私達は自問しました。高度な言語モデルとロボット学習アルゴリズムを組み合わせて、双方の利点を活かす効果的な方法はないでしょうか?

Everyday Robotsチームとの協力により進展した論文「Do As I Can, Not As I Say: Grounding Language in Robotic Affordances」では、言語モデルの知識を活用し、ロボットのような物理エージェントが、特定の実世界の環境内で実現可能なタスクに言語モデルを適用しつつ、物理的に根拠のある高レベルなテキスト指示に従うことを可能にする新しいアプローチを提示します。

私達は、PaLM-SayCanと呼ぶこの手法を、実際のキッチンにロボットを配置し、自然言語で表現されたタスクを与えることによって評価しました。その結果、「運動したばかりなので、疲労回復のためにお菓子と飲み物を持ってきてください」といった、時間的に拡張された複雑かつ抽象的なタスクに対して、非常に解釈しやすい結果が得られることが確認されました。

特に、言語モデルを実世界に基づかせる事で、基づいていない比較対象手法と比較して誤りがほぼ半減することを実証しています。また、研究コミュニティがこのアプローチをテストできるよう、ロボットシミュレーションのセットアップを公開する予定です。


PaLM-SayCanでは、ロボットが言語モデルの「手と目」の役割を果たす一方で、言語モデルがタスクに関する高度な意味知識を提供します。

言語モデルが促進するユーザとロボットの対話

私達のアプローチは、言語モデルに含まれる知識(Say)を用いて、高レベルの命令に対して有用な行動を判断し、スコア化します。また、アフォーダンス関数(Can)を用いて、実世界に根ざした、与えられた環境下で実行可能な行動を決定します。PaLM言語モデルを用いるため、これをPaLM-SayCanと呼びます。


このアプローチでは、言語モデルが「高度な指示に対して有用」と評価したものと、アフォーダンスモデルが「可能」と評価したものに基づいてスキルを選択します。

このシステムは、言語モデルによって促進されるユーザーとロボットの対話と見なすことができます。ユーザはまず指示を与え、言語モデルはそれをロボットが実行するための一連のステップに変換します。この一連のステップは、ロボットのスキルセットを使ってフィルタリングされ、現在の状態と環境から最も実現可能な計画を決定します。

このモデルは、特定のスキルが指示の完了に向けてうまく進展する確率を、2つの確率の掛け算によって決定します。

(1)タスクに基づいた確率(ロボットのスキルの言語化)
(2)周辺環境に基づいた確率(現在の状態でのスキルの実行可能性)

このアプローチには、安全性と解釈のしやすさという点で、さらなる利点があります。まず、LMが最も可能性の高い出力を生成するのではなく、異なる選択肢をスコア化できるようにすることで、LMが事前に選択された回答のうち1つだけを出力するよう効果的に制約をかけることができます。

更に、ユーザは単一の出力ではなく、言語とアフォーダンスの個別のスコアを見ることで、意思決定プロセスを容易に理解することができます。


PaLM-SayCanは解釈も可能で、各ステップで言語スコア(青)、アフォーダンススコア(赤)、複合スコア(緑)に基づいて検討された上位の選択肢を見ることができます。
(余談:感動を覚える凄い技術で家事手伝いロボット実現に向けての一歩とは思うのですが動画内の無造作に缶をこねくり回しながら持ち上げる場面でどうしても笑ってしまいます。どうしてそんな持ち上げ方をするのだと)

3.PaLM-SayCan:飲み物をこぼしてしまったからちょっと助けて!とロボットに頼めるようになる(1/2)関連リンク

1)ai.googleblog.com
Towards Helpful Robots: Grounding Language in Robotic Affordances

2)arxiv.org
Do As I Can, Not As I Say: Grounding Language in Robotic Affordances

3)github.com
google-research/saycan/

タイトルとURLをコピーしました