TD3 与 SAC:连续控制的现代基线
本文基于模型知识整理(生成时未联网核对),关键结论建议对照 Fujimoto et al. 2018(TD3)与 Haarnoja et al. 2018(SAC)复核。
一句话定义
TD3 给 DDPG 打三针:双 critic 取 min 治高估、目标策略平滑(目标动作加截断噪声)治值函数尖峰、延迟 actor 更新(critic 先收敛)治策略震荡;SAC 则重构目标为最大熵 RL——奖励之外奖励策略的随机性,用学习到的随机策略取代外加噪声,温度系数自动调节探索。两者是当今连续控制的默认基线。
为什么重要
连续控制(机器人、自动驾驶)的 benchmark 榜单长期由 TD3/SAC(及其后继)占据;它们代表价值方法在连续域的成熟形态:不追 max、不外加噪声、把稳定性组件标准化。理解这两个算法,就拿到了"机器人 RL 工程师"岗位的入场券。
前置知识
kp-011(Double Q 治高估)、kp-018(DDPG 四件套)、kp-006(熵与探索)。
核心概念
TD3 三针:
- Clipped Double Q:$y = r + \gamma \min_{i=1,2} Q_{\phi_i'}(s', \tilde a)$——两个 critic 取 min,保守估计压高估(代价:轻微低估,可通过权衡系数 α 缓解)。
- 目标策略平滑:$\tilde a = \mu_{\theta'}(s') + \text{clip}(\epsilon, -c, c)$,ε~N(0,σ²)——把"策略平滑"假设写进目标,防 critic 在动作空间尖峰处被单点利用。
- 延迟策略更新:critic 更新 d 次才更新一次 actor 与目标网络——让策略立足在更准确的 critic 之上。
SAC(Soft Actor-Critic):
- 目标:最大化 $\mathbb{E}\left[\sum_t \gamma^t (r_t + \alpha H[\pi(\cdot|s_t)])\right]$——soft 回报=奖励+温度 α × 策略熵。
- soft Bellman:$Q^{soft}(s,a) = r + \gamma\,\mathbb{E}_{a'\sim\pi}\left[Q^{soft}(s',a') - \alpha\log\pi(a'|s')\right]$——进入下一状态要扣"熵的代价"。
- 双 Q 取 min(承 TD3)+ 随机策略(重参数化采样 tanh-Gaussian)+ 温度自动调节:$\alpha$ 按目标熵(如 $-\dim(\mathcal{A})$)自动升降。
原理与机制
为什么取 min 能治高估:两个独立 critic 的估计噪声近似独立,$\mathbb{E}[\min(Q_1,Q_2)] \le \mathbb{E}[Q_i]$——系统性把目标往下拉,抵消 max 型自举的正偏(kp-011 的 Double 思想深化:从"解耦选择"到"显式取小")。
为什么最大熵是对的先验:多峰任务中多个策略同样好,熵正则让策略保持对所有好模式的覆盖(鲁棒性、易微调);探索内建(熵即探索),且 α 自动调节使探索强度随训练自动衰减——把 kp-006 的探索难题变成一个可微的标量优化。
重参数化技巧:$a = \tanh(\mu_\theta(s) + \sigma_\theta(s)\odot\epsilon),\ \epsilon\sim N(0,I)$——随机性移到与参数无关的 ε,梯度可以穿过采样直接回传到 μ/σ,随机策略因此能像确定性策略一样被"最大化 Q"地训练。
公式或模型
- TD3 actor 损失:$L(\theta) = -\mathbb{E}\left[\min_{i} Q_{\phi_i}(s, \mu_\theta(s))\right]$
- SAC soft 策略损失:$J_\pi(\theta) = \mathbb{E}_{s\sim D, \epsilon\sim N}\left[\alpha\log\pi_\theta(f_\theta(\epsilon;s)|s) - Q_{\phi}(s, f_\theta(\epsilon;s))\right]$
- 温度更新:$J(\alpha) = \mathbb{E}\left[-\alpha\left(\log\pi(a|s) + \bar H\right)\right]$,$\bar H$ 为目标熵。
图示
TD3: y = r + γ·min(Q₁', Q₂')(s', μ_θ'(s')+clip(ε))
actor 每 d 步才更新一次
SAC: soft目标 y = r + γ·E_{a'~π}[ min_i Q_i'(s',a') − α·logπ(a'|s') ]
a = tanh(μ+σ⊙ε) (重参数化)
α 自动调节 → 探索强度自适应
实例或案例
- MuJoCo 排行:SAC/TD3 在样本效率与最终性能上双双压过 DDPG 一个档次;SAC 常以"更少调参"著称(温度自动调节)。
- 机器人真机:SAC 的样本效率改造版(SAC-Lagrangian/离线变体)广泛用于机械臂抓取;其熵正则的鲁棒性在 sim-to-real 中被反复引用。
常见误区
- 误区一:"双 Q 取 min 无代价"。min 引入系统性低估偏差,欠估计在策略改进时可能错过好动作;TD3 论文用 α 权衡系数显式管理这个 tradeoff。
- 误区二:"SAC 的目标熵对所有任务都该取 −dim(A)"。默认值是经验起点;操作空间受限(如安全约束)时目标熵要调低,否则策略过度随机。
- 误区三:"TD3 与 SAC 谁更优有定论"。多数基准 SAC 略稳,但 TD3 在确定性环境/低维动作上常更简更准;按任务与实现资源选。
与其他知识点的关系
- kp-011/018:Double Q 思想的深化与 DDPG 结构的继承。
- kp-006:SAC 把探索内建为熵优化,是探索理论的算法化巅峰。
- kp-012:双 critic+目标平滑+软更新仍是"减三角"组合拳。
- kp-029:两者的默认超参是连续控制调参清单的骨架。
自测题
- 列出 TD3 的三项改进并各配一句机理。
答:双 Q 取 min(压高估的自举正偏)、目标动作加平滑噪声(防 critic 在动作空间尖峰被利用)、延迟 actor 更新(策略建立在更准的 critic 上)。
- 写出 SAC 的 soft 回报并解释 −α log π 项。
答:$Q^{soft}(s,a)=r+\gamma E_{a'\sim\pi}[Q^{soft}(s',a')-\alpha\log\pi(a'|s')]$;熵项是"保持随机性的机会成本",鼓励策略在同等回报下最大化覆盖。
- 重参数化为什么对 SAC 必要?
答:让采样动作对 μ/σ 可微,"最大化 Q"的梯度能穿过随机采样回传,随机策略才可被梯度训练。
延伸阅读
- Fujimoto 等, "Addressing Function Approximation Error in Actor-Critic Methods"(ICML 2018,TD3)。
- Haarnoja 等, "Soft Actor-Critic: Off-Policy Maximum Entropy Deep RL with a Stochastic Actor"(ICML 2018)。
- Spinning Up 的 TD3/SAC 实现(并排对照读)。