Processing math: 75%

[RL Notes] 策略和价值函数

1. 策略

  在 MDP 的每个时刻,智能体要在当前状态下选择要执行的动作,智能体根据状态选择动作的方式称为策略。更严格地,策略(policy)是从状态到选择每个动作的概率之间的映射。

  从一个状态映射到一个动作的策略称为确定性策略(deterministic policy)记做

π(s)=a

其中 π 表示策略,它将一个状态 s 映射到一个动作 a。在确定性策略中,多个状态可以映射到同一个动作,但一个状态不能映射到多个动作;此外也允许一些动作没有被任何状态映射,这些动作在任何状态下都不会被选择。

  更一般地,随机性策略(stochastic policy)给出了在给定状态下选择各个动作的概率值,使用

π(a|s)

表示策略 π 在状态 s 下选择动作 a 的概率。π(a|s) 是一个概率,满足 aA(s)π(a|s)=1π(a|s)0

  需要注意的是,策略只依赖于当前状态,式 (1) 和式 (2) 都体现了这一点。举例来说,如果一个策略是选择与上一个动作不同的动作,则这不是一个合法的策略,因为它依赖于上一个动作。策略只依赖于当前状态的要求不是对智能体的限制,而是对状态的要求——当前状态应包含智能体选择动作所需的全部信息。如果将上一个动作作为当前状态的一部分,前述策略就是合法的。

2. 价值函数

  为了评价智能体在使用策略 π 时,在状态 s 有多好,定义策略 π状态价值函数(state-value function)vπ(s) 为策略 π 在状态 s 下回报的期望

vπ(s)Eπ[Gt|St=s]

其中 Eπ[] 表示在给定策略 π 时随机变量的期望值。状态价值函数表示了智能体从状态 s 开始所能期望获得的未来收益。

  为了评价智能体在使用策略 π 时,在状态 s 下选择的动作 a 有多好,定义策略 π动作价值函数(action-value function)qπ(s,a) 为策略 π 在状态 s 下执行动作 a 之后回报的期望值

qπ(s,a)E[Gt|St=s,At=a]

  价值函数使用期望对未来的收益进行预测,一方面不必等待未来的收益实际发生就可以获知当前状态的好坏,另一方面通过期望汇总了未来各种可能的收益情况。使用价值函数可以很方便地评价不同策略的好坏。

  举例来说,在象棋游戏中,定义赢得游戏得 1 分,其他动作得 0 分,状态是棋盘上棋子的位置。仅从 1 分和 0 分这两个数值并不能知道智能体在游戏过程中到底下得怎么样,而通过价值函数则可以获得更多洞察。在这个例子中,策略 π 的状态价值函数 vπ(s) 为策略 π 在状态 s 下获胜的概率,即 vπ(s)=Pr;策略 \pi 的动作价值函数 q_\pi(s, a) 为策略 \pi 在状态 s 下选择动作 a 获胜的概率。智能体依据策略 \pi 走了一步棋后,进入状态 s’,假设 v_\pi(s) = 0.34v_\pi(s’) = 0.31,此时 s’ 的价值低于 s 的价值,说明在策略 \pi 下获胜的概率下降了。