Soft Actor-Critic (SAC)是面向最大熵强化学习Maximum Entropy Reinforcement learning 开发的一种off policy算法。
对于一般的DRL,学习目标很直接,就是学习一个policy使得累加的reward期望值最大;
(1)
而最大熵强化学习,除了上面的基本目标,还要求policy的每一次输出的action 熵entropy最大:
(2)
其目的是让策略随机化,即输出的每一个action的概率尽可能分散,而不是集中在一个action上。最大熵maximum entropy的核心思想就是不遗落到任意一个有用的action,有用的trajectory。
Soft Policy Evaluation
经验池的作用
经验池 存在的意义是为了消除experience的相关性,因为强化学习中前后动作通常是强相关的,而将它们打散,放入经验池中,然后在训练神经网络时,随机地从经验池中选出一批experience,这样能够使神经网络训练地更好。
SAC算法相关的Loss函数
SAC算法相关的Loss函数主要有以下几种:
策略网络的Loss
策略损失函数:策略网络的目标是最大化期望奖励与熵项之和,通常采用负的对数似然乘以优势函数来近似策略梯度,其损失函数公式为:
其中是策略网络
的参数,
是由策略
诱导的状态分布,
是状态,
是动作,
是温度函数,用于调节熵的重要性。下面说明各项计算方法,一般先从经验池中选出多组
的组合(共batch size项)
(1)是奖励函数,
是价值网络(Critic网络)评估的动作价值函数;
(2)由策略网络输出;
Q(Critic)价值网络的Loss
SAC算法通常使用两个Q网络和
来减少过估计问题,其损失函数是均方误差(MSE)形式,公式为:
(1)是奖励,直接从经验池中选出来的。(一般先从经验池中选出多组
的组合);将选出的
组合输入Critic_1网络,输出