Skip to main content

Model-Based RL

Model-Based RL は、environment の dynamics P(ss,a)P(s' \mid s, a) や reward R(s,a)R(s, a)学習 し、その内部 model を使って planning や policy 改善を行う RL の流派です。Sample 効率に優れ、実環境での試行回数を減らせます。

Model-based の基本構造

学習した world model 内で「想像」によって policy を改善できるため、現実環境での試行が少なくて済みます。

Dyna

Dyna は最も古典的な枠組みです。

  1. 実環境で 1 step 行動して (s, a, r, s') を得る
  2. World model を update
  3. 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-freeModel-based
Sample 効率低い高い
計算量軽い重い (planning)
Model biasなしあり (model error)
表現力高いModel の正確さに依存
適性Game / simulationRobotics / 高コスト env

実用では、両者を組み合わせる hybrid (例: MBPO) もよく使われます。

数式で見る model-based RL

Model-based RL は、環境遷移 model pθ(st+1st,at)p_\theta(s_{t+1}\mid s_t,a_t) と reward model rθ(st,at)r_\theta(s_t,a_t) を学習し、その model 内で planning や policy learning を行います。

s^t+1pθ(st,at),r^t=rθ(st,at)\hat{s}_{t+1}\sim p_\theta(\cdot\mid s_t,a_t), \qquad \hat{r}_t=r_\theta(s_t,a_t)

Planning は、horizon HH の action sequence を選ぶ最適化として書けます。

a^t:t+H=argmaxat:t+HE[k=0Hγkr^t+k]\hat{a}_{t:t+H}= \arg\max_{a_{t:t+H}} \mathbb{E}\left[\sum_{k=0}^{H}\gamma^k\hat{r}_{t+k}\right]

この式の気持ちは、「実環境を何度も試す代わりに、学習した model の中で未来を想像し、良さそうな action を選ぶ」というものです。ただし model error は rollout が長くなるほど蓄積するため、uncertainty estimation や short-horizon planning が重要になります。

関連ページ

主なソース