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