价值函数 (Value Functions)
1. 什么是价值函数?
在强化学习中,评估一个状态(state)或者一个状态-动作对(state-action pair)有多“好”是非常有用的。这里的“好”,我们用价值(value)来衡量,其具体含义是:
从某个状态或状态-动作对开始,遵循一个特定策略,未来能够获得的期望回报。
价值函数是几乎所有强化学习算法的基石,以各种形式被广泛使用。
2. 四种主要的价值函数
这里有四种核心的价值函数需要我们了解:
1. 在策略状态价值函数 (On-Policy Value Function)
- 符号: $V^{\pi}(s)$
- 定义: 如果从状态 $s$ 开始,并且始终遵循策略 $π$ 来行动,所能获得的期望回报。
- 公式:
$V^{\pi}(s) = \underset{\tau \sim \pi}E\{R(\tau)\left| s_0 = s\right.\}$
2. 在策略动作价值函数 (On-Policy Action-Value Function)
- 符号: $Q^{\pi}(s,a)``
- 定义: 如果从状态 $s$ 开始,执行一个任意的动作 $a$(这个动作 $a$ 不一定来自策略 $π$),然后从那以后永远遵循策略 $π$ 行动,所能获得的期望回报。
- 公式:
$Q^{\pi}(s,a) = \underset{\tau \sim \pi}E\{R(\tau)\left| s_0 = s, a_0 = a\right.\}$
3. 最优状态价值函数 (Optimal Value Function)
- 符号: $V^{*}(s)$
- 定义: 如果从状态 $s$ 开始,并且始终遵循环境中的最优策略行动,所能获得的期望回报。它代表了从状态 $s$ 出发能获得的最大可能的期望回报。
- 公式:
$V^{*}(s) = \max_{\pi} \underset{\tau \sim \pi}E\{R(\tau)\left| s_0 = s\right.\}$
4. 最优动作价值函数 (Optimal Action-Value Function)
- 符号: $Q^{*}(s,a)$
- 定义: 如果从状态 $s$ 开始,执行一个任意动作 $a$,然后从那以后永远遵循最优策略行动,所能获得的期望回报。它代表了从状态 $s$ 执行动作 $a$ 后能获得的最大可能的期望回报。
- 公式:
$Q^{*}(s,a) = \max_{\pi} \underset{\tau \sim \pi}E\{R(\tau)\left| s_0 = s, a_0 = a\right.\}$
3. 关键知识点
关键点一:关于时间依赖性
- 当我们讨论价值函数而没有特别提及时间依赖时,我们通常默认指的是无限时间范围的折扣回报 (infinite-horizon discounted return)。
- 对于有限时间范围的无折扣回报 (finite-horizon undiscounted return),价值函数则必须将时间作为一个参数。在有限时间范围问题中,离终点越近,能获得的回报就越少,因此一个状态的价值是依赖于当前是第几步的。)
关键点二:V函数与Q函数的核心关联
状态价值函数(V-function)和动作价值函数(Q-function)之间存在两个非常重要的联系:
在策略(On-Policy)情况下的关联:
$V^{\pi}(s) = \underset{a\sim \pi}E\{Q^{\pi}(s,a)\}$
解释: 一个状态的价值,等于在该状态下,遵循策略 $π$ 采取所有可能动作的Q值的期望。换句话说,就是将每个动作的Q值与其被策略选中的概率相乘,然后求和(或积分)。最优(Optimal)情况下的关联:
$V^{*}(s) = \max_a Q^{*} (s,a)$
解释: 一个状态的最优价值,等于在该状态下,采取所有可能动作中Q值最大的那一个动作的Q值。这里不再是求期望,而是直接选择最好的那一个。
价值函数 (Value Functions)