1.2 强化学习、深度强化学习的历史
本节介绍强化学习的历史。笔者认为最近强化学习引人注目的背后有两个原因:强化学习类似于大脑的学习机制;与深度学习的兼容性。强化学习与深度学习相结合的深度强化学习解决了迄今为止所遇到的一系列困难任务。在回顾强化学习的发展历史时,将对这两点加以说明。
1.2.1 强化学习和大脑学习
强化学习的名称来自于操作性学习(操作性条件反射),这是由Skinner博士提出的大脑学习机制[4]。Skinner博士的操作性学习是在被称为“Skinner盒”的大白鼠等动物实验中提出的理论。下面介绍使用Skinner盒进行实验的最简单的示例(见图1.4)。当老鼠按下盒子里的按钮(饲养量规)时,饲料(奖励)就会出现。老鼠在开始时意外触摸了按钮,然后食物出来了,但老鼠无法理解按钮和食物之间的关系。然而,在“重复偶然触摸按钮出现食物”的体验过程中,老鼠学习到了按钮和食物(奖励)之间的关系,并重复按下按钮的动作。换句话说,我们得到了这样的实验结果,给予特定动作(按下按钮)的奖励(食物)时该动作被加强(重复)。关于这个动作的学习机制被称为操作性学习(强化)。强化学习是这一操作性学习的强化,具有和操作性学习相似的学习方法,因此这一算法被称为强化学习。
图1.4 Skinner盒[5]
Skinner博士的理论来自行为实验。在20世纪90年代后期,Schultz博士等人观察到,在脑科学实验中,在神经元(神经细胞)层面也观察到其通过操作性学习而加强[6]。Schultz博士等人将电极放入猴子的大脑并进行行为实验,同时记录神经元的活动(潜在的变化)。其结果表明,在操作性学习(强化)之前和之后,大脑中黑质和腹侧被盖区域(脑干)中存在的释放多巴胺的神经元的活动时间发生了变化。此外,研究表明,改变的方式类似于强化学习算法的结果。该实验表明,强化学习算法类似于神经元层面的大脑学习机制。
为了实现AI(人工智能),不可避免地要参考大脑这一智能系统的代表,“强化学习与大脑学习复杂任务的机制相同”这一描述使得人们对于强化学习的期望上升。这在20世纪90年代末和21世纪初掀起了强化学习的热潮。然而遗憾的是,在这个时间段并未实现预期的结果,并且在21世纪初的后期,通过强化学习创建智能系统的尝试的热度呈下降趋势(见图1.5)。
图1.5 在Google Trend中搜索“强化学习”的流行度变化(2004年至2018年5月)[7]
强化学习在21世纪初的后期热度下降的原因是没有好的方法来进行状态的缩减表示。下面我们详细解释“状态的缩减表示”这一难以理解的词语。
例如,对于步行机器人而言,状态意味着关于“每条腿的关节的角度和速度”的信息。对于围棋或将棋而言,其是“在棋盘上哪个位置(另外,在将棋中还包括所持有的棋子是什么)”的信息。换句话说,在某个时刻再现控制目标所需的信息被称为状态,并表示为s(t)。
接下来介绍缩减表示。强化学习涉及将状态s(t)输入系统并输出要采取的下一个动作a(t)。此时,枚举状态的所有可能模式并根据每种模式学习所有种类动作的方法称为表格表示(tabular representation)。在表格表示中,创建一个(状态模式数×动作类型数)的表。如果强化学习的目标任务很简单且状态数和动作类型很少,则表格表示是实用的。然而,在机器人步行、围棋或将棋等情形下,状态模式的数量巨大且难以用表格形式表示,此时需要考虑减少状态模式。换句话说,此时不直接使用状态s(t),而从状态s(t)中提取重要的信息。这种提取操作被称为“对状态进行缩减(压缩)后表示出来”。例如,如图1.6所示,不表示将棋棋盘上的所有信息,而是“只关注王、飞车、金之间的位置关系”等(这里只是举一个简单的例子,与实际的将棋AI不同)。然而,在一个真正复杂的现实任务中,却不清楚如何更好地提取状态的信息。因此,如何找到“状态的缩减表示的好方法”是一个问题。
图1.6 状态信息的缩减表示示例(这是一个简单的示例,与实际的将棋AI不同)
1.2.2 强化学习和深度学习的结合
使得强化学习引人注目的第二个原因是,深度学习的出现使得缩减表示方法未知的问题得到了解决。深度学习是由Hinton博士等人在2006年的一篇论文中提出的一种神经网络[8]。Hinton等人随后建立了一个实现深度学习的图像识别系统,并在2012年图像识别竞赛“ILSVRC(ImageNet大规模视觉识别挑战)”中取得了佳绩,与以前的方法相比,该系统在识别准确度上有重大的改进。这一成果引起了人们对深度学习的广泛关注。
传统的神经网络主要由三层(输入层、中间层、输出层)表示,深度学习增加(深化)了传统神经网络的中间层。深度学习提取的特征能够很好地缩减表示复杂的输入信息(例如图像数据),这一特点使得深度学习也被称为表示学习。因此,可以尝试利用深度学习缩减表示的能力,来缩减强化学习的状态s(t)。第4章将详细介绍神经网络和深度学习。
这种将强化学习与深度学习相结合的方法被称为深度强化学习。深度强化学习一般是指一种称为DQN(Deep Q Network,深度Q网络)的算法[9],并且因其在消砖块游戏上的策略的成功而闻名[10](见图1.7)。
图1.7 深度强化学习中的消砖块策略[11]
如图1.7所示,强化学习是通过消去砖块并给予正的奖励这样的规则来学习的。随着学习的进行,画面中的砖块会消去,强化学习程序能够学习到人类玩家高超的行为,如将球传递到砖块的里侧一次性消去多个砖块。“如果将强化学习和深度学习结合起来,能够实现如此复杂的任务!”这对世界产生了很大的影响,引发了对深度强化学习的广泛关注。
除了消砖块之外,深度强化学习引起更为广泛关注的原因是AlphaGo的出现[12]。AlphaGo是由谷歌收购的DeepMind公司开发的。2015年10月,它战胜了欧洲围棋冠军樊麾,于2016年3月战胜了世界冠军之一李世石。在2017年5月,AlphaGo战胜了当时的世界冠军柯洁,这表明AlphaGo事实上成了真正超越人类的围棋程序。
AlphaGo是一个“监督学习系统”,使用了很少的棋谱数据进行学习;并且,AlphaGo也是一个“深度强化学习系统”,在同样的监督学习系统之间进行对战从而使其技能进化。AlphaGo采用这种方法来决定下一步的下法。2017年10月,AlphaGo进一步演变为AlphaGo Zero[13]。AlphaGo Zero不使用任何人类棋谱数据来做监督学习,仅通过深度强化学习来学习围棋策略。据报道,AlphaGo Zero在对阵AlphaGo时,取得了全胜的战绩。此外,不仅仅对于围棋,还可以将AlphaGo Zero算法应用于将棋和国际象棋[14],这类方法称为Alpha元(AlphaZero)。
如上所述,由于强化学习类似于大脑的学习机制,近年来结合深度学习和强化学习可以完成非常困难的任务,因此强化学习和深度强化学习得到了非常广泛的关注。