首页/笔记/免费阅读与训练/强化学习训练册:从手算到条件分析

强化学习训练册:从手算到条件分析

六组本站原创任务,配推导、核对与迁移问题。它们对应主教材的学习阶段,不是 Sutton 与 Barto 的原题或官方解答。先独立写,再阅读解析;数值实验只能核对实例,不能替代一般证明。

任务一:增量均值与遗忘

对象:同一动作的实数奖励样本 R₁,…,Rₙ。定义 Qₙ 为前 n 个样本的算术平均。求不保存全部样本的更新式,并分析把步长替换为固定 α 的结果。

推导与核对

由定义 nQₙ=R₁+…+Rₙ,把前 n−1 项合并为 (n−1)Qₙ₋₁。因为 n≥1,可以除以 n,得到:

$$ Q_n=Q_{n-1}+\frac1n(R_n-Q_{n-1}). $$

n=1 时直接取 Q₁=R₁。计算这个代数恒等式不需要独立同分布假设;若要证明它估计某个环境均值的一致性,则需要另行声明随机过程条件。

改用常数 0<α≤1,并指定 Q₀,反复展开递推可得:

$$ Q_n=(1-\alpha)^nQ_0+\sum_{i=1}^{n}\alpha(1-\alpha)^{n-i}R_i. $$

每展开一次,较早项再乘一个 1−α。初始值系数加样本系数的总和为 1;较新样本权重更大。取 Q₀=0、α=1/2、奖励 2、0、4,更新结果依次为 1、1/2、9/4;第三次样本均值则为 2。

迁移:α=1 时保留什么信息?答:Qₙ=Rₙ,只保留最后样本。固定步长适应变化的能力,不构成一般收敛到固定真值的证明。

任务二:同一轨迹的 MC 与 TD

对象:一次完整回合 A→B→T,依次奖励 0、2,T 为零价值终止态。取 γ=0.9、步长 α=0.5,更新前 V(A)=1、V(B)=1。本题每个状态只出现一次。

问题:用完整回报做 MC 更新;再按时间顺序用一步 TD 更新。比较两者为何不同。

推导与核对

从 B 开始回报为 2;从 A 开始为 0+0.9×2=1.8。MC 更新是旧值加 α 乘“采样回报减旧值”,所以 A 更新到 1+0.5×0.8=1.4,B 更新到 1+0.5×1=1.5。

TD 在 A→B 时还没有用最终奖励更新 B,因此此时目标为 0+0.9×1=0.9,A 更新到 1+0.5×(−0.1)=0.95。在 B→T 时目标为 2+0.9×0=2,B 更新到 1.5。

差别来自目标:MC 在这个回合使用后续实际奖励,TD 在第一步使用 B 的旧估计。不能由一个回合断言谁总体更准确。

迁移:若明确规定先更新 B、再离线更新 A,TD 对 A 的目标变为 1.35,结果为 1.175。这是另一种更新顺序,报告实验时必须说明。

任务三:SARSA 与 Q-learning

对象:观测到 (s,a,r,s′,a′),其中 s′ 非终止,r=1,γ=0.9,当前 Q(s,a)=0,α=0.5。s′ 有两动作,其 Q 值为 4 和 2;实际采到 a′ 是值为 2 的动作。

推导与核对

SARSA 使用实际下一动作,目标为 1+0.9×2=2.8,更新后 Q(s,a)=1.4。

Q-learning 使用当前动作价值的最大值,目标为 1+0.9×4=4.6,更新后 Q(s,a)=2.3。

最大化目标不代表行为过程这次真的执行了值为 4 的动作。Q-learning 可以从探索行为产生的数据学习贪心目标,但收敛还需要具体条件。

迁移:若 s′ 真正终止,两个目标均为 r=1,更新后均为 0.5。人为截断一个持续任务不一定等于环境终止,是否继续自举取决于任务定义。

任务四:重要性权重与支持条件

对象:单步两动作任务,动作 1 的奖励为 2,动作 0 为 0。目标策略 π(1)=0.8,行为策略 b(1)=0.5。希望用行为样本估计目标策略的期望奖励。

