DDPG(Deep Deterministic Policy Gradient) - Shinichi0713/RL-study GitHub Wiki
概要
DDPGは連続行動空間を制御するための強化学習アルゴリズムです。 Actor-Criticなフレームワークで行動価値と方策を学習します。 ですが、方策勾配法を用いないという、変わった手法で学習を行います。 DPGに深層学習を適用した手法です。
論文原文:Deterministic Policy Gradient Algorithms
従来技術との比較
方策勾配法では方策の出力は、エージェントが行動する確率です。 連続行動空間では、これを確率分布に拡張することで、連続値を実現していた。 DPGでは確率分布ではなく直接値を出力します。 ということで確率的な方策ではなく、決定論的な方策ということになります。
更新式の違い
Q学習の更新式
Q学習では、行動価値関数 ( Q(s_t, a_t) ) を次のように最大化します:
[ Q(s_t, a_t) = \mathbb{E}{s{t+1}}\left[ r(s_t) + \gamma \max_{a_{t+1}} Q(s_{t+1}, a_{t+1}) \right] ]
- (\mathbb{E}{s{t+1}}):次状態 ( s_{t+1} ) に対する期待値
- (\max_{a_{t+1}} Q(s_{t+1}, a_{t+1})):次に取りうるアクションの中で最大の行動価値
DPG(Deterministic Policy Gradient)での近似
DPGでは、アクションがノンポリシー(決定論的方策)( a = \mu(s) ) となるため、
Q値の最大化部分は次のように近似されます:
[ \max_{a} Q(s, a) \approx Q(s, \mu(s)) ]
DDPGのモデル
Actor-Criticモデルなので、別々のモデルが存在します。
- Actor: 状態からアクションを出力
- Critc: 状態とアクションを入力→行動価値関数を出力
この手法の意図
DDPG(Deep Deterministic Policy Gradient)は、
連続アクション空間を持つ強化学習タスクにおいて高次元かつ非線形な制御問題に対応するために考案された手法です。
1. 背景
- 従来のQ学習やDQN(Deep Q-Network)は離散アクション空間にしか対応できません。
- しかし、ロボット制御や自動運転などの現実世界の多くの問題は連続アクション空間を持っています。
- 連続アクション空間では「maxQ(s, a)」の最大値を厳密に求めることが困難です。
2. 目的
- 連続アクション空間における強化学習を、深層学習(ニューラルネットワーク)を使って実現すること。
- DQNのような「経験再生(Replay Buffer)」や「ターゲットネットワーク」などの安定化手法を活かしつつ、
決定論的な方策(Actor)と価値関数(Critic)の組み合わせで効率的に学習すること。
3. 主な特徴
- Actor-Criticアーキテクチャ:
- Actorが「行動(アクション)」を出力
- Criticが「行動価値(Q値)」を評価
- **決定論的方策勾配法(Deterministic Policy Gradient)**のアイデアを採用
- 経験再生やターゲットネットワークなどDQNの安定化手法を継承
- 連続制御問題に適用可能
まとめ
DDPGは「連続アクション空間の高次元・非線形な強化学習問題を、深層学習を活用して効率的かつ安定的に解く」ことを目的として考案された手法です。