AI 特許紹介(62)AI 特許を学ぶ！究める！
～SayCan 特許～
2024 年 3 月 8 日
河野特許事務所
所長弁理士

河野英仁

「AI 特許紹介」シリーズは、注目すべき AI 特許のポイントを紹介します。熾烈な競争となっている第４次産業革命下では AI 技術がキーとなり、この AI 技術・ソリューションを特許として適切に権利化しておくことが重要であることは言うまでもありません。
AI 技術は Google, Microsoft, Amazon を始めとした IT プラットフォーマ、研究機関及び大学から毎週のように新たな手法が提案されており、また AI 技術を活用した新たなソリューションも次々とリリースされています。
本稿では米国先進 IT 企業を中心に、これらの企業から出願された AI 特許に記載された AI テクノロジー・ソリューションのポイントをわかりやすく解説致します。
1.概要
特許出願人 Google
出願日 2023 年 3 月 30 日
公開日

2023 年 10 月 5 日

公開番号 US20230311335
発明の名称 ロボットの自然言語制御
335 特許は、大規模言語モデル（LLM）を用いてロボットを制御する際に、LM 出力およびロボットのスキル記述に基づくタスクグラウンディング指標と、ロボットの環境状態に基づくワールドグラウンディング指標との双方を用いて、ロボットの行動を決定する SayCan 技術に関する。

2.特許内容の説明
図１Ａは、「bring me a snack from the table(テーブルからスナックを持ってきてください)」という自由形式（FF: free-form）自然言語（NL：natural language）命令 105をロボット 110 に提供する人間 101 の例を示す。
1

ロボット 110 は LLM を使用して、FFNL 入力 105 に基づく LLM プロンプトを処理し、LLM 出力、ロボットスキルの記述、およびロボットスキルの価値関数に基づいて、ロボットタスクを実行する際に実装するロボットスキルを決定し、ロボットタスクの実行中に、決定されたロボットスキルに基づいてロボット 110 を制御する。
図 1B は、図 1A の人間 101 とロボット 110 が位置する環境例を示す鳥瞰図である。

2

人間 101 およびロボット 110 は、図 1B では円として表されている。さらに、環境特徴 191, 192, 193, 194 が図 1B に示されている。環境特徴 191, 192, 193, 194 は、環境のさまざまなランドマークの輪郭を示す。たとえば、環境はオフィスのキッチンまたは作業用キッチンであり、特徴 191 および 192 はカウンタートップ、特徴 193 はシンク、特徴 194 は円形テーブルである。
また、図１Ｂには、環境内でキャプチャされ、例えばロボット技術のワールドグラウンディング指標を生成する際に利用できる、現在の視覚データインスタンス 180 の例が示されている。例えば、ロボット 110 は、ビジョンコンポーネント 111 を使用して、現在のビジョンデータインスタンス 180 をキャプチャする。ビジョンデータインスタ
ンス 180 は、特徴 194 によって表されるラウンドテーブル上に両方とも存在する梨184A およびキー184B をキャプチャする。
図 2A は、FFNL 命令 150 に応答して、環境において実装する初期ロボットスキルを選択する際に、様々なコンポーネント例がどのように相互作用するかを示すプロセスフ
ローである。

3

図２Ａに示すコンポーネント例には、LLM エンジン 130、LLM150、タスクグラウンディングエンジン 132、ワールドグラウンディングエンジン 134、価値関数モデル、選択エンジン 130、実装エンジン 136 が含まれる。図２Ａでは、LLM エンジン 130 は、FFNL 入力 105（“bring me a snack from the table”「テーブルからスナックを持ってきてください」）に基づいて LLM プロンプト 205A を生成する。
LLM エンジン 130 は、FFNL 入力 105 に厳密に準拠するように LLM プロンプト205A を生成し、または、FFNL 入力 105 に基づくが厳密には準拠しないように LLM
プロンプト 205A を生成する。例えば、LLM プロンプト 205A の例である LLM プロン
プト 205A1 によって示されるように、LLM プロンプトは、「“How would you bring mea snack from the table? I would 1.”テーブルから軽食を持ってきてくれませんか？私なら 1 と思います。
」というものである。
LLM エンジン 130 は、ロボット 110 の現在の環境のシーン記述子 202A、プロンプ
ト例 203A、および説明 204A に基づいて、LLM プロンプト 205A を生成する。シーン4

