easy-rl
可能是最适合中文学习者的强化学习教程,蘑菇书 EasyRL 整合李宏毅等名师课程,配套完整代码实现
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
可能是最适合中文学习者的强化学习教程,蘑菇书 EasyRL 整合李宏毅等名师课程,配套完整代码实现
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:深夜,一个计算机专业的大三学生盯着屏幕上密密麻麻的强化学习论文,Reinforce、PPO、DQN、Actor-Critic……每个算法名字都认识,连起来却完全不知所云。网上资源要么是英文原版论文(动辄30页起步),要么是寥寥数语的中文博客(看完依然不会推导)。这种感觉,大概就像站在一家米其林餐厅门口——菜单全是法语,而你只学了三天法语。
蘑菇书 EasyRL(datawhalechina/easy-rl)就是来解决这个问题的。它是目前 GitHub 上最受欢迎的中文强化学习教程项目,斩获超过 14,000 颗 Stars,被超过 2,200 个项目 Fork,在 Datawhale 所有开源教程中长期占据 Star 榜首位置。
图1:马尔可夫决策过程(MDP)是强化学习的数学基石,蘑菇书用直观图解帮助读者理解状态、动作与奖励之间的流转关系。
EasyRL 的诞生并非偶然。它脱胎于 Datawhale(一个国内知名的开源学习组织)的"组队学习"模式。这个组织的名字本身就很有趣——Datawhale,翻译过来是"数据鲸鱼",而"吃蘑菇"(eat easy RL)则是他们给自己取的一个接地气的昵称。蘑菇书中有一个很形象的比喻:吃了这株"蘑菇"之后,读者能够在强化学习的世界里像马里奥一样越来越强大。
教程的核心内容来自李宏毅教授的《深度强化学习》课程。李宏毅老师是台湾大学电机系教授,他的机器学习课程在国内几乎无人不知,以幽默风趣、深入浅出的讲解风格著称。在 EasyRL 之前,李老师的课程只有视频,没有配套文字教材;EasyRL 团队花了大量时间将视频内容转写成图文教程,配上公式推导、代码实现和习题解答,形成了一套完整的自学体系。
除了李宏毅老师的课程,蘑菇书还整合了:
这套"三合一"的教材架构,使得 EasyRL 既覆盖理论深度,又强调工程实践,兼顾了考研/科研党和就业/面试党的不同需求。
强化学习到底是怎么回事?用一个生活化的比喻可能更容易理解:
想象你养了一只小狗,目标是教会它"坐下"。传统机器学习的方式是:你把"坐下"的所有特征(臀部高度、前腿角度等)都定义清楚,然后告诉小狗标准答案。但强化学习完全不同——你不需要定义什么是"坐下",你只需要设定奖励规则:小狗做了接近坐下的动作就奖励零食,做了无关动作就不奖励。然后小狗自己通过不断尝试,逐渐学会"坐下"这个动作。
这就是强化学习的核心范式:智能体(Agent)在环境中通过试错学习,以最大化累积奖励为目标。其中"智能体"就是那只小狗,"环境"是训练场地,"奖励函数"就是零食反馈机制。整个过程与人类学习骑自行车非常相似——没人手把手教你力学平衡,你是通过不断摔倒、调整、最终学会的。
图2:策略梯度(Policy Gradient)算法是强化学习的核心方法之一,蘑菇书通过图解清晰展示了演员(Actor)、环境(Environment)和奖励函数(Reward)之间的交互关系。
蘑菇书的结构非常完整,总共 16 个章节,涵盖了强化学习从基础概念到前沿算法的全貌:
基础理论(第 1-3 章):从零开始讲解强化学习基础概念,介绍马尔可夫决策过程(MDP),以及 Q-Learning、Sarsa 等表格型方法。这部分内容对应周博磊老师的课程,适合零基础读者打牢基础。
策略梯度(第 4-5 章):深入讲解 Policy Gradient 和 PPO(近端策略优化)算法。PPO 是当前最流行的强化学习算法之一,被广泛应用于大模型训练(如 ChatGPT 的 RLHF 阶段)。蘑菇书对 PPO 的损失函数推导做了非常详细的解释,这是其他教程很少涉及的。
深度 Q 网络(第 6-8 章):讲解 DQN 及其各种变体——Double DQN(解决 Q 值过度估计问题)、Dueling DQN(分离状态价值和优势函数)、Noisy DQN(增强探索能力)、PER-DQN(优先级经验回放)。每一章都配有 Jupyter Notebook 代码实现。
高级主题(第 9-16 章):Actor-Critic 框架、A3C 异步算法、DDPG 与 TD3(连续动作空间)、稀疏奖励处理(奖励塑形、好奇心机制)、模仿学习(GAIL)等前沿内容。
图3:A3C(Asynchronous Advantage Actor-Critic)算法通过多线程异步训练显著加速学习过程,蘑菇书对其并行架构做了清晰的图解说明。
蘑菇书不仅仅是文字教程,更是一套完整的代码学习系统。项目中包含 17 个 Jupyter Notebook,覆盖所有主流强化学习算法:
| Notebook | 算法 | 核心内容 |
|---|---|---|
| DQN.ipynb | 深度 Q 网络 | 经验回放、目标网络 |
| DoubleDQN.ipynb | 双 DQN | 解决 Q 值过估计 |
| DuelingDQN.ipynb | Dueling DQN | 优势函数分解 |
| PER_DQN.ipynb | 优先经验回放 DQN | 优先级采样 |
| PPO.ipynb | 近端策略优化 | Clip 机制 |
| PolicyGradient.ipynb | 策略梯度 | REINFORCE |
| A2C.ipynb | 同步演员评论家 | 多环境并行 |
| SAC.ipynb | 软演员评论家 | 最大熵强化学习 |
| DDPG.ipynb | 深度确定性策略梯度 | 连续控制 |
| TD3.ipynb | 双延迟 DDPG | 策略平滑 |
每个 Notebook 都基于 Gym(OpenAI 的强化学习环境) 实现,包含完整的训练循环、参数配置和可视化输出。读者可以直接在本地运行这些 Notebook,边看理论边跑代码。
从代码架构来看,蘑菇书采用了一种非常聪明的"双轨并行"设计:
docs/ 目录:面向纯理论学习者,存放 Markdown 格式的章节内容,使用 Docsify 框架渲染为在线电子书。每一章都配有大量图解、公式推导和概念解释。章节结构严格对应李宏毅老师的授课顺序,每章末尾还附有习题和关键词整理。
notebooks/ 目录:面向实战学习者,存放 Jupyter Notebook 代码实现。代码与 docs/ 章节一一对应,学习者可以在阅读理论的同时动手实验。common/ 子目录中包含了通用的训练框架(multiprocessing_env.py 实现多进程环境管理)和自定义环境(racetrack 赛车环境等)。
papers/ 目录:整理了强化学习领域的经典论文解读,包括 DQN 系列、策略梯度系列、模仿学习等多个方向,每周持续更新。
这种"理论 + 代码 + 论文"三层次的设计,使得不同背景的读者都能找到适合自己的切入点:数学系学生可以直接啃 docs/ 的推导,CS 学生可以从 notebooks/ 入手跑实验,而研究者则可以从 papers/ 追踪学术前沿。
作为纯教程/文档项目,蘑菇书无需任何安装部署,可直接使用:
git clone https://github.com/datawhalechina/easy-rl.git,克隆到本地后可使用任意 Markdown 阅读器或 VS Code 打开项目语言以 Jupyter Notebook 和 Markdown 为主,不涉及 Web 界面、容器化或 Kubernetes 等部署组件,硬件需求为零。唯一的软性依赖是 PyTorch(用于运行 Notebook 代码),但纯阅读文档完全不依赖任何计算资源。
蘑菇书的成功,不仅仅在于内容质量,更在于它代表了一种新型的开源教育协作模式。
从数据来看,该项目 Star 增长曲线非常稳健:2020 年 7 月上线至今(2026年5月),持续保持活跃维护(最近一次更新在 2026 年 5 月),Issue 处理及时(56 个开放 issue 中大部分为学习讨论帖而非 Bug),说明社区参与度很高。
更值得关注的是,Datawhale 团队将这套模式复制到了整个机器学习领域——他们开源了包括"吃瓜书"(机器学习)、"南瓜书"(周志华《机器学习》公式推导)在内的一系列教材,形成了一个完整的中文 AI 学习生态。EasyRL 作为其中 Star 最高的项目,不仅是单一教程的成功,更是整个 Datawhale 品牌影响力的集中体现。
在当前大模型浪潮下,强化学习(尤其是 RLHF——基于人类反馈的强化学习)重新站上了技术舞台的中央。ChatGPT、Sora、Claude 等大模型的训练,都离不开 RLHF 的参与。蘑菇书对 PPO 算法的深入讲解,使其天然成为了理解大模型训练机制的最好入口。可以预见,随着 AI 技术的持续火热,这株"蘑菇"将会被更多人"吃下",释放出更大的能量。