モンテカルロ法(強化学習)

Monte Carlo Methods in RL

モンテカルロ法とは

強化学習におけるモンテカルロ法(Monte Carlo Methods)とは、エピソード全体を実行した後、実際に得られたリターン(累積報酬)を用いて価値関数を推定する手法の総称です。エピソードの完了が必要ですが、環境のモデル(遷移確率や報酬関数)を必要としないモデルフリーな手法です。

表:モンテカルロ法(強化学習)の要点まとめ
ひとことで言うとエピソードを最後まで実行し、実際の合計報酬で価値を更新する方法。
何がうれしいか推定に推定を重ねないので、偏りが生じにくい。
注意点終わりのある課題にしか使えず、結果のばらつきが大きい。

モンテカルロ推定の仕組み

モンテカルロ法では、各状態(または状態-行動ペア)について、それが出現したエピソードでの実際のリターンGを記録し、その平均を価値推定とします。初回訪問法(First-Visit)は各エピソードで状態に初めて訪れた時のリターンのみを使い、全訪問法(Every-Visit)はすべての訪問でのリターンを使います。

図:モンテカルロ法の流れ
1最後まで実行1エピソード完走
▶
2実際の合計報酬推定ではなく実測値
▶
3通った状態に反映各状態の価値を更新
▶
4平均を取る何度も実行して平均化
↺ エピソードを何千回もくり返す

バイアスとバリアンス

モンテカルロ法の大きな利点はバイアスがないことです。実際のリターンを使うため、推定値は真の価値に収束します。しかし、リターンのランダム性が大きいためバリアンスは高く、収束に多くのサンプルが必要です。

TD学習との位置づけ

モンテカルロ法はエピソード完了後に一括で更新する「バッチ学習」的な性格を持ちます。対してTD学習は各ステップで逐次更新が可能です。両者を統合したTD(λ)やGAEといった手法が、実用的な強化学習アルゴリズムの基礎となっています。