目录

1. 为什么需要价值函数?

2. 定义与数学形式

2.1 状态价值函数 

2.2 动作价值函数 

3. 两者之间的关系

4. 直观理解:网格世界例子

5. 总结对比

结语


在强化学习中,价值函数是衡量“状态”或“状态-动作对”在未来能带来多少累积奖励的预测器。它们是智能体进行决策和评估策略的核心工具。这里详细介绍两种最基本、最重要的价值函数:状态价值函数 V(s) 和 动作价值函数 Q(s,a)

1. 为什么需要价值函数?

强化学习的最终目标是找到一个最优策略,使得智能体在环境中获得的累积奖励最大化。然而,直接搜索策略往往非常困难,尤其当状态空间很大时。价值函数提供了一种间接但有效的方式:

  • 评估状态:如果我们知道某个状态的价值很高,那么智能体就希望进入或停留在那个状态。

  • 比较动作:在某个状态下,动作价值函数可以直接告诉我们哪个动作更好,从而帮助我们做出决策。

  • 改进策略:通过比较当前策略下的价值函数与最优价值函数,我们可以调整策略,使其更优。

2. 定义与数学形式

在马尔可夫决策过程框架下,假设智能体遵循一个策略 \pi(a|s)(给定状态 s,选择动作 a 的概率)。从某个时刻 t 开始,智能体获得的回报 G_t 定义为未来折扣奖励的总和:

G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1}

其中 \gamma \in [0,1] 是折扣因子。

2.1 状态价值函数V_\pi(s) 

定义:在策略 \pi 下,从状态 s 出发,智能体所能获得的期望回报。

V_\pi(s) = \mathbb{E}_\pi \left[ G_t \mid S_t = s \right] = \mathbb{E}_\pi \left[ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \;\middle|\; S_t = s \right]

  • 含义:它量化了处于某个状态的好坏程度。一个状态的价值高,意味着从这个状态开始,按照当前策略行动,预期未来能得到较多的累积奖励。

  • 依赖V_\pi(s) 依赖于策略 \pi,因为未来的动作选择由 \pi 决定。不同的策略会导致同一状态有不同的价值。

2.2 动作价值函数 Q_\pi(s, a)

定义:在策略 \pi 下,从状态 s 出发,执行动作 a 后,再按照策略 \pi 继续行动,所能获得的期望回报。

Q_\pi(s, a) = \mathbb{E}_\pi \left[ G_t \mid S_t = s, A_t = a \right] = \mathbb{E}_\pi \left[ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \;\middle|\; S_t = s, A_t = a \right]

  • 含义:它量化了在某个状态下执行某个具体动作的好坏程度。它不仅考虑了当前动作的即时奖励,还考虑了该动作带来的后续状态及其未来奖励。

  • 依赖Q_\pi(s, a) 同样依赖于策略 \pi,因为动作 a 之后的动作选择由 \pi 决定。

3. 两者之间的关系

状态价值函数和动作价值函数紧密相关,可以相互表示。

  • 从 Q 到 V:状态价值 V_\pi(s) 可以看作是该状态下所有可能动作的价值 Q_\pi(s, a) 按照策略概率的加权平均。

V_\pi(s) = \sum_{a \in \mathcal{A}} \pi(a|s) \cdot Q_\pi(s, a)

  • 从 V 到 Q:动作价值 Q_\pi(s, a) 可以分解为执行动作 a 后获得的即时奖励 R_{t+1}​ 加上下一个状态的折扣价值。

Q_\pi(s, a) = \mathbb{E} \left[ R_{t+1} + \gamma V_\pi(S_{t+1}) \mid S_t = s, A_t = a \right]

更具体地,如果环境是确定的,则 Q_\pi(s, a) = \mathcal{R}(s, a) + \gamma V_\pi(s'),其中 s′ 是转移后的状态;如果环境是随机的,则需要对所有可能的 s′,r 取期望:

Q_\pi(s, a) = \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma V_\pi(s') \right]

4. 直观理解:网格世界例子

考虑一个简单的 3×3 网格世界:

  • 起点:左上角 (0,0)

  • 终点:右下角 (2,2),到达终点获得奖励 +10,并结束。

  • 每移动一步获得奖励 -1(鼓励尽快到达终点)。

  • 动作:上、下、左、右(碰到边界则停留在原地,但仍获得 -1)。

  • 折扣因子 γ=0.9。

假设一个随机策略:在每个格子,以相等概率(0.25)向四个方向移动(如果可以移动)。

我们可以计算每个格子的状态价值 V(s)(例如通过动态规划)。比如,终点 (2,2) 的价值是 0(因为到达后没有后续奖励)。那么,终点左边的格子 (2,1) 的价值:根据策略,它有 0.25 概率向右到达终点(获得 -1 + 0),有 0.25 概率向上,0.25 概率向左,0.25 概率向下(可能碰到边界)。通过贝尔曼方程可以迭代求解。

同时,在格子 (2,1) 执行“向右”动作的动作价值 Q((2,1),右) 则直接等于:执行右移,获得奖励 -1,然后到达终点 (2,2),之后价值为 0,所以 Q=−1+0.9∗0=−1。而执行“向上”动作,则可能进入 (1,1),其 V(1,1) 可能是负数(因为离终点较远),所以 Q 会更小。通过比较 Q 值,智能体就能选出最优动作。

关键区别

  • V(s) 评估的是状态本身,它告诉你在当前状态下,按照当前策略平均能获得多少回报。

  • Q(s,a) 评估的是在状态 s 下执行特定动作 a 的价值,它告诉你这个动作是否比策略平均动作更好。

5. 总结对比

特性 状态价值函数 V_\pi(s) 动作价值函数 Q_\pi(s, a)
定义 从状态 s 开始,遵循策略 \pi 的期望回报 在状态 s 执行动作 a,然后遵循策略 \pi 的期望回报
输入 状态 s 状态 s 和动作 a
输出 一个标量 一个标量
如何用于决策 无法直接比较动作,需要知道转移概率和策略 可以直接比较同一状态下不同动作的 Q 值,选择最大的动作
依赖的策略 是 \pi 的函数 是 \pi 的函数(除了最优 Q∗)
典型算法举例 演员-评论家中的 Critic,动态规划中的策略评估 Q-learning、SARSA、DQN

结语

状态价值函数和动作价值函数是强化学习中最基本的概念。理解它们的定义、关系以及在算法中的作用,是掌握强化学习理论的关键。简单来说,V 告诉我们“这个状态有多好”,而 Q 告诉我们“在这个状态下做这个动作有多好”。几乎所有现代强化学习算法(无论是基于价值还是基于策略)都或多或少地依赖这两个概念。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