最优策略、贝尔曼方程与优势函数
1. 最优Q函数与最优动作
最优动作价值函数 $Q^{*}(s,a)$ 与最优策略所选择的动作之间存在一个至关重要的联系。根据定义,$Q^{*}(s,a)$ 是指:从状态 $s$ 开始,执行一个(任意)动作 $a$,然后永远遵循最优策略行动,所能获得的期望回报。
因此,在状态 $s$ 下的最优策略,会选择那个能够最大化从 $s$ 出发期望回报的动作。这意味着,如果我们拥有最优Q函数 $Q^{*}$,我们就能直接地、贪心地得到最优动作 $a^{*}(s)$。
$a^{*}(s) = \arg \max_a Q^{*} (s,a)$
注意: 可能会有多个动作都能使 $Q^{*}(s,a)$ 达到最大值。在这种情况下,这些动作都是最优的,最优策略可以随机选择其中任意一个。但总存在一个最优策略,它会确定性地选择其中一个动作。
2. 贝尔曼方程 (Bellman Equations)
之前介绍的四种价值函数都遵循一种特殊的自洽方程,称为贝尔曼方程。贝尔曼方程背后的基本思想是:
一个点的价值 = 从该点获得的即时奖励 + 你将到达的下一个点的价值。
在策略 (On-Policy) 价值函数的贝尔曼方程
状态价值函数 $V^{\pi}(s)$:
$V^{\pi}(s) = \underset{a \sim \pi, s’\sim P}{\mathbb{E}}[r(s,a) + \gamma V^{\pi}(s’)]$动作价值函数 $Q^{\pi}(s,a)$:
$Q^{\pi}(s,a) = \underset{s’\sim P}{\mathbb{E}}[r(s,a) + \gamma \underset{a’\sim \pi}{\mathbb{E}}[Q^{\pi}(s’,a’)]]$
最优 (Optimal) 价值函数的贝尔曼方程
最优状态价值函数 $V^{*}(s)$:
$V^{*}(s) = \max_a \underset{s’\sim P}{\mathbb{E}}[r(s,a) + \gamma V^{*}(s’)]$最优动作价值函数 $Q^{*}(s,a)$:
$Q^{*}(s,a) = \underset{s’\sim P}{\mathbb{E}}[r(s,a) + \gamma \max_{a’} Q^{*}(s’,a’)]$
公式简写说明:
- $s’ \sim P$ 是 $s’ \sim P(\cdot |s,a)$ 的简写,表示下一个状态 $s’$ 是根据环境的转移概率采样的。
- $a \sim \pi$ 是 $a \sim \pi(\cdot|s)$ 的简写,表示动作 $a$ 是根据策略 $π$ 在状态 $s$ 下采样的。
- $a’ \sim \pi$ 是 $a’ \sim \pi(\cdot|s’)$ 的简写,表示下一个动作 $a’$ 是根据策略 $π$ 在状态 $s’$ 下采样的。
- $\gamma$ 是折扣因子 (discount factor)。
核心区别:
在策略贝尔曼方程和最优贝尔曼方程之间的关键区别在于是否存在对动作的 $\max$ 操作。$\max$ 操作的出现,反映了一个事实:为了达到最优,智能体在任何可以选择动作的时刻,都必须选择那个能带来最高价值的动作。
关键知识点:贝尔曼备份 (Bellman Backup)
在强化学习文献中,“贝尔曼备份”是一个非常常见的术语。一个状态或状态-动作对的贝尔曼备份,指的就是其贝尔曼方程的右侧部分,即“奖励 + 折扣后的下一状态价值”。
3. 优势函数 (Advantage Functions)
在强化学习中,有时我们不需要知道一个动作在绝对意义上有多好,而只需要知道它比当前策略的平均水平好多少。换言之,我们关心的是这个动作的相对优势。这个概念通过优势函数来精确描述。
对应于策略 $π$ 的优势函数 $A^{\pi}(s,a)$,描述了在状态 $s$ 下,采取特定动作 $a$ 比遵循策略 $π$ 随机选择一个动作要好多少(假设之后都遵循策略 $π$ 行动)。
- 数学定义:
$A^{\pi}(s,a) = Q^{\pi}(s,a) - V^{\pi}(s)$
最优策略、贝尔曼方程与优势函数