Python、NumPy、随机种子、数组 shape 与可复现实验的最小实践。
PRINCIPLE MAP
前置知识不是门槛清单:每一块都在算法里承担一个不可替代的职责。
| 知识 | 在 RL 原理中解决什么 | 它具体出现在哪里 | 少了它会看不懂什么 |
|---|---|---|---|
| 概率与期望 | 环境下一步往往有多个可能;期望把分叉未来压成一个可比较的长期目标。 | MDP 的转移 P、Bellman 方程的 Σp、随机策略 π(a|s)。 | 为什么同一动作的单次 reward 不能代表真实价值。 |
| 向量与函数 | 把状态编码成数,把“状态 → 价值/动作概率”表示为可计算的函数。 | Qθ(s,a)、神经网络层、batch、embedding。 | 为什么 Q 表装不下图像、文本或连续传感器。 |
| 梯度与优化 | 告诉参数朝哪个局部方向动,能让预测 target 的误差下降。 | TD loss、policy loss、PPO 的 clipped objective。 | “训练”到底怎样改变模型,而不只是调用一个 optimizer。 |
| 随机性与实验 | 区分真实改进与抽样偶然;让结果可复现、可比较。 | seed、置信区间、训练曲线、线上/离线评估。 | 为什么单个 run 的 reward 上升不是可靠结论。 |
因此学习路线是按算法需要逐步补:先会用期望描述一个小环境,再学用函数近似它,最后学怎样稳定地优化这个函数。
LEARNING TARGET
学完这页,你不会再被“前置不够”卡住。
| 你要获得什么 | 能立刻用在哪里 | 它为后续铺什么路 |
|---|---|---|
| 判断自己缺的是符号、概率、线代还是优化,而非笼统地说“数学不行”。 | 读论文、课程公式或训练日志时,能定位该补的最小知识块。 | 知道何时打开 00A,何时等到 DQN/PPO 再补 00B。 |
| 掌握“按需补齐”的学习策略。 | 避免一开始花数月补全数学,却没理解一个 RL 闭环。 | 让 Lesson 01–08 的难度递增而不发生断层。 |
它不是数学大全,也不训练智能体;它的产物是一张个人学习导航图。真正的 RL 建模从 Lesson 01 开始。
MICRO-COURSES
地图之外,先学可立刻用上的一小节。
THE RULE
先开始,不把“前置知识”变成拖延。
RL 课程最常见的失败路径是两种极端:一类人把所有公式硬背下来;另一类人因为觉得数学不够而永远不开始。正确做法是按需补齐:遇到一个概念时,知道它在解决什么问题、最小定义是什么、何时需要更严谨的版本。
Lesson 01–04 的 tabular RL 不要求微积分或深度学习;你只需会四则运算、理解“概率”和“平均”。向深度 RL、policy gradient 推进时,再打开线性代数、导数和优化这几扇门。
THE GATES
按课程进度解锁,不一次性补完。
| 知识门 | 最小会什么 | 什么时候需要 | 暂时不需要什么 |
|---|---|---|---|
| G0 · 读公式 | 变量、下标、求和符号的含义;能读 aₜ、sₜ₊₁。 | 现在,Lesson 01 起。 | 证明、测度论、复杂矩阵运算。 |
| G1 · 概率与期望 | P(A) 是发生概率;E[X] 是按概率加权的平均。 | Lesson 02–04:价值、Bellman、随机策略。 | 连续分布推导、贝叶斯网络。 |
| G2 · 向量与矩阵 | 向量是一串数;矩阵是线性变换/批量计算;点积是加权求和。 | Lesson 05:神经网络近似 V/Q。 | 特征值分解、抽象线性空间。 |
| G3 · 导数与优化 | 导数表示“参数轻微变化会让目标变多少”;梯度下降沿负梯度走。 | Lesson 06–07:policy gradient、actor-critic、PPO。 | 手推复杂矩阵求导;先会链式法则直觉即可。 |
| G4 · 深度学习系统 | 张量、mini-batch、loss、过拟合、train/eval 的含义。 | Deep RL、LLM RL 与实验阶段。 | 从零训练大模型或 CUDA 内核。 |
MICRO MATH 01
概率与期望:RL 最早需要的数学。
若环境有两种结果,不是简单地选“最常见的一个”,而是看每个结果的价值乘以它出现的概率。例如向右后,80% 到好格子、20% 滑到坏格子:
这正是 Bellman 方程里 Σ p(·) 的含义:把所有可能下一步的价值按发生概率做加权平均。若环境完全确定,概率为 1 的那一项留下,其余项为 0,公式就退化成一条普通路径。
抛硬币正面得 +2、反面得 −2,公平硬币的期望是 0。这不表示每次 reward 都是 0;它表示你无法仅靠重复这一动作获得长期平均正收益。
MICRO MATH 02
向量、函数与梯度:等到 Deep RL 再深入。
在 tabular RL,我们可以直接存一张表:每个状态一个 V(s)。状态很多时,表放不下,于是用神经网络函数 Vθ(s) 近似它;θ 是网络里所有可调参数。
θ ← θ − η ∇θloss(θ)第一行说“预测离 target 有多远”;第二行说“按让 loss 下降最快的方向微调参数”。η 是 learning rate,∇ 是梯度。
你现在只要建立这个因果链:输入状态 → 网络输出估值 → 与 target 比较 → 调参数减少误差。Lesson 05 会把向量、矩阵和反向传播完整拆开;在此之前,不会默认你懂它们。
TOOLING
代码前置:只要求能读懂小型 Python。
| 能力 | 你需要能做的事 | 会在哪出现 |
|---|---|---|
| Python 基础 | 变量、函数、if/for、list/dict、导入模块、读报错。 | GridWorld 与每个实验脚本。 |
| NumPy / 张量直觉 | 一维数组、二维数组、shape、按元素计算、均值。 | 统计回报、batch、后续 PyTorch。 |
| Git 与复现 | 看 commit、运行 README 中的命令、保存配置与种子。 | 所有实验产物审计。 |
YOUR FIRST ROUTE
不同背景,从不同入口进入。
先完成本页 G0/G1 的两段微数学,再读 Lesson 01。遇到看不懂的词,打开名词速查;不要先跳深度 RL。
直接开始 Lesson 01–03;每次遇到 E、Σ、γ 回到本页。进入 Lesson 05 前再补 G2/G3。
快速通过本页,重点检查你是否分清 return、value、target、on/off-policy;这些比会写 PyTorch 更重要。
READ NEXT