DDPG 算法直觉
DDPG 是一种面向连续动作空间的 off-policy Actor-Critic 算法,它将确定性策略梯度与 DQN 的经验回放、目标网络等稳定训练机制结合,使智能体能够直接学习连续控制任务中的动作策略。
DDPG 算法类型
off-policy
DDPG 的 Actor 是确定性策略 \(μ(s)\),实际训练中采样时需要添加噪声 \(a_t=μ(s_t∣θ^μ)+N_t\);而学习/优化的目标策略则是 \(μ(s)\)。产生数据的策略和被优化的目标策略不同,所以 DDPG 是 off-policy
deterministic policy
DDPG 直接学“在这个状态下应该输出什么动作”,Actor 直接输出一个具体动作 \(a=μ(s∣θ^μ)\)。理论基础来自 Silver et al. 2014 的 Deterministic Policy Gradient
算法直觉
DDPG基于 AC 框架维护四个网络,一组 online network 与 一组 target network:

Actor 负责解决连续动作选择,Critic 负责价值评估;target Actor + target Critic 负责提供稳定的 TD target。
原因:如果都用当前 online 网络,target 会随着 Actor 和 Critic 每次更新一起剧烈变化,训练容易震荡或发散。
1. 收集 replay buffer
在线 Actor 网络通过环境状态直接输出基于确定性策略的动作,添加噪声以保证探索:
环境执行动作,收集 \(r_t, s_{t+1}\),把 transition 存入 replay buffer:
2. 从 buffer 中采样 batch
3. 构造 TD target

基于每一条 transition,Target Actor 负责计算出下一个动作(不需要探索):
通过 Target Critic 评估下一步状态:
基于 Bellman 方程计算 target (Advantage):
4. 优化
在线网络 (梯度更新)
Actor 输出:
Critic 评价这个动作:
Online Critic 优化目标是接近 \(y_i\),基于以上得到的 target,进行 MSE 优化:
Critic 的更新就是普通的均方误差反向传播:
Online Actor 优化目标是输出的动作,使 Critic 给出的 Q 值尽量大:
实际训练中通常写成最小化 loss:
目标网络 (soft update)
主网络负责快速学习,target network 负责提供相对稳定的学习目标。target critic 和 target actor 不参与梯度更新,只从主网络慢慢复制:
其中 \(\tau\)很小,比如 0.001。
算法流程图(图源chatgpt)

引用
- Lillicrap, T.P., Hunt, J.J., Pritzel, A., Heess, N., Erez, T., Tassa, Y., Silver, D. and Wierstra, D. (2016) ‘Continuous control with deep reinforcement learning’, International Conference on Learning Representations (ICLR). Available at: arXiv:1509.02971.
