Deep Deterministic Policy Gradient(DDPG)

Deep Deterministic Policy Gradient(DDPG)」は、**連続行動空間(continuous action space)を持つ環境において有効な、オフポリシー型のアクター・クリティック手法です。これは、強化学習アルゴリズムであるDeep Q-Network(DQN)Deterministic Policy Gradient(DPG)**を統合・発展させたアルゴリズムで、DeepMindによって2015年に提案されました。


概要

  • 目的:離散ではなく連続的な行動選択問題(例:ロボットの関節角制御など)に対して、安定して学習可能なアルゴリズムを提供する。

  • 方式:アクター・クリティック構造(Actor-Critic architecture)を採用し、**アクター(方策関数)クリティック(価値関数)**を別々のニューラルネットワークで表現する。

  • 決定論的ポリシー:確率的ではなく、状態に対して1つの特定の行動を出力する方策。


主な構成要素

1. アクターネットワーク(Actor Network)

  • 状態 s を入力として、行動 a = μ(s|θ^μ) を出力。

  • 方策関数の役割を担い、行動を決定する。

2. クリティックネットワーク(Critic Network)

  • 状態 s と行動 a のペアを入力として、Q値 Q(s, a|θ^Q) を出力。

  • アクターを評価する価値関数の役割を担う。

3. ターゲットネットワーク(Target Networks)

  • 安定した学習のため、アクターとクリティックのコピーを別途保持し、学習中に**ゆっくり更新(Polyak平均)**する。

  • μ'Q' がターゲットアクターとターゲットクリティックを表す。

4. リプレイバッファ(Experience Replay Buffer)

  • 過去の経験 (s, a, r, s') を蓄積し、ランダムにサンプリングして学習に利用。

  • 経験の相関を減らし、学習の安定性を向上させる。


アルゴリズムの流れ(概要)

  1. 環境から初期状態 s を取得。

  2. アクターネットワークを用いて行動 a = μ(s|θ^μ) + ノイズ を選択(探索のためにノイズを加える)。

  3. 行動 a を環境に適用し、報酬 r と次状態 s' を観測。

  4. 経験 (s, a, r, s') をリプレイバッファに格納。

  5. リプレイバッファからミニバッチをサンプリングし、以下を実行:

    • ターゲットQ値の計算:

      ini
      y = r + γ * Q'(s', μ'(s'|θ^μ') | θ^Q')
    • クリティックネットワークの損失関数:

      ini
      L = (Q(s, a|θ^Q) - y)^2

      で最小化。

    • アクターネットワークの勾配を計算:

      csharp
      ∇_θ^μ J ≈ ∇_a Q(s, a|θ^Q) | a=μ(s) * ∇_θ^μ μ(s|θ^μ)
  6. ターゲットネットワークを徐々に更新:

    bash
    θ' ← τ * θ + (1 - τ) * θ'

特徴と利点

  • 連続行動空間に適用可能。

  • ターゲットネットワークとリプレイバッファの導入により、学習の安定性が高い。

  • オフポリシー学習であるため、より効率的なデータ利用が可能。


注意点と課題

  • ノイズ戦略(探索行動)の設計が性能に大きく影響する(例:Ornstein–Uhlenbeckノイズなど)。

  • ハイパーパラメータの調整が難しい。

  • 学習が不安定になることもあり、より改良されたアルゴリズム(例:TD3)が登場している。


関連アルゴリズム

  • Twin Delayed DDPG(TD3):DDPGの改良版で、過推定バイアスの緩和などを目的とする。

  • Soft Actor-Critic(SAC):確率的ポリシーとエントロピー正則化を用いた高性能な手法。


参考文献

  • Lillicrap, T. P., et al. (2015). “Continuous control with deep reinforcement learning“. arXiv preprint arXiv:1509.02971

生成日:2025/06/01