Chapter 8 - Value Function Methods
[!abstract] 本章导读 前几章把每个状态或状态-动作对的价值存进表格。本章把表格替换为带参数的函数,用较短的参数向量表示大量价值。这样既节省存储,又能把一个样本的信息泛化到相似状态,但也引入了近似误差、特征设计和优化稳定性问题。全章的主线是:先把策略评估写成加权最小二乘问题,再把 TD、Sarsa 和 Q-learning 改写为参数更新,随后在线性情形中分析收敛目标,最后用神经网络、目标网络和经验回放得到 deep Q-learning。
0. 本章知识地图

Chapter 8 是从表格型强化学习走向现代深度强化学习的桥梁:
本章要解决四个层次的问题:
- 表示:如何用 或 代替价值表?
- 学习:如何仅依靠样本更新参数 ?
- 理论:线性 TD 到底收敛到什么,它最小化什么误差?
- 工程:非线性神经网络下,如何借助目标网络和经验回放稳定训练?
[!important] 一句话总览 函数近似把“改一个表项”变成“沿梯度改参数”;参数是共享的,因此一次更新会同时改变许多状态的估计,这既是泛化能力的来源,也是训练不稳定和近似偏差的来源。
1. 从表格到函数
1.1 两种表示方式
若状态集合为 ,表格法直接保存:
| 状态 | ||||
|---|---|---|---|---|
| 估计值 |
函数近似不保存每一个值,而是选定特征 ,用参数 计算价值。例如一阶函数:

这里的“线性函数近似”是指 关于参数 线性,并不要求关于状态 线性。二阶多项式仍是线性函数近似:
1.2 读取、更新与泛化
表格法读取一个值只需索引表项;函数法需要输入 ,计算 并执行一次函数前向计算:

两种方法的核心差异如下:
| 维度 | 表格法 | 函数近似法 |
|---|---|---|
| 存储 | 保存约 个值 | 保存通常低维的参数 |
| 读取 | 直接索引 | 计算 |
| 更新 | 直接改一个表项 | 改参数 ,间接改变价值 |
| 泛化 | 一个表项通常不影响其他状态 | 共享参数使多个状态同时变化 |
| 误差 | 有限表格可精确表示 | 受函数族表达能力限制 |
| 连续状态 | 无法直接穷举 | 可由特征或神经网络处理 |

图 8.4 展示了泛化的机制:为改善 的估计而改变 后, 的估计也可能变化。若特征表达了合理的相似性,这种共享可显著提高样本效率;若特征不合适,则更新也可能错误地干扰其他状态。
[!note] 补充理解:压缩与偏差 用 维参数表示 个价值,本质上把价值向量限制在一个低维函数族中。当 时通常能节省存储并获得泛化,但真实价值未必属于该函数族,因此会产生无法靠更多样本消除的近似误差。
1.3 已知真实价值时的最小二乘
若暂时假设真实价值向量 已知,且第 行为 的特征矩阵为 ,可以直接解:
当 可逆时,普通最小二乘解为:
强化学习的困难恰在于 未知,只能用交互样本构造替代目标。
2. 状态分布与目标函数
2.1 均方价值误差
给定策略 ,最自然的目标是最小化真实价值与估计价值之间的均方误差:
期望必须基于某个状态分布。若所有状态等权:
更符合策略实际访问频率的选择是稳态分布 :
这表示经常访问的状态在目标函数中权重更高。
2.2 Box 8.1:稳态分布
固定策略 后,MDP 变为转移矩阵 所描述的马尔可夫链。矩阵 的第 个元素是从 经 步到达 的概率:
若初始分布为 ,第 步访问 的概率为:
向量形式为:
对正则马尔可夫链,存在唯一稳态分布 ,且:
于是无论初始分布是什么:
稳态分布满足:
也就是说, 是 对应特征值 的左特征向量,并归一化为概率分布。
相关概念:
- 可达:若存在某个 使 ,则 可由 到达。
- 互通: 可达 且 也可达 。
- 不可约:任意两状态互通。
- 正则:存在同一个 ,使 的所有元素严格为正。
- 正则蕴含不可约;不可约链若存在适当的非周期性条件,例如教材示例中每个状态可自转移,则可得到正则性。
探索性策略通常让更多动作具有正概率,从而更容易使诱导的马尔可夫链不可约或正则。
2.3 稳态分布示例
教材示例的转移矩阵为:
其特征值为 ,由特征值 对应的左特征向量得到:

