SpCoRAP：大規模言語モデルと場所概念モデルによる生活支援ロボットの行動計画

# はじめに
はじめまして！
[創発システム研究室](http://www.em.ci.ritsumei.ac.jp/jp/) 博士課程2回生の[長谷川翔一](https://researchmap.jp/shoichi_hasegawa)です．
空間の意味理解に関するSemantic Mappingの研究を主にしています．
また最近では，サービスロボット競技会の[RoboCup@Home JP](https://www.robocup.or.jp/robocup-athome/)などにも出場したりしてます．
([X (旧Twitter)](https://twitter.com/chikinpresi)もやっています．)

[基盤モデル×RoboticsのAdventCalendar](https://qiita.com/advent-calendar/2023/robot-ai)の20日目では，**RoboCup@Home Jp 2023のTechnical Challengeで準優勝**，**日本ロボット学会学術講演会 (RSJ2023)で発表**した，
「**SpCoRAP** (**Sp**atial **Co**ncepts-based Prompts and Sequential Feedback for Large Language Models-based **R**obot **A**ction **P**lanning)」について紹介します．


# 論文のアクセス
論文 (RSJ2023時点)：https://drive.google.com/file/d/1En0ZFhsJbvLYqwFQstu5q6X360ODuu8C/view?usp=sharing
発表スライド：https://speakerdeck.com/shoichi_hasegawa/rsj23-leveraging-a-large-language-model-and-a-spatial-concept-model-for-action-planning-of-a-daily-life-support-robot
youtube：https://youtu.be/EzMYOqqJyFk


# 紹介動画
論文の紹介動画になります．
提案モデルの概要と実環境でのデモンストレーションです．
<iframe width="640" height="360" src="https://www.youtube.com/embed/EzMYOqqJyFk" title="生活支援ロボットと行動計画のための大規模言語モデルと場所概念モデルの活用 (RSJ2023)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

# 研究背景
ロボットがユーザに支援を行うときに，**ロボットはユーザの言語指示を理解**し，**その場に適した行動を取ること**が重要です．
生活環境でロボットに与えられる**ユーザの言語指示**は，"ダイニングにあるお皿を片づけて"や"キッチンにあるお菓子をボブの部屋に持って行って"などの**物体や場所に関するオープンな語彙**を含み，**多様な形式**であることが想定されます．
これらの指示に対してロボットは，**どの場所に移動**し，**何を発見する必要があるかなど行動を選択**し，タスクを遂行することが望ましい．

ユーザの言語指示に対し，**GPT-4などの大規模言語モデルでロボットの行動計画をする研究が盛ん**に行われています．
具体的な方法として，大規模言語モデルに**言語指示**，物体のリストや場所のリストなどの情報が記載された**現場の知識**，ナビゲーションや物体検出などの**ロボットのスキルセット**をテキストで入力します．
その後，**大規模言語モデルは与えられた言語指示を達成するための行動列を生成できます**．
代表事例として，Google社の[PaLM-SayCan](https://say-can.github.io/)やMicrosoft社の[ChatGPT for Robotics](https://www.microsoft.com/en-us/research/group/autonomous-systems-group-robotics/articles/chatgpt-for-robotics/)があります．

![LLM_planning.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982394/a640ba90-123d-91d6-69bc-1d81f9176e93.png)

しかし，**現場の知識は誰がどうやって記述するのでしょうか？**
[PaLM-SayCan](https://say-can.github.io/)や[ChatGPT for Robotics](https://www.microsoft.com/en-us/research/group/autonomous-systems-group-robotics/articles/chatgpt-for-robotics/)では，**開発者が想定した環境に対して記述していく必要**があります．
例えば，ある環境に対して，
appple, orange, bananaなどがどのくらいの割合でkitchenに存在し，場所はdining, bedroomなどが存在するように，**GPT-4に与えるプロンプトに記述する項目が多い**です．
そのため，**現場の知識を開発者が全て記述するのは負担が大きい**ことが問題として挙げられます．

## 現場環境における知識獲得手法 - 場所概念モデル
次に現場環境でロボットが知識獲得をする手法として，**場所概念モデル[^1][^2][^3]**を紹介します．
場所概念モデルは**ベイズ理論の枠組みに基づく確率的生成モデル**です．


以下は場所概念モデルのグラフィカルモデルを表し，**ロボットの複数のセンサ情報から確率分布のパラメータを学習**します．
モデルの特徴として，**物体名がどの場所の領域で観測されやすいかを推論** (クロスモーダル推論)することができます．

![spco.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982394/40a2ddf5-0adb-b8f0-67fe-a2562fb0a01a.png)

本研究では，**空間のまとまり毎に場所や物体名の分布を持ち，異なるモダリティ間でクロスモーダル推論が可能**なため使用します．

# 研究目的
本研究では，ロボットが現場知識の獲得のために場所概念モデルを用いることで**開発者が知識を記述する負担をなくし**，現場知識を大規模言語モデルに与えると，**物体探索タスクの成功数がどの程度改善するか**を検証します．

# 提案モデル
以下は提案モデル (SpCoRAP)の概要図です．
SpCoRAPは，**場所概念モデルに基づく現場知識の獲得と記述**，**大規模言語モデルによる現場知識を考慮した行動計画**，**動作エンジンによる逐次的な行動実行**の3つから構成されます．

![proposed.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982394/eee94f74-d48d-ba55-1bfc-f975408650db.png)

## 場所概念モデルに基づく現場知識の獲得と記述
次に**現場知識のプロンプトの作成方法**について説明します．
本研究では，場所概念モデルの**クロスモーダル推論を利用**し，現場知識のプロンプトを作成します．
具体的には，**2種類の現場知識のプロンプト**を作成します．

一つ目は，**場所の単語に関するプロンプト**です．
各空間領域にi_tにおける場所に関する単語w_tを右式で計算します．
計算結果に基づき，確率値の高い上位5個の単語を用いて，以下のプロンプトを作成しました．

![prompt1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982394/49ae32ba-4154-1534-8f02-4dc9bdf5b555.png)

二つ目は，_**物体配置に関するプロンプト**です．
各空間領域i_tにおける物体ラベルo_tを以下の式で計算します．
計算結果に基づき，右に示すプロンプトを作成しました．

場所概念モデルの学習で得た確率分布のパラメータを表現するためにこのように作成しました．

![prompt2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982394/392cf8ac-6fa9-3b8a-595a-974d5e735f7d.png)


## 大規模言語モデルによる現場知識を考慮した行動計画

次にGPT-4による行動計画について説明します．
GPT-4に入力するプロンプトは左に示し，**現場知識に関するプロンプト**，**ロボットのスキルセット**，**言語指示**が該当します．
スキルセットはナビゲーション，物体検出，物を置く，物を拾うのスキルに関する説明文が記載されています．

これらのプロンプトをGPT-4に入力し，GPT-4は逐次的に行動を生成します．
これにより，現場知識に基づき行動計画を行うため，探索する部屋数の削減が期待できます．

![LLM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982394/098d59ca-d416-6cf0-6ea0-0d2bdf054e5f.png)


## 動作エンジンによる逐次的な行動実行

最後に，**動作エンジンによる行動実行**について説明します．

GPT-4で生成した行動をロボットの実行させ，
現場環境からのFeedbackを得るために，GPT-4と動作エンジンを接続します．

GPT-4で行動を生成した後，FlexBEと呼ばれる動作エンジンに行動名が入力されます．
**FlexBEには各行動名に対応した動作プログラム**があり，**行動名に応じて実行**されます．

その後，FlexBEはロボットに対して制御命令を送信し，**実行結果をSucceedかFailedの2値でGPT-4返します**．
スキルの失敗パターンは図の通りになります．
GPT-4は実行結果に基づき再度行動を生成し，FlexBEで行動を実行します．
以降これを繰り返します．

![flexebe.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982394/4544e847-41b6-504b-001e-aec22d5f7bc9.png)

# 実験

実験目的は，**場所概念モデルで得た現場知識を大規模言語モデルに用いると，
物体探索における部屋の訪問数やタスクの成功数をどの程度改善可能か検証すること**です．

実験条件の詳細は，論文および発表資料をご参照ください．

*****************************************
実験結果です．評価項目として，二つ使用しました．
- **物体探索時に1部屋の訪問で，対象物を発見できた割合**
- **探索タスク時における部屋の訪問数**

比較手法と比べ，物体を発見できる回数が向上していることが分かります．

これらの結果から，ベースラインは場所概念モデルで得た知識を用いないため，性能が低下したと考察します．

![result.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982394/f2cfd7f9-145a-15f9-dc13-eda846ac0ffb.png)



また実験で観察されたケースとして，2つ確認されました
一つ目は，**ロボットが行動しないケース**です．
"I need you to locate a mug for me."という指示を与えたとき，GPT-4は以下の返答をしました．
**ロボットが曖昧な指示と判断した場合はユーザとインタラクションを取ることで，こういったケースは回避できる**と考えています．

二つ目は，**行動計画が現場知識に沿わないケース**が確認されたことです．
「plastic airplaneが寝室で観測される確率が最も高い」という環境知識が与えられたときに，
ロボットは寝室ではなく，最初にリビングに移動したことを確認しました．

これは**大規模言語モデルによる行動計画に物体の配置分布だけでなく，"plastic"や"airplane"といった一般用語も影響を与えているのではないか**と推察しています．


# おわりに
今回，**大規模言語モデルと場所概念モデルを組み合わせたSpCoRAP** (Spatial Concepts-based Prompts and Sequential Feedback for Large Language Models-based Robot Action Planning)を紹介しました．
実験はシミュレーション環境の実験のみですが，[**youtubeの動画にて実環境でのデモンストレーション**](https://youtu.be/EzMYOqqJyFk)を行っています．
また現在は，別の実験目的のもと，提案モデルの検証を進めています．

それでは皆さん，良いお年を！

[^1]: A. Taniguchi, et.al. “[Improved and scalable online learning of spatial concepts and language models with mapping](https://link.springer.com/article/10.1007/s10514-020-09905-0)”, Autonomous Robots, Vol.44, pp927-946, 2020.

[^2]: S. Hasegawa, et al. “[Inferring Place-Object Relationships by Integrating Probabilistic Logic and Multimodal Spatial Concepts](https://ieeexplore.ieee.org/document/10039318/metrics#metrics)”, SII , pp.1-8, 2023. (Best Paper Award，SIYA-SII23，ロボカップ研究賞)

[^3]: 谷口 彰, エル ハフィ ロトフィ, 萩原 良信, 谷口 忠大, "[記号創発ロボティクスにおける場所概念の形成と応用](https://www.jstage.jst.go.jp/article/isciesci/66/4/66_133/_article/-char/ja/)", システム／制御／情報, 2022, 66 巻, 4 号, p. 133-138.