深度强化学习-SAC的通俗解释
本blog不涉及具体理论解析,只希望从应用角度对算法进行解读。参考谷歌的SAC应用在四足机器人上的论文实现方法,所以和最初的论文有所不同。
如果想详细了解详细理论推导,可以参考博文:
最前沿:深度解读Soft Actor-Critic算法
SAC采用一种off-policy的随机策略。
off-policy:探索策略和学习策略不是同一个网络。设计两个结构相同的Q网络:soft-Q网络和目标Q网络,每个网络又包含两个结构相同的网络,为q1和q2网络。
在Q网络更新的时候,目标q网络根据at+1和st+1得到目标Q值,soft-Q网络根据此at和st获得期望Q值,然后根据规则计算两者的loss,之后利用梯度反向传播进行网络参数的更新。
策略更新:利用上步更新后的soft-Q网络根据at+1和st计算期望的q1值和q2值,取最小的作为期望的q值,根据规则计算策略损失,进行网络参数更新。
更新熵的系数a和目标网络参数只是按照规则计算就OK了。
随机性:策略网络输出的动作是一个分布,从里面随机采取一个动作进行执行。另外此方法的创新点就是在原奖励的基础上增加由动作分布确定的熵。这样在求解的过程中,使期望奖励最大化的同时也确保了熵越大,而熵越大则探索程度越大。两者都在一定程度上增加了网络的探索空间,使网络能够避免陷入局部最优解。