0 策略过于确定的优劣
策略学习的目的是学出一个策略网络用于控制智能体agent。
比如基于某一个状态s,策略网络的输出为:![]()
那么基本上agent进行的动作就是向右了
这样过于确定性的决策有好有坏:
-
好处在于不容易选中很差的动作,比较安全。
- 坏处在于智能体就会安于现状,不去尝试没做过的动作,不去探索更多的状态,无法找到更好的策略。
1 熵正则的引入
我们希望策略网络的输出的概率不要集中在一个动作上,至少要给其他的动作一些非零的概率,让这些动作能被探索到。
可以用熵 (Entropy)
来衡量概率分布的不确定性。 对于上述离散概率分布 p
= [
p
1
, p
2
, p
3],熵等于
![](https://i-blog.csdnimg.cn/blog_migrate/8ce9c81225ce1eb499d1297d8f9957e5.png)
熵小说明概率质量很集中,熵大说明随机性很大
![](https://i-blog.csdnimg.cn/blog_migrate/eec66b33e911e7388cf8078b83d9c290.png)
2 策略学习中的熵正则
我们希望策略网络输出的概率分布的熵不要太小。我们不妨把熵作为正则项,放到策略学习的目标函数中。
策略网络的输出是维度等于
|A| 的向量, 它表示定义在动作空间上的离散概率分布。
这个概率分布的熵定义为:
![](https://i-blog.csdnimg.cn/blog_migrate/1de83062684327328bc109213ae379e4.png)
我们希望对大多数状态,熵都比较大,也就是让
比较大。
![E_S[H(S;\theta)]](https://i-blog.csdnimg.cn/blog_migrate/790ac0be95a4334560ee6bab44d774f6.gif)
所以此时,带有熵正则的策略学习可以写作:
![](https://i-blog.csdnimg.cn/blog_migrate/c3a25871665166eabdf5f1cd9072b2ea.png)
2.1 带熵正则的优化
带熵正则之后,梯度是:
通过推导可得此时g(θ)的无偏估计是
2.1.1 推导
![](https://i-blog.csdnimg.cn/blog_migrate/739d55e3245f0b514138fecf6ffe622f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f34c5020aa0436c07d1dd7d9e144e8fc.png)
所以二者一结合,有:
参考内容:王树森 强化学习