图 8.5 中,1000 步轨迹的经验访问比例逐渐接近理论值。轨迹越长,频率估计通常越稳定。
3. 基于函数近似的状态价值 TD
3.1 从梯度下降到样本更新
对式 (8.3) 求负梯度并把常数 吸收到步长中:
以样本 代替期望可得随机梯度形式:
但 仍未知。可以有两种替代:
- Monte Carlo:用完整回报 替代 ;
- TD:用一步目标 替代。
因此得到一般的函数近似 TD 更新:
定义 TD 误差:
则参数更新只有一个骨架:
[!note] 补充理解:为什么常称为半梯度 在 TD 更新中,目标本身含有当前参数产生的下一状态估计,但算法只对当前状态的估计项取梯度,并把目标暂时视为常数。现代文献常称这种更新为 semi-gradient。教材正文主要直接从采样替代的角度推导,不依赖这一术语。
3.2 Algorithm 8.1:TD with function approximation
输入:固定策略 π,初始参数 w0,步长序列 {αt}对每个回合: 生成初始状态 s0 当尚未终止: 按 π 在 st 选择 at 与环境交互,得到 rt+1, st+1 δt <- rt+1 + γ v_hat(st+1, wt) - v_hat(st, wt) wt+1 <- wt + αt δt grad_w v_hat(st, wt) st <- st+1输出:v_hat(s, w)终止状态的后继价值按 处理。
3.3 线性 TD
选择:
代入式 (8.13):
这就是 TD-Linear。它每一步只需计算两个特征向量和一个向量加法,复杂度随特征维数 增长,而不是随状态数增长。
3.4 Box 8.2:表格 TD 是线性 TD 的特例
为每个状态选 one-hot 特征:
其中 仅在状态 对应位置为 。则:
式 (8.14) 变为:
只有 对应分量发生变化:
这正是表格型 TD。因此,表格法不是另一套互不相干的方法,而是函数近似中使用 one-hot 特征的特殊情形。
4. 特征选择与示例
4.1 示例设置

教材使用 网格世界。给定策略在每个状态以 的概率选择任一动作。实验使用:
- 每次训练 500 个回合,每回合 500 步;
- 初始状态与动作均匀随机;
- 按标准正态分布初始化;
- ,;
- 。
4.2 多项式特征
令状态二维坐标为 。一次特征:
二次特征:
三次特征:

维数越高,拟合曲面越灵活,误差平台通常越低;但三种误差都没有降到零,说明误差平台可能是函数族的表达能力限制,而非优化尚未结束。
4.3 Fourier 特征
先把 归一化至 。令 ,Fourier 特征的各分量为:
例如 时:

