为什么要“动手”学强化学习?
这篇书评可能有关键情节透露
自从 AlphaGo 横空出世以来,强化学习这一领域以其优美的数学模型,在各种任务上卓越的表现,以及潜在的广阔发展前景,吸引了越来越多的关注。正如 DeepMind 在其 2021 年的一篇论文Reward is Enough中指出的一样:“强化学习,可能是众多机器学习算法中最有可能实现通用人工智能的方法。”近年来强化学习的表现也越来越让人惊叹,2019年,在星际争霸游戏上,由 DeepMind 开发的 AlphaStar 已经超越了人类顶级玩家的水平。2022 年 2 月,DeepMind 使用 AI 控制托卡马克装置控制等离子体的成果再度登上Nature封面,在可控核聚变领域引发重大反响。这样影响深远的成果也不断吸引着越来越多的科研人员投入强化学习的研究之中。
然而,对初学者而言,由于强化学习基于随机过程中的马尔可夫决策理论,具有浓厚的数学背景,因此现有的强化学习书籍以及网络课程大多将重点放在强化学习背后的理论基础,而忽视了其具体的代码实践。正是由于这个原因,初学者在学习强化学习的过程中,往往会面临理论信手拈来,一到实践就开始一筹莫展的尴尬局面。
在计算机这一极具工程性的领域中,无论多精妙的理论最终都要以代码的形式来落地,毕竟,只懂理论可开发不出 AlphaGo。如何将理论转化为一个真正运行着的智能体,是每一个强化学习的初学者都面临的难题。正如黑格尔所言:“想要学会游泳,必须勇敢地跳入激流。”只有真正动手实践,才能真正学会强化学习。在我看来,《动手学强化学习》这本书,就在一定程度上很好地填补了理论与实践之间的鸿沟。
相较于市面上的其他教材,《动手学强化学习》这本书最大的特点就是理论与实践并重。这一点可以说是刻在这本书的基因中的。在前言中,作者提到,本书来自作者在上海交通大学 ACM 班的强化学习课程中所尝试的新的教学方式:将理论的讲解与对应的代码实践相耦合,使得学生在学习完一个原理知识点后能够立即以代码实践的形式学习其实践方式,这样的教学方式得到了同学们的积极反馈。
本书就是基于这门课的授课材料所写就的。这门课的设计理念同样也在这本书中被传承了下来:在讲解理论的同时,每一个算法都会给出具体的实践代码,每段代码都具有非常详尽的注释。这种材料的组织方式不仅对初学者十分友好,同样很适合经验丰富的强化学习研究人员——可以作为案头常备的强化学习基础代码库,方便随时查阅。
对初学者来说,示例代码优秀的代码质量和良好的代码结构至关重要。说到这,就不得不提到本书的作者俞勇教授了。自从2002年上海交通大学 ACM 班创立以来,短短十年之间,ACM 班的学生三次问鼎全球 ACM 大赛。而俞勇教授,就是 ACM 班的创始人。

俞勇教授不仅仅是上海交通大学 ACM 班的创始人,同时也是国家级教学名师,上海交通大学的特聘教授。俞勇教授一直致力于培养卓越的人工智能算法工程师和研究员。本书的成书过程,离不开俞勇教授对课程教学的创新与探索。同时,俞勇教授及其整个 ACM 班的加持,也使得本书的理论讲解与代码质量得到了充分的保证。在阅读本书的过程中,我个人最为惊喜的部分是强化学习前沿部分。这一部分对强化学习领域的最新进展做了大体的介绍,包括模仿学习、多智能体强化学习等,并且同样给出了示例代码。这使得读者能够紧跟强化学习的前沿研究趋势。
AlphaGo 的大脑:Actor-Critic 算法
我想读者一定会对 AlphaGo 背后的算法很好奇。在这里本文简要介绍一下 AlphaGo 背后的 Actor-Critic 算法,这种算法同样在书中给出了丰富的示例代码,读者可以自行实践。
AlphaGo 将改进的蒙特卡洛树搜索与深度强化学习相结合,形成了一个深度学习系统。AlphaGo 使用的深度强化学习算法,就是著名的 Actor-Critic 算法。Actor-Critic 的算法框架已经成为当今流行的深度强化学习算法的标配。
正所谓人如其名,Actor-Critic 算法背后的思想也和它的名字一样直观。考虑一个进行表演的演员(Actor),她要怎样提升自己的水平呢?如果仅仅是她自己漫无目的地进行表演,那么她也不明白自己表演的好坏,更不要说提升自己的表演水平了。这个时候就需要一个评论家(Critic)来对她的表演进行打分,有了评分之后,演员就可以根据评分来不断提高自己的表演水平。再举个例子,对一个学生而言,考试分数是了解自己学习水平的重要手段。如果没有考试,可能学生也不知道自己对知识的掌握程度如何。
正如《学习之道》一书所指出的一样:“如果没有及时的测试,学生就难以对自己的水平产生合理的评估,很容易产生‘能力错觉’。”考试分数为学生的学习情况提供了反馈,学生可以利用这个反馈来改进自己的学习方法。这就是演员-评论家算法背后的思路,简单但是有效。

演员-评论家算法的具体实现如上图所示,传统的深度强化学习方法往往是价值网络和策略网络二选一,而 Actor-Critic 算法却将价值网络与策略网络相结合。一方面,Actor-Critic 算法通过策略网络,也就是 Actor,来确定当前状态选择何种动作;另一方面又通过价值网络,即 Critic,来为动作进行打分。Actor-Critic 的算法框架简单,但十分有效。当前流行的深度强化学习算法如 PPO、IMPALA等,基本都采用了Actor-Critic的算法框架,只是在细节上有各种改进。
在 AlphaGo 的具体实现中,策略网络用来判断下一步的落点,而价值网络则用来评估当前局势的好坏。正是Actor-Critic 算法的卓越表现,为 AlphaGo 在围棋上取得如此惊人的优异表现奠定了基础。当然,AlphaGo 还采用了蒙特卡洛搜索树以及自博弈的相关算法,这就涉及一些更深入的主题(如博弈论)的相关知识了。但是 Actor-Critic 的算法框架,毫无疑问是 AlphaGo 的核心。
AlphaGo 的表现固然令人耳目一新,可是 AlphaGo 背后的强化学习算法,才是人类智慧的结晶。想要在强化学习的领域一展宏图,就必须真正”动手“去学强化学习。相信这样一本书,一定能成为每一位强化学习研究者案头必备的良师益友。