贝尔曼公式 (Bellman Equation)#
1. 基本定义#
强化学习的交互过程可以描述为:
StAtRt+1,St+1
核心变量#
- t,t+1: 离散时间点。
- St: 时间 t 时的状态 (State)。
- At: 在 St 状态下采取的动作 (Action)。
- Rt+1: 采取 At 后得到的即时奖励 (Reward)。
- St+1: 采取 At 后转移到的新状态 (Next State)。
注意:St,At,Rt+1 均为 随机变量 (Random Variables)。这意味着交互的每一步都是由概率分布 (Probability Distribution) 决定的,因此我们可以对它们求期望。
轨迹 (Trajectory)与回报 (Return)#
交互过程形成的时间序列轨迹如下:
StAtRt+1,St+1At+1Rt+2,St+2At+2Rt+3,…
折扣回报 (Discounted Return) 定义为从时间 t 开始的累积折扣奖励:
Gt=Rt+1+γRt+2+γ2Rt+3+⋯=k=0∑∞γkRt+k+1
其中γ∈[0,1] 为折扣因子。
2. 状态价值 (State Value)#
vπ(s) 被称为状态价值函数 (State-Value Function),简称 State Value。它是回报 Gt 的数学期望:
vπ(s)=E[Gt∣St=s]
- 它是状态 s 的函数。
- 它的值取决于当前的策略 π。
- 它代表了处于该状态的“价值”。价值越高,意味着在该策略下从该状态出发的前景越好。
核心区别#
Return (Gt) vs State Value (vπ(s))
- Return 是基于单次轨迹的现实累积收益,是一个随机变量。
- State Value 是基于所有可能轨迹(在特定策略 π 下)对 Return 求得的数学期望(统计均值)。
- 只有当策略和环境完全确定(只有唯一轨迹)时,二者在数值上才等价。
3. 贝尔曼公式推导#
贝尔曼公式描述了当前状态价值与未来状态价值之间的递归关系:
vπ(s)=E[Rt+1+γGt+1∣St=s]=即时奖励的期望E[Rt+1∣St=s]+γ未来奖励的期望E[Gt+1∣St=s]
展开后的通用形式:
vπ(s)=a∈A∑π(a∣s)[r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)vπ(s′)],for all s∈S
E[Rt+1∣St=s]=a∈A∑π(a∣s)E[Rt+1∣St=s,At=a]=a∈A∑π(a∣s)r∈R∑p(r∣s,a)r
此处应用了概率论中的 全期望公式 (Law of Total Expectation):
- π(a∣s): 权重(采取该动作的概率)。
- E[R∣s,a]: 条件期望(在该动作下的平均奖励)。
- ∑: 加权求和。
理解:如果是确定性策略(Deterministic Policy),求和号中仅有一项非零;但在通用的随机策略下,必须遍历所有可能的动作进行加权。
第二部分:未来奖励的期望 (Mean of Future Rewards)#
E[Gt+1∣St=s]=s′∈S∑E[Gt+1∣St=s,St+1=s′]p(s′∣s)=s′∈S∑E[Gt+1∣St+1=s′]p(s′∣s)(马尔可夫性质)=s′∈S∑vπ(s′)p(s′∣s)=s′∈S∑vπ(s′)a∈A∑p(s′∣s,a)π(a∣s)
本质:计算“从当前状态看,未来的平均价值是多少”。
该推导将未来回报的期望拆解为三个核心要素的乘积之和:
- 策略 π(a∣s):我们怎么做选择。
- 环境动力学 p(s′∣s,a):环境如何转移状态。
- 下一状态的价值 vπ(s′):未来有多好。
4. 矩阵与向量形式#
为了便于计算,我们可以定义以下两个辅助项:
- 平均即时奖励向量 rπ:
rπ(s)≐a∈A∑π(a∣s)r∈R∑p(r∣s,a)r
含义:将动作概率与动作产生的奖励融合,计算出当前状态 s 的综合即时奖励期望。
-
状态转移矩阵 Pπ:
pπ(s′∣s)≐a∈A∑π(a∣s)p(s′∣s,a)
含义:忽略具体的动作选择,直接描述在当前策略 π 下,从状态 s 流向 s′ 的统计规律。
由此得到贝尔曼公式的矩阵形式 (Bellman Expectation Equation):
vπ=rπ+γPπvπ
矩阵展开示例#
假设有 4 个状态:
vπvπ(s1)vπ(s2)vπ(s3)vπ(s4)=rπrπ(s1)rπ(s2)rπ(s3)rπ(s4)+γPπpπ(s1∣s1)pπ(s1∣s2)pπ(s1∣s3)pπ(s1∣s4)pπ(s2∣s1)pπ(s2∣s2)pπ(s2∣s3)pπ(s2∣s4)pπ(s3∣s1)pπ(s3∣s2)pπ(s3∣s3)pπ(s3∣s4)pπ(s4∣s1)pπ(s4∣s2)pπ(s4∣s3)pπ(s4∣s4)vπvπ(s1)vπ(s2)vπ(s3)vπ(s4)
求解方法#
1. 封闭解 (Closed Form Solution)
可以直接通过矩阵求逆求解:
vπ=(I−γPπ)−1rπ
缺点:当状态空间巨大时,求逆运算量过大,不可行。
2. 迭代法 (Iterative Solution)
即策略评估 (Policy Evaluation) 的基础:
vk+1=rπ+γPπvk,k=0,1,2,…
结论:当 k→∞ 时,序列收敛于真实价值 vπ。
5. 动作价值 (Action Value)#
定义与对比#
- State Value (vπ): Agent 从一个 State 出发得到的平均 Return。
- Action Value (qπ): Agent 从一个 State 出发,先采取特定 Action,随后遵循策略 π 得到的平均 Return。
定义公式:
qπ(s,a)≐E[Gt∣St=s,At=a]
它依赖于两个要素:当前的状态-动作对 (State-Action Pair) 和后续遵循的策略 π。
二者关系#
1. State Value 是 Action Value 的期望
vπ(s)=a∈A∑π(a∣s)qπ(s,a)
2. Action Value 的展开
将 qπ(s,a) 展开为即时奖励与下一状态价值的和:
qπ(s,a)=r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)vπ(s′)
结合上述两点,再次印证了贝尔曼公式的递归结构:
vπ(s)=a∑π(a∣s)qπ(s,a)[r∑p(r∣s,a)r+γs′∑p(s′∣s,a)vπ(s′)]
总结:只要知道所有的 State Value,就可以求出所有的 Action Value,反之亦然。