眼前有 2 分可以拿,多等一步可能拿到 4 分。该怎么选?强化学习(RL)关心的不只是这一步得了多少分,还包括这个选择会把你带到哪里。 我们从这样的小问题开始,再慢慢走到估值、策略(policy)更新和完整的训练循环。

每篇先用例子把问题讲清楚,再看公式和代码。第一次读可以跟着例子走,复习时再用表格对照算法、检查实现。算例都是自拟的小环境,不依赖课程作业,也不转载课件。

算法名字容易混在一起,先看Q-learning、PPO 与 DPO 的区别。想知道为什么现在仍难训,再看信号、成本与稳定性;想按来路梳理,可以打开技术树里的 RL 编年史。

怎么读,才不容易绕晕

路线 读什么 读完应该能做什么
先把问题写对 MDP 与 Bellman → MC、TD 与终止条件 从一段轨迹(trajectory)算出 return 和训练 target
直接改策略 Policy Gradient → Actor–Critic 与 GAE → Natural Gradient 与 TRPO 解释梯度方向、baseline、两个 mask,以及步长为什么需要约束
通过价值选动作 Fitted Q 与收敛边界 → DQN → DDPG / TD3 → SAC 分清回归 loss 与策略表现,画出各个网络的梯度路径
用模型想几步 Model-based RL → 学什么样的模型 → 规划与 LQR → 规划和学习怎样互相喂 分清学 dynamics、规划动作和训练 policy,说出模型该预测什么、搜索结果怎样变成训练标签
数据与奖励(reward)从哪里来 Offline RL 与 OPE → 逐步权重、双重稳健与 LSTD · 探索与层级 · 模仿与奖励 说出各自增加的假设,而不只是记名字
真正跑一个实验 实验与排错 → 接到 LLM 检查实现,再判断 reward 是否代表任务进步

这些章节不只介绍算法名字。我们会一起算 Bellman 残差界、TD target、梯度方向、PPO 裁剪和控制轨迹,再看 CQL、IQL 与 FQE 如何处理离线数据。层级、IRL 和多智能体目前只作引入,还不是完整的理论综述。

不同读法,不需要不同一套笔记

今天想读到哪一步 可以怎么读 应该留下什么
先弄懂直觉 顺着开头的任务、图和手算表走,暂时跳过推导 能说出算法为什么需要这个部件
想把原理弄扎实 回到公式,逐个确认条件期望、符号和假设 能算一个例子,也能指出保证何时不成立
想动手实现 看数据来源、target、梯度路径、mask 和更新时机 用小环境查错,而不是只盯训练曲线

所有关键算例都直接放在正文里,不要求点滑块或展开交互才知道答案。少量流程图会短暂强调阅读顺序;动画结束后内容仍完整,减少动态效果的系统设置也会被尊重。原有交互留给想改参数的人,不充当正文的替代品。

算法再多,先找这 3 件事

采样
谁产生轨迹?
→估计
用什么 target?
→更新
梯度流向谁?
方法 主要学什么 动作怎么来 容易忽略的代价
REINFORCE policy 从策略分布采样 回报(return)方差(variance)大,旧数据不能直接混用
DQN Q-value 离散动作中取最大值,训练时加探索 bootstrap、函数逼近(function approximation)和 off-policy 叠加不稳定
状态价值(state value) Actor–Critic policy + V 从策略分布采样 Critic 的误差会影响 Actor
TD3 / SAC policy + 两个 Q 连续动作 policy 重用数据省交互,不代表省计算
Model-based dynamics,可能再学 policy / value 规划或 policy 模型预测准,不等于规划出的行为可靠

On-policy / off-policy 比较的是收集数据的行为策略(behavior policy),与正在评价或改进的目标策略(target policy)是否一致;online / offline 说的是训练中能不能继续和环境交互。所以,边交互边用旧数据训练,可以同时是 online 和 off-policy。