記述子 202A は、物体検出および分類機械学習モデルを使用して画像または他の視覚データを処理することに基づいて決定される物体の記述子など、ロボット 110 が存在する環境内で現在または最近検出された物体の NL 記述子を含む。
例えば、シーン記述子 202A は、「洋ナシ」、「鍵」、「人間」、「テーブル」、「シンク」、および「カウンタートップ」を含むことができ、LLM エンジン 130 は、そのような記述子を組み込むために、LLM プロンプト 205A を生成する。例えば、LLM プロンプト
205A は、「梨、鍵、人間、テーブル、シンク、およびカウンタートップが近くにあります。 どうやって人間にテーブルからおやつを持ってくるでしょうか。 私なら 1.」
プロンプト例 203A は、任意選択で、所望の出力スタイルの手動で設計された例を含むことができる。 たとえば、「ステップバイステップ形式」、「番号付きリスト形式」、または「1. 第 1 ステップ、2. 第 2 ステップ、3. 第 3 ステップなどの形式」などを含めることができる。
説明 204A は、以前のパスにおいて、また FFNL 入力に基づいて、LLM150 を利用して、以前の LLM プロンプトを処理することに基づいて生成された説明である。例えば、以前の LLM プロンプトは、「テーブルから軽食を持ってくる方法を説明してください」とすることができ、説明 204A は、以前の LLM 出力からの最も高い確率のデコードに基づいて生成することができる。例えば、説明 204A は、「テーブルを見つけて、テーブルの上の軽食を見つけて、それを持って行きます」とすることができる。説明
204A は、LLM プロンプト 205A の先頭に追加したり、LLM プロンプト 205A 内のFFNL 入力 105 の用語を置き換えたり、あるいはその他の方法で LLM プロンプト 205Aに組み込んだりすることができる。
LLM エンジン 130 は、LLM150 を使用して、生成された LLM プロンプト 205A を処理し、LLM 出力 206A を生成する。LLM 出力 206A は、候補単語構成にわたる確率分布をモデル化することができ、LLM プロンプト 205A に依存する。
タスクグラウンディングエンジン 132 は、LLM 出力 206A およびスキル記述 207 に基づいてタスクグラウンディング指標 208A を生成する。スキル記述 207 のそれぞれは、ロボット 110 が実行するように構成された対応するスキルを記述する。たとえば、「テーブルに行く“go to the table”」は、「テーブル」というナビゲーションターゲットで訓練されたナビゲーションポリシーを利用することによってロボットが実行できる「テーブルに移動する“navigate to table”」スキルを表すことができる。

5

