← 上级:RL-03.算法分类与选型 · 前置:RL-03-09-算法-Actor-Critic · 前置:RL-03-06-算法-DQN
离散动作可用 DQN 的 $\max_{a’} Q(s’,a’)$;连续动作下 $\max$ 在无穷动作上不可行。DDPG、TD3、SAC 用 Actor-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 均内置 SAC、TD3、DDPG。
七、小结
- DDPG = DQN 思想 + 确定性 Actor 连续化。
- TD3 = DDPG + 双 Q + 延迟更新 + 目标平滑。
- SAC = 最大熵 + 随机 Actor + Off-Policy,连续控制强基线。