Maxton‘s Blog

返回

贝尔曼公式 (Bellman Equation)#

1. 基本定义#

强化学习的交互过程可以描述为:

St→AtRt+1,St+1S_{t} \xrightarrow{A_{t}} R_{t+1}, S_{t+1}

核心变量#

  • t,t+1t, t+1: 离散时间点。
  • StS_{t}: 时间 tt 时的状态 (State)。
  • AtA_{t}: 在 StS_{t} 状态下采取的动作 (Action)。
  • Rt+1R_{t+1}: 采取 AtA_{t} 后得到的即时奖励 (Reward)。
  • St+1S_{t+1}: 采取 AtA_{t} 后转移到的新状态 (Next State)。

注意:St,At,Rt+1S_{t}, A_{t}, R_{t+1} 均为 随机变量 (Random Variables)。这意味着交互的每一步都是由概率分布 (Probability Distribution) 决定的,因此我们可以对它们求期望。

轨迹 (Trajectory)与回报 (Return)#

交互过程形成的时间序列轨迹如下:

St→AtRt+1,St+1→At+1Rt+2,St+2→At+2Rt+3,…S_{t} \xrightarrow{A_{t}} R_{t+1}, S_{t+1} \xrightarrow{A_{t+1}} R_{t+2}, S_{t+2} \xrightarrow{A_{t+2}} R_{t+3}, \dots

折扣回报 (Discounted Return) 定义为从时间 tt 开始的累积折扣奖励:

Gt=Rt+1+γRt+2+γ2Rt+3+⋯=∑k=0∞γkRt+k+1G_{t} = R_{t+1} + \gamma R_{t+2} + \gamma^{2}R_{t+3} + \dots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1}

其中γ∈[0,1] \gamma \in [0, 1] 为折扣因子。


2. 状态价值 (State Value)#

定义#

vπ(s)v_{\pi}(s) 被称为状态价值函数 (State-Value Function),简称 State Value。它是回报 GtG_t 的数学期望:

vπ(s)=E[Gt∣St=s]v_{\pi}(s) = \mathbb{E}[G_{t} \mid S_{t}=s]
  • 它是状态 ss 的函数。
  • 它的值取决于当前的策略 π\pi。
  • 它代表了处于该状态的“价值”。价值越高,意味着在该策略下从该状态出发的前景越好。

核心区别#

Return (GtG_t) vs State Value (vπ(s)v_{\pi}(s))

  • Return 是基于单次轨迹的现实累积收益,是一个随机变量。
  • State Value 是基于所有可能轨迹(在特定策略 π\pi 下)对 Return 求得的数学期望(统计均值)。
  • 只有当策略和环境完全确定(只有唯一轨迹)时,二者在数值上才等价。

3. 贝尔曼公式推导#

贝尔曼公式描述了当前状态价值与未来状态价值之间的递归关系:

vπ(s)=E[Rt+1+γGt+1∣St=s]=E[Rt+1∣St=s]⏟即时奖励的期望+γE[Gt+1∣St=s]⏟未来奖励的期望\begin{aligned} v_{\pi}(s) &= \mathbb{E}[R_{t+1} + \gamma G_{t+1} \mid S_{t}=s] \\ &= \underbrace{\mathbb{E}[R_{t+1} \mid S_{t}=s]}_{\text{即时奖励的期望}} + \gamma \underbrace{\mathbb{E}[G_{t+1} \mid S_{t}=s]}_{\text{未来奖励的期望}} \end{aligned}

展开后的通用形式:

vπ(s)=∑a∈Aπ(a∣s)[∑r∈Rp(r∣s,a)r+γ∑s′∈Sp(s′∣s,a)vπ(s′)],for all s∈Sv_{\pi}(s) = \sum_{a \in \mathcal{A}}\pi(a|s) \left[ \sum_{r \in \mathcal{R}}p(r|s,a)r + \gamma \sum_{s^{\prime} \in \mathcal{S}}p(s^{\prime}|s,a)v_{\pi}(s^{\prime}) \right], \quad \text{for all } s \in \mathcal{S}

第一部分:即时奖励的期望 (Mean of Immediate Rewards)#

