原书前言
2016年,Google DeepMind的AlphaGo击败了围棋专业棋手的消息震惊了世界。这一事件表明,即使是在围棋游戏中,基于机器学习的人工智能也能够超越人类,尽管此前的观点认为由于其大量的落子方式,人工智能将远远落后于人类。在此,支撑AlphaGo的技术正是深度强化学习。本书将从基础开始对近年来已引起广泛关注的深度强化学习算法进行介绍,并在给出具体应用示例的同时将其应用于特定的问题。
本书大致分为两个部分。首先,在第1部分的基础篇中介绍了作为深度强化学习的基础算法,并给出了用于倒立摆控制这种简单情况的应用示例和验证结果。在第2章中解释强化学习算法时,为了避免由于不使用数学公式而引起的歧义和不准确性,在介绍时还是引入了一些必要的数学公式。特别是对于在数学公式中尤为重要的贝尔曼方程,通过与备用树等图形对应关系的解释,详细介绍了该方程式,以便读者可以准确地理解其含义。
在第2部分的应用篇中,将第1部分中介绍的算法应用于特定任务。特别是采用了一种基于策略的方法,详细介绍了其在智能体学习以及预测控制的实现。可以预见的是,该方法将在许多强化学习问题解决方案中得到广泛的应用。作为连续控制问题的应用示例,第5章介绍了类人机器人的模拟行走控制。作为组合优化问题的应用示例,第6章介绍了巡回推销员问题的实现,以及魔方问题的解决方案。在第7章中,作为序列数据生成的尝试,将介绍通过SeqGAN生成模型进行的文本语句生成以及基于应用示例的神经网络的架构搜索。
本书中的相关实现均是通过Python和TensorFlow进行。物理模拟器使用的是OpenAI Gym和pybullet-gym,并且在第6章中还为Rubik’s Cube实现了自己的模拟器。
本书适用于希望从基础开始学习深度强化学习算法的学生和研究人员,以及想要实施深度强化学习的工程师。对于那些仅想了解相关算法的读者,只需阅读本书第1部分的内容即可。另一方面,对于想立即开始进行强化学习实践的工程师,或者不擅长数学公式的读者,请阅读本书第1部分的第1章,以全面了解深度强化学习,然后可以跳过第2章和第3章的内容,直接进行第4章及以后内容的阅读。如果想更多地了解每一章中所使用算法的详细信息,则应该回顾一下第1部分的内容,并分别进行第2章和第3章的阅读。
最后,我们要感谢参与本书编写工作的所有人。BrainPad公司的太田满久先生和山崎裕一先生审读了本书的原稿,并对本书的内容和总体结构给予了宝贵的意见和建议。该公司的茂木亮祐先生和栗原理央先生分别从数据科学家和机器学习工程师的角度审读了本书的原稿,并对相关介绍中内容有跳跃和难以理解的部分提供了有益的建议。铃木政臣先生和平木悠太先生从软件工程师的角度对每章Python代码的不足和改进提供了宝贵的意见。在此,对他们表示衷心的感谢。
作 者
2019年7月