方策勾配法を徹底解説:REINFORCE・GAE・PPO・SACまで実務で使える実装ガイド

方策勾配法とは — 概要

方策勾配法(ほうさくこうばいほう、policy gradient methods)は、強化学習において「方策(policy)」を直接パラメータ化し、そのパラメータを目的関数(期待される累積報酬)を最大化する方向へ勾配上昇で更新する一連の手法群です。値関数を主に学習して間接的に方策を得る価値反復型手法(例:Q学習)とは異なり、方策のパラメータ θ を直接更新するため、確率的方策や連続行動空間に自然に適用できる利点があります。

数学的定式化

通常の設定で、方策 πθ(a|s) は状態 s において行動 a をとる確率(確率方策)としてパラメータ θ で表されます。目的関数 J(θ) は初期状態分布における期待割引累積報酬(もしくはエピソード報酬)で定義されます。

割引率 γ ∈ [0,1) を用いたエピソードの期待値を考えると、代表的な式は次のようになります:

J(θ) = E_{τ∼πθ}[∑_{t=0}^∞ γ^t r_t]

方策勾配法の中心となる「方策勾配定理」は、次のように表されます:

∇_θ J(θ) = E_{πθ} [ ∑_{t=0}^∞ ∇_θ log πθ(a_t|s_t) · Q^{πθ}(s_t, a_t) ]

ここで Q^{πθ}(s,a) は方策 πθ に従ったときの行動価値関数です。実装上は Q をモンテカルロの累積報酬や推定されたアドバンテージ(advantage)で代用します。

REINFORCE(モンテカルロ方策勾配)

REINFORCE(Williams, 1992)は方策勾配法の古典的手法で、各エピソードの累積報酬 G_t を Q の推定として用い、単純なモンテカルロ推定で勾配を計算します。更新式は概念的に次のようになります:

θ ← θ + α · ∑_t ∇_θ log πθ(a_t|s_t) · G_t

長所:実装が簡単で理論的にも単純。短所:分散が大きく、サンプル効率が悪い。

バイアスと分散の扱い(baseline とアドバンテージ、GAE)

  • baseline の導入:任意の状態依存の基準関数 b(s) を差し引いても期待値は変わらないため、∇θ J = E[∑ ∇θ log πθ(a_t|s_t) (G_t - b(s_t))] として分散を下げられます。典型的には b(s) = V^{π}(s)(状態価値関数)を用います。
  • アドバンテージ:A^{π}(s,a) = Q^{π}(s,a) - V^{π}(s) を用いると、行動が平均より良かったかどうかを表現でき、更新の効率が上がります。
  • GAE(Generalized Advantage Estimation):Schulmanらによる手法で、複数の時刻差分(TD)残差を指数平均してバイアス・分散のトレードオフを調整します。実務でよく使われます。

Actor-Critic 法

Actor-Critic は「Actor」(方策ネットワーク)と「Critic」(価値ネットワーク)の二つを同時に学習する枠組みです。Critic が V または Q を近似し、Actor はその評価に基づき方策を更新します。モンテカルロの高分散を避けつつ、ブートストラップによるサンプル効率向上が期待できます。

代表的な変種には A2C/A3C(同期/非同期アクタクリティック)、PPO(後述の近似トラスト領域手法を使った Actor-Critic)などがあります。

自然勾配・TRPO・PPO

  • 自然勾配(Natural Policy Gradient):パラメータ空間のユークリッド距離ではなく、方策の確率分布の近さ(Fisher情報行列)で測ることで更新が安定しやすくなります。
  • TRPO(Trust Region Policy Optimization):Schulmanらが提案。方策更新で KL ダイバージェンスの上限を設け、更新ごとに方策の変化を抑えることで性能の急落を防ぎます(理論的保証あり)。
  • PPO(Proximal Policy Optimization):TRPO の実装複雑さを緩和するための近似手法で、クリッピングやペナルティによる安定化を行います。実務で非常によく使われる手法です。

連続行動・決定論的方策勾配

連続空間では確率方策(ガウス分布など)を直接用いるのが一般的ですが、決定論的方策(deterministic policy)を用いることでサンプル効率を改善できる場合があります。代表的な手法に DPG(Deterministic Policy Gradient)や DDPG、TD3、SAC(最大エントロピー原理を取り入れたStochastic Actor-Critic)などがあります。SAC は探索性を保ったままオフポリシーで高いサンプル効率を実現しており、実環境での応用が増えています。

実装上の注意点とハイパーパラメータ

  • 報酬の正規化や観測の標準化は学習安定化に有効。
  • 学習率(Actor / Critic の別々の学習率)、割引率 γ、GAE の λ、エントロピー係数、クリッピング係数(PPO)などが重要で、タスクごとに調整が必要。
  • 分散削減のためにバッチサイズを大きくしたり複数のワーカーでデータを集める(A2C/A3C)手法が有効。
  • 関数近似(ニューラルネット)とブートストラップを併用すると発散することがあるため、正則化やターゲットネットワーク、経験再生などの工夫が必要。

長所・短所と理論的性質

  • 長所:確率方策に自然に対応、連続行動や部分観測環境にも適用しやすい、方策の直接最適化でノイズに強い。
  • 短所:モンテカルロ推定は分散が大きい、サンプル効率が悪くなることがある、局所最適に陥りやすい、関数近似と併用したときに不安定になる可能性。
  • 理論:適切な条件下で方策勾配法は局所最適に収束するという保証がありますが、実践では設計とチューニングが重要です。

応用例

  • ロボット制御(連続トルク制御や歩行制御)
  • ゲーム(囲碁・チェスの強化学習やビデオゲームのプレイ)
  • 自律走行や最適化制御、広告やトレーディングなどのシーケンシャル意思決定

まとめと実務的アドバイス

方策勾配法は、強化学習における非常に重要かつ実用的なアプローチであり、特に連続行動や確率方策が望まれるタスクで力を発揮します。一方でサンプル効率や分散問題が課題となるため、Actor-Critic、GAE、PPO、SAC などの現代的手法を組み合わせて実装するのが一般的です。実装では報酬・観測の正規化、適切なバッチサイズ、学習率の調整、エントロピー正則化などの細かな工夫が性能を大きく左右します。

参考文献