REINFORCEアルゴリズム

REINFORCEアルゴリズムは、方策勾配法(Policy Gradient Methods)に基づいた代表的な強化学習アルゴリズムです。モンテカルロ法を用いてエピソード全体から得られる報酬に基づいて、確率的方策のパラメータを直接更新する手法です。


1. 基本的なアイデア

REINFORCEは、確率的方策(stochastic policy)πθ(a|s)をパラメータθによって表現し、**期待される累積報酬(return)**を最大化するようにθを更新します。目的関数は次のように定義されます:

J(θ)=Eτπθ[R(τ)]J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta}[R(\tau)]

ここで、

  • τ\tau は軌跡(状態・行動・報酬の系列)、

  • R(τ)R(\tau) はその軌跡に対する累積報酬です。


2. 方策勾配定理(Policy Gradient Theorem)

REINFORCEは、以下の勾配推定を用いてパラメータ更新を行います:

θJ(θ)=Eπθ[t=0T1θlogπθ(atst)Gt]\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta} \left[ \sum_{t=0}^{T-1} \nabla_\theta \log \pi_\theta(a_t | s_t) \cdot G_t \right]

ここで、

  • GtG_t は時刻tt以降の累積報酬(return)(例:Gt=k=tT1γktrkG_t = \sum_{k=t}^{T-1} \gamma^{k-t} r_k)、

  • logπθ(atst)\log \pi_\theta(a_t | s_t) は方策の対数確率、

  • この式は**スコア関数法(Likelihood Ratio Trick)**によって導かれます。


3. アルゴリズムの流れ(エピソードベース)

  1. 方策 πθ(as)\pi_\theta(a|s) に従ってエピソード(軌跡)を生成する。

  2. 各時刻ttにおいて、将来の報酬 GtG_t を計算する。

  3. 勾配 θlogπθ(atst)Gt\nabla_\theta \log \pi_\theta(a_t | s_t) \cdot G_t を計算し、それを使ってパラメータを更新する:

θθ+αθlogπθ(atst)Gt\theta \leftarrow \theta + \alpha \nabla_\theta \log \pi_\theta(a_t | s_t) \cdot G_t

ここで α\alpha は学習率です。


4. 特徴と課題

長所

  • 微分可能な確率的方策があれば適用可能。

  • 方策の表現が柔軟(ニューラルネットワークなども利用可能)。

短所

  • 高い分散(variance):勾配推定のばらつきが大きく、学習が不安定になりやすい。

  • 効率が悪い:モンテカルロ法なので、各エピソードの終了を待つ必要がある。

  • 勾配の情報が粗い:方策の改善方向がノイズに影響されやすい。


5. 改良手法(概要)

REINFORCEアルゴリズムには様々な改良が存在します。特に以下のような技法が分散を低減するために導入されます:

  • **ベースライン(baseline)**の導入:例えば Gtb(st)G_t – b(s_t) によって勾配の分散を下げる。

  • アクター・クリティック法(Actor-Critic):状態価値関数や行動価値関数を近似して、より効率的な学習を行う。


まとめ

REINFORCEは、方策勾配法における基本的なアルゴリズムであり、強化学習において確率的方策を直接最適化する枠組みを提供します。その単純さゆえに理論的にも実装的にも扱いやすい一方、実用的には分散やサンプル効率の問題から改良が必要です。多くの深層強化学習アルゴリズムの基礎にもなっています。

生成日:2025/06/01