当 时,特征维数分别为 。实验同样显示,增加频率基函数可提升表达能力并降低误差,但也增加存储、计算以及选择超参数的负担。
[!tip] 特征设计的实用判断 特征应让“价值相近或动力学相近”的状态拥有相近表示。多项式偏向全局平滑,Fourier 基能表示不同空间频率,one-hot 完全不泛化。不存在对所有任务都最好的固定特征。
5. TD-Linear 的理论分析
5.1 期望更新
为分析平均行为,把随机样本更新替换为条件期望:
设共有 个状态、 个特征:
5.2 Lemma 8.1:期望更新是线性系统
式 (8.19) 中的期望可写成 ,其中:
于是确定性平均迭代为:
若 可逆,固定点是:
当 ,即表格表示时:
函数近似的一般情形中, 通常不等于 ,而是某个投影固定点。
5.3 Box 8.3:Lemma 8.1 的推导
利用全期望公式,奖励部分为:
当前状态价值项为:
下一状态价值项为:
合并三项:
5.4 Box 8.4: 的正定性
假设 正则,使 ;再假设 满列秩。令:
教材通过对称部分 的严格对角占优说明 为正定矩阵。关键关系是:
于是对任意非零 ,令 :
因此 正定并可逆,固定点唯一。
5.5 两种收敛论证
定义参数误差 。由 :
教材给出两条思路:
- 小常数步长的确定性迭代:当步长足够小时,线性映射 产生收缩,平均迭代趋向 。
- 随机逼近:对真实随机更新,若噪声满足适当条件,且
则可利用 Robbins-Monro 型结果证明几乎处处收敛。
[!warning] 适用范围 这一节的保证依赖固定策略、线性函数近似、稳态采样、满秩特征以及步长与噪声条件。不能把结论直接推广为“任意非线性函数近似加任意 off-policy TD 都会收敛”。
6. TD-Linear 到底最小化什么
6.1 三种误差不能混为一谈
定义加权范数:
价值估计误差:
它直接衡量估计价值与真实价值的距离,但真实 未知,通常不能直接优化。
定义 Bellman 算子:
Bellman 误差:
但 往往不在 的列空间中。定义关于 加权内积的投影:
投影 Bellman 误差:
TD-Linear 的固定点满足投影 Bellman 方程,因此它最小化的是 ,不一定直接最小化 或 。
6.2 Box 8.5:投影 Bellman 固定点
固定点条件 等价于:
再左乘 :
几何意义是:先做一次 Bellman 更新,再投影回可表示子空间,最终得到的点不再移动。
6.3 误差界
TD 固定点与最佳可表示价值之间满足教材给出的界:
这个界说明 TD 误差受函数族最佳近似误差控制,但 接近 时系数很大,界可能很松。
6.4 Box 8.6:误差界的证明骨架
利用式 (8.31)、 以及投影的非扩张性:
这里使用了:
第二个不等式可由 Jensen 不等式和稳态关系 得到。移项后即得式 (8.32),而 正是列空间中对 的最佳 加权近似。
7. Least-Squares TD
式 (8.21) 也可写成样本期望:
LSTD 用所有已收集样本直接估计 :
期望中的 在 中相消,因此教材直接使用求和形式。早期样本少、矩阵可能奇异时,可用:
进行正则化。
LSTD 的特点:
- 充分重复利用全部历史样本,常比逐步 TD 更节省样本;
- 避免手工选择梯度步长来缓慢逼近固定点;
- 需要维护 矩阵;
- 直接求逆通常为 ,高维时开销大;
- 可利用矩阵求逆引理递推更新逆矩阵,避免每步从头求逆;
- 本节形式针对线性状态价值近似。
8. 基于函数近似的动作价值学习
8.1 Sarsa with function approximation
把 替换为 ,on-policy Sarsa 更新为:
若为线性近似 ,梯度就是 。
Algorithm 8.2:Sarsa with function approximation初始化 w0 与 ε-greedy 策略 π0对每个回合: 生成 s0,并按 π0 选择 a0 当尚未到达目标: 执行 at,观察 rt+1, st+1 按当前策略在 st+1 选择 at+1 用式 (8.35) 更新 w 令 πt+1 对更新后的 q_hat 采取 ε-greedy st <- st+1,at <- at+1
示例参数为 、、、、,并使用五阶 Fourier 特征。总回报上升、回合长度下降,最终策略能到达目标。
8.2 Q-learning with function approximation
Q-learning 用贪心下一状态价值替换实际采样的 :
Algorithm 8.3:Q-learning with function approximation(on-policy 采样版本)初始化 w0 与 ε-greedy 策略 π0对每个回合: 当尚未到达目标: 按 πt 在 st 选择 at 执行 at,观察 rt+1, st+1 以 max_a q_hat(st+1, a, wt) 构造目标并更新 w 用更新后的 q_hat 改进 ε-greedy 策略
[!warning] 教材的编号重复 教材把本节的函数近似 Q-learning 标为 Algorithm 8.3,后面的 Deep Q-learning 又再次标为 Algorithm 8.3。本文保留原编号,并用算法名称区分二者。
尽管价值已经用函数表示,Algorithm 8.2 和这里的 Algorithm 8.3 中,策略 仍按状态保存在表格中,所以仍隐含有限状态与有限动作的假设。下一章才进一步把策略本身也参数化。
9. Deep Q-learning
9.1 从 Q-learning 到 DQN
用神经网络 近似最优动作价值,基本平方 TD 目标为:
若目标和当前估计都由同一个快速变化的网络产生,训练目标会随每次参数更新一起移动。DQN 使用两套参数:
- 主网络参数 :每次迭代更新;
- 目标网络参数 :在一段时间内固定,每隔 次迭代复制 。
固定目标网络后,单个样本的目标为:
把 视为常数,忽略不影响方向的常数因子,梯度为:
主网络实际通过神经网络训练工具,在 mini-batch 上最小化:
9.2 经验回放
经验样本写作 ,存入回放缓冲区:
训练时不按生成顺序使用数据,而是从 中均匀抽取 mini-batch。教材强调两点作用:
- 打破连续轨迹样本之间的强相关性,使批次更接近目标函数所假定的抽样方式;
- 一个样本可被重复使用,提高数据效率。
[!note] 补充理解:均匀回放的边界 教材用均匀分布解释基本经验回放。实际算法也可采用非均匀采样,但这会改变采样分布,通常需要额外校正;这不属于本章基本 DQN 的讨论范围。
9.3 Algorithm 8.3:Deep Q-learning,off-policy 版本
初始化:主网络 w,目标网络 wT <- w,回放缓冲区 B由行为策略 πb 收集转移 (s, a, r, s') 并存入 B对每次训练迭代: 从 B 中均匀抽取 mini-batch 对每个样本计算: yT <- r + γ max_a q_hat(s', a, wT) 更新主网络 w,使 (yT - q_hat(s, a, w))^2 的批均值下降 每隔 C 次迭代令 wT <- w输出:近似最优动作价值与相应贪心策略该算法是 off-policy:产生经验的行为策略 与目标贪心策略可以不同。
9.4 示例一:覆盖充分

