强化学习数学基础:从贝尔曼方程到Q-learning收敛性解析
简介《强化学习的数学原理》是西湖大学赵世钰教授撰写的英文原创专著面向具备线性代数、概率论与优化基础的研究生及算法工程师系统解决强化学习理论理解不深、公式推导不清、算法设计缺乏数学依据等核心痛点。全书10章附录从网格世界直观示例切入严格推导贝尔曼方程、值迭代与策略迭代收敛性、蒙特卡洛与时间差分的统计性质、策略梯度的无偏性证明以及演员-评论家方法的稳定性分析特别强化了随机近似、矩阵向量形式建模和序列收敛性等关键数学工具的应用。资源为单文件PDF18.9MB内容完整覆盖全部章节与习题QA排版清晰、公式严谨、示例丰富适合作为高校RL课程补充教材或算法研发者的理论查证手册。目前已有837人学习下载。1. 这不是又一本“调库跑通就完事”的强化学习书它用278页英文讲清贝尔曼方程怎么推、随机近似为什么收敛、Q-learning的off-policy性从哪来你试过在PyTorch里跑通DQN却说不清为什么target network要冻结你手敲过policy gradient的REINFORCE代码但看到∇J(θ) [∇logπ_θ(a|s) Q^π(s,a)]时心里仍打鼓——这个梯度期望到底对谁求采样轨迹状态分布还是策略参数本身如果你有过这种“代码能跑公式发虚”的时刻赵世钰老师的《Mathematical Foundations of Reinforcement Learning》就是专为你写的“后悔药”。这不是一本教你怎么搭环境、调learning rate的速成手册而是一本把强化学习所有核心算法——从grid world里的手动值迭代到深度Q网络背后的收敛保证——全部拉回数学原点重演一遍的硬核讲义。全书10章4个附录每章都以一个具体网格世界任务为锚点所有公式推导不跳步所有定理证明不黑箱所有算法伪代码后必跟“为什么这一步成立”的脚注。它不要求你熟读测度论但明确要求你懂线性代数和概率基础它不回避Dvoretzky定理或contraction mapping但会用灰框标出可选读内容。适合两类人一是刚学完《Reinforcement Learning: An Introduction》但卡在第6章数学细节的研究生二是想把RL模型从“调参实验”升级为“可验证设计”的工业界算法工程师。它解决的不是“怎么用”而是“凭什么能用”。2. 从网格世界出发为什么必须先啃透Bellman方程的矩阵形式与迭代解法强化学习的数学骨架不在神经网络里而在那个看似简单的Bellman方程中。赵老师没一上来就甩公式而是用1.1节的3×3 grid world带障碍、目标、惩罚让你亲手算从任意起点出发按固定策略走每步-1奖励到达目标10撞墙-5——此时状态值V(s)到底是什么是某个数字还是一个向量答案在2.6节它是一个|S|维列向量而Bellman方程V^π R^π γ P^π V^π本质上是一个线性方程组。这个认知转折点决定了你后续能否真正理解value iteration为何收敛、policy iteration为何交替更新。2.1 状态值的定义必须绑定策略与折扣因子状态值V^π(s)的严格定义是在策略π下从状态s出发未来所有折扣奖励的期望值。注意三个关键词策略π决定动作选择、折扣因子γ∈[0,1)决定远期奖励权重、期望因环境转移存在随机性。很多初学者误以为V(s)是“最优路径的奖励和”这是典型错误。书中2.3节用两个不同策略随机策略vs贪婪策略在同一个grid world上计算V(s)数值差异高达300%直接戳破直觉幻觉。关键代码逻辑如下# 假设已构建好转移矩阵P_pi (|S|x|S|) 和奖励向量R_pi (|S|x1) # gamma 0.9, tolerance 1e-6 V_old np.zeros(num_states) while True: V_new R_pi gamma * P_pi V_old # 矩阵-向量乘法核心迭代步 if np.max(np.abs(V_new - V_old)) tolerance: break V_old V_new提示P_pi V_old这一步不是魔法它是将当前估计值V_old按策略π下的状态转移概率加权平均——即对每个s计算∑_{s} P^π(s|s) V_old(s)。这就是Bellman方程“当前值即时奖励折扣后未来值期望”的矩阵实现。2.2 闭式解 vs 迭代解何时该用哪个2.7.1节给出闭式解V^π (I − γP^π)^{−1} R^π。理论上完美但实践中几乎不用——因为|S|稍大如1000求逆计算量O(|S|^3)直接爆炸。而迭代法2.7.2节只需O(|S|^2)每轮且天然支持在线更新。书中强调一个血泪经验当你的状态空间是离散且有限10^4时迭代法是默认选择只有当你需要理论分析如证明收敛速率时才搬出闭式解。更关键的是迭代法的收敛性由contraction mapping保证3.3.3节而闭式解的存在性依赖于(I − γP^π)可逆——后者恰恰由γ1和P^π的随机矩阵性质共同保证。这个环环相扣的逻辑链正是本书“数学友好”的体现不堆砌定理而用算法需求反推数学条件。2.3 动作值Q(s,a)不是V(s)的附属品而是策略优化的直接接口2.8节指出V^π(s)描述“在s处按π行动”的长期价值而Q^π(s,a)描述“在s处强制执行a之后再按π行动”的价值。二者关系是Q^π(s,a) R(s,a) γ ∑_{s} P(s|s,a) V^π(s)。这个公式揭示了Q函数的核心作用它把策略优化问题从“修改整个π”降维到“对每个(s,a)选最大Q”。书中2.8.2节将Q的Bellman方程写成Q^π(s,a) R(s,a) γ ∑_{s,a} P(s|s,a) π(a|s) Q^π(s,a)并立刻指出右边含π(a|s)说明Q^π依赖于当前策略——这为第4章policy iteration中“策略评估→策略改进”的交替埋下伏笔。如果你曾困惑“为什么DQN用Q但不用V”答案就在这里Q直接关联动作选择V只关联状态评估。2.4 避坑Bellman方程推导与实现的四个经典翻车点现象 → 原因 → 解决迭代法V值震荡不收敛γ设为1.0或接近1.0如0.999且状态转移存在长周期环路。原因γ1时contraction系数为1失去压缩性γ过高时收敛极慢数值误差累积。解决严格检查γ∈[0,0.99]对grid world类小规模问题γ0.9是安全起点若必须高γ改用truncated policy iteration4.3节。矩阵P^π维度错配用P[s][a][s]三维权数组构造P^π时误将动作维度混入状态转移矩阵。原因P^π是|S|×|S|矩阵需先对每个s按π(a|s)加权求和P^π[s][s] ∑_a π(a|s) P(s|s,a)。解决写辅助函数build_P_pi(P, pi)强制输出shape(num_states, num_states)并在构建后用np.allclose(P_pi.sum(axis1), 1.0)验证行和为1。R^π向量符号搞反将惩罚如撞墙-5写成5导致V值全为正。原因书中1.5节明确定义奖励R(s,a,s)为环境给予智能体的“收益”负值即成本。解决统一用“智能体视角”记号——所有使智能体变差的事件R为负初始化R_pi时打印min/max确保符合任务语义。忽略初始状态分布计算V^π时假设从s0开始但实际episode从随机s启动。原因V^π(s)是条件期望而算法评估常需整体性能指标J(π)∑_s d^π(s) V^π(s)其中d^π是稳态分布。解决小规模问题可显式计算d^π解d^π d^π P^π大规模问题则用蒙特卡洛采样估计J(π)5.2节。3. Bellman最优方程BOE的收缩性证明为什么value iteration一定收敛到最优解如果说Bellman方程是强化学习的“语法”那么Bellman最优方程BOE就是它的“真理判据”。3.3节的核心命题是V^(s) max_a { R(s,a) γ ∑_{s} P(s|s,a) V^(s) }。这个max操作让方程非线性也使其解唯一且可迭代逼近。但为什么反复应用T(V)(s) max_a { R(s,a) γ ∑_{s} P(s|s,a) V(s) }就能收敛到V^*答案藏在3.3.4节的contraction property证明中——而这正是本书区别于其他教材的硬核所在。3.1 BOE的max操作本质是策略改进的数学编码3.1节用grid world演示给定一个次优策略π其V^π已知如何生成更好策略π方法是对每个s选使Q^π(s,a)最大的a。而Q^π(s,a) R(s,a) γ ∑_{s} P(s|s,a) V^π(s)所以π(s) argmax_a Q^π(s,a)。将此π代入V^{π}必然有V^{π}(s) ≥ V^π(s)3.2节定理。BOE的max_a操作正是把这个“逐状态贪婪改进”过程压缩进一个方程——它不指定策略只声明最优值函数V^*必须满足“在每个s上其值等于所有可能动作中能获得的最大即时未来价值”。这个洞察把策略迭代的两步评估→改进统一为一个不动点方程。3.2 收缩映射Contraction Mapping是收敛性的数学基石3.3.3节引入Dvoretzky定理前先用最简语言定义contraction存在L∈[0,1)使得对任意两个函数V1,V2有||T(V1)−T(V2)||∞ ≤ L ||V1−V2||∞。书中证明T(V)(s) max_a { R(s,a) γ ∑{s} P(s|s,a) V(s) } 满足此性质关键在γ||T(V1)−T(V2)||∞ max_s |max_a {…V1…} − max_a {…V2…}|≤ max_s max_a γ |∑{s} P(s|s,a) (V1(s)−V2(s))| 利用max差的不等式≤ γ max_s ∑{s} P(s|s,a) |V1(s)−V2(s)| ≤ γ ||V1−V2||∞因此Lγ1T是收缩映射。根据Banach不动点定理T有唯一不动点V^*且迭代V{k1}T(V_k)必收敛到V^*。这个证明链条解释了为什么value iteration4.1节的伪代码中只要γ1无论初值V0如何都终将收敛——它不依赖于初始猜测只依赖于γ的收缩能力。3.3 矩阵-向量形式的BOE为什么不能直接套用线性解法3.3.2节尝试将BOE写成V^* max_a { R_a γ P_a V^* }其中R_a、P_a是动作a对应的奖励向量和转移矩阵。但注意max_a操作无法表示为矩阵乘法因为对每个smax取的是不同a对应的不同行的元素。这导致BOE没有闭式解对比2.7.1节的线性Bellman方程。书中强调所有基于BOE的算法VI, PI, Q-learning本质上都是在构造不同的迭代序列{V_k}来逼近V^*而非求解一个静态方程。这也是为什么深度Q网络用神经网络拟合Q^*而非试图解一个不可解的矩阵方程——拟合是迭代逼近的工程实现而BOE是其理论终点。3.4 避坑BOE应用与理解的三大误区现象 → 原因 → 解决误以为BOE给出最优策略π^BOE只定义V^π^需额外提取π^(s) argmax_a Q^(s,a)。原因BOE中max操作隐含策略但未显式输出。解决实现VI后必须追加策略提取步骤——对每个s遍历所有a计算Q^(s,a) R(s,a) γ ∑_{s} P(s|s,a) V^*(s)取argmax。书中4.1.2节的grid world示例完整展示了这一步。在非MDP环境中强行套用BOE如部分可观测POMDP或延迟奖励任务。原因BOE严格依赖马尔可夫性下一状态s仅取决于s,a。解决先验证环境是否满足MDP假设如用统计检验验证P(s|s,a,history)P(s|s,a)否则转向POMDP或reward shaping书中未覆盖但3.5节提示“奖励设计影响最优策略”。忽略最优策略的非唯一性多个不同π可能对应同一V^*。原因BOE的argmax可能有多个a达到最大值。解决在策略提取时对平局情况添加随机扰动或偏好规则如优先选编号小的动作并记录π^*的支撑集哪些s有多个最优a这对鲁棒性分析至关重要3.5节讨论。4. Value Iteration与Policy Iteration为什么工业界多用VI而理论分析偏爱PI第4章是本书承上启下的枢纽它把前3章的数学工具Bellman方程、BOE、contraction落地为两个经典算法并通过对比揭示强化学习的“计算-理论”张力。Value IterationVI是BOE的直接迭代Policy IterationPI则是“评估改进”的交替。表面看PI更快收敛4.2.3节示例显示PI仅3轮VI需28轮但实际部署中VI更常见——这个反直觉现象根源在于计算开销与稳定性的权衡。4.1 Value Iteration用一次循环吃掉所有状态的最优性VI的伪代码4.1.1节简洁到极致V_{k1}(s) ← max_a { R(s,a) γ ∑_{s} P(s|s,a) V_k(s) }。它不显式存储策略只更新值函数。关键洞察在4.1.2节VI的每次迭代都在所有状态上同步执行一次“局部最优决策”。例如在grid world中某s的V_k(s)偏低意味着之前低估了其价值VI通过max_a操作立即用当前最佳估计修正它。这种“全局同步更新”使VI对初值不敏感且易于并行化每个s的更新独立。但代价是它不保证中间策略π_k的单调改进——V_k可能上升但对应策略可能振荡。4.2 Policy Iteration用策略的显式表示换取收敛保证PI分两步4.2节策略评估PE对当前π_k解V^{π_k} R^{π_k} γ P^{π_k} V^{π_k}用迭代法或闭式解策略改进PIπ_{k1}(s) ← argmax_a Q^{π_k}(s,a)。书中证明4.2.1节只要π_{k1} ≠ π_k则V^{π_{k1}}(s) ≥ V^{π_k}(s) 对所有s成立且至少一处严格大于。这意味着{V^{π_k}}单调递增且因值函数有界必收敛到V^*。这个“单调性保证”是PI的理论王牌也是它被用于收敛性证明如3.4节的原因。但PE步的计算成本高若用迭代法每轮需多次扫描所有状态若用闭式解矩阵求逆开销大。因此PI在小规模精确计算中闪耀但在大规模问题中常被截断。4.3 Truncated Policy Iteration工业界真正的主力算法4.3节提出的截断版PI是VI与PI的务实融合PE步只运行固定次数如1次而非直到收敛。这产生两个变体Modified Policy IterationPE运行m次m≥1Value Iterationm1且PE被简化为单步更新即VI。书中4.3.1节表格对比清晰显示当m1时TPI与VI迭代次数相近但TPI的每次迭代包含一次完整的策略改进argmax而VI只是值更新。这意味着TPI中间策略更“可用”——即使未收敛π_k已比随机策略好得多。这正是DQN等算法的底层逻辑用神经网络近似V^*类似VI但通过ε-greedy等机制确保策略探索类似PI的改进步。4.4 避坑VI与PI实现中的五个致命细节现象 → 原因 → 解决VI策略提取时出现NaN在计算Q^(s,a) R(s,a) γ ∑_{s} P(s|s,a) V^(s)时V^(s)含-inf或nan。原因某些s不可达V^(s)初始化为0但P(s|s,a)0导致0*inf未定义。解决初始化V0为合理值如所有s设为0并在迭代中用np.finfo(float).eps避免除零计算Q前先np.nan_to_num(V_star, nan0.0)。PI的PE步不收敛迭代法在PE中始终不满足tolerance。原因γ过高或P^{π_k}有长周期导致收敛极慢。解决PE步设置最大迭代次数如100超时则强制退出或改用Krylov子空间法加速书中未提但4.2.2节暗示“可替换求解器”。策略改进步遗漏动作约束在grid world中某s边界处a右不可行但argmax仍选它。原因P(s|s,a)对非法a设为0但R(s,a)未设为-inf。解决预处理R(s,a)对所有非法(s,a)对设R(s,a) -np.inf确保Q(s,a) -infargmax自动规避。VI与PI结果不一致同一grid worldVI得V^_VIPI得V^_PI但max|V^_VI − V^_PI| tolerance。原因VI的tolerance如1e-6与PI的PE tolerance如1e-8不同且VI的max操作有数值精度损失。解决统一用相同tolerance并用np.allclose(V_vi, V_pi, atol1e-6)验证差异在容差内即合理。忽略策略的确定性假设PI默认π_k是确定性策略每个s选唯一a但实际中常需随机策略如ε-greedy。原因BOE和PI理论基于确定性策略。解决若需随机策略转向第5章MC方法或第9章Policy Gradient或对确定性π_k添加探索噪声如4.2.3节示例所示。5. 从Model-Based到Model-FreeMonte Carlo与Temporal-Difference如何绕过环境动力学前4章的算法VI, PI都依赖一个强假设已知环境的完整动力学模型P(s|s,a)和R(s,a)。这在grid world等教学环境中可行但在机器人控制或游戏AI中P和R是未知的“黑匣子”——你只能与环境交互观察(s,a,r,s)元组。第5章Monte Carlo和第7章Temporal-Difference正是为打破这一假设而生。它们的哲学分野在于MC等待episode结束才更新TD则“边走边学”。这个差异直接决定了它们对偏差-方差、计算效率、适用场景的取舍。5.1 Monte Carlo Basic用完整轨迹的回报作为无偏估计5.2.2节的MC Basic算法核心是对每个(s,a)对收集N次访问该(s,a)的完整episode计算其回报G_t r_t γ r_{t1} ... γ^{T-t} r_T然后令Q(s,a) ← average(G_t)。书中强调这是无偏估计[G_t] Q^π(s,a)因为G_t是真实轨迹的折扣回报。但代价巨大必须等到episode结束如围棋一局数小时且方差高不同轨迹G_t差异大。5.2.3节grid world示例显示MC Basic需数千episode才能使Q值稳定——这解释了为何它不适合实时控制。5.2 MC Exploring Starts用“作弊式”初始化换取策略改进5.3节提出一个精巧技巧强制每个episode从随机(s,a)开始而非固定s0。这样所有(s,a)对都能被均匀访问避免了“某些(s,a)永远不被探索”的冷启动问题。但书中坦诚这在现实中不可行你无法让机器人从任意关节角度任意电机扭矩启动。因此5.4节转向更实用的ε-greedy在策略π中以概率ε随机选动作1−ε按当前Q选最优动作。这牺牲了理论上的无偏性因探索动作扭曲了π但换来了可行性。关键参数ε的衰减策略如ε1/t在5.4.3节有详细讨论。5.3 Temporal-Difference用自举Bootstrapping实现增量更新7.1节TD(0)的更新规则Q(s_t,a_t) ← Q(s_t,a_t) α [r_{t1} γ Q(s_{t1},a_{t1}) − Q(s_t,a_t)]是本书最具革命性的思想之一。“r_{t1} γ Q(s_{t1},a_{t1})”被称为TD target它用当前Q估计s_{t1}的价值替代了MC中等待到episode末的G_t。这带来两大优势1)无需等待每步即可更新2)方差更低因不依赖整条轨迹的随机性。但代价是有偏TD target依赖当前Q的估计若Q不准target也不准。书中7.1.2节证明当α_t满足∑α_t∞, ∑α_t^2∞时TD(0)仍能收敛到Q^π——这引出了第6章的Stochastic Approximation。5.4 Off-policy学习Q-learning如何用行为策略学习目标策略7.4节Q-learning是TD的off-policy版本其更新为Q(s_t,a_t) ← Q(s_t,a_t) α [r_{t1} γ max_a Q(s_{t1},a) − Q(s_t,a_t)]。关键在max_a它不使用行为策略如ε-greedy选择的a_{t1}而是贪婪地选s_{t1}下Q值最大的动作。这使Q-learning能用随机探索的数据学习确定性最优策略。书中7.4.2节用一张表对比on-policySarsa与off-policyQ-learningSarsa的target是rγQ(s,a)a由行为策略生成Q-learning的target是rγmax_a Q(s,a)a由Q自身决定。这个差异让Q-learning成为DQN的基石——你可以用ε-greedy收集数据却用max_a学习最优策略。5.5 避坑Model-Free方法的四大实践陷阱现象 → 原因 → 解决MC方法中G_t计算错误对非终止型episode如持续控制G_t无限长。原因MC Basic假设episode必终止。解决采用discounted return with truncation——设最大步数T_maxG_t ∑_{i0}^{min(T-t,T_max)} γ^i r_{ti}或转向TD方法。TD更新中γ设为1导致发散在连续任务中γ1使TD target无界。原因γ1时TD(0)不再满足stochastic approximation的收敛条件6.2.1节。解决γ必须1通常0.95~0.99若需长期信用分配用n-step TD7.3节或eligibility traces书中未覆盖。ε-greedy的ε衰减过快初期ε0.9100步后ε0.1导致后期探索不足。原因固定衰减率未适配任务难度。解决用自适应ε如ε ε_min (ε_max − ε_min) * exp(−decay_rate * episode)decay_rate根据任务调整或用Boltzmann探索5.4.3节提及。Q-learning的max操作引发过估计因Q值有噪声max_a Q(s,a)倾向于选高估的动作。原因max是上偏估计。解决用Double Q-learning7.4节未提但属标准补救即维护两个Q网络Q1,Q2更新Q1时用Q2选动作反之亦然。6. Stochastic Approximation与Deep Q-learning为什么神经网络能收敛以及收敛到哪里当状态-动作空间大到无法用表格存储Q值时如Atari游戏像素输入就必须用函数近似——第8章Value Function Approximation和第10章Actor-Critic的核心。但函数近似带来新问题用神经网络拟合Q^*是否还收敛收敛到什么第6章Stochastic ApproximationSA正是为此提供数学地基。它不谈神经网络而聚焦最简场景用随机梯度下降SGD估计一个未知均值μ。这个看似简单的任务其收敛性证明Robbins-Monro算法、Dvoretzky定理直接迁移到Q-learning的收敛分析中。6.1 Robbins-Monro算法随机逼近的通用框架6.2节将估计均值μ的问题建模为找θ使g(θ)[f(X;θ)]0其中f(X;θ)X−θX是样本。RM算法迭代θ_{k1} θ_k α_k f(X_k; θ_k) θ_k α_k (X_k − θ_k)。书中6.2.1节证明若步长α_k满足∑α_k∞, ∑α_k^2∞如α_k1/k则θ_k → μ a.s.。这个条件直觉上合理α_k需足够大以跨越初始误差∑α_k∞又需足够小以抑制噪声∑α_k^2∞。Q-learning的更新Q ← Q α[r γ max Q − Q]正是RM算法在g(Q)[r γ max Q − Q]0下的实例——这里g(Q)是Bellman残差的期望。6.2 Dvoretzky定理为神经网络收敛性提供理论许可6.3节Dvoretzky定理是RM的强力推广它允许f(X_k; θ_k)不仅含随机噪声还含系统性偏差如函数近似误差。定理结论是若偏差项随θ_k→θ^而衰减且α_k满足RM条件则θ_k仍收敛到θ^。这为深度Q-learning开了绿灯即使神经网络不能完美拟合Q^*存在近似误差只要网络容量足够、训练充分Q-learning仍能收敛到一个“最优近似”。书中6.3.4节的扩展定理甚至允许偏差项不完全衰减只要其影响被α_k压制——这解释了为何DQN用target network7.4.3节能稳定训练target network提供更稳定的Q估计减小了偏差。6.3 Deep Q-learning把Q-learning的数学保证装进神经网络的工程外壳8.4节DQN的算法描述本质是Q-learning的工程实现用CNN处理图像输入输出Q(s,a)向量经验回放Experience Replay存储(s,a,r,s)元组到buffer随机采样mini-batch打破数据相关性Fixed Q-targets用旧参数θ^-计算target r γ max_a Q(s,a; θ^-)每C步更新θ^- ← θ。书中强调experience replay和fixed targets不是“调参技巧”而是为满足SA收敛条件而设计。replay使样本近似i.i.d.满足Dvoretzky定理对噪声独立性的要求fixed targets则控制偏差项防止Q随θ高频振荡。8.4.2节Atari Breakout示例显示无target network时Q值剧烈震荡加入后迅速平滑——这是数学理论在工程上的直观印证。6.4 避坑函数近似与深度强化学习的五大雷区现象 → 原因 → 解决神经网络Q值发散loss不降反升Q值爆炸到1e6。原因target r γ max Q 中max Q 因网络未收敛而极大导致target过大。解决clip reward如r∈[−1,1]或clip TD error如δ clip(r γ max Q − Q, −10, 10)DQN论文中即用reward clipping。experience replay buffer过小buffer size1000但batch size32导致采样高度相关。原因违反i.i.d.假设增大SA偏差。解决buffer size ≥ 10^5DQN标准且确保采样前buffer已填充足够如50000步。target network更新频率不当C1每步更新或C10000太久不更新。原因C太小target与online network同步震荡C太大target滞后学习缓慢。解决C1000是DQN常用值可根据任务调整监控|Q_target − Q_online|保持在合理范围如10。忽略状态标准化输入像素值[0,255]直接进网络导致梯度爆炸。原因神经网络对输入尺度敏感。解决预处理为[0,1]或[-1,1]DQN用84×84灰度图除以255.0。过度依赖DQN架构在简单grid world上也用CNN。原因函数近似应匹配问题复杂度。解决小规模问题|S|1000用线性函数近似8.2.3节中等规模用MLP仅当输入为高维感知数据图像、语音时才用深度网络。7. 从Value-Based到Policy-Based为什么REINFORCE和Actor-Critic是解决连续动作空间的终极钥匙前6章的算法VI, Q-learning, DQN都属于value-based方法它们学习价值函数再从中导出策略。但当动作空间连续如机器人关节扭矩∈ℝ时“argmax_a Q(s,a)”无法穷举——你必须直接学习策略π_θ(a|s)。第9章Policy Gradient和第10章Actor-Critic正是为此而生。它们的数学核心是策略梯度定理∇_θ J(θ) _τ∼π_θ [∇_θ log π_θ(a|s) Q^π_θ(s,a)]。这个公式看似复杂实则道出一个朴素真理要提升策略性能J(θ)就沿着“当前动作概率的对数梯度”方向按其Q值加权调整。本书9.3节的推导不跳步地从J(θ) [∑_t γ^t r_t]出发用likelihood ratio trickscore function导出该定理是全书最值得精读的章节之一。7.1 REINFORCE蒙特卡洛策略梯度的纯粹实现9.4节REINFORCE算法是策略梯度定理的直接应用对一条轨迹τ(s_0,a_0,r_1,...,s_T)计算G_t ∑_{it}^T γ^{i-t} r_i然后更新θ ← θ α ∑_t G_t ∇_θ log π_θ(a_t|s_t)。注意两点1) 它用完整轨迹回报G_t估计Q^π_θ(s_t,a_t)故是on-policy且高方差2) 它不学习价值函数纯靠策略参数更新。书中强调REINFORCE的方差问题催生了所有后续改进——从baseline减法10.2.1节到advantage actor-criticA2C。7.2 Actor-C本文还有配套的精品资源点击获取