2.2_两种基于价值的方法

在基于价值的方法中,我们将学习一个价值函数,该价值函数可以估算在某个状态下所能获得的预期回报,即它将一个状态映射到处于该状态的期望值

Value Based Methods

一个状态的价值是智能体按照给定策略从当前状态开始行动所能获得的预期折扣回报。

按照给定策略行动是什么意思呢?因为在基于价值的方法中没有策略,我们训练的是价值函数,而不是策略。

要记得智能体的目标是有一个最优策略π*。

为了找到最优策略,我们使用两种不同的方法进行学习:

Two RL approaches

策略以状态为输入,输出在该状态下要采取的动作(确定性策略:给定状态输出一个动作的策略,与随机策略相反,随机策略输出动作的概率分布)。

因此,我们不是直接设定策略的行为;而是通过训练来设定行为。

由于策略没有被训练/学习,我们需要指定它的行为。例如,如果我们想要一个策略,使得其满足:给定价值函数,它将总是采取能够带来最大奖励的动作。这意味着我们需要定义一个贪心策略。

Two RL approaches
给定一个状态,动作-价值函数会输出在该状态下每个动作的价值。然后,我们预定义的贪心策略会根据状态或状态-动作对选择具有最高价值的动作。

因此,无论我们使用哪种方法来解决问题,我们都要有一个策略。在基于价值的方法中,我们不需要训练策略:策略只是一个简单的预先指定的函数(例如贪心策略),它使用价值函数给出的值来选择动作。

所以区别在于:

Link between value and policy

其实大多数时候,在基于价值的方法中,我们会使用Epsilon贪心策略来处理探索和利用之间的权衡问题;在本单元第二部分讨论Q-Learning时,我们会谈到这个问题。

所以,现在我们有两种类型的基于价值的函数:

状态价值函数

策略π下的状态价值函数如下所示:

State value function

对于每个状态,状态价值函数会输出智能体按照给定策略从当前状态开始行动所能获得的预期回报(也可以理解为所有未来的时间步)。

State value function
如果我们取价值为-7的状态:它表示在该状态下按照我们的策略(贪心策略)采取行动,所以是:右,右,右,下,下,右,右。

动作价值函数

在动作价值函数中,对于每个状态和动作对,动作价值函数会输出智能体按照给定策略,从当前状态开始行动所能获得的预期回报

在策略(π)下,智能体在状态(s)中执行动作(a)的价值计算如下所示:

Action State value function Action State value function

我们可以看到两者之间的区别是:

Two types of value function
注意:我们没有为动作价值函数示例中的所有状态-动作对都填上数值。

无论哪种情况,无论我们选择哪种价值函数(状态价值或动作价值函数),返回的值都是期望回报。

然而,问题是这意味着要计算每个状态或状态-动作对的价值,我们需要求智能体从该状态开始可以获得的所有奖励的总和。

该过程计算成本可能比较高,所以接下来我们将要用到贝尔曼方程。