全球第一本配套 TensorFlow 2 代码的强化学习教程书
中国第一本配套 TensorFlow 2 代码的纸质算法书
现已提供 TensorFlow 2 和 PyTorch 1 对照代码
本书介绍强化学习理论及其 Python 实现。
- 理论完备:全书用一套完整的数学体系,严谨地讲授强化学习的理论基础,主要定理均给出证明过程。各章内容循序渐进,覆盖了所有主流强化学习算法,包括资格迹等非深度强化学习算法和柔性执行者/评论者等深度强化学习算法。
- 案例丰富:在您最爱的操作系统(包括 Windows、macOS、Linux)上,基于 Python 3.8(兼容 Python 3.9)、Gym 0.18 和 TensorFlow 2.4 / PyTorch 1.8,实现强化学习算法。全书实现统一规范,体积小、重量轻。第 1~9 章给出了算法的配套实现,环境部分只依赖于 Gym 的最小安装,在没有 GPU 的计算机上也可运行;第 10~12 章介绍了多个热门综合案例,涵盖 Gym 的完整安装和自定义扩展,在有普通 GPU 的计算机上即可运行。
2020年更新
本书深度强化学习部分新增 基于 TensorFlow 2 和 PyTorch 1 的算法对照实现。 两个版本实现均和正文伪代码严格对应,两个版本仅在智能体部分实现不同,程序结构和智能体参数完全相同。
- 初识强化学习 查看代码:useGym
- Markov决策过程 查看代码:useBellman CliffWalking
- 有模型数值迭代 查看代码:FrozenLake
- 回合更新价值迭代 查看代码:Blackjack
- 时序差分价值迭代 查看代码:Taxi
- 函数近似方法 查看代码:MountainCar
- 回合更新策略梯度方法 查看代码:CartPole
- 执行者/评论者方法 查看代码:Acrobot
- 连续动作空间的确定性策略 查看代码:Pendulum
- 综合案例:电动游戏 查看代码:Breakout Pong Seaquest
- 综合案例:棋盘游戏 查看代码:TicTacToe Reversi boardgame2
- 综合案例:自动驾驶 查看代码:AirSimNH
QQ群
- 主群:935702193(主群扩容中请多支持,勘误报错可发此群,其他问题提问前请先Google)
- 二群:243613392(免费入群,勘误报错可发此群,其他问题提问前请先Google,群主和管理员不提供免费咨询服务)
- 多任务群:696984257(免费入群,非小白群,多任务强化学习+强化元学习+终身强化学习+迁移强化学习,勘误报错勿发此群,提问前请先Google)
- 关于入群验证问题:由于QQ的bug,即使正确输入答案,也可能会验证失败。这时更换设备重试、更换输入法重试、改日重试均可能解决问题。如果答案中有英文字母,清注意大小写。
书籍勘误与更新
- 2019年08月第1版第1次印刷:查看勘误与更新 拼多多上的盗版都是这个版次的,建议退掉,然后到天猫/京东/当当上买新版
- 2019年11月第1版第2次印刷:查看勘误与更新
- 2019年12月第1版第3次印刷:查看勘误与更新
- 2020年09月第1版第4次印刷:查看勘误与更新
- 2020年11月第1版第5次印刷:查看勘误与更新
- 2021年01月第1版第6次印刷:查看勘误与更新
- 电子版不提供勘误与更新。
判断纸质版书籍版次的方法 / 确定纸质书印刷时间的方法
- “前言”之前有1页是“图书在版编目(CIP)数据”。这页下部的表格中有一项是“版次”,该项标明当前书是什么时候第几次印刷的。
本书数学符号表
本书电子版
本书不仅有纸质版销售,也有电子版销售。不过,电子版没有提供配套的勘误与更新资源,而且公式展示不美观,对阅读带来困难。所以推荐购买纸质版。电子版销售平台包括但不限于:
- Kindle电子书:https://www.amazon.cn/dp/B07X936G34/
- 京东读书:https://e.jd.com/30513215.html
- 华章课堂:http://www.hzcourse.com/web/refbook/detail/8397/226
热心读者 Anesck 对本书知识点的梳理评注
第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 第9章
初学者常见问题
-
问:Windows系统下安装TensorFlow或PyTorch失败。答:请在Windows 10里安装Visual Studio 2019(如果有旧版本的Visual Studio请先彻底卸载)。更多细节和安装问题请自行Google。PyTorch安装可参阅:https://mp.weixin.qq.com/s/uRx1XOPrfFOdMlRU6I-eyA
-
问:在Visual Studio或Visual Studio Code或PyCharm里面运行代码失败,比如找不到函数
display()
。答:本repo代码是配套Jupyter Notebook环境的,只能在Jupyter Notebook里运行。推荐您安装最新版本的Anaconda并直接运行下载来的Notebook。(display()
函数是Jupyter Notebook里才有的函数。)不需要安装Visual Studio Code或PyCharm。更多细节或其他错误请自行Google。 -
问:GPU运行的结果和repo里带的结果不完全一样。答:本repo附带的结果都是用CPU跑的。GPU运算本来就不能精确复现。更多细节请自行Google。
-
问:GPU会比CPU跑的快么?答:没有用到TensorFlow和PyTorch的代码,不会用到GPU。用到TensorFlow和PyTorch的代码,由于网络一般不大,GPU反而可能更慢。PyTorch代码使用GPU时要把Tensor对象放在GPU上(可能需要修改代码)。
The First Reinforcement Learning Tutorial Book with TensorFlow 2 Implementation
Codes with both TensorFlow 2 and PyTorch 1
This is a tutorial book on reinforcement learning, with explanation of theory and Python implementation.
- Theory: Starting from a uniform mathematical framework, this book derives the theory and algorithms of reinforcement learning, including all major algorithms such as eligibility traces and soft actor-critic algorithms.
- Practice: Every chapter is accompanied by high quality implementation based on Python 3.8, Gym 0.18, and TensorFlow 2.4 / PyTorch 1.8. Codes in first 9 chapters only depends on minimum installation of Gym, and can be run in a laptop without GPU. Codes in the last 3 chapters can be run in a laptop with a normal GPU. All codes are compatible with Windows, Linux, and macOS.
Please email me if you are interested in publishing this book in other languages.
Chapter | Environment & Closed-Form Policy | Agent |
---|---|---|
2 | CliffWalking-v0 | Bellman |
3 | FrozenLake-v0 | DP |
4 | Blackjack-v0 | MC |
5 | Taxi-v3 | SARSA, ExpectedSARSA, QL, DoubleQL, SARSA(λ) |
6 | MountainCar-v0 | SARSA, SARSA(λ), DQN tf torch, DoubleDQN tf torch, DuelDQN tf torch |
7 | CartPole-0 | VPG tf torch, VPGwBaseline tf torch, OffPolicyVPG tf torch, OffPolicyVPGwBaseline tf torch |
8 | Acrobot-v1 | QAC tf torch, AdvantageAC tf torch, EligibilityTraceAC tf torch, PPO tf torch, NPG tf torch, TRPO tf torch, OffPAC tf torch |
9 | Pendulum-v0 | DDPG tf torch, TD3 tf torch |
10 | LunarLander-v2 | SQL tf torch, SAC tf torch, SACwA tf torch |
10 | LunarLanderContinuous-v2 | SACwA tf torch |
11 | BipedalWalker-v3 | ES, ARS |
- Introduction of Reinforcement Learning
- Markov Decision Process
- Model-based Numeric Iteration
- Monte-Carlo Learning
- Temporal Difference Learning
- Function Approximation
- Policy Gradient
- Actor-Critic
- Deterministic Policy Gradient
- Case Study: Video Game
- Case Study: Board Game
- Case Study: Autonomous Driving
BibTeX
@book{xiao2019,
title = {Reinforcement Learning: Theory and {Python} Implementation},
author = {Zhiqing Xiao}
year = 2019,
month = 8,
publisher = {China Machine Press},
}