强化学习---SAC---原理详解 SACSoft Actor-Critic作为强化学习领域的高效算法结合了策略梯度与值函数逼近的双重优势。其核心创新在于引入熵正则化项鼓励策略探索更广泛的行动空间从而避免局部最优解。这种设计在连续控制任务中展现出卓越的稳定性和样本效率。本文将详解SAC各组件的作用原理及梯度下降过程。一SAC的组成及各组件的作用SAC网络包含actor双critic双可单target_critic 温度系数六部分这六部分都可以使用神经网络作为主体便于梯度下降进行参数更新其中actor的作用是根据输入的状态s得到动作a的均值和标准差 再使用参数重采样策略进行动作确定双critic的作用是为了防止动作价值的过估计造成训练过程的不稳定双target_critic的作用类似只不过双target_critic用来评判下一状态及动作的未来价值期望而critic用来估计当前动作及状态的价值期望。二各组件的优化目标1,critic的优化目标及损失函数critic的作用是评价当前动作及状态的价值期望用于actor的动作输出评价其本身需要一个优化目标来在训练过程中不断提高价值估计的准确性。SAC的训练是一个off-policy的马尔科夫迭代过程按照贝尔曼方程有新引入的状态价值函数对训练过程不友好其本质是为了鼓励模型在追求最大奖励的过程中尽可能扩大搜索范围还会在中加入商项最终的Q函数优化目标变为加入商项H能够增大探索范围的原因在于y增大过程中由于温度系数为正数会下降对于高斯分布来说标准差会增大动作的随机性增大那么动作的范围自然就变大了。按照TD-errorcritic的损失函数为最后按照梯度下降更新参数即可。2,actor的优化目标及损失函数有了可靠的价值估计actor的优化目标就清晰多了actor的优化目标为损失函数取负即可最后按照梯度下降更新神经网络参数即可。3,温度系数的优化目标及损失函数为了优化温度系数必须先确定其优化目标在SAC中温度系数控制着探索与聚焦的平衡是策略熵的系数策略熵的优化目标可以设计为动作维度的负数优化目标为当时增大温度系数当时减小温度系数降低动作随机性损失函数可以设计为由于温度系数为正所以梯度下降时会更新之后再使用指数函数回到。4,critic_target的优化策略critic的优化采用软更新策略这里就体现了使用动作价值函数而不是状态价值函数的重要性因为两者具有相同的结构便于直接优化。三训练参数更新过程假设已经得到了一个状态池里面保存着大量的可以直接计算可进行Q的梯度下降。,可进行actor的梯度下降。