推荐序一
强化学习是机器学习的一个重要分支,它试图解决决策优化的问题。所谓决策优化,是指面对特定状态(State,S),采取什么行动方案(Action,A),才能使收益最大(Reward,R)。很多问题都与决策优化有关,比如下棋、投资、课程安排、驾车,动作模仿等。
AlphaGo的核心算法,就是强化学习。AlphaGo不仅稳操胜券地战胜了当今世界所有人类高手,而且甚至不需要学习人类棋手的棋谱,完全靠自己摸索,就在短短几天内,发现并超越了一千多年来人类积累的全部围棋战略战术。
最简单的强化学习的数学模型,是马尔科夫决策过程(Markov Decision Process,MDP)。之所以说MDP是一个简单的模型,是因为它对问题做了很多限制。
1.面对的状态st,数量是有限的。
2.采取的行动方案at,数量也是有限的。
3.对应于特定状态st,当下的收益rt是明确的。
4.在某一个时刻t,采取了行动方案at,状态从当前的st转换成下一个状态st+1。下一个状态有多种可能,记为 , i = 1... n。
换句话说,面对局面st,采取行动at,下一个状态是 ,不是确定的,而是概率的,状态转换概率,记为P( | st, at )。但是状态转换只依赖于当前状态st,而与先前的状态st-1, st-2 ...无关。
解决马尔科夫决策过程问题的常用的算法,是动态规划(Dynamic Programming)。
对马尔科夫决策过程的各项限制,不断放松,研究相应的算法,是强化学习的目标。例如对状态st放松限制:
1.假如状态st的数量,虽然有限,但是数量巨大,如何降低动态规划算法的计算成本;
2.假如状态st的数量是无限的,现有动态规划算法失效,如何改进算法;
3.假如状态st的数量不仅是无限的,而且取值不是离散的,而是连续的,如何改进算法;
4.假如状态st不能被完全观察到,只能被部分观察到,剩余部分被遮挡或缺失,如何改进算法;
5.假如状态st完全不能被观察到,只能通过其他现象猜测潜在的状态,如何改进算法。
放松限制,就是提升问题难度。在很多情况下,强化学习的目标,不是寻找绝对的最优解,而是寻找相对满意的次优解。
强化学习的演进,有两个轴线:一个是不断挑战更难的问题,不断从次优解向最优解逼近;另一个是在不严重影响算法精度的前提下,不断降低算法的计算成本。
此书的叙述线索非常清晰,从最简单的解决马尔科夫决策过程的动态规划算法,一路讲解到最前沿的深度强化学习算法(Deep Q Network,DQN),单刀直入,全无枝枝蔓蔓之感。不仅解释数学原理,而且注重编程实践。同时,行文深入浅出,通俗易懂。
将本书与Richard Sutton和Andrew Barto合著的经典著作Reinforcement Learning: An Introduction, Second Edition相比,Sutton和Barto在内容上更注重全面,覆盖了强化学习各个分支的研究成果;而本书更强调实用,是值得精读的教材。
邓侃
PhD of Robotics Institute, School of Computer Science, Carnegie Mellon University,前Oracle 主任架构师、前百度网页搜索部高级总监、北京大数医达科技有限公司创始人
推荐序二
强化学习又称为增强学习或再励学习(Reinforcement learning),是AlphaGo、AlphaGo Zero等人工智能软件的核心技术。近年来,随着高性能计算、大数据和深度学习技术的突飞猛进,强化学习算法及其应用也得到更为广泛的关注和更加快速的发展。尤其是强化学习与深度学习相结合而发展起来的深度强化学习技术已经取得若干突破性进展。AlphaGo与人类顶级棋手之间的对弈,使得深度强化学习技术在学术界和工业界得到了更为广泛的关注。强化学习不仅在计算机博弈中取得巨大成功,而且在机器人控制、汽车智能驾驶、人机对话、过程优化决策与控制等领域,也被认为是实现高级人工智能最有潜力的方法。
本人在多年从事强化学习与近似动态规划理论和应用的研究过程中,力求不断提升强化学习算法的快速收敛性和泛化性能,并且将强化学习新理论和新算法应用于移动机器人和自主驾驶车辆等领域,为智能移动机器人和自主驾驶车辆在复杂、不确定条件下的自主优化决策和自学习控制提供高效的技术手段。今后,随着相关理论和技术的不断进步,强化学习技术在智能机器人和自主驾驶车辆、复杂生产过程的优化决策与控制、天空与海洋无人系统等领域的应用将很快会有新的突破。
强化学习的思想从20世纪初便被提出来了,经过将近一个世纪的发展,强化学习与心理学、运筹学、智能控制、优化理论、计算智能、认知科学等学科有着密切的联系,是一个典型的多学科交叉领域。来自不同学科的概念和思想使得初学者学习和了解强化学习存在较大的困难。郭宪博士和方勇纯教授的这本《深入浅出强化学习:原理入门》用通俗的语言系统地讲解了强化学习的基本概念以及它们之间的关联关系。从内容的广度来看,这本书涵盖了强化学习领域的基本概念和基本方法(基于值函数的方法和基于直接策略搜索的方法);从内容的深度来看,这本书既有传统的强化学习算法(基于表格的强化学习方法,如Qlearning,Sarsa算法等),也有最近发展起来的深度强化学习算法(如DQN,TRPO,DDPG等)。另外,该书还有两大特色:第一,在介绍强化学习算法的同时,相应地介绍了算法设计和分析的数学基础;第二,相关算法配有代码实例。这两个特色使得该书非常适合初学者、相关领域科研人员以及研究生学习和研讨。鉴于此,强烈推荐该书作为广大读者学习强化学习技术的入门读物,也希望该书能引导和帮助更多的学者投入到强化学习的研究和应用中,为我国新一代人工智能的发展贡献自己的力量。
徐昕
国防科技大学教授
推荐序三
继深度学习与大数据结合产生了巨大的技术红利之后,人们开始探索后深度学习时代的新技术方向。当前主流的机器学习范式大都是以预先收集或构造数据及标签,基于已存在的静态数据进行机器学习为特征的“开环学习”。近年来,采用动态的数据及标签,将数据产生与模型优化通过一定的交互方式结合在一起,将动态反馈信号引入学习过程的“闭环学习”受到越来越多的关注。强化学习就是“闭环学习”范式的典型代表。
在AlphaGo战胜人类围棋选手之后,AlphaGO Zero以其完全凭借自我学习超越人类数千年经验的能力再次刷新了人类对人工智能的认识。而这一人工智能领域的巨大成功的核心就是强化学习与深度学习的结合,这也使得强化学习这一行为主义学习范式,受到了学术界和产业界的新一轮广泛关注。
本书的出版正是在这样的背景下,可谓恰逢其时。本书深入浅出地对强化学习的理论进行了综合全面的介绍,系统完整又通俗易懂。同时,结合OpenAI的仿真环境,将强化学习算法的实际使用与理论介绍联系起来,具有很强的实用性。在强化学习方法论得到广泛关注,以及其实践需求快速增长的背景下,这是一本很好的入门教程。
俞凯
上海交通大学研究员
推荐序四
AlphaGo的诞生掀起了(深度)强化学习技术的一轮热潮,该方向已成为人工智能领域最热门的方向之一,由于其通用性而备受各个应用领域推崇,从端对端控制、机器人手臂控制,到推荐系统、自然语言对话系统等。(深度)强化学习也被OpenAI等公司认为是实现通用人工智能的重要途径。
然而目前强化学习中文资料相对零散,缺少兼具系统性和前沿性的强化学习教学及科研资料。郭博士的《深入浅出强化学习:原理入门》这本书恰好填补了这一空白。本书根据郭博士在知乎的强化学习专栏内容整理而成,条分缕析、通俗易懂,既对强化学习基础知识做了全方面“深入浅出”的讲述,又涵盖了深度强化学习领域一系列最新的前沿技术。因此它无论是对强化学习的入门者,还是强化学习领域研究人员和工程师,都是一本很好的推荐读物,相信不同的读者都会从中获益。
郝建业
天津大学副教授、天津市青年千人、天津大学“北洋青年学者”
推荐序五
受行为主义心理学研究启发,在机器学习领域中产生了一种交互式学习方法的分支,这便是强化学习,又称为增强学习。强化学习模拟的是人类的一种学习方式,在执行某个动作或决策后根据执行效果来获得奖励,通过不断与环境的交互进行学习,最终达到目标。强化学习概念早在上世纪就已经提出,在计算机领域,第一个增强学习问题是利用奖惩手段学习迷宫策略。然而,直到2016年AlphaGo对决李世石一战成名后,强化学习的概念才真正广为人知。强化学习主要应用于众多带有交互性和决策性问题,比如博弈、游戏、机器人、人机对话等,这些问题是常用的监督学习和非监督学习方法无法很好处理的。
本人一直从事移动机器人、机器视觉和机器学习领域的研究,以及人工智能课程的教学。此前,为了解决人形机器人斜坡稳定行走问题,在查阅深度学习相关资料的过程中,在网上偶然看到郭宪博士开辟的强化学习专栏,读后很有收获。现在他将专栏文章整理编著成书,重新按知识层次进行编排和补充,对于读者学习更有帮助。
本书覆盖了强化学习最基本的概念和算法。在基于值函数的强化学习方法中,介绍了蒙特卡罗法、时间差分法和值函数逼近法。在基于直接策略搜索的强化学习方法中,介绍了策略梯度法、置信域策略法、确定性策略搜索法和引导策略搜索。在强化学习的前沿部分,介绍了逆向强化学习、深度强化学习和PILCO等。除了深度学习算法本身,书中还对涉及的基础知识,如概率学基础、马尔科夫决策过程、线性方程组的数值求解方法、函数逼近方法、信息论中熵和相对熵的概念等也做了详细的说明。本书非常适合科技人员、高等学校师生和感兴趣人员作为入门强化学习的读物,也可作为相关研究和教学的参考书。
本书内容深入浅出、文字简单明了,采用了丰富的实例,让读者易读、易懂。同时配有习题和代码详解,能有效提升读者对理论知识的理解,帮助读者运用理论解决实际问题。建议读者跟随书中的示例和代码(https://github.com/gxnk/reinforcement- learning-code)来实现和验证相关强化学习算法,并可同时关注作者的知乎专栏(https://zhuanlan.zhihu.com/sharerl)以便更好地互动和探讨相关细节。
陈白帆
中南大学副教授 湖南省自兴人工智能研究院副院长