1.1 机器学习中的强化学习
当我们思考学习的本质时[1],我们可能首先想到通过与环境的互动来学习。学习是在一些已知的事实和对环境的一些认识的基础上推断某些未知事实的活动。如果学习的主体是人,那就称为人类的学习。除了人类,动物也会学习,与之对应的称为动物学习。同样地,除了这些生物,计算机中的程序也可以学习,被称为机器学习。
机器学习是计算机科学和统计学交叉的自然产物[2]。然而,它们有不同的目标:计算机科学强调如何手动编写计算机程序;机器学习强调如何让计算机自己编程,它关注于预测未来;统计学强调从数据中可以推断出什么结论,它侧重于了解过去。根据定义,机器学习试图回答这个问题:我们如何才能建立一个随着经验的增加而自动改进的计算机系统?什么是支配所有学习过程的基本法则[2]?更准确地说,机器学习是通过编程让计算机使用采样数据或过去的经验来优化性能标准。
机器学习中有三种主要的学习类型[3]。
(1)监督学习:目标是从给定训练数据中学习到从输入到输出映射。在监督学习中使用的训练数据是标记数据,例如,
{(x1, y1),(x2, y2),…(xn,yn)}
是输入数据,是监督者给定的标签,n是训练样本量。在原则上输出可以是任何形式,但是大多数方法假定 yi是来自有限集 y i∈{1,2,…,}C的表示分类类别的离散型变量或者实值标量。当 yi是分类数值时,这个问题就是分类问题。当 yi是实值时,问题就被称为回归[4]。监督学习在人脸检测和垃圾邮件过滤等多种应用中发挥着重要作用。
(2)无监督学习:目的是找到数据中隐藏的结构。训练数据以未标记数据的形式给出,例如,
{x1, x2,…, xn}
在无监督学习中,没有监督者,只有输入数据。此类问题也被称为知识发现。无监督学习与密度估计问题密切相关,就是说,我们想建立形式为 p(x)的模型[3]。非监督学习的重要例子是聚类和降维[4]。
(3)强化学习:它关注的是智能体应该如何在未知环境中采取行动,从而实现累积奖励最大化[5]。智能体不能事先知道要采取哪些行动,而是必须发现哪些行动能带来最大的累积奖励。对于智能体来说,奖励衡量什么是好的和坏的行动。强化学习已经成功地应用于各种问题,包括机器人控制、电梯调度、电信和经济[6]。
强化学习可以通过将问题与机器学习的其他研究领域进行对比来理解,强化学习大致被认为是介于监督学习和无监督学习之间的一种学习类型。在监督学习中,监督者在训练样本中提供正确的答案;在强化学习中,学习者不能像在监督学习中那样有明确的标准,但它确实有一个奖励信号,它直接连接到它的环境;在无监督学习中,给学习者的例子是无标记的,没有正确、错误或奖励信号来评估一个潜在的解决方案。奖励函数将强化学习与监督学习和无监督学习区分开来。
此外,强化学习本质上不同于监督学习。监督学习解决的问题没有交互式的成分。监督学习依赖于训练和测试样本作为独立同分布的随机变量。这些方法是建立在每个决定对未来的例子没有影响的假设下。另在监督学习场景中,正确的答案是在训练阶段提供给学习者的,所以没有含糊的行动选择。另一方面,强化学习中的智能体并没有被告知要采取的具体行动,相反,智能体通过交互学习发现其能获得最大回报的行动。由于状态的转变及行为的采取不仅会影响当前的奖励,还会影响下一个情境,因此所有后续的奖励都会影响到未来,智能体与环境之间的交互数据并非是独立同分布的。
机器学习和人工智能早就有着密切的联系[2],特别是人工智能与强化学习之间有更多的联系[5]。在人工智能中,智能体的关键问题是感知、搜索、计划、学习、行动和交流[7]。机器学习包括很多先进的数据分析方法,因此,它比人工智能中的特定学习更为普遍。如今,机器学习被认为是一个独立的研究领域,而不是单纯的人工智能的一个分支,人工智能中的学习更多指的是强化学习。另一方面,强化学习与最优控制有着密切的联系[8]。强化学习和最优控制皆在解决寻找最优策略的问题来优化一个目标函数,如累积奖励。然而,最优控制以模型的形式假定对环境有完全的了解[9]。强化学习通过扩展最优控制和函数估计的思想来解决更广泛和更雄心勃勃的目标,这也被称为自适应最优控制[10]。
强化学习描述的是智能体为实现任务而连续做出决策控制的过程,它不需要像监督学习那样给定先验知识,也无须专家给定准确参考标准,而是通过与环境交互来获得知识,自主地进行动作选择,最终找到一个当前状态下最优的动作选择策略(Policy),获得整个决策过程的最大累积奖励(Reward) (如图1-1所示)[5]。为了实现强化学习的目标,要求智能体能够对周围环境有所认知,理解当前所处状态,根据任务要求做出符合环境情境的决策动作。
图1-1 强化学习基本框架
从根本上说,智能体和环境构成了强化学习系统。更具体地说,强化学习系统有四个主要元素:策略、奖励函数、回报(或值函数),以及环境模型[6]。策略定义了智能体在给定时间内的行为方式,是强化学习智能体的核心。奖励函数定义了问题的目标,它将每个感知到的环境状态映射到一个具体的奖励数值。奖励函数指明瞬时动作的好坏,而回报函数(或值函数)则指明长远角度上策略的好坏。回报函数(或值函数)代表了作为一种状态或一种状态-动作对的未来期望累积奖励。回报是沿轨迹累积的奖励期望。智能体的目标是找到一个能使回报或值函数最大化的策略。强化学习系统的最后一个元素是环境模型,它描述了智能体通过当前的状态和动作来给出下一个状态,它被用来模仿环境行为。环境模型是可选的,基于此,强化学习可分为基于模型的强化学习方法和无模型的强化学习方法[11]。首先基于模型的强化学习方法明确地指出要对环境建模,然后基于环境模型学习策略。另一方面,无模型的强化学习方法是在不指明环境模型的情况下学习策略,根据与环境交互获得的样本直接学习策略。