实验设置:
- 行为策略在每个状态对所有动作等概率,探索充分;
- 单条轨迹 1000 步,回放缓冲区含 1000 个样本;
- mini-batch 大小为 100;
- 主网络和目标网络均有一个 100 神经元的隐藏层;
- 输入为归一化的行索引、列索引、动作索引,共 3 维;输出为一个动作价值;
- ,边界和禁区奖励为 ,目标奖励为 。
训练损失和真实价值 RMSE 都趋近于零,最终贪心策略正确。函数近似的泛化与样本重复利用,使 1000 步数据在该示例中已经足够。
9.5 示例二:覆盖不足与过拟合

第二个示例只有 100 步经验,mini-batch 大小为 50。结果是:
- 训练损失仍趋近于零;
- 真实动作价值误差停在较高水平;
- 最终策略在未充分覆盖的状态中表现错误。
这揭示了一个重要诊断原则:
网络只证明自己拟合了缓冲区中的样本;若数据没有覆盖关键状态-动作对,训练损失无法反映全局价值误差。
10. 方法关系与选择
| 方法 | 估计对象 | 表示 | 目标来源 | 主要特点 |
|---|---|---|---|---|
| 表格 TD | 每状态一个表项 | 一步 TD | 无跨状态泛化 | |
| TD-Linear | 一步 TD | 理论清晰,依赖特征 | ||
| LSTD | 线性方程样本估计 | 样本高效,矩阵开销大 | ||
| Sarsa + FA | 或改进策略 | 实际下一动作 | on-policy | |
| Q-learning + FA | 下一状态最大值 | 控制目标与行为可分离 | ||
| DQN | 神经网络 | 固定一段时间的目标网络 | 回放、mini-batch、非线性泛化 |
[!important] 三条贯穿全章的权衡
- 表示维数越低,存储越省,但可能产生更大近似偏差。
- 泛化越强,一个样本影响越广,既可能提高样本效率,也可能扩大错误更新。
- 训练目标越自举、函数越非线性,越需要稳定目标与更合理的数据分布。
11. 本章 Q&A
Q1:表格法与函数近似法有什么区别?
表格法直接读取和改写对应表项;函数近似法输入状态计算价值,并通过修改共享参数间接改变价值。后者需要前向计算,也会使一个状态的更新影响其他状态。
Q2:函数近似相对表格法有什么优势?
第一,参数维数通常远小于状态数,存储更高效;第二,共享参数带来跨状态泛化,使一个状态的经验帮助估计其他状态;第三,可处理无法穷举的连续或巨大状态空间。代价是近似误差和训练稳定性问题。
Q3:两种方法能统一吗?
能。取 的 one-hot 特征时,线性函数近似退化为价值表,TD-Linear 退化为表格 TD,见 Box 8.2。
Q4:什么是稳态分布,为什么重要?
固定策略长期运行后,状态访问概率若收敛到与初始分布无关的 ,它就是稳态分布。它描述策略实际将时间花在哪里,并为均方价值误差提供自然的状态权重;后续策略梯度方法也会再次使用该概念。
Q5:线性函数近似的优缺点是什么?
优点是形式简单、计算便宜、理论可较完整分析,并且包含表格法这一特例。缺点是表达能力有限,而且复杂任务中选择合适特征并不容易。神经网络表达力更强,但优化和理论更复杂。
Q6:为什么 Deep Q-learning 需要经验回放?
顺序轨迹样本高度相关,从缓冲区随机抽样可削弱相关性并更接近训练目标假定的抽样分布;同一经验还能被多次利用,提高数据效率。
Q7:表格 Q-learning 能使用经验回放吗?
可以。表格 Q-learning 本身并不要求按数据生成顺序更新,其 off-policy 性质允许重放由行为策略收集的样本。它不一定需要回放,但可以借此重复使用数据。
Q8:为什么 DQN 要维护两套网络?
参数 同时出现在当前估计和自举目标中,会让目标随更新快速移动。目标网络在一段时间内冻结 ,使主网络面对相对稳定的回归目标;随后周期性复制主网络参数,避免目标永久过时。
Q9:神经网络作为非线性近似器时,如何更新参数?
把 mini-batch 的目标值 和网络输出组成均方损失,使用成熟的反向传播与优化器更新主网络,而不是把标量网络参数误当成表项直接改写。目标网络则按周期整体复制参数。
12. 一页复习提纲
- 表示:、 用参数替代价值表。
- 线性不等于关于状态线性:只要 对 线性即可。
- 目标权重: 是策略长期访问分布,决定哪些状态误差更重要。
- TD 参数更新:。
- TD-Linear:梯度等于特征 。
- 表格统一:one-hot 特征使函数近似退化为表格。
- 理论固定点:,其中 。
- 真正的优化对象:TD-Linear 对应投影 Bellman 固定点,而非一般意义下直接最小化价值误差。
- 误差来源:采样误差、优化误差、函数族近似误差必须区分。
- LSTD:用样本累计估计 并解线性方程。
- 动作价值:Sarsa 使用实际下一动作;Q-learning 使用下一状态最大动作价值。
- DQN 稳定组件:目标网络稳定目标,经验回放改变样本使用方式。
- 诊断警告:低 TD 训练损失不保证真实价值准确,数据覆盖同样关键。
13. 公式速查
表示与目标
状态价值 TD
线性时:
线性 TD 固定点
投影 Bellman 方程
Sarsa 与 Q-learning
DQN 目标
14. 符号表
| 符号 | 含义 |
|---|---|
| 参数为 的状态价值近似 | |
| 参数为 的动作价值近似 | |
| 状态特征向量 | |
| 以 为行的特征矩阵 | |
| 策略 诱导的稳态分布 | |
| 构成的对角权重矩阵 | |
| 固定策略后的状态转移矩阵 | |
| 固定策略下的期望即时奖励向量 | |
| 策略 Bellman 算子 | |
| 到 列空间的 加权投影 | |
| 线性 TD 平均更新中的矩阵和向量 | |
| DQN 目标网络参数 | |
| 经验回放缓冲区 | |
| 目标网络同步间隔 | |
| mini-batch 大小 |
15. 易错点与辨析
- “线性近似”不是“价值关于状态坐标只能是一条直线”。多项式、Fourier 特征都可保持对参数线性。
- 稳态分布不是任意指定的均匀分布。它由策略和环境转移共同决定,并满足 。
- TD-Linear 不直接最小化真实价值误差。其固定点对应投影 Bellman 方程。
- 更高维特征不保证误差为零。真实价值可能仍不在特征张成的子空间中。
- 低训练损失不等于策略正确。图 8.12 展示了数据覆盖不足时的反例。
- 目标网络不是第二个独立智能体。它只是主网络参数的延迟副本,用来形成较稳定目标。
- 经验回放不是凭空创造信息。它提高样本复用率,却无法补足从未覆盖的关键状态-动作对。
- 函数近似价值不代表策略也已函数化。本章 Sarsa 和线性 Q-learning 的策略仍用表格表示。
- Sarsa 与 Q-learning 的区别仍在目标。是否使用函数近似不会改变 on-policy 与 off-policy 的基本区别。
- 教材存在 Algorithm 8.3 重复编号。一个是函数近似 Q-learning,另一个是 Deep Q-learning,应按名称识别。
16. 自测题
概念题
- 为什么共享参数同时带来样本效率和干扰风险?
- 为什么目标函数需要指定状态分布?选择 有什么含义?
- 为什么 one-hot 特征没有跨状态泛化?
- TD-Linear 的固定点为什么通常不等于真实 ?
- 投影 Bellman 误差与 Bellman 误差的区别是什么?
- 为什么 接近 时式 (8.32) 的界会变松?
- LSTD 与逐步 TD 在样本使用和计算开销上如何权衡?
- 目标网络冻结过久或同步过频分别可能带来什么问题?
- 为什么图 8.12 中训练损失为零却仍学不到正确价值?
推导题
- 从式 (8.19) 展开全期望,推导 。
- 令 ,从式 (8.21) 推导 。
- 从 推导投影 Bellman 固定点式 (8.31)。
- 使用 和 推导式 (8.32)。
- 分别写出 Sarsa、Q-learning 和 DQN 的一步目标,并指出哪一个参数被视为固定。
实践题
- 在同一网格世界中比较 one-hot、多项式与 Fourier 特征的学习曲线和最终误差。
- 固定网络结构,逐渐缩短经验轨迹,观察训练损失与全状态动作价值 RMSE 何时开始分离。
- 改变目标网络同步间隔 ,比较训练振荡、收敛速度与最终策略。
- 对 LSTD 加入不同正则化系数 ,观察早期矩阵条件数和价值误差。
17. 本章结论
本章把强化学习价值估计重写成了一个参数化优化问题。表格法被包含在线性函数近似之中;稳态分布给出了误差权重;TD-Linear 的平均更新归结为 ,其真正目标是投影 Bellman 固定点;LSTD 通过直接估计线性方程提高样本利用率;Sarsa 和 Q-learning 把相同思想扩展到动作价值;DQN 又用神经网络扩大表示能力,并用目标网络与经验回放缓解移动目标和相关样本问题。
最值得带入后续章节的认识是:函数近似不是简单地把表格换成神经网络,而是同时改变了表示空间、误差定义、样本分布、优化动力学和泛化方式。