7.2 状态价值函数 (State Value) 与 动作价值函数 (Action Value) 详解
在马尔可夫决策过程框架下,假设智能体遵循一个策略(给定状态 s,选择动作 a 的概率)。从某个时刻 t 开始,智能体获得的回报定义为未来折扣奖励的总和:其中是折扣因子。特性状态价值函数动作价值函数定义从状态 s 开始,遵循策略的期望回报在状态 s 执行动作 a,然后遵循策略的期望回报输入状态 s状态 s 和动作 a输出一个标量一个标量如何用于决策无法直接比较动作,需要知道转移概率和策略可以直接比较
目录
在强化学习中,价值函数是衡量“状态”或“状态-动作对”在未来能带来多少累积奖励的预测器。它们是智能体进行决策和评估策略的核心工具。这里详细介绍两种最基本、最重要的价值函数:状态价值函数 V(s) 和 动作价值函数 Q(s,a)。
1. 为什么需要价值函数?
强化学习的最终目标是找到一个最优策略,使得智能体在环境中获得的累积奖励最大化。然而,直接搜索策略往往非常困难,尤其当状态空间很大时。价值函数提供了一种间接但有效的方式:
-
评估状态:如果我们知道某个状态的价值很高,那么智能体就希望进入或停留在那个状态。
-
比较动作:在某个状态下,动作价值函数可以直接告诉我们哪个动作更好,从而帮助我们做出决策。
-
改进策略:通过比较当前策略下的价值函数与最优价值函数,我们可以调整策略,使其更优。
2. 定义与数学形式
在马尔可夫决策过程框架下,假设智能体遵循一个策略 (给定状态 s,选择动作 a 的概率)。从某个时刻 t 开始,智能体获得的回报
定义为未来折扣奖励的总和:
其中 是折扣因子。
2.1 状态价值函数
定义:在策略 下,从状态 s 出发,智能体所能获得的期望回报。
-
含义:它量化了处于某个状态的好坏程度。一个状态的价值高,意味着从这个状态开始,按照当前策略行动,预期未来能得到较多的累积奖励。
-
依赖:
依赖于策略
,因为未来的动作选择由
决定。不同的策略会导致同一状态有不同的价值。
2.2 动作价值函数 
定义:在策略 下,从状态 s 出发,执行动作 a 后,再按照策略
继续行动,所能获得的期望回报。
-
含义:它量化了在某个状态下执行某个具体动作的好坏程度。它不仅考虑了当前动作的即时奖励,还考虑了该动作带来的后续状态及其未来奖励。
-
依赖:
同样依赖于策略
,因为动作 a 之后的动作选择由
决定。
3. 两者之间的关系
状态价值函数和动作价值函数紧密相关,可以相互表示。
- 从 Q 到 V:状态价值
可以看作是该状态下所有可能动作的价值
按照策略概率的加权平均。
- 从 V 到 Q:动作价值
可以分解为执行动作 a 后获得的即时奖励
加上下一个状态的折扣价值。
更具体地,如果环境是确定的,则 ,其中 s′ 是转移后的状态;如果环境是随机的,则需要对所有可能的 s′,r 取期望:
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. 总结对比
| 特性 | 状态价值函数 |
动作价值函数 |
|---|---|---|
| 定义 | 从状态 s 开始,遵循策略 |
在状态 s 执行动作 a,然后遵循策略 |
| 输入 | 状态 s | 状态 s 和动作 a |
| 输出 | 一个标量 | 一个标量 |
| 如何用于决策 | 无法直接比较动作,需要知道转移概率和策略 | 可以直接比较同一状态下不同动作的 Q 值,选择最大的动作 |
| 依赖的策略 | 是 |
是 |
| 典型算法举例 | 演员-评论家中的 Critic,动态规划中的策略评估 | Q-learning、SARSA、DQN |
结语
状态价值函数和动作价值函数是强化学习中最基本的概念。理解它们的定义、关系以及在算法中的作用,是掌握强化学习理论的关键。简单来说,V 告诉我们“这个状态有多好”,而 Q 告诉我们“在这个状态下做这个动作有多好”。几乎所有现代强化学习算法(无论是基于价值还是基于策略)都或多或少地依赖这两个概念。
更多推荐


所有评论(0)