5.1 价值、状态和最优性
你可能还记得我们在第1章中对状态价值的定义。这是一个非常重要的概念,现在来对它进行进一步探究。
这部分围绕价值以及如何估算它展开。我们将价值定义为从状态获得的预期的总奖励(可选折扣)。在形式上,状态的价值是,其中rt是片段中的步骤t获得的奖励。总奖励可以通过γ进行折扣(未折扣的情况对应γ=1),这取决于我们如何定义它。价值始终根据智能体遵循的某些策略来计算。为了说明这一点,考虑一个具有以下三个状态的简单环境(见图5.1):
1)智能体的初始状态。
2)智能体从初始状态执行动作“向右”后,到达的最终状态。从中获得的奖励是1。
3)智能体执行动作“向下”后,到达的最终状态。从中获得的奖励是2,如图5.1所示。
图5.1 有奖赏的环境状态转移示例
环境始终是确定性的,每个动作都可以成功,并且我们总是从状态1开始。一旦到达状态2或状态3,片段就结束了。现在的问题是,状态1的价值是多少?如果没有智能体的行为或者策略信息,这个问题就毫无意义。即使在简单的环境中,智能体也可以有无数种行为,对于状态1每种行为都有自己的价值。考虑以下示例:
- 智能体始终向右。
- 智能体始终向下。
- 智能体以0.5的概率向右,以0.5的概率向下。
- 智能体以0.1的概率向右,以0.9的概率向下。
为了演示价值是如何计算的,我们将根据上述策略依次进行计算:
- 对于“始终向右”的智能体,状态1的价值为1.0(每次向右1走,它就会获得1,片段结束)。
- 对于“始终向下”的智能体,状态1的价值为2.0。
- 对于50%向右/ 50%向下的智能体,价值为1.0×0.5 + 2.0×0.5 = 1.5。
- 对于10%向右/ 90%向下的智能体,价值为1.0×0.1 + 2.0×0.9 = 1.9。
现在,另一个问题是:该智能体的最佳策略是什么?RL的目标是获得尽可能多的总奖励。对于这种单步动作的环境,总奖励等于状态1的价值。显然,选择策略2(始终向下)总奖励值最大。
不幸的是,这种最优策略显而易见的环境在实践中并不那么吸引人。在大多引人关注的环境中,最优策略会更难制定,甚至难以证明某策略就是最优的。然而,不用担心。我们正朝着让计算机自行学习最佳行为的方向发展。
前面的示例可能会给大家一个错误的印象,那就是在采取动作时应该始终追求最高的奖励。通常,这没有那么简单。为了演示这一点,我们把前面的环境从状态3扩展到状态4(见图5.2)。状态3不再是最终状态,而是向状态4过渡的状态,带来的奖励为–20。一旦我们在状态1中选择了“向下”的动作,不可避免会遇到这种极差的回报,因为状态3之后只有一个出口。因此,如果智能体认为“贪婪”是一个好策略,那这对于智能体来说就是一个陷阱。
图5.2 增加了额外状态的相同环境
考虑到增加的状态,状态1的价值应该按照以下方式计算:
- 对于“始终向右”的智能体,状态1的价值不变,仍为1.0。
- 对于“始终向下”的智能体,状态1的价值为2.0 + (–20) = –18。
- 对于50%向右/50%向下的智能体,价值为0.5×1.0 + 0.5×(2.0 + (–20)) = –8.5。
- 对于10%向右/90%向下的智能体,价值为0.1×1.0 + 0.9×(2.0 + (–20)) = –16.1。
所以,对于新环境来说最优策略是1 : 始终向右。
之所以会花一些时间讨论简单和复杂环境,主要是为了让大家意识到最优性问题的复杂性,可以更好地领会Richard Bellman的结果。Bellman是一位美国数学家,他提出并证明了著名的Bellman方程。我们将在下一节中讨论该方程。