在强化学习(Reinforcement Learning, RL)的世界里,智能体(Agent)的目标是最大化累积奖励。为了实现这个最终目标,智能体必须具备一种“评估局势”的能力:它需要知道当前所处的状态有多好,以及采取某个具体的动作后有多好。

本文将深入浅出地梳理强化学习中最核心的三个基础概念:状态价值 (State Value)动作价值 (Action Value),以及连接它们的灵魂公式——贝尔曼方程 (Bellman Equation)


# 一、 状态价值 (State Value)

# 1. 什么是状态价值?

状态价值评估的是:“智能体处于当前这个状态,到底有多好(或多糟糕)?” 打个比方,在下象棋时,如果你的车马炮全在,并且把对方的老将逼到了死角,这个局面的“状态价值”就极高;反之,如果你只剩下一个光杆司令,这个局面的“状态价值”就极低。

# 2. 数学定义

在数学上,状态 ss 在策略 π\pi 下的价值函数用 vπ(s)v_\pi(s) 表示。它的定义是:从状态 ss 开始,遵循既定策略 π\pi,所能获得的期望累积回报 (Expected Return)

vπ(s)=Eπ[GtSt=s]v_\pi(s) = \mathbb{E}_\pi[G_t | S_t = s]

  • St=sS_t = s:前提条件,当前时刻 tt 智能体处于状态 ss
  • GtG_t:回报 (Return),是从当前时刻开始,未来所有打折奖励的总和,即 Gt=Rt+1+γRt+2+γ2Rt+3+G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots
  • Eπ\mathbb{E}_\pi:期望 (Expectation)。由于环境往往存在随机性,且策略也可能是概率分布的,我们需要计算多种未来可能性下的平均预期收益。
  • π\pi:策略 (Policy)。状态价值严重依赖于策略。如果你站在一座金山前(状态很好),但你的策略是“跳崖”,那么这个状态对你而言价值依然为负。

# 二、 贝尔曼方程 (Bellman Equation)

贝尔曼方程是强化学习的基石。它揭示了一个极其优雅的递归关系:当前状态的价值,等于“眼前的即时奖励”,加上“下一个状态的打折价值”。

# 1. 推导过程

根据回报 GtG_t 的定义,我们可以把它拆解为“即时奖励”和“未来的回报”两部分:

Gt=Rt+1+γRt+2+γ2Rt+3+G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots

提取出一个打折因子 γ\gamma

Gt=Rt+1+γ(Rt+2+γRt+3+)G_t = R_{t+1} + \gamma (R_{t+2} + \gamma R_{t+3} + \dots)

你会发现,括号里的部分正好就是下一个时刻的回报 Gt+1G_{t+1}

Gt=Rt+1+γGt+1G_t = R_{t+1} + \gamma G_{t+1}

现在,我们将这个拆解式代回状态价值的定义式中:

vπ(s)=Eπ[GtSt=s]v_\pi(s) = \mathbb{E}_\pi[G_t | S_t = s]

vπ(s)=Eπ[Rt+1+γGt+1St=s]v_\pi(s) = \mathbb{E}_\pi[R_{t+1} + \gamma G_{t+1} | S_t = s]

根据期望的线性性质,下一步的回报期望 Eπ[Gt+1]\mathbb{E}_\pi[G_{t+1}] 本质上就是下一个状态的价值 vπ(St+1)v_\pi(S_{t+1})。由此,我们得到了**贝尔曼期望方程 (Bellman Expectation Equation)**的简写形式:

vπ(s)=Eπ[Rt+1+γvπ(St+1)St=s]v_\pi(s) = \mathbb{E}_\pi[R_{t+1} + \gamma v_\pi(S_{t+1}) | S_t = s]

# 2. 物理含义与完全展开式

如果我们要把期望 Eπ\mathbb{E}_\pi 彻底展开,看看底层到底发生了什么概率计算,公式会变成这样:

vπ(s)=aπ(as)s,rp(s,rs,a)[r+γvπ(s)]v_\pi(s) = \sum_a \pi(a|s) \sum_{s', r} p(s', r | s, a) [r + \gamma v_\pi(s')]

  • π(as)\pi(a|s):你在状态 ss 下,选择动作 aa 的概率。
  • p(s,rs,a)p(s', r | s, a):环境的动态特性。即你在状态 ss 执行了动作 aa 后,环境有多大概率把你转移到新状态 ss',并给你奖励 rr
  • [r+γvπ(s)][r + \gamma v_\pi(s')]:这一步带来的即时奖励加上未来打折的预期价值。

一句话总结贝尔曼方程: 它成功地把一个遥远未来的长远目标(无限步的累积奖励),化简成了仅仅关注当前步下一步的局部递推关系。这使得让计算机通过动态规划等迭代算法去求解价值函数成为了可能。


# 三、 动作价值 (Action Value / Q-Value)

# 1. 什么是动作价值?

如果说状态价值 vπ(s)v_\pi(s) 评估的是“站在这有多好”,那么动作价值 qπ(s,a)q_\pi(s, a) 评估的就是“站在这,并且明确选择了动作 aa 之后,有多好”。

# 2. 数学定义

动作价值函数 qπ(s,a)q_\pi(s, a) 定义为:从状态 ss 出发,强制执行动作 aa,并且后续继续遵循策略 π\pi 所能获得的期望累积回报。

qπ(s,a)=Eπ[GtSt=s,At=a]q_\pi(s, a) = \mathbb{E}_\pi[G_t | S_t = s, A_t = a]

与状态价值的唯一区别在于,前提条件中多了一个明确执行的动作 At=aA_t = a

# 3. State Value 与 Action Value 的绝妙关系

状态价值,本质上就是该状态下所有可能动作价值的加权平均值。而这里的“权重”,就是你的策略选择各个动作的概率。

vπ(s)=aπ(as)qπ(s,a)v_\pi(s) = \sum_a \pi(a|s) q_\pi(s, a)

直观案例(十字路口):
假设你站在十字路口(状态 ss),目标是回家。有三个动作可选:

  • 直行:q(s,直行)=100q(s, \text{直行}) = 100 分(畅通无阻)
  • 左转:q(s,左转)=50q(s, \text{左转}) = 50 分(有些堵车)
  • 右转:q(s,右转)=20q(s, \text{右转}) = -20 分(死胡同)

你平时的驾驶习惯(策略 π\pi)是:70% 的概率直行,20% 左转,10% 右转。
那么,你站在这路口的状态价值 VV 就是综合这三个选项的加权期望:

V(s)=(0.7×100)+(0.2×50)+(0.1×20)=78 分V(s) = (0.7 \times 100) + (0.2 \times 50) + (0.1 \times -20) = 78 \text{ 分}

这也是许多无模型(Model-free)强化学习算法(比如著名的 Q-Learning 算法)喜欢直接计算 Action Value 的原因:一旦智能体清楚地掌握了每个动作的 QQ 值表,它在任何状态下只需要做一个简单的“取最大值(maxQ\max Q)”操作,就能直接得出最优策略,而无需依赖对环境底层转移概率的先验知识。