博主的github链接,欢迎大家来访问~:https://github.com/Sh-Zh-7
强化学习经典算法实现地址:https://github.com/Sh-Zh-7/reinforce-learning-impl
之前我们所介绍的,都是所谓value-based方法,它的中心思想是:既然我们要求的策略,是在给定状态的基础上选择动作。那么我通过研究动作的价值,就可以得到最优的策略。接下来要讲的是另一种所谓的policy-based的方法,他所研究的,并不是相同状态下各个动作的价值,而是相同状态下,选择各个动作的概率。但是他这个概率,也是要根据所谓的价值进行更新的。所以这二者并没有什么太大的差别。
0. Policy-based VS Value-based
我们有强大的QLearning方法已经够用了,为什么还要values-based算法呢?原因是policy-based算法固有的缺陷:
- 对连续性动作处理不足:因为很多时候我们神经网络都被设计成给定状态输出各个动作的。然而,我们只能输出有限个动作,不能输出所有连续动作的分布。
- 对受限状态下问题处理能力不足:对于我们的网络而言,只要是状态相同,那我们最后输出的动作价值也一定是相同的。然而,很多问题中,由于我们agent对环境观察不足,很容易出现明明不同状态,但是我们观察到的状态