強化学習の困難と解決に向けた研究の方向性〜強化学習と生成系モデルの融合〜

# 背景
昨今大規模言語モデルが話題の中心であるが、深層強化学習の領域も2023年付近から大きな進展を見せている。深層強化学習における困難が実用化の妨げになっていたが、基盤モデルや模倣学習の領域の進展によりそれを乗り越える研究成果が出てきている。今回は、深層強化学習における従来の困難と研究の方向性について説明する。

## そもそも「強化学習」とは？
強化学習の問題設定は、エージェントが行動aを決定し、環境から得る報酬rを最大化する問題設定である。エージェントは、状態sと報酬rを入力に、現在の状態の価値を価値関数で評価したり、行動の選択を方策関数で行ったりする。深層強化学習では、方策関数や価値関数を深層学習で近似的に学習するアプローチである。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/cd757732-2307-cb49-92e3-8b0a5b433e8b.png)


AlphaGoは最も有名な深層強化学習の応用例です。AlphaGoは、18の世界タイトルを獲得していた伝説の囲碁棋士「イ・セドル」と2016年3月に対戦し、AlphaGoが4対1で勝利している。


https://deepmind.google/technologies/alphago/


## なぜ「強化学習」の実用化が進まないのか？
2016年3月に囲碁で人間を超える能力を示したにも関わらず、その後2024年2月時点で「強化学習」の実用的な活用例はそう多くありません。強化学習を社会実装するには次の難しさが存在する。
- 困難1: エージェントの常識の無さ
- 困難2: エージェントの汎用性の低さ
- 困難3: シミュレーターの作成が困難

以降これらの困難の説明と、解決に向けた研究の方向性を紹介する。

# 強化学習における困難とそれぞれへの最新研究の方向性

## 困難1: エージェントの常識の無さ
### 困難
オープンエンドな環境に放り込まれたエージェントは、取りうる選択肢が多すぎて、何をすべきなのか判断できなくなるフレーム問題に陥る。エージェントは、学習の初期において無作為な行動を行い、どのような行動が良いか探索する。一方、人間は生まれてから培われた人間世界における「常識」を踏まえて、良い行動を推定しながら試行錯誤することができる。例えば、レーシングゲームを行う場合、人間は道の上を通ったほうが良いと「常識」的にわかっていますが、強化学習の場合は、レースにかかった時間（報酬）をもとに、何度も試行錯誤して初めて、道の上を通るとスコアが良くなることを理解する。

**フレーム問題**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/ce6e0635-a3c1-bf22-4807-9d2863ad7598.png)

**レースの学習における初回の挙動違い（人間と強化学習）**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/a1d40ac7-4ee8-5ee6-71c2-52f6bbf6bda7.png)

### 解決の方向性：内発的動機の報酬を導入
この問題を解決する研究の方向性として、環境から与えられる報酬を外発的動機とし、対照的な概念として内発的動機(Intrinsic Motivation)を導入する研究がある。Metaが公開した、「Motif: Intrinsic Motivation from Artificial Intelligence Feedback」という研究である。この研究では、大規模言語モデルに良し悪しを判断させ、その判断結果を報酬に組み込むというものである。例えば、「ゴブリンを倒した。」「ドアは閉まっている。」「壁にぶつかっている。」「4ゴールド手に入れた。」と言った状況を報酬が与えられなくても、人間は良し悪し判断できるのと同じである。この手法はフレーム問題を解決する方法としても注目されている。

「Motif: Intrinsic Motivation from Artificial Intelligence Feedback」におけるエージェントのゲームプレイ
![Motif.gif](https://private-user-images.githubusercontent.com/15056362/277776088-2d92344e-7ea8-4c2d-ac70-456077ac0aab.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDkwNDQ1MDksIm5iZiI6MTcwOTA0NDIwOSwicGF0aCI6Ii8xNTA1NjM2Mi8yNzc3NzYwODgtMmQ5MjM0NGUtN2VhOC00YzJkLWFjNzAtNDU2MDc3YWMwYWFiLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAyMjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMjI3VDE0MzAwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUwMDBlNTI4YmIzZGZmNDliYzA2M2QwZDM5YWIzZTUxNTEwOTBjNzQ3MTFjNDA1MzFjZDViNDY1Mjk5ZDk1OGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Y165iyijCst5sR3UmxuI29rqHLc9wi6Usr5jnr0yWFM)

「Motif: Intrinsic Motivation from Artificial Intelligence Feedback」のアーキテクチャ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/cd2cb8c8-ae0c-5d52-32d7-fdf9955987a4.png)

