🎯核心定义
SAC (Soft Actor-Critic, 软演员-评论家) 是最大熵离策略 Actor-Critic 算法,目标在累积回报外加入策略熵正则:
📌核心概述
J(π)=Eτ∼π[∑tγt(r(st,at)+αH(π(⋅∣st)))],H(π(⋅∣s))=−Ea∼π[logπ(a∣s)] 📌核心概述
推导链:
1.
软策略评估:熵奖励使 Bellman 目标变为
y=r+γ(Qθ−(s′,a′)−αlogπϕ(a′∣s′)),
a′∼πϕ(价值中减去熵项);Critic 最小化
L(θi)=E[(y−Qθi(s,a))2];
2.
软策略改进:求解
πnew=argmaxπEa∼π[Qπold(s,a)]+αH(π(⋅∣s)),闭式解为
玻尔兹曼策略 π∗(a∣s)∝exp(Q(s,a)/α)(按价值指数的 softmax 采样,温度
α 控制随机性);实践中用重参数化高斯
a=μϕ(s)+σϕ(s)⊙ϵ 可微采样,最小化
J(ϕ)=Eϵ[−Q(s,a~)+αlogπϕ(a~∣s)];
3.
双 Q 取 min:两个 Critic 独立回归同一目标,目标值取
miniQθi−(s′,a′) 抑制 max 高估(比 Double DQN 更直接的离策略解法);
4.
自动温度:把
α 视为约束
H(π)≥Htarget 的对偶变量,损失
J(α)=Ea∼π[−αlogπ(a∣s)−αHtarget],梯度
∇αJ=−E[logπ(a∣s)+Htarget]:实测熵低于目标时
−logπ>Htarget,
∇αJ<0 →
α 增大(加强探索);熵过高则
α 减小。
💡使用场景
连续动作控制(机器人、模拟器)的事实 SOTA 基线;需要随机策略(多峰最优动作)、样本效率要求高的场景。
⚡解决的核心痛点
确定性策略梯度(DDPG/TD3)易陷局部最优、对超参敏感。SAC 的熵正则鼓励探索、天然抗局部最优与多峰动作,离策略 + 回放带来样本效率,双 Q 与自动温度让训练鲁棒,是连续控制领域的默认选择。