
本书构建了一个完整的强化学习入门路径,深入浅出地介绍了强化学习算法的基本原理和实现方法。本书
首先回顾了相关预备知识,包括数学基础和机器学习基础,然后先介绍强化学习的基本概念,给出强化学习的
数学框架(马尔可夫决策过程),随后介绍强化学习的求解算法,包括表格求解法(动态规划法、蒙特卡洛法
和时序差分法),以及近似求解法(值函数近似法、策略梯度法和深度强化学习)。本书最后一部分为实践与前
沿,实践部分基于一个相同的例子实现了强化学习领域的主流基础算法,前沿部分介绍了强化学习领域的**
研究进展。本书配有相当数量的习题供练习,配套代码基于 Python 实现,源代码均已开源,可开放获取。
本书可作为理工科本科生、研究生的“强化学习”课程的教材,也可作为相关从业者掌握强化学习的入门
参考书。
前 言
人工智能的发展经历了三次浪潮,从空中楼阁到象牙之塔,现今走进了万间广厦。近十年,以深度学习为发端的第三次人工智能浪潮带来很多变化,有别于前两次浪潮的大浪淘沙,这次人工智能浪潮正呈席卷之势,引领新一代科学技术的发展,改变着每个领域、每个行业,也普惠着生活在这个时代的每一个人。
人工智能技术已经融入越来越多的行业,应用在越来越广的场景之中。人工智能开发的难易程度,也从十年前的高不可攀到如今走进千家万户,未来可期成为多数工程师的必备技能,这背后自然离不开每一位教育工作者的艰苦努力,也离不开每一本技术专著作者的辛勤付出。回看我国高校人工智能专业的发展历史,系统化的学科建设时间还不算长,从完备的学科设置到专业的师资队伍建设,再到相匹配的教材研发还需要进一步加强和完善。在我任教的清华大学,对于新兴学科,师资、教研、教辅等方面与时俱进,但若想更多更广地惠及对人工智能技术感兴趣的大学生群体或相关技术人员,还需要把这门学科的门槛尽快降低。
本书的出发点正是秉持这一要旨,将强化学习技术的学习与运用的门槛尽可能地降低。强化学习是机器学习的重要分支,在学习强化学习的过程中会涉及概率、统计、运筹等数理知识。同时,强化学习又是一门实践性非常强的技术,市面上现有的强化学习书籍的学习门槛还相对较高,对初学者不够友好。因此,本书的目标定位是面向所有具有相关计算机和数学基础的大学生、工程技术人员,旨在让本书的读者在强化学习领域从零起步了解并掌握算法,快速应用这些思想、技术和方法。
本书通过严谨简明的预备知识介绍,有的放矢地为读者梳理强化学习中涉及的数学知识,然后以强化学习拟解决的问题为着眼点,将强化学习要解决的问题转化为求解马尔可夫模型,接着循序渐进地给出了求解此模型的基础求解方法和优化求解方法。本书在编写过程中侧重于实践应用,通过算法原理与实践案例的结合,由浅入深地导入强化学习的概念和方法,提高读者的兴趣,降低入门的难度。希望本书能够普惠更多希望学习人工智能技术的学生及工程技术人员,让他们掌握强化学习的方法,并能灵活地用其解决实际问题。同时,也可以把人工智能技术的思维带到他们平时的学习和工作中,启发他们对机器智能进行思考与探索。
未来十年,人工智能领域的教育必将得到普及。为社会培养更多人工智能方面的学生和工程技术人员,尽量降低人工智能的入门门槛,是本书作者的初心。
清华大学计算机科学与技术系教授、系副主任
唐杰
2021 年5 月
目 录
I 概 述
第1章 导论 3
1.1 强化学习简介 3
1.1.1 两个主要特征 3
1.1.2 与机器学习的关系 4
1.2 强化学习发展史 5
1.2.1 试错学习 6
1.2.2 最优控制 6
1.2.3 时序差分学习 7
1.2.4 深度强化学习 7
1.3 本书的主要内容 8
1.4 本章小结 10
II 预 备 知 识
第2章 概率统计与随机过程 13
2.1 概率论 13
2.1.1 集合 13
2.1.2 概率 15
2.1.3 随机试验与随机事件 16
2.1.4 条件概率与独立事件 16
2.1.5 随机变量 18
2.1.6 期望与方差 18
2.1.7 概率分布 19
2.2 统计学基础 23
2.2.1 大数定律 23
2.2.2 中心极限定理 24
2.3 随机过程 27
2.3.1 基本概念 27
2.3.2 分布函数 29
2.3.3 基本类型 29
2.3.4 马尔可夫过程 30
2.3.5 马尔可夫链的状态分类 30
2.3.6 平稳分布 34
2.4 本章小结 36
第3章 机器学习 37
3.1 基本概念 37
3.2 线性回归 39
3.3 逻辑回归 41
3.3.1 逻辑回归模型 41
3.3.2 逻辑回归指标 43
3.3.3 逻辑回归算法 46
3.4 随机梯度下降 47
3.4.1 随机梯度下降法 47
3.4.2 基于 SGD 实现逻辑回归 49
3.5 本章小结 50
第4章 神经网络 51
4.1 神经元 51
4.2 感知机 53
4.2.1 感知机模型 53
4.2.2 感知机指标 54
4.2.3 感知机算法 55
4.3 神经网络 59
4.3.1 神经网络模型 59
4.3.2 神经网络指标 61
4.3.3 神经网络算法 61
4.3.4 梯度消失现象 66
4.4 本章小结 68
第5章 深度学习 69
5.1 深度神经网络 69
5.2 卷积神经网络 70
5.2.1 图像 70
5.2.2 卷积 71
5.2.3 填充 73
5.2.4 池化 74
5.3 循环神经网络 74
5.3.1 循环神经网络的基本结构 74
5.3.2 LSTM 结构 76
5.3.3 深度循环神经网络 77
5.4 本章小结 78
III 强化学习基础
第6章 强化学习概述 81
6.1 强化学习框架 81
6.1.1 基本框架 81
6.1.2 完全观测与不完全观测 82
6.2 强化学习要素 83
6.2.1 值函数 84
6.2.2 模型 85
6.3 本章小结 85
第7章 马尔可夫决策过程 86
7.1 马尔可夫过程 86
7.1.1 基本概念 86
7.1.2 转移概率 87
7.2 马尔可夫奖励过程 90
7.3 马尔可夫决策过程 94
7.3.1 形式化表示 94
7.3.2 策略和值函数 95
7.3.3 MDP 与 MRP 的关系 100
7.4 最优化 100
7.4.1 最优策略 100
7.4.2 贝尔曼最优方程 101
7.5 本章小结 104
IV 表格求解法
第8章 动态规划法 107
8.1 动态规划 107
8.1.1 算法基础知识 107
8.1.2 动态规划基础知识 111
8.1.3 动态规划求解 MDP 115
8.2 基于动态规划的预测(策略评估) 116
8.3 策略改进 120
8.4 基于动态规划的控制 122
8.4.1 策略迭代 122
8.4.2 值函数迭代 123
8.5 广义策略迭代 125
8.6 本章小结 125
第9章 蒙特卡洛法 126
9.1 蒙特卡洛法简介 127
9.1.1 投点法 127
9.1.2 平均值法 129
9.2 21 点游戏 132
9.2.1 游戏规则 132
9.2.2 模拟交互序列 137
9.2.3 Gym 139
9.3 蒙特卡洛预测 141
9.4 蒙特卡洛控制 145
9.5 增量均值法 152
9.6 本章小结 153
第10章 时序差分法 154
10.1 TD(0) 预测 154
10.2 TD(0) 控制:Sarsa(0) 算法 157
10.3 n 步时序差分预测 163
10.4 n 步时序差分控制:n 步 Sarsa 算法 164
10.5 本章小结 166
第11章 异策略学习概述 167
11.1 重要性采样 167
11.1.1 基本重要性采样 167
11.1.2 自归一化重要性采样 171
11.2 每次访问与异策略学习 173
11.2.1 每次访问 173
11.2.2 异策略学习 175
11.3 异策略蒙特卡洛控制 177
11.4 异策略时序差分控制:Q-Learning 180
11.5 本章小结 183
V 近似求解法
第12章 值函数近似法 187
12.1 值函数近似 187
12.2 值函数近似预测 188
12.3 值函数近似控制 190
12.4 线性函数逼近器 192
12.5 本章小结 194
第13章 策略梯度法 195
13.1 策略梯度 195
13.1.1 基本概念 195
13.1.2 策略梯度定理 196
13.2 蒙特卡洛策略梯度 198
13.3 带基线的 REINFORCE 算法 200
13.4 A-C 算法 203
13.5 PPO 算法 205
13.6 本章小结 207
第14章 深度强化学习 209
14.1 DQN 算法 209
14.2 DDPG 算法 212
14.3 本章小结 214
VI 实践与前沿
第15章 强化学习实践 219
15.1 MountainCar-v0 环境介绍 219
15.2 表格式方法 222
15.2.1 Sarsa 算法 222
15.2.2 Q-Learning 算法 224
15.3 策略梯度法 225
15.3.1 REINFORCE 算法 225
15.3.2 A-C 算法 229
15.3.3 PPO 算法 233
15.4 深度强化学习 238
15.4.1 DQN 算法 238
15.4.2 DDPG 算法 243
15.5 本章小结 246
第16章 强化学习前沿 248
16.1 深度强化学习 248
16.2 多智能体强化学习 250
16.2.1 基于值函数 250
16.2.2 基于策略 251
16.2.3 基于 A-C 框架 252
16.3 多任务强化学习 253
16.3.1 多任务强化学习算法 254
16.3.2 多任务强化学习框架 256
16.4 本章小结 258
VII 附 录
习题参考答案 (第8章 、第9章 ) 261
参考文献 268
后记 275
本书是强化学习领域的入门书籍。本书结合大量清晰易懂的实际用用案例,能够帮助读者更好地理解强化学习各个算法的实现原理,降低了强化学习入学门槛。书中架构安排合理,语言表达准确,推理证明齐全。
袁莎,清华大学计算机系博士后,合作导师为唐杰教授,主持一项国家自然科学基金青年基金项目和一项博士后科学基金面上项目。唐杰 IEEE Fellow,清华大学计算机系教授、系副主任,获国家杰出青年科学基金、王选杰青奖。研究人工智能、认知图谱、数据挖掘、社交网络和机器学习。发表论文300余篇,获ACM SIGKDD Test-of-Time Award(十年**论文)。主持研发了超大规模预训练模型“悟道”,参数规模超过1.75万亿。之前还研发了研究者社会网络挖掘系统AMiner,吸引全球220个国家/地区2000多万用户。担任国际期刊IEEE T. on Big Data、AI OPEN主编以及WWW’23大会主席。获国家科技进步二等奖、北京市科技进步一等奖、北京市专利奖一等奖、人工智能学会科技进步一等奖、KDD杰出贡献奖。