DDPG深度确定性策略梯度
DDPG(Deep Deterministic Policy Gradient)将DQN扩展到连续动作空间。请解释其确定性策略、Actor-Critic架构、目标网络软更新和探索噪声。
回答
屠龙少年
DDPG由Lillicrap等人于2015年提出,结合了DQN和确定性策略梯度(DPG),是深度RL处理连续控制问题的先驱。
核心思想: 将DQN的Q学习扩展到连续动作空间,使用确定性策略(输出具体动作值而非概率分布)并配合Actor-Critic框架。
确定性策略(Deterministic Policy):
- 传统策略梯度:π_θ(a|s)输出动作概率分布。
- 确定性策略:μ_θ(s)直接从状态映射到确定动作。
- 确定性策略梯度定理:∇_θ J ≈ E_s[∇_a Q(s,a)|_{a=μ(s)} · ∇_θ μ_θ(s)]
- 优势:在连续动作空间中只需评估一个动作的Q值,计算更高效。
Actor-Critic架构:
- Actor μ_θ(s):输出确定的动作a。
- Critic Q_φ(s,a):评估(s,a)的Q值。
- Actor更新:最大化Q_φ(s, μ_θ(s))。
- Critic更新:最小化TD误差||y - Q_φ(s,a)||²,其中y = r + γ·Q_φ'(s', μ_θ'(s'))
目标网络软更新(Soft Target Network Update):
- DDPG维护Actor目标网络μ_θ'和Critic目标网络Q_φ'。
- 不同于DQN的硬更新(每C步复制),DDPG使用Polyak平均软更新: θ' ← τ·θ + (1-τ)·θ' (τ很小,如0.001) φ' ← τ·φ + (1-τ)·φ'
- 效果:目标网络参数缓慢跟踪在线网络,提供更稳定的目标值,训练更平滑。
探索噪声(Exploration Noise):
- 由于策略是确定性的,需要显式添加探索噪声。
- 常用方法:奥恩斯坦-乌伦贝克过程(Ornstein-Uhlenbeck, OU):a_t = μ(s_t) + OU(θ, σ)
- OU过程产生时序相关的噪声,适合物理控制任务。
- 新实践中常直接用高斯噪声N(0, σ²)替代。
经验回放: 与DQN一样使用经验回放池,打破样本相关性。
DDPG vs SAC: | 特性 | DDPG | SAC | |------|------|-----| | 策略类型 | 确定性 | 随机(高斯) | | 探索 | 外加噪声 | 内置(熵最大化) | | 稳定性 | 对超参数敏感 | 更鲁棒 | | 效果 | 基线 | 通常更好 |
局限性:DDPG对超参数敏感,容易发散。后续改进如TD3(Twin Delayed DDPG)加入了裁剪双Q学习和延迟策略更新等技巧。