贝尔曼方程(Bellman Equation)


1. 引言

2. 状态价值函数(State-Value Function)

2.1 定义

状态价值 v π ( s ) v_{\pi}(s) vπ(s):在状态 s s s 按策略 π \pi π 行动能获得的期望回报

v π ( s ) ≐ E π [ G t ∣ S t = s ] v_{\pi}(s) \doteq \mathbb{E}_{\pi}[G_t | S_t = s] vπ(s)Eπ[GtSt=s]

展开形式
v π ( s ) = E π [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + … ∣ S t = s ] v_{\pi}(s) = \mathbb{E}_{\pi}[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \ldots | S_t = s] vπ(s)=Eπ[Rt+1+γRt+2+γ2Rt+3+St=s]

2.3 状态价值的组成

v π ( s ) = E [ R t + 1 ∣ S t = s ] ⏟ 即时奖励 + γ E [ G t + 1 ∣ S t = s ] ⏟ 未来奖励 v_{\pi}(s) = \underbrace{\mathbb{E}[R_{t+1} | S_t=s]}_{\text{即时奖励}} + \underbrace{\gamma \mathbb{E}[G_{t+1} | S_t=s]}_{\text{未来奖励}} vπ(s)=即时奖励 E[Rt+1St=s]+未来奖励 γE[Gt+1St=s]

组成部分 含义 特点
即时奖励 当前动作的直接反馈 确定性较高
未来奖励 后续状态的折扣累积 不确定性高

2.4 状态价值的依赖关系

