资讯动态

强化学习数学原理:从贝尔曼方程到策略梯度,搞懂算法为什么能work

发布时间:2026/10/17 13:32:44 来源:尧图企业网站定制
简介《强化学习的数学原理》是西湖大学赵世钰教授撰写的英文专著面向具备一定数学基础、希望从底层原理理解强化学习的学习者与研究者。全书从零出发结合网格世界等大量例子循序渐进地揭示强化学习的数学本质涵盖基础概念、状态值与贝尔曼方程、最优状态值与贝尔曼最优方程、值迭代与策略迭代、蒙特卡洛方法、随机近似、时间差分方法、值函数近似、策略梯度方法及演员-评论家方法附录还讨论了序列收敛性并配有动机示例、矩阵向量形式推导与QA便于读者掌握核心思想并分析算法。资源为1个PDF文件压缩包约18.9MB目录结构清晰适合系统研读与查阅。目前已有843人学习下载可作为强化学习理论入门与算法推导的参考读物。1. 从“试错”到“数学”强化学习到底在算什么想象一下你第一次学骑自行车。没人给你一本《自行车力学原理》你只是蹬上去、歪了、脚撑地、再蹬、再歪、再调整。摔了几次之后身体好像“记住”了怎么保持平衡。这个过程——在行动中试错、根据结果调整行为——就是强化学习最朴素的样子。但问题来了如果想让机器也学会这一套光靠“感觉”可不行。机器需要一套精确的语言来描述“我现在在哪”“我做了什么”“结果好不好”“下次该怎么做”。这套语言就是数学。《强化学习的数学原理》这本书做的就是这件事把“试错学习”这个看似凭直觉的过程拆解成状态、动作、奖励、策略、价值这些可以计算、可以证明的概念。它不教你调包跑代码而是回答一个更根本的问题——为什么这些算法能work为什么贝尔曼方程能迭代出最优策略为什么Q-learning在某些条件下一定收敛搞懂这些你再看那些强化学习代码就不再是“玄学调参”而是能看懂每一步背后的数学逻辑。这份资料适合那些不满足于“跑通就行”、想真正理解强化学习骨架的人。2. 拆解强化学习的骨架五个核心概念2.1 状态、动作、奖励智能体的“三件套”任何强化学习问题都可以用三个基本元素来描述状态State、动作Action、奖励Reward。打个比方把智能体想象成一个在迷宫里找奶酪的小老鼠。状态就是它当前在迷宫的哪个位置动作就是它可以选择往上下左右哪个方向走奖励就是它走到奶酪位置时得到的那块奶酪或者撞到墙时被扣掉的一分。这三个元素构成了一个循环智能体观察当前状态 → 选择一个动作 → 环境给出奖励并转移到新状态 → 智能体再观察、再选择……如此往复。强化学习的目标就是让这个循环中累积的奖励最大化。这里有个容易忽略的点奖励是即时的但目标是长期的。小老鼠不能只看眼前这一步有没有奶酪它得考虑“我现在往左走虽然这一步没奖励但三步之后能到奶酪”。这种“延迟满足”的权衡正是强化学习区别于普通监督学习的关键。2.2 策略与状态转移规则从哪来策略Policy是智能体的行为准则。通俗地说就是在每个状态下智能体该选哪个动作。策略可以是确定性的——比如“在位置A一定往右走”也可以是随机性的——比如“在位置A有70%概率往右30%概率往上”。状态转移State Transition则是环境的规则。智能体选了“往右走”但环境不一定让它如愿——可能地面打滑实际往右上方滑了一格。这种“你选动作环境决定结果”的机制用概率来描述就是状态转移概率。这两者的区别很重要策略是智能体自己能控制的状态转移是环境决定的、智能体控制不了的。很多初学者会把两者混在一起觉得“我选了往右就应该往右”忽略了环境的不确定性。正是这种不确定性让强化学习比普通的优化问题复杂得多。2.3 回报与马尔科夫决策过程把“长远”算清楚回报Return是把未来所有奖励加起来的一个数值。但未来的奖励不能和眼前的奖励等值——今天的一块钱比明天的一块钱值钱所以通常会引入一个折扣因子Discount Factor让越远的奖励权重越小。马尔科夫决策过程MDP是强化学习的标准数学框架。它的核心假设是“无记忆性”当前状态已经包含了做出决策所需的全部信息不需要回头看更早的历史。就像下棋当前棋盘局面就是全部信息不需要知道前面每一步是怎么走的。这个假设大大简化了问题。如果没有马尔科夫性智能体就得记住整个历史才能做决策计算量会爆炸。有了它状态值函数、贝尔曼方程这些工具才能成立。3. 贝尔曼方程强化学习的“牛顿定律”3.1 状态值这个位置到底值多少钱状态值State Value回答的是一个很实际的问题如果我现在站在这个状态按照某个策略一直走下去未来能拿到多少奖励用迷宫的例子小老鼠在某个格子如果它一直按“见墙就拐、见路直走”的策略走从当前位置到游戏结束平均能拿到多少奶酪这个期望值就是状态值。状态值不是一步的奖励而是从当前状态出发、遵循策略、直到终止的累积回报的期望。它把“长远利益”量化成了一个数字。有了这个数字智能体就能比较不同状态的好坏进而判断策略的优劣。3.2 贝尔曼方程把“未来”拆成“现在下一步”贝尔曼方程是整本书最核心的数学工具。它的思想可以用一句话概括当前状态的价值 即时奖励 折扣后的下一状态价值。写成数学形式就是V(s) R(s) γ * Σ P(s|s,a) * V(s)其中 V(s) 是状态 s 的价值R(s) 是即时奖励γ 是折扣因子P(s|s,a) 是从 s 采取动作 a 后转移到 s 的概率V(s) 是下一状态的价值。这个方程之所以重要是因为它把一个“无限步的未来”问题转化成了一个“当前下一步”的递归问题。就像算斐波那契数列你不用从第一项加到第一万项只需要知道前两项就能递推。注意贝尔曼方程成立的前提是策略固定、环境稳定。如果策略一直在变方程的形式会不同这就引出了后面的贝尔曼最优方程。3.3 从状态值到动作值换个角度看问题状态值 V(s) 衡量的是“在某个位置有多好”但它没有直接告诉你“该选哪个动作”。动作值Action ValueQ(s,a) 则更进一步在状态 s 下如果先采取动作 a然后再按策略走未来能拿多少奖励两者的关系很直观状态值等于在该状态下所有动作值的加权平均权重就是策略选择各动作的概率。如果策略是确定性的状态值就等于被选中动作的动作值。动作值的优势在于它可以直接用来改进策略——哪个动作的 Q 值大就选哪个。这就是很多强化学习算法的基本逻辑先估计 Q 值再根据 Q 值调整策略循环往复。4. 值迭代与策略迭代两条通往最优的路4.1 值迭代直接逼近最优值值迭代Value Iteration的思路很直接既然贝尔曼最优方程定义了最优状态值那我就反复迭代这个方程直到值不再变化。具体做法是初始化所有状态值为零然后每一轮对每个状态计算所有动作中“即时奖励折扣后下一状态值”最大的那个用这个最大值更新当前状态值。重复这个过程状态值会逐渐收敛到最优值。用迷宫的例子一开始小老鼠对所有位置的价值一无所知都设为零。第一轮它发现奶酪旁边的格子价值很高因为一步就能拿到奶酪。第二轮离奶酪两步远的格子价值也变高了因为可以走到奶酪旁边。信息就这样一步步“传播”出去直到每个格子的价值都稳定下来。值迭代的优点是简单、直接每一步计算量不大。缺点是收敛可能比较慢尤其是当折扣因子接近1时信息传播得很慢。4.2 策略迭代先评估再改进策略迭代Policy Iteration走的是另一条路先固定一个策略精确计算这个策略下每个状态的值策略评估然后根据这些值找出更好的策略策略改进再评估、再改进直到策略不再变化。策略评估这一步用的是标准的贝尔曼方程可以通过解线性方程组或迭代求解。策略改进则是贪心地选择每个状态下 Q 值最大的动作。打个比方值迭代像是一个人在黑暗中摸索每一步都根据当前信息调整方向策略迭代像是先画一张完整的地图策略评估然后根据地图找一条更好的路策略改进再重新画地图。4.3 截断策略迭代两者其实是连续的值迭代和策略迭代看起来是两种不同的算法但截断策略迭代Truncated Policy Iteration揭示了两者的统一性。策略迭代在策略评估阶段会一直迭代到值完全收敛而值迭代只做一次迭代就切换。截断策略迭代则是在两者之间取一个中间值策略评估做固定次数的迭代然后切换。这个视角很有启发性值迭代和策略迭代不是对立的而是同一个框架下的两个极端。理解了这一点就能更灵活地设计算法——比如在计算资源有限时少做几次评估迭代加快策略更新频率。5. 无模型方法当环境是个黑匣子5.1 蒙特卡洛靠“跑完一整局”来估计前面讲的值迭代和策略迭代都需要知道状态转移概率 P(s|s,a)。但现实中环境往往是个黑匣子——你只知道走了这一步之后到了哪里、拿了多少奖励但不知道背后的概率分布。蒙特卡洛方法Monte Carlo Methods解决这个问题的思路很朴素不知道概率那我就多跑几局用实际跑出来的结果来估计。比如估计某个状态的价值就从该状态出发完整跑完一局把沿途的奖励加起来得到一个回报样本。跑很多局取平均就得到了状态值的估计。这就像你想知道一家餐厅好不好吃不用分析菜谱多去几次取平均分就行。蒙特卡洛方法的一个关键问题是探索如果策略总是选当前认为最好的动作那有些状态可能永远访问不到它们的价值就永远估计不准。所以需要引入探索机制比如以一定概率随机选动作。5.2 时间差分走一步就能更新蒙特卡洛方法有个明显的缺点必须等一局结束才能更新值。如果一局很长甚至永不结束那就没法用了。时间差分Temporal-DifferenceTD方法解决了这个问题。它的核心思想是不需要等一局结束走一步就能更新。用当前奖励加上下一状态的估计值作为当前状态值的“目标”然后朝着这个目标更新。TD 方法结合了蒙特卡洛和动态规划的优点像蒙特卡洛一样不需要环境模型像动态规划一样可以逐步更新。Sarsa 和 Q-learning 是两种最经典的 TD 算法区别在于更新时用的是实际采取的动作Sarsaon-policy还是最优动作Q-learningoff-policy。5.3 函数近似从表格到神经网络前面所有方法都假设状态和动作是离散的、数量有限的可以用表格存储每个状态的值。但现实问题中状态可能是连续的、高维的比如一张图片的像素值表格根本存不下。值函数近似Value Function Approximation用参数化的函数比如神经网络来近似值函数输入状态输出值。这样就不需要为每个状态单独存一个值而是学一个映射关系。深度 Q 网络DQN就是 Q-learning 加上神经网络近似。它用神经网络来估计 Q 值通过经验回放和目标网络等技巧来稳定训练。这是强化学习走向深度学习的标志性一步。6. 策略梯度与 Actor-Critic直接优化策略6.1 策略梯度跳过值函数直接调策略前面讲的方法都是先估计值函数再根据值函数导出策略。策略梯度Policy Gradient走了另一条路直接把策略参数化用梯度上升来优化策略参数使得期望回报最大化。这就像调音师调钢琴不是先分析每个琴键的物理特性而是直接弹奏、听效果、根据效果调整。策略梯度方法天然适合连续动作空间因为不需要对动作求最大值。REINFORCE是最基础的策略梯度算法用蒙特卡洛采样来估计梯度。它的方差比较大但思想很清晰如果某个动作带来了高回报就增加选它的概率反之则降低。6.2 Actor-Critic两个网络各司其职Actor-Critic 方法结合了值函数和策略梯度的优点。Actor 是策略网络负责选动作Critic 是值函数网络负责评价动作的好坏。Critic 的评价结果用来指导 Actor 的更新。这就像一个演员Actor在台上表演一个评论家Critic在台下打分。演员根据评论家的反馈调整表演评论家也在不断学习如何更准确地评价。A2CAdvantage Actor-Critic引入了优势函数的概念用“实际回报减去基线”来衡量动作的相对好坏而不是绝对好坏。这样可以降低方差加快收敛。确定性策略梯度DPG则适用于连续动作空间直接输出确定的动作值而不是概率分布。7. 什么时候该翻这本书什么时候先放一放7.1 适合你的场景如果你属于以下情况这份资料会很对胃口已经看过一些强化学习教程能跑通代码但说不清贝尔曼方程为什么能迭代出最优解想搞懂 Q-learning 的收敛条件、策略梯度的推导过程而不是只会调库有概率论和线性代数的基础不排斥公式推导喜欢从简单例子出发一步步建立直觉而不是一上来就啃大部头。这本书的节奏是先用网格世界这个极简例子把概念讲透再逐步引入更复杂的数学工具。每一章都建立在前一章的基础上不会突然跳步。作者在序言里也说了数学深度是“刻意控制”的灰色框里的内容可以按需选读。7.2 可能让你“翻车”的场景但如果你属于以下情况建议先补基础或换条路完全没有概率论和线性代数基础看到矩阵和期望符号就头疼只想快速跑一个强化学习项目不关心背后的数学原理希望有大量代码实战和调参技巧这本书偏理论代码不是重点。提示这本书是纯英文的虽然语言不算晦涩但如果你对英文数学表述不熟悉阅读速度可能会受影响。建议配合中文资料对照理解。7.3 一个具体的判断标准我自己的习惯是拿到一份资料先翻到中间某一章看能不能读懂其中一段的推导逻辑。如果能跟上说明这份资料适合我如果完全不知所云说明前置知识还不够。对于这本书你可以翻到第2章贝尔曼方程那一节。如果看到“V(s) R(s) γ * Σ P(s|s,a) * V(s)”这个式子你能大致说出每一项的含义并且理解为什么这是一个递归关系那就可以放心往下读。如果完全没感觉建议先补一下马尔科夫决策过程的基础概念。从那以后我每次判断一份技术资料是否适合自己都会强制走一遍这个“翻到中间试读”的流程省下了不少硬啃的时间。希望这个习惯也能帮到你。这份《强化学习的数学原理》资料适合放在手边慢慢翻、反复看。它不是那种读一遍就丢的教程而是一本可以当参考书用的数学指南。当你对某个算法的收敛性产生疑问时翻到对应章节大概率能找到清晰的推导和解释。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