別の例として、「シンクに行く“go to the sink”」は、ロボットが「シンク」というナビゲーションターゲットで訓練されたナビゲーションポリシーを利用することによって実行できる「シンクに移動する“navigate to sink”」スキルを表すことができる。さらに別の例として、「ボトルを拾う“pick up a bottle”」は、ロボットがボトルに合わせてファインチューニングされた把握ヒューリスティックを利用して、または訓練された把握ネットワークを使用して実行できる「ボトルをつかむ“grasp a bottle”」スキルを表すことができる。
タスクグラウンディング指標 208A のそれぞれは、LLM 出力 206A 内の対応するスキル記述の確率に基づいて生成される。例えば、タスクグラウンディング指標Ａ,“0.85”は、
LLM 出力 206A における単語シーケンス「テーブルに行く」の確率を反映する。
ワールドグラウンディングエンジン 134 は、ロボットスキルに対するワールドグラウンディング指標 211A を生成する。ロボットスキルの少なくとも一部についてワールドグラウンディング指標 211A を生成する際、ワールドグラウンディングエンジン 134 は、環境状態データ 209A に基づいて、また任意選択でさらにロボット状態データ 210A およびスキル記述 207 のうちの対応するものに基づいて、ワールドグラウンディング指標を生成する。
さらに、ロボットスキルの少なくとも一部についてワールドグラウンディング指標
211A を生成する際に、ワールドグラウンディングエンジン 134 は、１つ以上の価値関数モデル 152 を利用することができる。
ワールドグラウンディングエンジン 134 は、いくつかのロボットスキルに対して、固定のワールドグラウンディング指標を生成することができる。たとえば、「配置」ロボットスキルには常に 1.0 や 0.9 などの固定指標があり、「終了」ロボットスキル (タスクの完了を示す) には常に 0.1 や 0.2 などの固定指標が含まれる。
ワールドグラウンディングエンジン 134 は、いくつかのロボットスキルについて、訓練された価値関数モデルである価値関数モデル 152 のうちの対応する１つに基づいてワールドグラウンディング指標を生成する。トレーニングされた価値関数モデルは、言語条件付きモデルである。ワールドグラウンディングエンジン 134 は、言語条件付きモデルを使用して、ロボットスキルのワールドグラウンディング指標を生成する際に、ロボットスキルのスキル記述 207 の対応するものを環境状態データ 209A とともに、また任意にロボット状態データ 210A とともに処理して、現在の状態データに基づいてロボットスキルが成功する確率を反映する値を生成する。
6ワールドグラウンディングエンジン 134 は、例えば、最も高い成功確率を反映する生成された値に基づいてワールドグラウンディング指標を生成する。ワールドグラウンデ
ィング指標 211A は、鳥瞰図で反映されるロボット 110 の状態に基づいて生成される。
すなわち、ロボット 110 が依然として梨 184A およびキー184B からかなり離れたところにある場合、「梨を拾う」と「鍵を拾う」というそれぞれのワールドグラウンディン
グ指標 F と G は、どちらも比較的低い (0.10) である。これは、ロボット 110 と梨 184Aおよびキー184B との間の距離が大きいため、いずれかのアイテムの掴みが成功する確率が低いことを反映している。
「テーブルに行く」のワールドグラウンディング指標 A「0.80」は、「シンクに行く」のワールドグラウンディング指標 B「0.85」よりも低い確率を反映している。 これは、ロボット 111 がテーブル 194 よりもシンク 193 に近いことに基づく。
選択エンジン 136 は、ロボットスキルＡ（「テーブルに行く」）を選択する際に、ワールドグラウンディング指標 211A とタスクグラウンディング指標 208A の両方を考慮し、選択されたロボットスキルＡの指示 213A を実装エンジン 136 に送信する。これに応じて、実装エンジン 136 は、選択されたロボットスキルＡに基づいてロボット 110 を制御する。例えば、実装エンジン 136 は、「テーブル」のナビゲーションターゲットを有するナビゲーションポリシーを使用してロボットを制御する。
図２Ａでは、選択エンジン 136 は、ワールドグラウンディング指標 211A とタスクグラウンディング指標 208A とを乗算することによって全体指標 212A を生成し、全体指標 212A のうち最も高いものに基づいてロボットスキルＡを選択する。ロボットスキル
A は、最高のワールドグラウンディング指標を持たないにもかかわらず、全体的な指標が最も高いことが注目される。

7

図２Ｂにおいて、LLM エンジン 130 は、ロボットスキルＡについて、FFNL 入力
105 (“bring me a snack from the table”)から選択されたスキル記述子 201B (“go to thetable”)に基づいて、実装のために選択され提供されているロボットスキルＡに基づいて、
LLM プロンプト 205B を生成する。
LLM エンジン 130 は、LLM プロンプト 205B を生成する。例えば、LLM プロンプ
ト 205B1 によって示されるように、LLM プロンプトは、“How would you bring me asnack from the table? I would 1. Go to the table. 2.”「テーブルから軽食を持ってきてくれませんか？私なら 1. テーブルに行きます。 2.」というものである。
LLM エンジン 130 は、ロボット 110 の現在の環境の１つまたは複数のシーン記述子
202B（図２Ａと比較して変化している可能性がある）に基づいて、LLM プロンプト
205B、プロンプト例 203B（図２Ａの説明とは任意に変更することができる）、及び、説明 204B（図２Ａの説明とは任意に変更することができる）を生成する。

8