E[Rt+1∣St=s]=∑a∈Aπ(a∣s)E[Rt+1∣St=s,At=a]=∑a∈Aπ(a∣s)∑r∈Rp(r∣s,a)r\begin{aligned} \mathbb{E}[R_{t+1}|S_t = s] &= \sum_{a \in \mathcal{A}} \pi(a|s) \mathbb{E}[R_{t+1}|S_t = s, A_t = a] \\ &= \sum_{a \in \mathcal{A}} \pi(a|s) \sum_{r \in \mathcal{R}} p(r|s, a)r \end{aligned}

此处应用了概率论中的 全期望公式 (Law of Total Expectation):

  • π(a∣s)\pi(a|s): 权重(采取该动作的概率)。
  • E[R∣s,a]\mathbb{E}[R|s, a]: 条件期望(在该动作下的平均奖励)。
  • ∑\sum: 加权求和。

理解:如果是确定性策略(Deterministic Policy),求和号中仅有一项非零;但在通用的随机策略下,必须遍历所有可能的动作进行加权。

第二部分:未来奖励的期望 (Mean of Future Rewards)#

E[Gt+1∣St=s]=∑s′∈SE[Gt+1∣St=s,St+1=s′]p(s′∣s)=∑s′∈SE[Gt+1∣St+1=s′]p(s′∣s)(马尔可夫性质)=∑s′∈Svπ(s′)p(s′∣s)=∑s′∈Svπ(s′)∑a∈Ap(s′∣s,a)π(a∣s)\begin{aligned} \mathbb{E}[G_{t+1}|S_t = s] &= \sum_{s' \in \mathcal{S}} \mathbb{E}[G_{t+1}|S_t = s, S_{t+1} = s'] p(s'|s) \\ &= \sum_{s' \in \mathcal{S}} \mathbb{E}[G_{t+1}|S_{t+1} = s'] p(s'|s) \quad \text{(马尔可夫性质)} \\ &= \sum_{s' \in \mathcal{S}} v_\pi(s') p(s'|s) \\ &= \sum_{s' \in \mathcal{S}} v_\pi(s') \sum_{a \in \mathcal{A}} p(s'|s, a)\pi(a|s) \end{aligned}

