Dreamer
Dreamer は、latent dynamics model の中で imagined rollout を行い、policy を学習する model-based reinforcement learning agent です。DreamerV3 では、多様な domain に対して同じ hyperparameter で強い性能を示すことを目指しています。
基本 idea
Dreamer は、現実環境で集めた experience から world model を学習し、その world model の latent space 内で future を想像します。Policy は、その imagined future 上で reward を最大化するように更新されます。
World model
Dreamer の world model は、observation を latent state に encode し、action による state transition を予測します。
- Representation model:
- Dynamics model:
- Reward model:
- Continuation model: episode が続くかを予測します。
Latent imagination
Dreamer の核心は、pixel を生成してから policy を学習するのではなく、latent state の中で rollout する点です。
この imagined trajectory 上で reward と value を予測し、actor-critic を更新します。
DreamerV3
DreamerV3 は、Atari、DM Control、Minecraft など多様な domain に対して、同じ algorithm と hyperparameter で動くことを重視した version です。World model、actor、critic の training を安定化するための normalization や discrete latent の設計が使われます。
何が重要か
Dreamer の重要性は、world model が単なる video predictor ではなく、control に使える latent simulator として機能することを示した点です。
数式で見る Dreamer の imagined rollout
Dreamer は、RSSM などの latent dynamics model を学習し、その中で imagined trajectory を生成して actor-critic を学習します。Latent state と action から次 state を予測します。
Imagined rollout における return は次のように書けます。
Actor は、world model 内での expected return を最大化します。
この式の気持ちは、「実環境で毎回 rollout するのではなく、学習済み latent world model の中で未来を想像し、その想像上の reward で policy を改善する」というものです。Dreamer の強みは、画像観測からでも sample-efficient に policy を学びやすい点にあります。
関連ページ
主なソース
- Dreamer: https://arxiv.org/abs/1912.01603
- DreamerV2: https://arxiv.org/abs/2010.02193
- DreamerV3: https://arxiv.org/abs/2301.04104