跳转到内容

连续动作空间的值方法

连续动作下 max⁡aQ(s,a)\max_a Q(s,a) 无法枚举。本章介绍 NAF、采样式最大化、以及为什么主流做法是转向 Actor-Critic(DDPG/TD3/SAC 用 actor 近似 argmax)。

Q-learning 类方法的核心更新是 max⁡a′Q(s′,a′)\max_{a'} Q(s', a')。离散动作只有几个选择,枚举即可;连续动作(力矩、关节角度)下这个 max 是一个内层优化问题——对每个状态都要解一次"在连续空间里找 QQ 的最大值",而 QQ 本身是神经网络,没有解析解。

这个内层优化在 Bellman 目标、策略导出(arg⁡max⁡\arg\max)两处都要做,每次训练步都要做无数次,直接求解不可行。

NAF(Normalized Advantage Functions, Gu et al., 2016)把 QQ 参数化成保证 max 可解的形式:

Q(s,a)=−12 (a−μ(s))⊤P(s) (a−μ(s))+V(s),Q(s, a) = -\tfrac{1}{2}\,(a - \mu(s))^\top P(s)\,(a - \mu(s)) + V(s),

其中 μ(s)\mu(s)、P(s)P(s)(正定矩阵)、V(s)V(s) 都由网络输出。这是二次型,max⁡a\max_a 有解析解 a∗=μ(s)a^* = \mu(s),Q∗(s)=V(s)Q^*(s) = V(s)。代价是限制了 QQ 的函数族——表达力受限,且 P(s)P(s) 的正定性约束需要额外处理。

保持 QQ 任意,用采样优化近似 max⁡\max:从当前动作分布(或从上一轮的解)出发采样一批动作、评估、取最优(或用交叉熵方法 CEM 迭代细化)。在 Bellman 目标中每次替换一次内层优化,可行但慢,且引入 max 近似误差——被低估的 max 会让自举目标偏小。

方案三:Actor 近似 argmax(主流)

Section titled “方案三:Actor 近似 argmax(主流)”

主流做法是放弃纯值方法,配一个 actor:策略网络 πϕ(s)\pi_\phi(s) 直接输出动作,用 Q(s,πϕ(s))Q(s, \pi_\phi(s)) 最大化来训练它——actor 的作用正是学习 argmax:

  • DDPG/TD3:确定性 actor,∇ϕ Q(s,πϕ(s))\nabla_\phi\, Q(s, \pi_\phi(s)),critic 的梯度直接流向 actor(→ DDPG、TD3 与 SAC);
  • SAC:随机 actor 配最大熵目标,同样靠 critic 的梯度训练。

这样,训练时的 max⁡\max 被替换为"对 actor 参数的梯度上升",一次前向-反向传播即可;执行时不再需要任何内层优化(动作由 actor 直接给出)。

方案优点代价
NAFmax 解析、无 actor函数族受限
采样式 max保留任意 QQ慢、引入近似误差
Actor-Critic高效、可扩展多一个网络、训练更复杂

经验规律:值方法在连续控制中几乎总是配一个 actor。离散化动作空间在低维时可行(把每个关节离散成若干档,动作空间变为乘积,但组合爆炸限制了维数)。第四卷的连续控制部分(→ DDPG、TD3 与 SAC)承接本章。

  • 值方法在连续控制中几乎总是配一个 actor
  • 离散化动作空间在低维时可行
  • 第四卷连续控制部分承接本章