本质:计算“从当前状态看,未来的平均价值是多少”。 该推导将未来回报的期望拆解为三个核心要素的乘积之和:

  1. 策略 π(a∣s)\pi(a|s):我们怎么做选择。
  2. 环境动力学 p(s′∣s,a)p(s'|s,a):环境如何转移状态。
  3. 下一状态的价值 vπ(s′)v_\pi(s'):未来有多好。

4. 矩阵与向量形式#

为了便于计算,我们可以定义以下两个辅助项:

  1. 平均即时奖励向量 rπr_{\pi}:
rπ(s)≐∑a∈Aπ(a∣s)∑r∈Rp(r∣s,a)rr_{\pi}(s) \doteq \sum_{a \in \mathcal{A}} \pi(a|s) \sum_{r \in \mathcal{R}} p(r|s, a)r

含义:将动作概率与动作产生的奖励融合,计算出当前状态 ss 的综合即时奖励期望。

  1. 状态转移矩阵 PπP_{\pi}:

    pπ(s′∣s)≐∑a∈Aπ(a∣s)p(s′∣s,a)p_{\pi}(s'|s) \doteq \sum_{a \in \mathcal{A}} \pi(a|s)p(s'|s, a)

    含义:忽略具体的动作选择,直接描述在当前策略 π\pi 下,从状态 ss 流向 s′s' 的统计规律。

由此得到贝尔曼公式的矩阵形式 (Bellman Expectation Equation):

vπ=rπ+γPπvπv_{\pi} = r_{\pi} + \gamma P_{\pi}v_{\pi}

矩阵展开示例#

假设有 4 个状态:

[vπ(s1)vπ(s2)vπ(s3)vπ(s4)]⏟vπ=[rπ(s1)rπ(s2)rπ(s3)rπ(s4)]⏟rπ+γ[pπ(s1∣s1)pπ(s2∣s1)pπ(s3∣s1)pπ(s4∣s1)pπ(s1∣s2)pπ(s2∣s2)pπ(s3∣s2)pπ(s4∣s2)pπ(s1∣s3)pπ(s2∣s3)pπ(s3∣s3)pπ(s4∣s3)pπ(s1∣s4)pπ(s2∣s4)pπ(s3∣s4)pπ(s4∣s4)]⏟Pπ[vπ(s1)vπ(s2)vπ(s3)vπ(s4)]⏟vπ\underbrace{ \begin{bmatrix} v_\pi(s_1) \\ v_\pi(s_2) \\ v_\pi(s_3) \\ v_\pi(s_4) \end{bmatrix} }_{v_\pi} = \underbrace{ \begin{bmatrix} r_\pi(s_1) \\ r_\pi(s_2) \\ r_\pi(s_3) \\ r_\pi(s_4) \end{bmatrix} }_{r_\pi} + \gamma \underbrace{ \begin{bmatrix} p_\pi(s_1|s_1) & p_\pi(s_2|s_1) & p_\pi(s_3|s_1) & p_\pi(s_4|s_1) \\ p_\pi(s_1|s_2) & p_\pi(s_2|s_2) & p_\pi(s_3|s_2) & p_\pi(s_4|s_2) \\ p_\pi(s_1|s_3) & p_\pi(s_2|s_3) & p_\pi(s_3|s_3) & p_\pi(s_4|s_3) \\ p_\pi(s_1|s_4) & p_\pi(s_2|s_4) & p_\pi(s_3|s_4) & p_\pi(s_4|s_4) \end{bmatrix} }_{P_\pi} \underbrace{ \begin{bmatrix} v_\pi(s_1) \\ v_\pi(s_2) \\ v_\pi(s_3) \\ v_\pi(s_4) \end{bmatrix} }_{v_\pi}

求解方法#

1. 封闭解 (Closed Form Solution) 可以直接通过矩阵求逆求解:

vπ=(I−γPπ)−1rπv_\pi = (I - \gamma P_\pi)^{-1} r_\pi

缺点:当状态空间巨大时,求逆运算量过大,不可行。

2. 迭代法 (Iterative Solution) 即策略评估 (Policy Evaluation) 的基础:

vk+1=rπ+γPπvk,k=0,1,2,…v_{k+1} = r_\pi + \gamma P_\pi v_k, \quad k = 0, 1, 2, \dots

结论:当 k→∞k \to \infty 时,序列收敛于真实价值 vπv_{\pi}。


5. 动作价值 (Action Value)#

定义与对比#

  • State Value (vπv_{\pi}): Agent 从一个 State 出发得到的平均 Return。
  • Action Value (qπq_{\pi}): Agent 从一个 State 出发,先采取特定 Action,随后遵循策略 π\pi 得到的平均 Return。

定义公式:

qπ(s,a)≐E[Gt∣St=s,At=a]q_\pi(s, a) \doteq \mathbb{E}[G_t \mid S_t = s, A_t = a]

它依赖于两个要素:当前的状态-动作对 (State-Action Pair) 和后续遵循的策略 π\pi。

二者关系#

1. State Value 是 Action Value 的期望

vπ(s)=∑a∈Aπ(a∣s)qπ(s,a)v_\pi(s) = \sum_{a \in \mathcal{A}} \pi(a|s) q_\pi(s, a)

2. Action Value 的展开 将 qπ(s,a)q_\pi(s, a) 展开为即时奖励与下一状态价值的和:

qπ(s,a)=∑r∈Rp(r∣s,a)r+γ∑s′∈Sp(s′∣s,a)vπ(s′)q_{\pi}(s,a) = \sum_{r \in \mathcal{R}} p(r|s,a)r + \gamma \sum_{s' \in \mathcal{S}} p(s'|s,a)v_{\pi}(s')

结合上述两点,再次印证了贝尔曼公式的递归结构:

vπ(s)=∑aπ(a∣s)[∑rp(r∣s,a)r+γ∑s′p(s′∣s,a)vπ(s′)]⏟qπ(s,a)v_{\pi}(s) = \sum_{a} \pi(a|s) \underbrace{\left[ \sum_{r} p(r|s,a)r + \gamma \sum_{s'} p(s'|s,a)v_{\pi}(s') \right]}_{q_{\pi}(s,a)}

总结:只要知道所有的 State Value,就可以求出所有的 Action Value,反之亦然。

RL学习笔记:贝尔曼公式
https://zh.maxtonniu.com/blog/rl_chapter02
作者 Maxton Niu
发布于 2026年2月16日
版权须知 CC BY-NC-SA 4.0
0 浏览 0 评论
Comment seems to stuck. Try to refresh?✨