蘑菇书
Easy RL
Qi Wang Yiyuan Yang Ji Jiang
版本: 1.0.3
2022 年 3 月 1 日
https://github.com/datawhalechina/easy-rl
前言
李宏毅老师的《深度强化学习》是强化学习领域经典的中文视频之一。李老师幽默风趣的上课风格让晦涩
难懂的强化学习理论变得轻松易懂,他会通过很多有趣的例子来讲解强化学习理论。比如老师经常会用玩 Atari
游戏的例子来讲解强化学习算法。此外,为了教程的完整性,我们整理了周博磊老师的《强化学习纲要》、李科
浇老师的《世界冠军带你从零实践强化学习》以及多个强化学习的经典资料作为补充。对于想入门强化学习又
想看中文讲解的人来说绝对是非常推荐的。
本教程也称为“蘑菇书”,寓意是希望此书能够为读者注入活力,让读者“吃”下这本蘑菇之后,能够饶有
兴致地探索强化学习,像马里奥那样愈加强大,继而在人工智能领域觅得意外的收获。
使用说明
• 第 4 章到第 11 章为李宏毅《深度强化学习》的部分;
• 第 1 章和第 2 章根据《强化学习纲要》整理而来;
• 第 3 章和第 12 章根据《世界冠军带你从零实践强化学习》整理而来。
在线阅读地址:https://datawhalechina.github.io/easy-rl/(内容实时更新)
最新版 PDF 获取地址:https://github.com/datawhalechina/easy-rl/releases
编委会
编委:Qi Wang、Yiyuan Yang、Ji Jiang
致谢
特别感谢 Sm1les、LSGOMYP 对本项目的帮助与支持。
扫描下方二维码,然后回复关键词“强化学习”,即可加入“Easy-RL 读者交流群”
Datawhale
一个专注于 AI 领域的开源组织
版权声明
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
→_→ 欢迎去各大电商平台选购纸质版蘑菇书《Easy RL:强化学习教程》 ←_←
主要符号表
a 标量
a 向量
A 矩阵
R 实数集
arg max
a
f(a) f(a) 取最大值时 a 的值
s 状态
a 动作
r 奖励
π 策略
π(s) 根据确定性策略 π 在状态 s 选取的动作
γ 折扣因子
τ 轨迹
V
π
(s) 状态 s 在策略 π 下的价值
Q
π
(s, a) 状态 s 在策略 π 下采取动作 a 的价值
G
t
时刻 t 时的回报
π
θ
参数 θ 对应的策略
J(θ) 策略 π
θ
的性能度量
3
→_→ 欢迎去各大电商平台选购纸质版蘑菇书《Easy RL:强化学习教程》 ←_←
目录
第 1 章 绪论 1
1.1 强化学习概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 强化学习与监督学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 强化学习的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.3 强化学习的历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.4 强化学习的应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 序列决策介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1 智能体和环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2 奖励 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.3 序列决策 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 动作空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 强化学习智能体的组成成分和类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.1 策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.2 价值函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.3 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.4 强化学习智能体的类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 学习与规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 探索和利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.7 强化学习实验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.7.1 Gym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.7.2 MountainCar-v0 例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.8 关键词 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.9 习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.10 面试题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
第 2 章 马尔可夫决策过程 22
2.1 马尔可夫过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.1 马尔可夫性质 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.2 马尔可夫过程/马尔可夫链 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.3
马尔可夫过程的例子
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 马尔可夫奖励过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.1 回报与价值函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.2 贝尔曼方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.3 计算马尔可夫奖励过程价值的迭代算法 . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.4 马尔可夫奖励过程的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3 马尔可夫决策过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.1 马尔可夫决策过程中的策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.2 马尔可夫决策过程和马尔可夫过程/马尔可夫奖励过程的区别 . . . . . . . . . . . . 29
2.3.3 马尔可夫决策过程中的价值函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.4 贝尔曼期望方程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.5 备份图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.6 策略评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.7 预测与控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4
→_→ 欢迎去各大电商平台选购纸质版蘑菇书《Easy RL:强化学习教程》 ←_←
2.3.8 动态规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.9 马尔可夫决策过程中的策略评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.10 马尔可夫决策过程控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3.11 策略迭代 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.12 价值迭代 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3.13
策略迭代与价值迭代的区别
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.3.14 马尔可夫决策过程中的预测和控制总结 . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.4 关键词 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.5 习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.6 面试题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
第 3 章 表格型方法 47
3.1 马尔可夫决策过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1.1 有模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1.2 免模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1.3 有模型与免模型的区别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2 Q 表格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3 免模型预测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.1 蒙特卡洛策略评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.2 时序差分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.3 动态规划方法、蒙特卡洛方法以及时序差分方法的自举和采样 . . . . . . . . . . . . 57
3.4 免模型控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4.1 Sarsa:同策略时序差分控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.4.2 Q 学习:异策略时序差分控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.4.3 同策略与异策略的区别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.5 使用 Q 学习解决悬崖寻路问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.5.1 CliWalking-v0 环境简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.5.2 强化学习基本接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.5.3 Q 学习算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.5.4 结果分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.6 关键词 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.7 习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.8 面试题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
第 4 章 策略梯度 71
4.1 策略梯度算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2 策略梯度实现技巧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.2.1 技巧 1:添加基线 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.2.2 技巧 2:分配合适的分数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.3 REINFORCE:蒙特卡洛策略梯度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4 关键词 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.5 习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.6 面试题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5
- 1
- 2
- 3
- 4
- 5
- 6
前往页