推导与核对

直接按目标策略算得期望 0.8×2+0.2×0=1.6。行为样本的权重为 ρ(a)=π(a)/b(a),两个动作的权重分别为 1.6 和 0.4。加权期望为 0.5×1.6×2+0.5×0.4×0=1.6。

一般有限动作下,若 π(a)>0 时必有 b(a)>0,则求和中分母可以约掉:

$$ \mathbb E_b[\rho(A)r(A)]=\sum_{a:b(a)>0}b(a)\frac{\pi(a)}{b(a)}r(a)=\sum_a\pi(a)r(a). $$

迁移:若 b(1)=0,奖励为 2 的动作永远无法观察,支持条件失败,不能通过除以零构造估计。支持条件成立也不保证方差小;当行为概率非常小时,权重可能很大。

任务五:全梯度与半梯度

对象:单次非终止转移奖励 r=1,γ=0.9;实参数 w 表示价值 Vw(s)=wφ(s),其中 φ(s)=1、φ(s′)=2。定义残差 δ(w)=r+γVw(s′)−Vw(s),平方残差 L(w)=δ(w)²/2。仅讨论这条固定样本,不声称它等于总体 Bellman 误差。

推导与核对

代入特征得 δ(w)=1+0.8w,故由链式法则 L′(w)=0.8δ(w)。对这个明确目标做梯度下降应取 w←w−α·0.8δ(w)。

半梯度 TD 把目标 r+γVw(s′) 当作求导时的常量,只对当前预测 Vw(s) 求导,得到 w←w+αδ(w)φ(s)。当 w=0、α=0.1 时,全梯度更新到 −0.08,半梯度更新到 0.1,方向相反。

这说明两种操作没有对同一个表达式做完整求导,不证明半梯度必然错误,也不证明样本残差梯度一定有更好的学习表现。要判断算法,仍须分析目标、采样分布及长期动态。

迁移:若 φ(s′)=0,下一状态估计不随参数变化,两种更新在本例中相同。请明确指出消失的是哪一个导数项。

任务六:策略梯度与 baseline

对象:单步两动作任务,奖励分别为 r(1)=2、r(0)=0;θ 为任意实数,p=πθ(1)=1/(1+exp(−θ)),πθ(0)=1−p。目标为 J(θ)=Eπθ[r(A)]。

从直接求导开始

J=2p;对 sigmoid 求导得 p′=p(1−p),因此 J′=2p(1−p)。由于任意有限 θ 对应 0<p<1,下面的对数求导合法。

动作 1 的对数概率导数为 p′/p=1−p;动作 0 的对数概率导数为 −p′/(1−p)=−p。于是:

$$ \mathbb E_{\pi_\theta}[r(A)\,\partial_\theta\log\pi_\theta(A)] =p\cdot2(1-p)+(1-p)\cdot0(-p)=2p(1-p). $$

baseline 为什么不改变这个期望

令 c 为与动作无关的固定实数。score 的期望为 p(1−p)+(1−p)(−p)=0,所以把 r(A) 替换为 r(A)−c 后,期望只减去 c×0,不变。

若 c 随动作变化,这个论证失效。例如 c(A)=r(A),估计恒为零,但真实梯度一般非零。实践中 baseline 可依赖状态;需按给定状态下的动作分布检查条件,构造策略梯度估计时也要明确是否对 baseline 求导。

迁移:θ=0 时 p=1/2,真实梯度为 1/2。枚举两个动作核对 c=0、1、3 均不改变期望,再比较方差;相同期望不意味着相同方差。

实验与验收记录

先用上述精确数值检查程序,再使用随机环境。每份结果记录:任务定义、终止处理、更新顺序、步长、探索方法、训练交互数、评估方法和随机种子。画多个独立种子的结果;训练时含探索的奖励与评估策略奖励要区分。

通过标准:能解释更新目标、独立重做计算、改变条件后重新判断。若只看懂答案,记录为“解析后理解”,隔几天再做。

教材章节地图 · Bellman 完整例子 · 研究卡片