RL-03-12-算法-DDPG-TD3-SAC

← 上级:RL-03.算法分类与选型 · 前置:RL-03-09-算法-Actor-Critic · 前置:RL-03-06-算法-DQN

离散动作可用 DQN 的 $\max_{a’} Q(s’,a’)$;连续动作下 $\max$ 在无穷动作上不可行。DDPGTD3SACActor-Critic + 经验回放,面向 MuJoCo 等连续控制基准。


一、DDPG(Deep Deterministic Policy Gradient)

思想:Actor 输出确定性动作 $a = \mu_\theta(s)$;Critic 学 $Q_\phi(s,a)$;Off-Policy + Replay + 目标网络(扩展 DQN 到连续)。

Critic 更新

$$
y = r + \gamma Q_{\bar{\phi}}(s’, \mu_{\bar{\theta}}(s’))
$$

$$
\mathcal{L}Q = \mathbb{E}\left[ (Q\phi(s,a) - y)^2 \right]
$$

Actor 更新

$$
\nabla_\theta J \approx \mathbb{E}\left[ \nabla_a Q_\phi(s,a)|{a=\mu\theta(s)} \nabla_\theta \mu_\theta(s) \right]
$$

最大化 Q,通过链式法则对 Actor 求导。

探索

确定性策略 + 动作空间加噪声(如 Ornstein-Uhlenbeck 或高斯)。

问题 说明
Q 过估计 → TD3 双 Critic
目标抖动 → 目标策略平滑

二、TD3(Twin Delayed DDPG)

Fujimoto et al., 2018 三项改进:

技巧 做法
Clipped Double Q 两个 $Q_{\phi_1}, Q_{\phi_2}$,目标取 $\min(Q_1, Q_2)$
Delayed Policy Update Critic 更新 $d$ 次才更新 Actor 1 次
Target Policy Smoothing 目标动作加裁剪噪声 $\tilde{a} = \mu_{\bar{\theta}}(s’) + \text{clip}(\mathcal{N}, -c, c)$

目标:

$$
y = r + \gamma \min_{i=1,2} Q_{\bar{\phi}_i}(s’, \tilde{a})
$$

TD3 常比 DDPG 更稳,MuJoCo 默认强基线之一。


三、SAC(Soft Actor-Critic)

最大熵 RL:最大化回报的同时最大化策略熵,鼓励探索:

$$
J(\pi) = \mathbb{E}\left[ \sum_t r_t + \alpha \mathcal{H}(\pi(\cdot|s_t)) \right]
$$

特点 说明
随机策略 $\pi_\theta(a
双 Q 同 TD3,减过估计
自动温度 $\alpha$ 可学习,平衡探索与利用
Off-Policy Replay + 重参数化梯度

Soft Q 目标含熵项;Actor 最大化 $Q(s,a) - \alpha \log \pi(a|s)$。

样本效率通常优于 PPO(连续任务),但实现与调参略复杂。


四、三者对比

DDPG TD3 SAC
策略 确定性 确定性 随机
Critic 单 Q 双 Q 双 Q
探索 外部噪声 目标平滑 + 噪声 熵 + 随机策略
稳定性 一般 较好 较好
样本效率 较高

五、超参数(MuJoCo 量级)

超参 SAC/TD3 典型
Replay $10^6$
Batch 256
$\gamma$ 0.99
学习率 3e-4(Actor/Critic 分开)
软更新 $\tau$ 0.005
SAC 初始 $\alpha$ 0.2 或 auto

六、选型

场景 推荐
快速离散/连续原型 PPO
连续控制、要样本效率 SAC 或 TD3
理解连续 Q 梯度 先读 DDPG 再 TD3

工具:RL-06 Stable-Baselines3 均内置 SACTD3DDPG


七、小结

  • DDPG = DQN 思想 + 确定性 Actor 连续化。
  • TD3 = DDPG + 双 Q + 延迟更新 + 目标平滑。
  • SAC = 最大熵 + 随机 Actor + Off-Policy,连续控制强基线。
-------------本文结束感谢您的阅读-------------