基于价值的方法的两种类型
在基于价值的方法中,**我们学习一个价值函数**,**将状态映射到处于该状态的期望值。**
状态的价值是智能体如果**从该状态开始并根据我们的策略采取行动**所能获得的**期望折扣回报**。
请记住,**强化学习智能体的目标是拥有一个最优策略 π*。**
为了找到最优策略,我们学习了两种不同的方法
- 基于策略的方法:**直接训练策略**以选择在给定状态下采取什么行动(或在该状态下采取行动的概率分布)。在这种情况下,**我们没有价值函数。**
策略将状态作为输入,并输出在该状态下要采取的行动(确定性策略:给定状态输出一个行动的策略,与输出行动概率分布的随机策略相反)。
因此,**我们不会手动定义策略的行为;它是训练来定义它的。**
- 基于价值的方法:**间接地,通过训练一个价值函数**,它输出状态或状态-行动对的价值。给定此价值函数,我们的策略**将采取行动。**
由于策略没有经过训练/学习,**我们需要指定其行为。**例如,如果我们想要一个策略,在给定价值函数的情况下,总是采取导致最大奖励的行动,**我们将创建一个贪婪策略。**
因此,无论您使用什么方法来解决问题,**您都会有一个策略。**在基于价值的方法中,您不会训练策略:您的策略**只是一个简单的预先指定的函数**(例如,贪婪策略),它**使用价值函数给出的值来选择其行动。**
所以区别在于
- 在基于策略的训练中,**最优策略(表示为 π*)是通过直接训练策略找到的。**
- 在基于价值的训练中,**找到最优价值函数(表示为 Q* 或 V*,我们将在下面研究差异)会导致拥有最优策略。**
事实上,在基于价值的方法中,大多数情况下,您将使用**ε-贪婪策略**来处理探索/利用权衡;当我们在本单元的第二部分讨论 Q 学习时,我们将讨论这一点。
如上所述,我们有两种类型的基于价值的函数
状态价值函数
我们像这样写出策略 π 下的状态价值函数
对于每个状态,状态价值函数输出如果智能体**从该状态开始**并随后永远遵循策略(如果需要,则在所有未来的时间步长)的期望回报。
行动价值函数
在行动价值函数中,对于每个状态和行动对,行动价值函数**输出期望回报**,如果智能体从该状态开始,采取该行动,然后永远遵循策略。
采取行动的价值在状态下根据策略是
我们可以看到区别在于
- 对于状态价值函数,我们计算**状态的价值**
- 对于动作价值函数,我们计算**状态-动作对( ) 的值,也就是在该状态下采取该动作的值。**
无论我们选择哪种价值函数(状态价值函数或动作价值函数),**返回的值都是期望回报。**
然而,问题在于**为了计算状态或状态-动作对的每个值,我们需要将智能体从该状态开始所能获得的所有奖励加总起来。**
这可能是一个计算量很大的过程,**这就是贝尔曼方程能够帮助我们的地方。**
< > 在 GitHub 上更新