さらに、大規模言語モデルのインコンテクストラーニングの特性を利用して、内発的動機の重みも変更することができる。例えば、大規模言語モデルのプロンプトに、役割を指示すると次のように挙動が変わる。つまり、エージェントの挙動を後から変更できる汎用性も取り込むことができる。

|役割|効果|
|--|--|
|The Gold Collector|ゴールドを多く集める|
|The Decender|最速でダンジョンをクリアする|
|The Monster Slayer|モンスターを多く倒す|

プロンプトのイメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/8e842f42-4902-19b7-c75f-0c532f34431b.png)


プロジェクトページ

https://github.com/facebookresearch/motif


論文

https://arxiv.org/abs/2310.00166


## 困難2: エージェントの汎用性の低さ

### 困難
学習対象の環境が変わった場合、変更に対応することができないため、再度学習し直す必要がある。つまり、深層強化学習は、学習対象の環境に過学習しており、汎用的な性能を示さないことが問題であった。例えば、囲碁において人間を凌駕するエージェントは、オセロをプレイすることはできない。また、仮に囲碁のルールを少し変えてアレンジしたゲームであっても、エージェントの挙動を再学習させる必要がある。

### 解決の方向性：基盤モデルの開発
このような問題に対する解決策としては、強化学習モデルにおける基盤モデルの開発が進んでおります。有名な研究として、Google DeepMindのRT-1,2の研究があります。

17ヶ月にわたって多くの異なるオブジェクトを使った700以上のタスクをカバーする13万エピソードを、実行指示のテキストとセットで収集した。データセットに含まれる高レベルスキルのセットには、アイテムをピッキングして置く、引き出しを開け閉めする、引き出しにアイテムを出し入れする、細長いアイテムを真上に置く、オブジェクトを倒す、ナプキンを引く、瓶を開けるなどが含まれる。

RT-2では、画像、言語、行動の3つのモーダリティーを入出力するような問題設定で学習を行っている。13万エピソードの行動データに加えて、インターネットからかき集めたVQAデータで言語理解と画像の状況理解に関する能力を高めている。

|モデル|入力|出力|データ|
|--|--|--|--|
|RT-1|言語、画像|行動|13万のエピソード|
|RT-2|言語、画像、行動|言語、画像、行動|13万のエピソード、インターネットからかき集めたVQAのデータセット|

RT-1のアーキテクチャ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/fb4d687f-153d-6dd4-8ee1-f6511a796f0a.png)

RT-2のアーキテクチャ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/ef051f4a-ad19-57c0-6f43-e7dd4cdf0088.png)

ただし、RT-1,2は、強化学習の問題設定を取り扱っているものの、アプローチとしては強化学習というよりは、言語と画像を入力としたときの、行動系列の生成であり生成系AIの問題設定である。しかし、これまで強化学習の問題設定として取り扱っていたものに対して汎用性をもたらしていることに変わりはない。

https://blog.research.google/2022/12/rt-1-robotics-transformer-for-real.html

https://deepmind.google/discover/blog/rt-2-new-model-translates-vision-and-language-into-action/


強化学習の問題設定のまま、基盤モデルにチャレンジしている研究として次の研究がある。強化学習におけるエージェントを大規模に、強化学習の問題設定で多様な設定を学習させることで、人間と同じように素早くオープンエンドの新しい3D問題に適応できる、インコンテクストラーニングの特性が強化学習でも得られていることが示されている。興味のある方はこちらをご覧ください。

https://arxiv.org/abs/2301.07608

ただし、個人的には、言語や画像の大規模データの恩恵受けることができる、RT-2のアプローチのほうが汎用性の観点で将来性があると考えている。

