Model-Based RL
Model-Based RL は、environment の dynamics や reward を 学習 し、その内部 model を使って planning や policy 改善を行う RL の流派です。Sample 効率に優れ、実環境での試行回数を減らせます。
Model-based の基本構造
学習した world model 内で「想像」によって policy を改善できるため、現実環境での試行が少なくて済みます。
Dyna
Dyna は最も古典的な枠組みです。
- 実環境で 1 step 行動して (s, a, r, s') を得る
- World model を update
- World model 内で複数 step の想像 rollout を行い、Q を update
Dreamer 系
Dreamer は latent dynamics model を使う深層 model-based RL です。
- Pixel 観測を latent state にエンコード
- Latent 空間で dynamics、reward、continuation を予測
- Latent 内で actor-critic を学習
詳細は Dreamer を参照してください。DreamerV3 は同じ hyperparameter で多 domain に動くことが示されました。
MuZero
MuZero は、観測 model を持たず、latent 空間と value / policy / reward だけを学習する planning agent です。Atari、Go、Shogi、Chess を統一的に扱います。
MCTS と組み合わせて planning するのが特徴です。
Model-free との trade-off
| 観点 | Model-free | Model-based |
|---|---|---|
| Sample 効率 | 低い | 高い |
| 計算量 | 軽い | 重い (planning) |
| Model bias | なし | あり (model error) |
| 表現力 | 高い | Model の正確さに依存 |
| 適性 | Game / simulation | Robotics / 高コスト env |
実用では、両者を組み合わせる hybrid (例: MBPO) もよく使われます。
数式で見る model-based RL
Model-based RL は、環境遷移 model と reward model を学習し、その model 内で planning や policy learning を行います。
Planning は、horizon の action sequence を選ぶ最適化として書けます。
この式の気持ちは、「実環境を何度も試す代わりに、学習した model の中で未来を想像し、良さそうな action を選ぶ」というものです。ただし model error は rollout が長くなるほど蓄積するため、uncertainty estimation や short-horizon planning が重要になります。
関連ページ
主なソース
- MuZero: https://arxiv.org/abs/1911.08265
- Dreamer: https://arxiv.org/abs/1912.01603
- DreamerV3: https://arxiv.org/abs/2301.04104
- MBPO: https://arxiv.org/abs/1906.08253