最大熵强化学习算法SAC

模型结构【最大熵强化学习算法SAC】模型同时学习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

文章插图
 
SoftSoft,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 function和maximum 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. 优化技巧比较晦涩,感觉很难通用 。
 




    推荐阅读