<返回更多

最大熵强化学习算法SAC

2020-07-05    
加入收藏

模型结构

模型同时学习action value Q、state value V和policy π

  1. V中引入Target V,供Q学习时使用;Target Network使学习有章可循、效率更高。
  2. Q有两个单独的网络,选取最小值供V和π学习时使用,希望减弱Q的过高估计
  3. π学习的是分布的参数:均值和标准差;这与DDPG不同,DDPG的π是Deterministic的,输出直接就是action,而SAC学习的是个分布,学习时action需要从分布中采样,是Stochastic的。
最大熵强化学习算法SAC

 

Soft

Soft,Smoothing,Stable。

原始的强化学习最大熵目标函数(maximum entropy objective)如下,比最初的累计奖赏,增加了policy π的信息熵
A3C目标函数里的熵正则项和形式一样,只是作为正则项,系数很小。

最大熵强化学习算法SAC

 

Soft Policy Iteration中,近似soft Q-value的迭代更新规则如下:

最大熵强化学习算法SAC

 

其中V(s)为soft state value function:

最大熵强化学习算法SAC

 

根据信息熵的定义:

最大熵强化学习算法SAC

 

soft state value functionmaximum entropy objective在形式上还是一致的,系数α能通过调节Q-value消掉,可忽略。

TD3的soft state value function V形式与Soft Policy Iteration中类似,但是SAC的action是通过对policy π采样确定地得到,每条数据数据的信息熵就是其不确定性-logπ(a|s);但考虑整个批量batch数据,其整体还是π的信息熵,与maximum entropy方向一致。

信息熵越大,分布越均匀,所以最大化信息熵,有利于增加模型的探索能力。

Soft State Value 目标函数

通过Qπ网络近似V,注意s来自Experience Replay Buffer,但是a来自当前的π

最大熵强化学习算法SAC

 

Soft Q-Value 目标函数

通过V近似Q,这里的V来自TargetNetwork V
r(s,a)是环境的即时奖赏;s_t+1来自环境,由于环境是model-free,可以理解成s_t+1是确定的。

最大熵强化学习算法SAC

 

Policy 目标函数

通过Q近似π

  1. 基于π分布的采样增加扰动,for lower variance estimator。
  2. KL散度基于Q的分布近似忽略分母析分函数
  3. 采样之后,a是确定的,KL散度即熵的差容易求解,注意Q值来自神经网络,值可以scale,无需关注系数。
最大熵强化学习算法SAC

 

学习过程

整体采用Replay Buffer,三个目标函数分别进行梯度学习。

最大熵强化学习算法SAC

 

总结

  1. SAC的关键是引入最大熵,优化soft value。
  2. 最大熵会使action探索能力很强,模型效果更平稳,但注意需要场景也是接受较强的探索。
  3. 从结构上讲,模型冗余,在学习π和soft Q的情况下,又学习了soft V。
  4. 由于面临的是连续动作空间,求期望的地方,采取了采样近似,需要批次处理的数据集更加完整。
  5. 优化技巧比较晦涩,感觉很难通用。

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>