用語集 · 強化学習

ロールアウト

別名:Rollout、バッチ、batch、ホライズン、horizon、反復、イテレーション、iteration

1回の学習更新のための経験を集めるために、現在の方策を環境の中で決まったステップ数だけ動かすことです。

ロールアウトは、PPO のようなオンポリシーのアルゴリズムの「集める」側の半分です。方策(ポリシー)は環境のたくさんのコピーで同時に動き、すべてのステップが記録されます。観測、行動、その確率、報酬、そしてエピソードが終わったかどうかです。

環境1つあたりのステップ数がホライズンです。ロールアウトはエピソードと区切りが揃っている必要はありません。ホライズンに達したときにエピソードがまだ続いていれば、次のロールアウトに持ち越され、残りの価値はクリティックが見積もります(価値関数を参照)。

ロールアウト1回と、その後に続く更新で、学習の1反復になります。

batch size=environments×horizon\text{batch size} = \text{environments} \times \text{horizon}

バッチが大きいほど勾配の推定は安定しますが、1時間あたりの更新回数は減ります。

このプロジェクトでは

52個のワーカープロセスがそれぞれ8個の環境を動かし、ホライズンは256ステップです。したがって1反復で 52×8×256=106,49652 \times 8 \times 256 = 106{,}496 ステップを集めます。シミュレーション時間にして約35分です。このデータを、512のミニバッチで8回のパスの更新に使います。

関連用語

この用語が出てくる記事

← すべての用語