先补哪几块基础

能读条件期望、链式法则和梯度就可以开始。需要补基础时,可以先看ML 数学里的概率与梯度;PyTorch 部分需要知道自动求导和张量形状。

统一记号:$s_t$ 是状态,$a_t$ 是动作,$r_t$ 是执行该动作后收到的奖励,$\gamma$ 是折扣。有限时域写 $t=0,\ldots,T-1$,终止后的 value 为 0。概率策略用 $\pi_\theta$,value 参数用 $\phi$。不要把 reward、return 和 value 当成同一个数。

后面会反复遇到这些词,先用一句话认清它们:

术语 在这里是什么意思
策略(policy) 给定状态,决定选哪个动作或怎样分配动作概率
奖励(reward) 执行一步后收到的反馈,不是整段表现
回报(return) 从某一步起,把后续奖励按约定累加起来
价值(value) 在某个策略下,对未来回报的期望
训练目标值(target) 这轮拿来拟合的数;可能只是估计,并非真值
自举(bootstrapping) 用已有估值,补上还没观察到的未来
轨迹(trajectory / rollout) 与环境交互得到的一串状态、动作和奖励;rollout 也可能只是一段

用法:每次改一个条件

读完算例,试着只改一件事:把终止换成超时、把 $\lambda$ 从 0 调到 1、让两个 Q-network 的排序不同。网页里的小实验就是为这个准备的。它们演示计算机制,不模拟一场真实训练,也不展示虚构的性能提升。

想检查公式有没有落实到代码,运行配套小程序;想看 stop-gradient 是否正确,再运行 PyTorch 检查。两者都不需要 GPU。

想先动手,可以从这几张图开始

想弄明白 去哪一篇 自己改什么
奖励怎么一步步传回起点 MDP 与 Bellman 调折扣,逐轮更新
未来哪几步影响这次 advantage Actor–Critic 与 GAE 调 λ,展开每步贡献表
回归变好为何还会发散 Fitted Q 逐轮拟合,对照 value 曲线与 MSE
一次策略更新到底改了多少 Natural Gradient 与 TRPO 调 logit 步长和 KL 预算
模型预测错了,反馈有什么用 Model-based RL 调模型误差和规划长度,对照两条真实轨迹

调完参数,先猜一下结果为什么变了,再展开计算表核对。重点不是记住曲线的方向,而是看懂改变是怎样一步步传下去的。

公开参考

推导与术语可对照 Spinning Up:RL 基础;各章另列原始论文。PPO 与 RLHF 已有独立系列,读完这里再接过去,不必在两个地方重复背定义。想看这些方法用到多步 agent 和世界模型上,接着读前沿里的用强化学习训练 agent和世界模型。

本页术语 12
强化学习 reinforcement learning, RL
根据行动带来的回报调整策略,学习怎样作出更好的选择
策略 policy
给定状态,规定怎样选动作;可以输出一个动作,也可以输出动作的概率分布
轨迹 trajectory
与环境交互得到的一串状态、动作和奖励;采样时也可能只保存其中一段
奖励 reward
RL 里指导策略更新的标量信号
回报 return
从某一步开始,把后续奖励按约定累加;有折扣时还要乘上相应的折扣权重
方差 variance
估计量的波动幅度;重要性加权最容易在这里爆炸
函数逼近 function approximation
用一个受限的函数族表示价值或策略,例如用神经网络代替逐状态查表
状态价值 state value
遵循指定策略时,从这个状态出发能获得的期望回报,即 V
行为策略 behavior policy
实际产生这批状态和动作数据的策略
目标策略 target policy
这次希望评估或改进的策略,不一定是收集数据的那个策略
训练目标值 target
这次更新拿来拟合的数;可能由奖励和当前估值共同构造,并不等于真实答案
自举 bootstrapping
用已有估值补上尚未完整观察到的未来;这里不是统计学中有放回重采样的 bootstrap