前言
为什么要写作本书
强化学习正在改变人类社会的方方面面:基于强化学习的游戏AI已经在围棋、《星际争霸》等游戏上全面碾压人类顶尖选手,基于强化学习的控制算法已经运用于机器人、无人机等设备,基于强化学习的交易算法已经部署在金融平台上并取得了超额收益。由于同一套强化学习代码在同一套参数设置下能解决多个看起来毫无关联的问题,因此强化学习常被认为是迈向通用人工智能的重要途径。
本书特色
本书完整地介绍了主流强化学习理论。
❑选用现代强化学习理论体系,突出主干,主要定理均给出证明过程。基于理论讲解强化学习算法,全面覆盖主流强化学习算法,包括资格迹等经典算法和MuZero等深度强化学习算法。
❑全书采用完整的数学体系各章内容循序渐进。全书采用一致的数学符号,并兼容主流强化学习教程。
本书各章均提供Python代码,实战性强。
❑简洁易懂:全书代码统一规范,简约完备,与算法讲解直接对应。
❑查阅、运行方便:所有代码及运行结果均在GitHub上展示,既可以在浏览器上查阅,也可以下载到本地运行。各算法实现放在单独的文件里,可单独查阅和运行。
❑环境全面:既有Gym的内置环境,也有在Gym基础上进一步扩展的第三方环境,还带领读者一起实现自定义的环境。
❑兼容性好:所有代码在三大操作系统(Windows、macOS、Linux)上均可运行,书中给出了环境的安装和配置方法。深度强化学习代码还提供了TensorFlow 2和PyTorch对照代码。读者可任选其一。
❑版本新:全书代码基于最新版本的Python及其扩展库。作者会在GitHub上更新代码以适应版本升级。
❑硬件要求低:所有代码均可在没有GPU的个人计算机上运行。
本书主要内容
本书介绍强化学习理论及其Python实现。
❑第1章:从零开始介绍强化学习的背景知识,以及环境库Gym的使用。
❑第2~15章:基于折扣奖励离散时间Markov决策过程模型,介绍强化学习的主干理论和常见算法。采用数学语言推导强化学习的基础理论,进而在理论的基础上讲解算法,并为算法提供配套代码实现。基础理论的讲解突出主干部分,算法讲解全面覆盖主流的强化学习算法,包括经典的非深度强化学习算法和近年流行的深度强化学习算法。Python实现和算法讲解一一对应,对于深度强化学习算法还给出了基于TensorFlow 2和PyTorch的对照实现。
❑第16章:介绍其他强化学习模型,包括平均奖励模型、连续时间模型、非齐次模型、半Markov模型、部分可观测模型等,以便让读者更好地了解强化学习研究的全貌。
勘误与支持
本书配套GitHub仓库https://github.com/zhiqingxiao/rl-book提供勘误、代码、习题答案、本书涉及的参考资料的具体信息、读者交流群等资源。我会在GitHub上不定期更新内容。
作者的电子邮箱是:xzq.xiaozhiqing@gmail.com。
致谢
在此感谢为本书出版做出贡献的所有工作人员。本书还采纳了童峥岩、赵永进、黄永杰、李伟、马云龙、黄俊峰、李岳铸、李柯、龙涛、陈庆虎等专家的意见。向他们表示感谢。
特别要感谢我父母的无私支持,感谢我的上司与同事对本书出版的关心和支持。
感谢你选择本书。祝学习快乐!
肖智清