LLM エンジン 130 は、LLM150 を使用して、生成された LLM プロンプト 205B を処理し、LLM 出力 206B を生成する。タスクグラウンディングエンジン 132 は、タス
クグラウンディング指標 208B を生成し、LLM 出力 206A およびスキル記述 207 に基づいてタスクグラウンディング指標 208B を生成する。
例えば、タスクグラウンディング指標Ａ“0.00”は、LLM 出力 206B における単語シーケンス「テーブルに行く“go to the table”」の確率を反映する。別の例として、タスクグ
ラウンディング指標 B“0.10”は、LLM 出力 206B における単語シーケンス「シンクに行く“go to the sink”」の確率を反映する。
ワールドグラウンディングエンジン 134 は、ロボットスキルに対するワールドグラウンディング指標 211B を生成する。ワールドグラウンディング指標 211B は、ロボットスキルＡが少なくとも部分的に実装された後のロボット 110 の状態に基づいて生成される。すなわち、ロボット 110 は、図１Ｂの鳥瞰図に示されているよりもテーブル194 に近い。したがって、ロボット 110 は、図 2A の時点よりも梨 184A およびキー184B に近づく（例えば、両方の到達距離内にある）。したがって、それぞれ「梨を拾うpick up a pear」と「鍵を拾う pick up keys」に対するワールドグラウンディング指標
F と G は、どちらも比較的高い (0.90)。
選択エンジン 136 は、ロボットスキルＦ（「梨を拾う」）を選択する際に、ワールドグラウンディング指標 211B とタスクグラウンディング指標 208B の両方を考慮し、選択されたロボットスキルＦの表示 213B を実装エンジン 136 に送信する。実装エンジン136 は、選択されたロボットスキルＦに基づいてロボット 110 を制御する。例えば、実装エンジン 136 は、任意選択で梨を掴むためにファインチューニングされたパラメータを有する掴みポリシーを使用してロボットを制御する。
図２Ｂでは、選択エンジン 136 は、ワールドグラウンディング指標 211B とタスクグラウンディング指標 208B とを乗算することによって全体指標 212B を生成し、全体指標 212B の中で最も高いロボットスキルＦに基づいてロボットスキルＦを選択する。ロボットスキル A は、最高のワールドグラウンディング指標を持たず、また最高のタスクグラウンディング指標も持たないにもかかわらず、最高の総合指標を有することができる。

3.クレーム335 特許のクレーム 1 は以下の通りである。
9

1. 1 つ以上のプロセッサによって実装される方法において、１つまたは複数のユーザインターフェース入力デバイスを介してユーザによって提供されるユーザインターフェース入力に基づいて生成される自由形式の自然言語命令である命令を識別し、LM プロンプトに依存する、候補単語構成にわたる確率分布をモデル化する LM 出力を生成するために、前記命令に基づいて生成された言語モデル(LM)プロンプトを、LMを使用して処理し、ロボットによって実行可能なロボットスキルと、ロボットスキルの自然言語記述であるスキル記述を識別し、LM 出力およびスキル記述に基づいて、LM 出力の確率分布におけるスキル記述の確率を反映するロボットスキルのタスクグラウンディング指標を生成し、ロボットスキルおよび現在の環境状態データに基づいて、現在の環境状態データに基づいてロボットスキルが成功する確率を反映するロボットスキルのワールドグラウンディング指標を生成し、現在の環境状態データは、ロボットの現在の環境においてロボットの１つ以上のセンサコンポーネントによってキャプチャされたセンサデータを含み、タスクグラウンディング対策とワールドグラウンディング対策の両方に基づいて、それぞれロボットによって実行可能な追加のロボットスキルの代わりにロボットスキルを実装することを決定し、ロボットスキルを実装する決定に応じて:ロボットに現在の環境でロボットスキルを実装させる。

4. 本特許に関連する論文
本特許に関する論文“Do As I Can, Not As I Say:Grounding Language in Robotic
Affordances”1が、Google の Michael Ahn 氏らにより公表されている。

Michael Ahn et al. “Do As I Can, Not As I Say:Grounding Language in Robotic
Affordances” arXiv:2204.01691v2 [cs.RO] 16 Aug 2022
110上記図の左側に示すように LLM は環境を把握しておらず、また、その反応の結果を観察していないため、現実世界に根ざしていない回答を出力する。一方、上記図右側に示す SayCan は、事前トレーニングされたスキルの価値関数を介して LLM を基盤にし、現実世界の抽象的で長期的なコマンドをロボット上で実行することができる。

上記図は、PaLM-SayCan の意思決定を視覚化したものである。２つの総合スコアの上位により、正しいスキルを選択する。

上記テーブルは、SayCan ファミリーによる命令の成功率を示す。
PaLM-SayCan は、トレーニング環境では 84%の計画成功率と 74%の実行成功率を達成し、実際のキッチンでは 81%の計画と 60% の実行を達成した。
11

SayCan の詳細な説明及びオープンソースコードは、以下のサイトで紹介されている。
https://say-can.github.io/
以上
著者紹介
河野英仁
河野特許事務所、所長弁理士。立命館大学情報システム学博士前期課程修了、米国フランクリンピアースローセンター知的財産権法修士修了、中国清華大学法学院知的財産夏季セミナー修了、MIT(マサチューセッツ工科大学)コンピュータ科学・AI 研究所 AI コース修了。
AI 特許コンサルティング、医療 AI 特許コンサルティングの他、米国・中国特許の権利化・侵害訴訟を専門としている。著書に「世界のソフトウエア特許(共著)」、「FinTech特許入門」、「AI/IoT 特許入門 3」、「ブロックチェーン 3.0(共著)」がある。

12