第4部分:SAC Actor Loss完整推导——Soft Policy Iteration、KL散度、Reparameterization Trick与Tanh Gaussian Policy上一部分完成了 SAC Critic 的数学推导:Q(st,at)=rt+γE[Q(st+1,at+1)−αlogπ(at+1∣st+1)]Q(s_t,a_t)=r_t+\gamma E[Q(s_{t+1},a_{t+1})-\alpha\log\pi(a_{t+1}|s_{t+1})]Q(st,at)=rt+γE[Q(st+1,at+1)−αlogπ(at+1∣st+1)]得到:SoftBellmanEquation\text{Soft Bellman Equation}SoftBellmanEquation以及:LQ=12(Qϕ(s,a)−y)2L_Q=\frac12(Q_\phi(s,a)-y)^2LQ=21(Qϕ(s,a)−y)2但是还有一个核心问题:Critic 已经学习了动作价值,那么 Actor 如何根据 Q 函数更新策略?也就是:为什么 SAC 的 Actor Loss 是:Lπ(θ)=Es∼D,a∼πθ[αlogπθ(a∣s)−Qϕ(s,a)]L_\pi(\theta)=E_{s\sim D,a\sim\pi_\theta}[\alpha\log\pi_\theta(a|s)-Q_\phi(s,a)]Lπ(θ)=Es∼D,a∼πθ[αlogπθ(a∣s)−Qϕ(s,a)]本部分完整推导这个公式。48. 从Policy Improvement理解SAC Actor更新强化学习中的经典思想:Policy Iteration包含两个过程:渲染错误:Mermaid 渲染失败: Parse error on line 7: ...aluation -- Q[估计 Qπ(s,a)]Q -- Improv -----------------------^ Expecting 'SQE', 'DOUBLECIRCLEEND', 'PE', '-)', 'STADIUMEND', 'SUBROUTINEEND', 'PIPE', 'CYLINDEREND', 'DIAMOND_STOP', 'TAGEND', 'TRAPEND', 'INVTRAPEND', 'UNICODE_TEXT', 'TEXT', 'TAGSTART', got 'PS'48.1 Policy Evaluation目标:给定策略:π\piπ计算:Qπ(s,a)Q^\pi(s,a)Qπ(s,a)即:当前策略执行动作后的长期收益。48.2 Policy Improvement传统强化学习:选择最大Q动作:π′(a∣s)=argmaxaQπ(s,a)\pi'(a|s)=argmax_aQ^\pi(s,a)π′(a∣s)=argmaxaQπ(s,a)即:哪个动作价值最高,就选择哪个。49. 为什么SAC不能直接argmax Q?对于离散动作:例如:a∈{ a1,a2,a3}a\in\{a_1,a_2,a_3\}a∈{a1,a2,a3}可以计算:Q(s,a1) Q(s,a_1)Q(s,a1)Q(s,a2) Q(s,a_2)Q(s,a2)Q(s,a3) Q(s,a_3)Q(s,a3)然后:argmaxaQ(s,a) argmax_aQ(s,a)argmaxaQ(s,a)但是连续动作:例如机械臂:a=[a1,a2,...,an]a=[a_1,a_2,...,a_n]a=[a1,a2,...,an]动作空间:a∈Rna\in R^na∈Rn动作数量无限。无法计算:argmaxaQ(s,a)argmax_aQ(s,a)argmaxaQ(s,a)DDPG解决:学习一个确定性Actor:a=μθ(s)a=\mu_\theta(s)a=μθ(s)直接近似:argmaxaQ(s,a)argmax_aQ(s,a)argmaxaQ(s,a)SAC进一步改变:不寻找单一最大动作,而寻找:高Q+高熵的动作分布 \text{高Q + 高熵的动作分布}高Q+高熵的动作分布50. SAC Policy Improvement目标SAC优化:Jπ(θ)=Es∼D,a∼πθ[Qϕ(s,a)−αlogπθ(a∣s)]J_\pi(\theta)=E_{s\sim D,a\sim\pi_\theta}[Q_\phi(s,a)-\alpha\log\pi_\theta(a|s)]Jπ(θ)=Es∼D,a∼πθ[Q