连续控制方法
介绍连续控制方法的基本原理,包括 DDPG、TD3、SAC 等算法的核心思想、优势函数的定义与计算方法
离散动作空间中的 DQN 依赖 max 运算来求解最优动作,该运算不可微。当动作空间连续时,无法直接应用该策略。
DDPG、TD3 和 SAC 通过引入可学习的策略网络(Actor)直接处理连续动作,避免了显式的最大化运算。
DDPG 方法
-
深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)是将确定性策略梯度定理扩展到深度学习领域的方法,用于处理连续控制问题。
-
核心思想:
- 维护两个网络:Actor 网络 产生确定性动作,Critic 网络 评估状态 - 动作对的价值
- Actor 通过最大化 Critic 提供的 Q 值来更新,Critic 通过 TD 误差来更新
- 通过目标网络和经验回放稳定训练
-
确定性策略梯度定理:
-
随机策略梯度:
-
其中 是确定性策略,而非从分布采样,梯度可以直接流经 Critic
-
直观解释:通过链式法则,Q 值关于动作的导数告诉我们 "在当前状态下应该如何改变动作以增加价值",策略网络据此调整其参数
-
-
Critic 的更新:
-
Critic 估计的是状态 - 动作对的价值函数
-
使用 TD 目标(带目标网络 ):
-
其中 和 分别是 Critic 和 Actor 的目标网络参数
-
最小化 TD 误差:
-
-
Actor 的更新:
-
使用确定性策略梯度,沿着 Critic 的梯度方向更新 Actor:
-
或简化为:
-
-
目标网络和缓慢更新:
-
维护一套冻结的目标网络参数 和 ,每隔 步进行软更新:
-
其中 (通常 ),使目标网络平缓变化,提高稳定性
-
-
经验回放:使用重放缓冲区 存储 ,从中随机采样进行训练,打破数据时序相关性
-
DDPG 的特点:
- 优点:适用于连续动作空间,off-policy 学习效率高,通过确定性策略梯度直接优化 Actor
- 缺点:Critic 学习不稳定时容易导致价值高估,确定性策略容易过早收敛到局部最优
TD3 方法
-
双延迟深度确定性策略梯度(Twin Delayed DDPG, TD3)针对 DDPG 的价值高估问题进行了改进
-
DDPG 存在的问题:
- Critic 网络使用单一 Q 网络估计目标值,当网络学习不完美时,往往高估 Q 值
- 这导致 Actor 学习偏向高估的动作,形成恶性循环,最终学到次优策略
-
TD3 的三个关键改进:
-
双 Q 网络(Clipped Double Q):
-
维护两个独立的 Critic 网络 和 ,分别有参数 和
-
取两个网络的最小值作为目标(相比 DDPG 的单网络更保守):
-
其中 , 是策略平滑化噪声
-
通过最小值运算显式地对抗价值高估
-
-
延迟策略更新(Delayed Policy Update):
-
每隔 步才更新一次 Actor,而 Critic 每步都更新
-
Actor 更新的标志是 Critic 已经更新得相对稳定,减少基于不可靠 Critic 反馈的策略更新
-
-
目标策略平滑化(Target Policy Smoothing):
-
在目标 Q 值计算中,动作添加噪声而非硬性选择最优动作:
-
避免 Q 网络在动作空间中的尖峰(sharp peaks),提高泛化能力
-
相当于对目标策略的高斯平滑化近似
-
-
-
损失函数:
-
Critic 损失(每步更新,两个网络):
-
Actor 损失(每 步更新):
-
注意这里使用第一个 Critic 网络;也可平均两个网络
-
-
目标网络更新:与 DDPG 相同,使用软更新
-
TD3 的优势:
- 通过双 Q 网络和最小值运算明确对抗价值高估
- 延迟策略更新让 Actor 基于更稳定的 Critic 反馈进行学习
- 目标策略平滑化提高学习的平稳性和泛化
- 实验证明比 DDPG 获得更稳定、更高的收益
SAC 方法
-
最大熵强化学习(Soft Actor-Critic, SAC)通过在奖励中加入策略熵项,鼓励探索的同时学习鲁棒策略
-
最大熵 RL 的目标:
-
标准 RL 目标:最大化累计折扣奖励
-
最大熵目标:同时最大化奖励和策略的熵,平衡开采和探索
-
其中 是策略的熵, 是温度参数,控制探索与开采的权衡
-
直觉:鼓励策略保持高熵(多样性),避免陷入确定性的次优行为
-
-
Soft Q 函数和贝尔曼方程:
-
定义 Soft Q 函数(包含熵奖励):
-
其中 Soft V 函数为:
-
Soft Bellman 方程:
-
-
SAC 的网络结构和更新规则:
-
SAC 维护三个网络:策略网络 、两个 Q 网络 和 (借鉴 TD3 的双 Q 思想)以及两个对应的目标网络
-
Critic 更新(Q 网络):
-
计算 soft 目标值,使用目标策略网络从下一状态采样动作并计算 V 值:
-
Q 值的 soft TD 目标:
-
最小化 Critic 损失:
-
-
Actor 更新:
-
重参数化技巧(Reparameterization Trick):策略网络输出高斯分布的均值和标准差
-
允许梯度通过采样操作反向传播
-
Actor 目标:最大化 Q 值同时最大化熵
-
或等价地(使用价值函数形式):
-
该形式说明策略向 "Q 加权的 Boltzmann 分布" 靠近
-
-
-
自动温度调整(Automatic Entropy Tuning):
-
温度参数 决定探索程度,固定值往往不适应不同阶段
-
SAC 学习 的对数值 ,使其自动调整
-
设定目标熵 (动作空间维数的负值),目标是平均熵等于目标熵
-
温度损失:
-
梯度迭代使 自动调整,确保策略熵接近目标值
-
-
目标网络更新:与 DDPG/TD3 相同,使用软更新
- SAC 的特点:
- 优点:通过熵正则化提高探索,自动温度调整适应不同任务,双 Q 网络降低价值高估,算法稳定且样本高效
- 缺点:需要维护更多网络(Actor + 双 Q + 温度参数),计算开销相对较大;超参数较多(、初始 、目标熵等)
- 适用场景:对样本效率有高要求,或需要多模态策略的任务