E.2.5 贝尔曼期望方程与动作价值
前置知识:E.2.1 概率基础和E.2.2 状态价值——你需要知道条件概率和期望的线性性。
前面把价值函数解释成"从某个状态出发的平均回报":
这个定义是对的,但它把所有细节都藏在了期望符号 里面。如果不知道期望里面到底在求什么和、按什么权重加,就没法真正计算价值——就像知道"平均成绩是 85 分"但不知道有几门课、各占多少权重,就没法复现这个数字。这一篇把期望一步步展开,看看符号背后包含了哪些求和。展开之后得到的递推关系就是贝尔曼期望方程——它的作用是把”未来所有步的价值”压缩成”一步奖励 + 下一状态价值”的递推形式,这样我们不需要跑完整条轨迹就能计算价值。
先把 拆成”一步奖励 + 未来回报”:
代入价值函数:
期望有一个基本性质——线性性:和的期望等于期望的和。于是:
左边的 是”即时奖励的平均值”,展开为:
右边的 是"下一状态价值的平均值":
两项合在一起,得到贝尔曼期望方程:
这个公式看起来复杂,但逐层拆开来看,每一层都只是"按概率加权求平均":
- :对所有可能选的动作求平均。
- :对每种可能的奖励求平均。
- :对每种可能的下一状态的价值求平均。
用两状态例子验证
回到导读中的两状态例子。假设策略是确定性的——在 只选一个动作,这个动作让下一步一定到 ,奖励是 ;在 只选一个动作,下一步一定到 ,奖励是 。。
因为策略是确定性的, 对选中的动作是 、其余是 ,所以"对动作求和"这一层消失了。对 展开:
对 展开:
这就是导读里的两个方程,验证了贝尔曼期望方程确实是在做"一步奖励 + 概率加权未来价值"。
策略有随机性时怎么办?
如果策略在 下有两个可选动作,概率分别是 、:
- 选 left 奖励是 ,下一步到 。
- 选 right 奖励是 ,下一步到 。
那么 的贝尔曼期望方程是:
每个方括号里是"选了某个动作后的即时奖励 + 未来价值",前面的系数是选该动作的概率。逐层展开就是在逐层做概率加权平均。
动作价值与优势函数
状态价值函数 回答的是"从状态 出发,平均能拿多少"。但在训练策略时,我们经常面临一个更具体的问题:在状态 下,到底是动作 left 好,还是动作 right 好?光知道"平均能拿多少"没法回答——因为平均分可能是一个很好、一个很差的混合结果。我们需要单独评估每个动作的价值,这就需要动作价值函数。
动作价值函数 的定义是:已经在状态 选择了动作 ,之后继续按策略 行动,平均能拿多少回报。
它的贝尔曼形式是:
注意 和 之间的关系:状态价值是动作价值的加权平均——
直觉上,”从 出发的平均回报”等于”每种动作的回报 × 选该动作的概率”之和。
而优势函数是动作价值和状态价值的差:
它衡量”动作 比状态 下的平均水平好多少”。前面”回报 10、平均 8,所以优势是 2”的例子,就是这个公式的数值版本。
用数字看 q、v 和 A 的关系
假设在某个状态 下,策略以概率 选 left、 选 right。已知:
| 动作 | 动作价值 |
|---|---|
| left | |
| right |
状态价值是动作价值的加权平均:
于是优势函数是:
left 比平均差 (负优势),right 比平均好 (正优势)。策略梯度会用这个正负号来决定:right 的概率应该上调,left 的概率应该下调。
重要性采样的轨迹形式
单步的重要性权重前面已经见过:
如果一整条轨迹都由行为策略 采样,而我们想估计目标策略 的回报,就要把每一步的概率比乘起来:
这里 (大写的 )表示"把所有的项乘起来",就像 表示"把所有的项加起来"。于是异策略蒙特卡洛估计写成:
这个方法能用,但有风险:如果很多概率比相乘,权重可能变得非常大,导致方差爆炸。因此实际算法常使用截断、加权重要性采样或其他更稳定的方法。
数值例子:轨迹重要性权重
假设一条两步轨迹,每一步的目标策略和行为策略概率分别是:
| 步骤 | 单步权重 | ||
|---|---|---|---|
轨迹重要性权重是两步之积:
如果这条轨迹的回报是 ,加权后贡献为 。看起来还能接受。但如果每步权重都是 ,跑 步后权重变成 ——这就是"方差爆炸"的含义。PPO 的裁剪和归一化本质上就是在控制这种极端权重。
协方差与策略梯度方差
两个随机变量一起变化的趋势可以用协方差表示:
相关系数进一步把协方差标准化到 :
在强化学习中,梯度估计常常是随机变量。例如策略梯度样本:
如果 波动很大, 的方差也会变大。使用 baseline、advantage 标准化、GAE,本质上都是在控制这个随机梯度的方差。
数值例子:协方差
假设两个策略梯度样本,优势分别是 ,对应的梯度范数是 。
均值:,。
协方差:
协方差为正,说明优势大的时候梯度也大——两个信号正相关。如果协方差接近 ,说明优势的大小和梯度的大小没有稳定关系,梯度估计的噪声会更大。
小结
本篇把价值函数从"黑盒期望"展开成了可计算的贝尔曼期望方程,并引入了动作价值和优势函数:
| 概念 | 公式 | 作用 |
|---|---|---|
| 贝尔曼期望方程 | 把"未来所有步"压缩成"一步 + 递推" | |
| 动作价值 | 评估"选了某个动作后平均能拿多少" | |
| 优势函数 | 衡量"这个动作比平均水平好多少" | |
| 轨迹重要性采样 | 用旧策略数据评估新策略,注意方差爆炸风险 | |
| 协方差 | 衡量两个随机变量的共同波动,控制梯度方差 |
贝尔曼期望方程的核心思想是递推:不需要跑完整条轨迹,只需要知道"一步奖励 + 下一状态价值"就能计算当前价值。动作价值让我们能比较不同动作的好坏,优势函数把这个比较量化成一个数字。轨迹重要性采样让我们能复用旧数据,但要注意方差爆炸的风险。
下一篇:E.2.6 概率统计公式速查与练习 —— 汇总本模块所有公式,附练习题。