## 困難3: シミュレーターの作成が困難
### 困難
深層強化学習を行うには、必ず環境が必要である。環境とは、エージェントからのアクションを受け取り、環境の状態を変更して、報酬を出力するシミュレーターである。将棋で例えると、棋士の一手がアクションで、盤面が状態であり、勝敗が報酬である。ゲームの場合、シミュレーターの作成は容易である。そのこともあり、ゲームをクリアするための強化学習の事例は、多数存在する。しかし、実問題のシミュレーターを構築するのは極めて難しい問題である。特に、報酬の設計は難しい問題である。行動が成功したときにだけ報酬を与える環境の設定であると、初期の無作為な行動の時に、報酬を獲得するまでに多くの時間がかかってしまう。成功に近づく行動に対して報酬を与える必要があるが、それを設計することは極めて困難である。例えば、頂点ピッタリに止まる問題を考える。この時の報酬が、頂点ぴったりに止まった時だけに与えられると、初期の探索時に成功事例が極めて少なく、成功までの特徴を掴むのに時間がかかってしまう。一方、成功に近づいていることを示す報酬を与えると、成功に近づく特徴を掴むことができる。例えば、頂点付近で速度が低いほど高い点数を与えるなどの報酬の設計の方法である。このように、問題設定に対する報酬の設計方法で成功可否が決まる一方で、その設計は極めて難しい問題である。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/a5610482-28e4-37fa-bd64-6213f8e5d1a9.png)


### 解決の方向性：行動生成による模倣学習
模倣学習とは、熟練者の行動と同じような行動を学習することである。強化学習の問題設定でありつつ、教師あり学習の位置付けともなっている。熟練者の行動を真似る教師あり学習なので、シミュレーターを用意する必要がそもそもなくなる。深層学習の領域における模倣学習で最も有名なのが、2016年に論文が投稿されたGAIL(Generative Adversarial Imitation Learning)である。GAN(Genera tive Adversarial Networks)のアーキテクチャにおける学習データを、画像ではなく、熟練者の行動にしたネットワーク構造を持つ。このアーキテクチャでは、GANのアーキテクチャと同様に、偽物を生成するGeneratorと本物・偽物を見極めるDiscriminatorを作成する。Generatorは、熟練者の行動と同じような行動を生成する。また、Discriminatorは、熟練者の行動を見極める役割を担う。この問題設定で学習を進めることで、Generatorから熟練者と同じような行動が生成できるようになる。

**GAIL(Generative Adversarial Imitation Learning)のネットワーク構造**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/b77dcbf6-f95b-5744-277b-948dcde32674.png)

https://arxiv.org/abs/1606.03476

さらに、GANがその後、diffusion modelによって更なるブレークスルーを迎えたように、行動生成にも同様の流れをたどります。Diffusion Policyというコンセプトのアーキテクチャが登場している。

**Diffusion Policy**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/1f320e18-cf91-f131-2467-c6e9f9702de1.png)

https://arxiv.org/abs/2303.04137

それ以外にも、トランスフォーマーのエンコーダーデコーダー構造を用いて行動系列を生成するような提案も登場している。

**Action Chunking with Transformers (ACT)**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/3837dcb2-f643-9351-1d8d-28ce9b21c565.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/861809/9344dca9-db30-324a-8739-158e45a08130.png)

https://arxiv.org/abs/2304.13705


2024年に公開された、模倣学習の最新の研究成果として次のようなものが挙げられる。
2024/01/04: Mobile ALOHA
2024/02/15: Universal Manipulation Interface

模倣学習によって数十回だけ人間的な行動を教えると多少環境が変化しても、汎用的に行動を遂行することができることを示す論文が連続してリリースされた。以下動画を見て分かる通り、料理や皿洗いなど人間には簡単だが、タスク定義の抽象性から機械での実行が難しかったタスクをうまくこなせている。教育コストは数十回の人間での実行のみであり、単純作業における生産性のさらなる向上が期待できる技術である。


Mobile ALOHA ~Learning Bimanual Mobile Manipulation with Low-Cost Whole-Body Teleoperation~
<iframe width="560" height="315" src="https://www.youtube.com/embed/zMNumQ45pJ8?si=8FS_nNyjYMEh0KlZ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

https://mobile-aloha.github.io/


Universal Manipulation Interface ~In-The-Wild Robot Teaching Without In-The-Wild Robots~
<iframe width="560" height="315" src="https://www.youtube.com/embed/ssUCCwt4Ce4?si=EeA_osO0fD644CCj" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

https://umi-gripper.github.io/