2.3 策略与价值函数


2.3 策略与价值函数

本节摘要:策略 π(a|s) 确定性或随机。V^π(s) 状态价值;Q^π(s,a) 动作价值。最优 V*, Q* 满足 Bellman 最优方程。

本节地图

  1. 写 V^π 与 Q^π 的定义
  2. 区分确定性策略与随机策略
  3. 写出 Bellman 期望方程(概念)

策略

确定性:a = π(s)

随机性:π(a|s) = P(A_t=a | S_t=s)

随机策略用于探索与纳什均衡;策略梯度直接优化 π_θ(a|s)。

价值函数

状态价值 V^π(s) = E_π[G_t | S_t=s]

动作价值 Q^π(s,a) = E_π[G_t | S_t=s, A_t=a]

关系:V^π(s) = Σ_a π(a|s) Q^π(s,a)

Bellman 期望方程(概念):

V^π(s) = Σ_a π(a|s) Σ_{s'} P(s'|s,a)[R + γ V^π(s')]

函数 回答的问题
V^π(s) 从 s 出发有多好
Q^π(s,a) 在 s 做 a 有多好
Q* 最优动作选择

⚠️ 常见坑:混淆 V 与 Q——选动作看 Q(s,a),评估状态看 V(s)。

💡 关键直觉:学 RL 常等价于学 Q 或学 π;Bellman 把「长期」拆成「一步+未来」。

要点串联

  • π 确定性/随机
  • V^π, Q^π 期望回报
  • Bellman 递归结构
  • Q 用于决策
  • 最优性 via Bellman optimality

深度扩展:V 与 Q 的关系和一个算例

V 与 Q 是最容易混淆的一对概念,这里用一个三状态小世界把它们的关系"算"明白,并给出代码层面的直觉。

三状态世界:A → B → C,每步奖励固定 +1 π 是确定策略:A→B, B→C, C→终止 γ = 0.5 V^π(A) = 1 + 0.5×V^π(B) = 1 + 0.5×(1 + 0.5×1) = 1.75 V^π(B) = 1 + 0.5×1 = 1.5 V^π(C) = 1 Q^π(A, 去B) = 1 + 0.5×V^π(B) = 1.75

从这个算例可以看出:Q 是"先在 s 执行某个具体动作、之后按 π 走"的期望回报,V 是"在 s 直接按 π 走"的期望回报。当动作是确定的时候,V^π(s) 恰好等于"唯一那个动作"的 Q^π(s,a)。一般地,两者满足 V^π(s) = Σ_a π(a|s)·Q^π(s,a)——V 是 Q 在策略 π 下的加权平均。

为什么要区分它们:选动作需要知道"做哪个动作更好",这必须看 Q——比较同一状态下不同动作的价值;而评估一个状态整体好不好、或者评估一个策略好不好,看 V 就够了。所以"评估策略"用 V、"策略改进(选动作)"用 Q,二者的分工贯穿全书:策略评估算 V,策略改进找 argmax_a Q。

Q 与 V 的代码直觉:在表格实现里,V 是一维表(每个状态一个值),Q 是二维表(每个状态-动作对一个值)。Q 表的信息量大于 V 表——从 Q 表可以直接读出最优动作,从 V 表还得多算一步。代价是 Q 表内存更大,这就是第 5 章"表格法瓶颈"里 |S|×|A| 的来源。

Bellman 方程的本质:把 V^π(s) 写成"期望的(即时奖励 + 折价的未来价值)",就是 Bellman 期望方程——它把一个全局难题(算无穷长的累积回报)拆成了局部递推。第 3 章的策略评估就是反复用这个方程迭代,第 4 章的 TD 是它的采样近似。可以说,理解了 V/Q 与这条递推,就抓住了价值类强化学习算法的主干。

动手练习:随机策略下的 V-Q 关系算例

前面的算例用的是确定性策略,这里换成随机策略,把 V 与 Q 的关系式完整算一遍,彻底吃透两者区别。设定一个小世界:状态 S1、S2 两个,策略 π 在 S1 时以 0.7 概率去 S2、0.3 概率留在 S1;γ=0.9;奖励只有"到达 S2"给 +1、其余给 0。假设我们已经知道 V^π(S2)=2(这是外部给定值,练习重点是 S1 的计算过程)。

先算 Q^π: Q(S1, 去S2) = R(S1→S2) + γ·V^π(S2) = 1 + 0.9×2 = 2.8 Q(S1, 留在S1) = R(S1→S1) + γ·V^π(S1) = 0 + 0.9×V^π(S1) = 0.9×V^π(S1) 再用关系式 V^π(S1) = Σ_a π(a|S1)·Q^π(S1,a): V(S1) = 0.7×2.8 + 0.3×(0.9×V(S1)) 解得:V(S1) = 1.96 + 0.27×V(S1) → V(S1) ≈ 2.6849

这个算例有三点值得回味。第一,V 的求解依赖"Q 的加权平均",而 Q 又依赖 V 本身——这就是 Bellman 方程的"自指"结构,也是为什么策略评估要迭代求解而非一次算出。第二,Q(S1, 去S2)=2.8 明显大于 V(S1)≈2.68,因为"去 S2"这个动作比"随机留在 S1"更好——这正是策略改进的方向来源:找出比当前策略平均值更好的动作。第三,如果策略是确定性的(0.7/0.3 变成 1/0),V 与 Q 的关系退化成"唯一动作的 Q",上一节的直觉依然成立。建议你在纸上把每一步代值过程重写一遍,感受"方程自己指向自己"的递归味道——这一步走顺了,后面策略评估、Q-learning 的更新式就都是老朋友了。

常见误区辨析

初学策略与价值函数,有三个高频错误值得单独点名。一是把"确定性策略"当成唯一形态——随机策略不是"偷懒",而是探索(第 3 章)、博弈均衡(扑克要随机)、以及策略梯度优化的直接对象,理解 π(a|s) 这个"给定状态给动作概率"的写法,是后面读策略梯度章节的前提。二是用 V 去选动作——V(s) 只回答"从 s 出发平均有多好",不区分"做哪个动作更好",选动作必须用 Q(s,a) 逐个比较;把 V 当 Q 用,策略改进步骤就写错了。三是忘记 Bellman 方程是"一组方程"而非"一个公式"——它对每个状态都成立,策略评估/价值迭代的本质都是求解这一组方程,只是求解方式不同(迭代逼近 vs 直接解)。辨析这三处,比多读一遍正文更能防止"公式记得住、落地就出错"。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U