ポリシー勾配法の基礎と実践: REINFORCEからPPO・SACまで、安定な強化学習実装ガイド

はじめに — ポリシー勾配法とは何か

ポリシー勾配法(Policy Gradient Method)は、強化学習(Reinforcement Learning;RL)における代表的な方針(ポリシー)最適化手法の一群です。方針をパラメトリック関数 π_θ(a|s)(θはパラメータ)として直接モデル化し、期待累積報酬 J(θ) を最大化するためにパラメータ θ を勾配上昇(または負の損失を最小化する勾配降下)で更新します。値関数(VやQ)を間接的に最適化する手法(例:Q学習)とは対照的に、ポリシーを直接最適化するため、確率的な方針や連続行動空間に自然に適用できる利点があります。

基本原理(ポリシー勾配定理)

ポリシー勾配法の基礎は「ポリシー勾配定理」にあります。簡単に述べると、目的関数 J(θ) = E_τ[ R(τ) ](τ は軌跡、R(τ) は軌跡の累積報酬)に対する勾配は次で与えられます:

∇_θ J(θ) = E_τ [ ∑_t ∇_θ log π_θ(a_t | s_t) · G_t ]

ここで G_t は時刻 t 以降の割引累積報酬(モンテカルロ推定)です。この式はREINFORCE(Williams, 1992)で示されたもので、方針確率の対数勾配と報酬を掛け合わせた形で期待勾配を求められる点が特徴です。

代表的なアルゴリズム

  • REINFORCE(モンテカルロ ポリシー勾配)
    エピソード単位で軌跡をサンプリングし、各時刻で∇_θ log π_θ(a_t|s_t)に対応する将来報酬G_tを掛けて期待勾配を推定します。実装が簡単ですが分散が大きくサンプル効率が悪いのが欠点です。

  • Actor-Critic
    方針(Actor)と価値関数(Critic)を同時に学習します。Critic が状態価値 V(s) や行動価値 Q(s,a) を近似し、それを用いることで勾配推定の分散を下げます。一般にオンポリシーのACやオフポリシーの変種(例:DDPG)があります。

  • Deterministic Policy Gradient(DPG / DDPG)
    連続行動空間で確率方針よりも決定的方針 μ_θ(s) を使う手法。勾配は ∇_θ J(θ) = E_s[ ∇_θ μ_θ(s) · ∇_a Q^μ(s,a) |_{a=μ_θ(s)} ] の形で得られます。DDPG(Deep DPG)は経験再生やターゲットネットワークを組み合わせたオフポリシーの実装です。

  • TRPO / PPO
    ポリシー更新の安定化を狙った手法。TRPO(Trust Region Policy Optimization)はKLダイバージェンスによる制約下で最適化を行い、PPO(Proximal Policy Optimization)はクリップなどの近似手法で同様の安定性を得ることで実用性が高く人気があります。

分散の問題と基準(Baseline)

モンテカルロ推定に基づくポリシー勾配は分散が大きく学習が不安定になりやすいです。これを抑えるために「基準(baseline)」を導入します。基準 b(s_t) を使うと勾配の期待値は変わらず、分散だけが削減されます:

∇_θ J(θ) = E[ ∑_t ∇_θ log π_θ(a_t|s_t) (G_t - b(s_t)) ]

代表例として b(s)=V_φ(s)(価値関数の推定値)を使うと、G_t - V_φ(s_t) は「優位度(advantage)」A(s_t,a_t) の推定となり、多くのアルゴリズム(A2C、GAEを用いたPPO等)で利用されます。

Advantage と GAE(Generalized Advantage Estimation)

Advantage A(s,a) はその行動が平均よりどれだけ良かったかを示します。Generalized Advantage Estimation(GAE、Schulman et al.)はバイアス・分散のトレードオフを調整する手法で、TD誤差をλで重み付けして優位度を推定します。GAE を使うと、オンポリシーのサンプル効率と更新の安定性が改善します。

エントロピー正則化と探索

方針勾配法では探索(exploration)が重要です。確率方針にエントロピー項を導入して目的関数に正則化を加えることで、方針が早期に収束してしまうのを防ぎ、探索性を維持できます。損失に −β H(π(·|s)) を追加するのが一般的で、β は調整パラメータです。

オンポリシー vs オフポリシー

  • オンポリシー:現在の方針でサンプルを集め、そのサンプルで方針を更新(例:REINFORCE、A2C、PPO)。サンプルの偏りが少ない一方、サンプル効率は低め。

  • オフポリシー:過去の経験や別方針のサンプルを再利用して更新(例:DDPG、SAC、Q-learning 系)。サンプル効率は高いが、方針・行動分布の違いを補正する技術(重要度サンプリング等)が必要になる場合があります。

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

  • 学習率:方針(Actor)と価値(Critic)で別々に設定することが多い。過大な学習率は不安定化を招く。

  • バッチサイズ / エポック数:オンポリシー手法では大きめのミニバッチで勾配推定のノイズを抑える。PPOでは1回のデータ収集で複数回のミニバッチ更新を行うことが多い。

  • 報酬スケーリング / 正規化:報酬を正規化したり、Advantageを標準化することで学習の安定性が向上する。

  • 勾配クリッピング / 正則化:勾配爆発防止や過学習対策として有効。

  • ターゲットネットワーク / 経験再生(オフポリシー): DDPG/SACでは重要。相互の更新の悪循環を緩和する。

長所と短所(実用上の観点)

  • 長所:確率方針を直接学習でき、連続行動空間や方策のパラメータ化(ニューラルネットワーク等)に適している。探索方針と最適化を明示的に扱える。

  • 短所:サンプル効率が低く、分散が大きい(ただしActor-CriticやGAEで改善)。局所最適に陥りやすい。大規模な環境では計算コストがかかる。

発展と実用的手法

近年の実用的アプローチは、PPOやSAC(Soft Actor-Critic)などの安定かつサンプル効率の高い手法が主流です。PPOはオンポリシーで安定した更新を提供し、SACはエントロピー最大化を組み込んだオフポリシー手法で連続制御タスクに強い傾向があります。さらに、分散学習やシミュレータ並列化、ドメインランダマイゼーションなどと組み合わせることで現実問題への適用性が高まります。

実際に使うときのチェックリスト

  • 目的(オフライン再利用が必要か、リアルタイム学習か)を明確にする
  • 行動空間が連続か離散かで手法を選択する(連続はDDPG/SAC/PPO、離散はA2C/PPO等)
  • 分散低減のために基準(価値関数)やGAEを導入する
  • エントロピー正則化や報酬正規化を試す
  • 学習率やバッチサイズをチューニングし、学習曲線を監視する

まとめ

ポリシー勾配法は、方針を直接最適化する強力で柔軟な手法群です。基本的なREINFORCEからActor-Critic、Deterministic PG、TRPO/PPO といった発展系まで多くのバリエーションがあり、用途や環境特性に応じて使い分けられます。一方でサンプル効率や分散の問題、安定性の課題があるため、実装では基準の導入、GAE、エントロピー正則化、適切な学習率設定など複数の工夫が求められます。最新の研究・実装(PPO、SAC等)は実務でも広く使われており、まずはこれらのアルゴリズムを理解し小さな問題で試すことをお勧めします。

参考文献