在平稳MDP + 平稳策略中, v π ( s ) v_{\pi}(s) vπ(s) 只依赖于状态s和策略 π {\pi} π,而不依赖于时间 t。因为,

  1. 环境是平稳的(stationary),则状态转移概率 p ( s ′ , r ∣ s , a ) p(s',r\mid s,a) p(s,rs,a) 不随时间变化
  2. 策略是平稳的(stationary),则 π ( a ∣ s ) \pi(a\mid s) π(as) 与时间无关
  3. 奖励函数不随时间变化

3. 动作价值函数(Action-Value Function)

3.1 定义

动作价值 q π ( s , a ) q_{\pi}(s, a) qπ(s,a):在状态 s s s 采取动作 a a a,然后按策略 π \pi π 行动的期望回报。

q π ( s , a ) ≐ E π [ G t ∣ S t = s , A t = a ] q_{\pi}(s, a) \doteq \mathbb{E}_{\pi}[G_t | S_t = s, A_t = a] qπ(s,a)Eπ[GtSt=s,At=a]

与状态价值的区别

  • 状态价值:从状态出发,按 π \pi π 选择动作
  • 动作价值:指定第一个动作 a a a,之后按 π \pi π 选择

3.2 状态价值与动作价值的关系

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

直观理解

状态价值 = 所有可能动作的价值的加权平均
          (权重为选择该动作的概率)

图示

       状态 s
          ↓
    π选择动作a
    /    |    \
   /     |     \
  a1    a2     a3
  ↓     ↓      ↓
q(s,a1) q(s,a2) q(s,a3)
  ↓     ↓      ↓
v(s) = π(a1|s)·q(s,a1) + π(a2|s)·q(s,a2) + π(a3|s)·q(s,a3)

4. 贝尔曼方程(Bellman Equation)

4.1 核心思想

贝尔曼方程建立了状态价值之间的递归关系

v π ( s ) = ∑ a π ( a ∣ s ) [ ∑ r p ( r ∣ s , a ) ⋅ r + γ ∑ s ′ p ( s ′ ∣ s , a ) ⋅ v π ( s ′ ) ] \boxed{v_{\pi}(s) = \sum_{a} \pi(a|s) \left[ \sum_{r} p(r|s,a) \cdot r + \gamma \sum_{s'} p(s'|s,a) \cdot v_{\pi}(s') \right]} vπ(s)=aπ(as)[rp(rs,a)r+γsp(ss,a)vπ(s)]

简化形式
v π ( s ) = ∑ a π ( a ∣ s ) [ r ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) ⋅ v π ( s ′ ) ] v_{\pi}(s) = \sum_{a} \pi(a|s) \left[ r(s,a) + \gamma \sum_{s'} P(s'|s,a) \cdot v_{\pi}(s') \right] vπ(s)=aπ(as)[r(s,a)+γsP(ss,a)vπ(s)]

4.2 推导过程

步骤1:回报的递归分解
G t = R t + 1 + γ G t + 1 G_t = R_{t+1} + \gamma G_{t+1} Gt=Rt+1+γGt+1

步骤2:状态价值定义
v π ( s ) = E π [ G t ∣ S t = s ] v_{\pi}(s) = \mathbb{E}_{\pi}[G_t | S_t = s] vπ(s)=Eπ[GtSt=s]

步骤3:代入递归形式
v π ( s ) = E π [ R t + 1 + γ G t + 1 ∣ S t = s ] = E π [ R t + 1 ∣ S t = s ] + γ E π [ G t + 1 ∣ S t = s ] \begin{align} v_{\pi}(s) &= \mathbb{E}_{\pi}[R_{t+1} + \gamma G_{t+1} | S_t = s] \\ &= \mathbb{E}_{\pi}[R_{t+1} | S_t = s] + \gamma \mathbb{E}_{\pi}[G_{t+1} | S_t = s] \end{align} vπ(s)=Eπ[Rt+1+γGt+1St=s]=Eπ[Rt+1St=s]+γEπ[Gt+1St=s]

步骤4:展开期望
E π [ R t + 1 ∣ S t = s ] = ∑ a π ( a ∣ s ) ∑ r p ( r ∣ s , a ) ⋅ r \mathbb{E}_{\pi}[R_{t+1} | S_t = s] = \sum_{a} \pi(a|s) \sum_{r} p(r|s,a) \cdot r Eπ[Rt+1St=s]=aπ(as)rp(rs,a)r

E π [ G t + 1 ∣ S t = s ] = ∑ a π ( a ∣ s ) ∑ s ′ p ( s ′ ∣ s , a ) ⋅ v π ( s ′ ) \mathbb{E}_{\pi}[G_{t+1} | S_t = s] = \sum_{a} \pi(a|s) \sum_{s'} p(s'|s,a) \cdot v_{\pi}(s') Eπ[Gt+1St=s]=aπ(as)sp(ss,a)vπ(s)

步骤5:合并得到原式

4.3 贝尔曼方程的结构

v_π(s) = 即时奖励的期望 + γ × 未来价值的期望
         ───────────────   ──────────────────
              利用                探索

拆解分析

符号 含义 作用
∑ a π ( a ∣ s ) \sum_{a} \pi(a|s) aπ(as) 策略选择动作的概率 加权所有可能动作
∑ r p ( r ∣ s , a ) ⋅ r \sum_{r} p(r|s,a) \cdot r rp(rs,a)r 即时奖励期望 当前步的直接收益
γ \gamma γ 折扣因子 未来价值的权重
∑ s ′ p ( s ′ ∣ s , a ) ⋅ v π ( s ′ ) \sum_{s'} p(s'|s,a) \cdot v_{\pi}(s') sp(ss,a)vπ(s) 未来价值期望 后续状态的累积价值

4.4 贝尔曼方程的矩阵形式

向量形式
v π = r π + γ P π v π \mathbf{v}_{\pi} = \mathbf{r}_{\pi} + \gamma \mathbf{P}_{\pi} \mathbf{v}_{\pi} vπ=rπ+γPπvπ

其中:

  • v π ∈ R n \mathbf{v}_{\pi} \in \mathbb{R}^n vπRn:状态价值向量
  • r π ∈ R n \mathbf{r}_{\pi} \in \mathbb{R}^n rπRn:即时奖励向量
  • P π ∈ R n × n \mathbf{P}_{\pi} \in \mathbb{R}^{n \times n} PπRn×n:状态转移矩阵(由策略 π \pi π 诱导)

解析解
v π = ( I − γ P π ) − 1 r π \mathbf{v}_{\pi} = (I - \gamma \mathbf{P}_{\pi})^{-1} \mathbf{r}_{\pi} vπ=(IγPπ)1rπ

4.5 动作价值的贝尔曼方程

q π ( s , a ) = ∑ r p ( r ∣ s , a ) ⋅ r + γ ∑ s ′ p ( s ′ ∣ s , a ) ⋅ v π ( s ′ ) q_{\pi}(s, a) = \sum_{r} p(r|s,a) \cdot r + \gamma \sum_{s'} p(s'|s,a) \cdot v_{\pi}(s') qπ(s,a)=rp(rs,a)r+γsp(ss,a)vπ(s)

或者
q π ( s , a ) = r ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) ∑ a ′ π ( a ′ ∣ s ′ ) ⋅ q π ( s ′ , a ′ ) q_{\pi}(s, a) = r(s,a) + \gamma \sum_{s'} P(s'|s,a) \sum_{a'} \pi(a'|s') \cdot q_{\pi}(s', a') qπ(s,a)=r(s,a)+γsP(ss,a)aπ(as)qπ(s,a)


5. 求解贝尔曼方程

5.1 方法一:解析解(Analytical Solution)

适用场景:状态空间小( n < 100 n < 100 n<100

v π = ( I − γ P π ) − 1 r π \mathbf{v}_{\pi} = (I - \gamma \mathbf{P}_{\pi})^{-1} \mathbf{r}_{\pi} vπ=(IγPπ)1rπ

5.2 方法二:迭代法(Iterative Method)

迭代公式
v k + 1 = r π + γ P π v k v_{k+1} = \mathbf{r}_{\pi} + \gamma \mathbf{P}_{\pi} v_k vk+1=rπ+γPπvk

算法流程

# 策略评估(Policy Evaluation)
初始化: v_0(s) = 0, ∀s
重复:
    for s in S:
        v_{k+1}(s) = Σ_a π(a|s) [r(s,a) + γ Σ_s' P(s'|s,a) v_k(s')]
    k += 1
直到: ||v_{k+1} - v_k|| < θ

收敛性证明

定义误差: δ k = v k − v π \delta_k = v_k - v_{\pi} δk=vkvπ

∥ δ k + 1 ∥ = ∥ v k + 1 − v π ∥ = ∥ γ P π v k + r π − γ P π v π − r π ∥ = γ ∥ P π ( v k − v π ) ∥ = γ ∥ P π δ k ∥ ≤ γ ∥ δ k ∥ \begin{align} \|\delta_{k+1}\| &= \|v_{k+1} - v_{\pi}\| \\ &= \|\gamma \mathbf{P}_{\pi} v_k + \mathbf{r}_{\pi} - \gamma \mathbf{P}_{\pi} v_{\pi} - \mathbf{r}_{\pi}\| \\ &= \gamma \|\mathbf{P}_{\pi} (v_k - v_{\pi})\| \\ &= \gamma \|\mathbf{P}_{\pi} \delta_k\| \\ &\leq \gamma \|\delta_k\| \end{align} δk+1=vk+1vπ=γPπvk+rπγPπvπrπ=γPπ(vkvπ)=γPπδkγδk

因为 γ < 1 \gamma < 1 γ<1,所以 δ k → 0 \delta_k \to 0 δk0

5.3 示例:简单MDP

状态空间 S = { s 1 , s 2 } \mathcal{S} = \{s_1, s_2\} S={s1,s2}

策略 π \pi π

  • s 1 s_1 s1: 总是选择动作 a 1 a_1 a1
  • s 2 s_2 s2: 总是选择动作 a 2 a_2 a2

状态转移
P ( s 1 ∣ s 1 , a 1 ) = 0.5 , P ( s 2 ∣ s 1 , a 1 ) = 0.5 P(s_1|s_1, a_1) = 0.5, \quad P(s_2|s_1, a_1) = 0.5 P(s1s1,a1)=0.5,P(s2s1,a1)=0.5
P ( s 1 ∣ s 2 , a 2 ) = 0 , P ( s 2 ∣ s 2 , a 2 ) = 1 P(s_1|s_2, a_2) = 0, \quad P(s_2|s_2, a_2) = 1 P(s1s2,a2)=0,P(s2s2,a2)=1

奖励
r ( s 1 , a 1 ) = 5 , r ( s 2 , a 2 ) = 10 r(s_1, a_1) = 5, \quad r(s_2, a_2) = 10 r(s1,a1)=5,r(s2,a2)=10

折扣因子 γ = 0.9 \gamma = 0.9 γ=0.9

贝尔曼方程
v ( s 1 ) = 5 + 0.9 × [ 0.5 × v ( s 1 ) + 0.5 × v ( s 2 ) ] v(s_1) = 5 + 0.9 \times [0.5 \times v(s_1) + 0.5 \times v(s_2)] v(s1)=5+0.9×[0.5×v(s1)+0.5×v(s2)]
v ( s 2 ) = 10 + 0.9 × v ( s 2 ) v(s_2) = 10 + 0.9 \times v(s_2) v(s2)=10+0.9×v(s2)

求解
v ( s 2 ) = 10 1 − 0.9 = 100 v(s_2) = \frac{10}{1 - 0.9} = 100 v(s2)=10.910=100
v ( s 1 ) = 5 + 0.45 × v ( s 1 ) + 0.45 × 100 v(s_1) = 5 + 0.45 \times v(s_1) + 0.45 \times 100 v(s1)=5+0.45×v(s1)+0.45×100
0.55 × v ( s 1 ) = 50 0.55 \times v(s_1) = 50 0.55×v(s1)=50
v ( s 1 ) ≈ 90.9 v(s_1) \approx 90.9 v(s1)90.9


6. 贝尔曼最优方程(Bellman Optimality Equation)

6.1 最优策略

策略的偏序关系

策略 π 1 \pi_1 π1 优于策略 π 2 \pi_2 π2,记作 π 1 ≥ π 2 \pi_1 \geq \pi_2 π1π2,当且仅当:
v π 1 ( s ) ≥ v π 2 ( s ) , ∀ s ∈ S v_{\pi_1}(s) \geq v_{\pi_2}(s), \quad \forall s \in \mathcal{S} vπ1(s)vπ2(s),sS

最优策略 π ∗ \pi^* π
v π ∗ ( s ) ≥ v π ( s ) , ∀ s ∈ S , ∀ π v_{\pi^*}(s) \geq v_{\pi}(s), \quad \forall s \in \mathcal{S}, \forall \pi vπ(s)vπ(s),sS,π

最优状态价值
v ∗ ( s ) ≐ max ⁡ π v π ( s ) v^*(s) \doteq \max_{\pi} v_{\pi}(s) v(s)πmaxvπ(s)

最优动作价值
q ∗ ( s , a ) ≐ max ⁡ π q π ( s , a ) q^*(s, a) \doteq \max_{\pi} q_{\pi}(s, a) q(s,a)πmaxqπ(s,a)

6.2 最优策略的性质

定理1:最优策略一定存在。

定理2:最优策略可能不唯一,但最优价值函数唯一。

定理3:最优策略可以是确定性的。

定理4:最优策略满足:
π ∗ ( a ∣ s ) = { 1 if  a = arg ⁡ max ⁡ a ′ q ∗ ( s , a ′ ) 0 otherwise \pi^*(a|s) = \begin{cases} 1 & \text{if } a = \arg\max_{a'} q^*(s, a') \\ 0 & \text{otherwise} \end{cases} π(as)={10if a=argmaxaq(s,a)otherwise

6.3 贝尔曼最优方程(BOE)

状态价值的BOE
v ∗ ( s ) = max ⁡ a [ r ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) ⋅ v ∗ ( s ′ ) ] v^*(s) = \max_{a} \left[ r(s,a) + \gamma \sum_{s'} P(s'|s,a) \cdot v^*(s') \right] v(s)=amax[r(s,a)+γsP(ss,a)v(s)]

动作价值的BOE
q ∗ ( s , a ) = r ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) ⋅ max ⁡ a ′ q ∗ ( s ′ , a ′ ) q^*(s, a) = r(s,a) + \gamma \sum_{s'} P(s'|s,a) \cdot \max_{a'} q^*(s', a') q(s,a)=r(s,a)+γsP(ss,a)amaxq(s,a)

关系
v ∗ ( s ) = max ⁡ a q ∗ ( s , a ) v^*(s) = \max_{a} q^*(s, a) v(s)=amaxq(s,a)
q ∗ ( s , a ) = r ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) ⋅ v ∗ ( s ′ ) q^*(s, a) = r(s,a) + \gamma \sum_{s'} P(s'|s,a) \cdot v^*(s') q(s,a)=r(s,a)+γsP(ss,a)v(s)

6.4 BOE与贝尔曼方程的区别

特性 贝尔曼方程 (BE) 贝尔曼最优方程 (BOE)
策略 给定策略 π \pi π 最优策略 π ∗ \pi^* π
选择动作 π ( a ∣ s ) \pi(a|s) π(as) 加权 max ⁡ a \max_{a} maxa 选择最优
方程类型 线性方程组 非线性方程组
求解难度 简单(迭代收敛) 困难(需要优化)

对比

贝尔曼方程:
v_π(s) = Σ_a π(a|s) [r(s,a) + γ Σ_s' P(s'|s,a) v_π(s')]
         ────────────────────────────────────────
                 按策略π加权平均

贝尔曼最优方程:
v*(s) = max_a [r(s,a) + γ Σ_s' P(s'|s,a) v*(s')]
        ────────────────────────────────────
              选择最优动作

6.5 求解BOE的方法

6.5.1 价值迭代(Value Iteration)
初始化: v_0(s) = 0, ∀s
重复:
    for s in S:
        v_{k+1}(s) = max_a [r(s,a) + γ Σ_s' P(s'|s,a) v_k(s')]
直到: ||v_{k+1} - v_k|| < θ

# 提取最优策略
for s in S:
    π*(s) = argmax_a [r(s,a) + γ Σ_s' P(s'|s,a) v*(s')]
6.5.2 策略迭代(Policy Iteration)
初始化: π_0 为任意策略
重复:
    # 策略评估
    求解 v_π_k

    # 策略改进
    π_{k+1}(s) = argmax_a [r(s,a) + γ Σ_s' P(s'|s,a) v_π_k(s')]

直到: π_{k+1} = π_k

7. 最优策略与价值函数的关系

7.1 从最优价值推导最优策略

已知 v ∗ ( s ) v^*(s) v(s),求 π ∗ ( a ∣ s ) \pi^*(a|s) π(as)

π ∗ ( a ∣ s ) = { 1 if  a ∈ arg ⁡ max ⁡ a ′ q ∗ ( s , a ′ ) 0 otherwise \pi^*(a|s) = \begin{cases} 1 & \text{if } a \in \arg\max_{a'} q^*(s, a') \\ 0 & \text{otherwise} \end{cases} π(as)={10if aargmaxaq(s,a)otherwise

其中:
q ∗ ( s , a ) = r ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) ⋅ v ∗ ( s ′ ) q^*(s, a) = r(s,a) + \gamma \sum_{s'} P(s'|s,a) \cdot v^*(s') q(s,a)=r(s,a)+γsP(ss,a)v(s)

已知 q ∗ ( s , a ) q^*(s, a) q(s,a),求 π ∗ ( a ∣ s ) \pi^*(a|s) π(as)

π ∗ ( a ∣ s ) = { 1 if  a = arg ⁡ max ⁡ a ′ q ∗ ( s , a ′ ) 0 otherwise \pi^*(a|s) = \begin{cases} 1 & \text{if } a = \arg\max_{a'} q^*(s, a') \\ 0 & \text{otherwise} \end{cases} π(as)={10if a=argmaxaq(s,a)otherwise

8. 强化学习训练的目标

  1. 学习最优策略 π*,使得在与环境
  2. 持续交互中,获得最大的长期累积奖励

数学表达
π ∗ = arg ⁡ max ⁡ π E π [ ∑ t = 0 ∞ γ t R t + 1 ] \pi^* = \arg\max_{\pi} \mathbb{E}_{\pi}\left[\sum_{t=0}^{\infty} \gamma^t R_{t+1}\right] π=argπmaxEπ[t=0γtRt+1]

8.2 具体目标

  1. 学习最优策略 π ∗ \pi^* π

    • 定义智能体在每个状态下应采取的最优动作
    • 可以是确定性或随机性策略
  2. 最大化累积奖励

    • 不是追求单步即时奖励最大
    • 而是长期累积奖励(带折扣)最大
  3. 理解环境

    • 基于模型(Model-Based):学习 P ( s ′ ∣ s , a ) P(s'|s,a) P(ss,a) r ( s , a ) r(s,a) r(s,a)
    • 无模型(Model-Free):直接学习 v π ( s ) v_{\pi}(s) vπ(s) q π ( s , a ) q_{\pi}(s,a) qπ(s,a)
  4. 平衡探索与利用

    • 探索(Exploration):尝试未知动作,发现更优策略
    • 利用(Exploitation):选择已知最优动作,获取高奖励
  5. 泛化到未见状态

    • 在训练中未遇到的状态也能做出合理决策
    • 通过函数逼近(神经网络)实现

8.3 训练流程

开始
  ↓
初始化策略 π
  ↓
┌──────────────────┐
│ 与环境交互        │
│  - 观测状态 s     │
│  - 选择动作 a~π  │
│  - 获得奖励 r     │
│  - 转移到 s'      │
└──────────────────┘
  ↓
更新策略/价值函数
  ↓
评估性能
  ↓
是否收敛? ─No─→ 返回交互
  ↓Yes
输出最优策略 π*

9. 贝尔曼方程的应用

9.1 策略评估(Policy Evaluation)

问题:给定策略 π \pi π,计算 v π ( s ) v_{\pi}(s) vπ(s)

方法:迭代求解贝尔曼方程
v k + 1 ( s ) = ∑ a π ( a ∣ s ) [ r ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) v k ( s ′ ) ] v_{k+1}(s) = \sum_{a} \pi(a|s) \left[ r(s,a) + \gamma \sum_{s'} P(s'|s,a) v_k(s') \right] vk+1(s)=aπ(as)[r(s,a)+γsP(ss,a)vk(s)]

9.2 策略改进(Policy Improvement)

问题:已知 v π ( s ) v_{\pi}(s) vπ(s),改进策略

方法:贪心选择
π ′ ( s ) = arg ⁡ max ⁡ a [ r ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) v π ( s ′ ) ] \pi'(s) = \arg\max_{a} \left[ r(s,a) + \gamma \sum_{s'} P(s'|s,a) v_{\pi}(s') \right] π(s)=argamax[r(s,a)+γsP(ss,a)vπ(s)]

定理(策略改进定理)
v π ′ ( s ) ≥ v π ( s ) , ∀ s v_{\pi'}(s) \geq v_{\pi}(s), \quad \forall s vπ(s)vπ(s),s

9.3 动态规划(Dynamic Programming)

策略迭代

π_0 → 评估 → v_π_0 → 改进 → π_1 → 评估 → v_π_1 → ... → π*

价值迭代

v_0 → 最大化 → v_1 → 最大化 → v_2 → ... → v* → 提取 → π*

9.4 时序差分学习(TD Learning)

无需模型的贝尔曼方程更新
v ( s ) ← v ( s ) + α [ r + γ v ( s ′ ) − v ( s ) ] v(s) \leftarrow v(s) + \alpha [r + \gamma v(s') - v(s)] v(s)v(s)+α[r+γv(s)v(s)]

其中 r + γ v ( s ′ ) r + \gamma v(s') r+γv(s)贝尔曼目标(Bellman Target)。


参考资料

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