连续动作空间的值方法
连续动作下 无法枚举。本章介绍 NAF、采样式最大化、以及为什么主流做法是转向 Actor-Critic(DDPG/TD3/SAC 用 actor 近似 argmax)。
问题:max 算不出来
Section titled “问题:max 算不出来”Q-learning 类方法的核心更新是 。离散动作只有几个选择,枚举即可;连续动作(力矩、关节角度)下这个 max 是一个内层优化问题——对每个状态都要解一次"在连续空间里找 的最大值",而 本身是神经网络,没有解析解。
这个内层优化在 Bellman 目标、策略导出()两处都要做,每次训练步都要做无数次,直接求解不可行。
方案一:参数化让 max 有解析解
Section titled “方案一:参数化让 max 有解析解”NAF(Normalized Advantage Functions, Gu et al., 2016)把 参数化成保证 max 可解的形式:
其中 、(正定矩阵)、 都由网络输出。这是二次型, 有解析解 ,。代价是限制了 的函数族——表达力受限,且 的正定性约束需要额外处理。
方案二:采样式最大化
Section titled “方案二:采样式最大化”保持 任意,用采样优化近似 :从当前动作分布(或从上一轮的解)出发采样一批动作、评估、取最优(或用交叉熵方法 CEM 迭代细化)。在 Bellman 目标中每次替换一次内层优化,可行但慢,且引入 max 近似误差——被低估的 max 会让自举目标偏小。
方案三:Actor 近似 argmax(主流)
Section titled “方案三:Actor 近似 argmax(主流)”主流做法是放弃纯值方法,配一个 actor:策略网络 直接输出动作,用 最大化来训练它——actor 的作用正是学习 argmax:
- DDPG/TD3:确定性 actor,,critic 的梯度直接流向 actor(→ DDPG、TD3 与 SAC);
- SAC:随机 actor 配最大熵目标,同样靠 critic 的梯度训练。
这样,训练时的 被替换为"对 actor 参数的梯度上升",一次前向-反向传播即可;执行时不再需要任何内层优化(动作由 actor 直接给出)。
| 方案 | 优点 | 代价 |
|---|---|---|
| NAF | max 解析、无 actor | 函数族受限 |
| 采样式 max | 保留任意 | 慢、引入近似误差 |
| Actor-Critic | 高效、可扩展 | 多一个网络、训练更复杂 |
经验规律:值方法在连续控制中几乎总是配一个 actor。离散化动作空间在低维时可行(把每个关节离散成若干档,动作空间变为乘积,但组合爆炸限制了维数)。第四卷的连续控制部分(→ DDPG、TD3 与 SAC)承接本章。
- 值方法在连续控制中几乎总是配一个 actor
- 离散化动作空间在低维时可行
- 第四卷连续控制部分承接本章