强化学习导论(一)

时间:2024-03-15 07:59:22

第一章 介绍

当我们思考学习的本质时,第一个来到我们脑海中的想法便是通过与环境互动来学习。
[例] 当婴儿玩耍、舞动双臂或四处张望时,尽管不存在明确的“导师”,但确是与环境产生了直接的感观联结(译者注:人的行动与环境存在关联)。
通过这种联结不断实践(译者注:人的行动以及环境的反馈,根据反馈调整行动,即人与环境互动的过程)会产生大量的因果信息、行动及其产生的效果信息以及能够用来指导我们如何行动以达成特定目标的信息(译者注:获取信息,达到学习的目的)。在生活中,这种互动无疑是我们了解自身与自身所处环境的主要来源。
[例] 无论是学习如何驾驶一辆汽车还是与他人保持谈话,我们都敏锐的关注着环境对我们的行为作出了怎样的反应(译者注:环境的反馈,例如汽车对我们的操作如何反应或他人对我们所说的话如何反应),并且尝试通过行为来影响未来可能发生的事(译者注:如何根据反馈调整行动以达成特定目标,例如踩刹车减速避免汽车驶出道路或说赞美他人的话使之心情愉悦)。从互动中学习是几乎所有学习理论和智能理论的基础理念。

在本书中,我们探索一种从互动中学习知识的计算方法。其并非直接将人或动物如何学习的过程简单地理论化,而是主要探索理想化的学习情景和评估不同学习方法的效果。即,我们是从人工智能研发者和工程师的角度出发的。我们探索在科学或商业领域行之有效的机器设计,并通过数学分析或算例实验来评估这些设计。我们将这一正在探索中的学科称为强化学习,与其他机器学习方法相比,它更加关注基于互动的目标导向学习。

1.1 强化学习

强化学习问题与方法
试错搜索(trial-and-error search)和延迟奖励(delayed reward)是强化学习最重要的两个特点。(1)试错搜索 强化学习的目的是去学习怎样行动——怎样建立从特定情境到特定行动的映射——来获取最大利益。学习者不会被事先告知采取怎样的行动会产生最大利益,而是必须通过尝试去发现。(2)延迟奖励 在多数有趣且富有挑战的案例中,行动可能不仅会影响即时获得的奖励,同时也会影响下一个情景,或通过这样的过程波及所有后续奖励。
强化学习包括三个概念,既是一个问题,又是一类在某些特定问题上行之有效的解决方法,还是一个研究该问题和其解决方法的特殊领域(同其他以“ing”结尾的标题如机器学习(machine learning)和登山运动(mountaineering)类似)。尽管为了便利用一个名称来同时代表这三个概念,但从理念上理解它们之间的区别是必要的。特别是问题与其解决方法的区别,不理解它们会在学习中产生很多的困惑。
我们采用动态系统理论(dynamical systems theory)的观点来正式定义强化学习问题,特别地,将其视为一个不完全信息马尔可夫决策过程的最优控制问题。定义的全部细节只有等到第三章才能完全展开,但其基本理论是一个不断学习的智能体通过与环境的持续互动来实现其特定的目标。一个学习中的智能体必须能在一定程度上感知环境的状态,且能采取可以影响环境状态的行动,智能体必须有一个或多个与环境状态相关的目标。马尔可夫决策过程包括三个方面——感知,行动,目标——以它们最简单的可能形式且不忽略其中任何一个。任何适用于解决此类问题的方法都可以被归为强化学习方法。

强化学习与有监督/无监督的区别

  1. 强化学习与有监督学习(supervised learning)不同,其为目前机器学习领域最活跃的分支之一。有监督学习是从一个带标签样本组成的训练集中学习知识,该带标签的训练集是由知识丰富的“外部导师”所提供。训练集中每一个样本表示系统可能经历的某一特定情境及在该情境下应当采取的正确行动(标签),通常是描述某一情境应当被划归为哪一个分类(译者注:机器学习领域中经典的分类问题)。监督学习的目的是泛化该系统,使其在面临未出现在训练集中的情境时可以选择正确的行动。(译者注:有监督学习从有标记的训练数据中推导出预测函数。有标记的训练数据是指每个训练实例都包括输入和期望的输出。一句话:给定数据,预测标签。)
    这是一种重要的”学习“方法,但无法独自地来通过互动学习知识。此外,在互动问题中,同时获取到具有代表性的情境和其正确行动的样本是不现实的。在某些未知领域,我们期望能通过学习来获取最大利益,因此智能体必须具有从自身经验中学习的能力。
  2. 强化学习也与无监督学习(Unsupervised Learning)不同,其研究内容是在无标签数据集合中发现隐藏的数据结构。(译者注:它从无标记的训练数据中推断结论。最典型的无监督学习就是聚类分析,它可以在探索性数据分析阶段用于发现隐藏的模式或者对数据进行分组。一句话:给定数据,寻找隐藏的结构。)

有监督学习和无监督学习这样的用语似乎已经将机器学习的研究范畴分割完毕,但它们并没有。尽管有人可能会认为强化学习是一种无监督学习,因为它不依赖正确的行为样本,但强化学习尝试最大化利益而不是尝试寻找隐藏结构。了解智能体经验数据的结构自然有利于强化学习,但它同样无法单独地解决以最大化利益为目标的强化学习问题。(译者注:它关注的是代理如何在一个环境中采取行动以便最大化某种累积的回报。一句话:给定数据,学习如何选择一系列行动,以最大化长期收益。)因此,我们认为强化学习是机器学习的第三个范畴,与有监督学习、无监督学习或其他可能存在的范畴并列。
强化学习导论(一)

强化学习一些独特的研究范畴

  1. 仅出现在强化学习中而未见于其他机器学习范畴的一个挑战是在探索与利用之间进行权衡。(1)利用 为了获得高额的利益,强化学习智能体必须偏向某些在过去采用过并被发现可以有效产生利益的行动。(2)探索 但为了发现这些行动,它必须去尝试大量未被选择过的行动。智能体为了获利必须利用某些已经历过的行动,但为了在将来做出更好的行动选择,它必须探索未经历的行动。
    探索-利用困境在于单独地进行探索或利用均会导致任务失败,智能体必须大量尝试并逐步偏向那些表现最佳的行动。在随机任务中,每个行动都必须被尝试多次才能获得一个关于其期望值的可靠估计。这已被数学家们集中研究了数十年,但仍未被解决。目前,我们认为完全的探索与利用的平衡问题并未出现在监督学习与无监督学习中,至少在它们最纯粹的形式中没有。
  2. 另一个强化学习的关键特征是它明确地考虑一个完整的关于目标导向的智能体与不确定环境互动的问题。这与许多只考虑子问题而不关心子问题如何适应全局的方法完全相反。例如,我们已提到了许多机器学习的研究都是关于有监督学习的,但是没有明确说明这种能力最终如何产生作用(译者注:不是目标导向的,不知道最终如何作用)。其他研究者虽然提出了一些根据广义目标制定计划的理论,却未曾考虑计划在实时决策中扮演的角色或对于计划是必需的预测模型从何而来(译者

:强化学习会根据环境的反馈,实时决策,而有监督无法根据即时情况改变计划)。尽管这些方法已经产生了许多有用的结果,但它们聚焦于孤立的子问题是很大的限制。
强化学习完全从相反的路线出发,起始于一个完整的,互动的,目标导向的智能体。所有智能体有明确目标,能够感知环境的各个方面,并且能选择行动来改变环境。此外,除了面对高度不确定的环境时,通常设定智能体从一开始就必须采取行动。当涉及到计划(规划)时,强化学习方法必须解决计划与实时的行动选择之间的协调,以及环境模型如何被获取与改进的问题。当强化学习涉及到有监督学习时,通常用它来确定哪些能力是关键的而哪些能力不是。为使学习研究继续下去,重要的子问题必须被剥离出来单独研究,但它们应在完整的,互动的,目标导向的智能体中扮演清晰的角色,即使智能体的所有细节还未可尽知。
我们并不总是认为一个完整的,互动的,目标导向的智能体意味着一个完全的有机体或机器人。在许多案例中,智能体只是大型行为系统的一部分。在这种情况下,智能体直接同大系统的其余部分互动并间接同大系统的周围环境互动。一个简单的例子是智能体监控机器人的剩余电量并向机器人的控制结构传达指令。其环境是除它以外的机器人结构与机器人外部的环境。理解智能体及其外部环境的区别才能领会强化学习框架的广义性。

强化学习学科的重要意义

  1. 现代强化学习最振奋人心的一个方面,是它同其他工程运用领域与科学领域丰富的交融。近年来,人工智能与机器学习发展的大潮流是加深与统计学,优化理论和其他数学学科的融合,强化学习是其中的一份子。
    例如,一些强化学习方法具有通过参数近似来学习的能力,解决了运筹学和控制论中经典的“维数灾难”问题。更加独特的是,强化学习同心理学和神经科学亦有大量的交融之处,并产生了许多可喜的成果。在机器学习所有范畴中,强化学习是一种最接近人和动物学习方式的方法,其许多核心观点都受到了生物学习系统的启发。强化学习同样通过一些与经验数据匹配度更高的学习心理模型和富有影响力的关于大脑部分激励系统的模型对心理学和神经科学有所回报。本书主体部分阐述强化学习属于工程学与人工智能范畴的观点,同心理学与神经科学相关的部分总结在第14章和第15章。
  2. 最后,强化学习也是人工智能回归至简单通用性原则之浪潮的一部分。在1960年代晚期,许多人工智能学者推测已经不存在任何未被发现的通用性规则,自此,智能领域逐渐被大量为特殊任务设计的技巧,过程和启发式所占领。在那个时代,似乎只要将足够多的样本喂给机器,比如一百万或一亿,就能抵达智能的彼岸。构建在诸如搜索或学习等通用性原则之上的方法被认为是“弱方法”,而那些基于特定领域知识的方法被称为“强方法”。这个观点在今日依然流行,但已不再占主导地位。
    在我们看来,这个观点似乎来得为时过早:还未有多少精力被投入对通用性规则的研究,又怎能轻易下其不存在的结论?现代强化学习包含了大量寻找学习、搜索和决策等通用性规则的研究,同时包容并蓄地尝试容纳大量的领域知识。尽管钟锤回摆的程度还不确定,但强化学习研究确是人工智能回归更简洁、更通用规则的确定回摆。

1.2 示例

思考一些具有引导性的示例与应用是理解强化学习的好方法。

  1. 一位国际象棋玩家选择走子的位置。这种选择同时具备计划性——预测走子可能产生的后果与对手的反应——和对某些偏爱的特定位置直接、感性的判断。
  2. 一个自适应控制调节器实时调整石油精炼厂运转的参数。控制器在既定的边际成本基础上优化产量/成本/质量指标的平衡,而不是严格遵守工程师最初建议的参数值。
  3. 一只瞪羚在出生几分钟后开始挣扎着四肢试图站立。在一个半小时后,它就能以20英里/小时的速度奔跑。
  4. 一个机器人决定是否前往一个新房间去搜集更多的垃圾或是返程充电。这取决于它当前的电量水平与寻找之前充电点的时间与难易程度。
  5. 菲尔准备他的早餐。请注意,即使如此寻常的活动依然具有一个由传统行为和具有连锁效应的目标—子目标关系组成的复杂网络:走向碗橱,打开它,选择一个谷盒,然后取出,抓取谷物,将谷盒放回。其他复杂、协同且具有互动性的行为序列有:取一个碗,勺子和奶罐。每一步均涉及一个视线移动序列以获取信息并指引自身移动和定位。如何获取目标物品或决定获取它们的先后顺序都需要连续的快速判断。每一步行动都由特定目标指导,例如获取一个勺子或前往冰箱,同时又为其他目标服务,例如一旦谷物准备完毕就拿起勺子开始进食并最终达到饱腹。无论菲尔是否注意到,他都始终在不断关注并获取他的身体状态信息,其决定了他所必需摄入营养成分,饥饿的程度和食物的偏好。

这些示例都具有某些过于基本以致于极易被忽视的特征。

  1. 它们都涉及一个具备决策能力的智能体和它所处的外部环境之间的互动,在互动中智能体尝试去实现某个目标,即使环境具有不确定性。智能体的行动可以影响环境的未来状态(例如,国际象棋中下一步走子的位置,精炼厂储液器的剩余量,机器人下一个定位和移动后所剩余的电量),继而影响到智能体未来可以做出的选择,因此可能需要长远的规划。
  2. 同时,在所有这些示例中,行动的效果不可能被完全预测到,因此智能体必须随时监控环境的变化并采取恰当的应对。
    例如,菲尔必须盯着他正倒入盛着谷物的碗中的牛奶以免其溢出。所有示例涉及的目标在某种程度上是清晰的,因此智能体能够基于直接的感知来判断目标达成的进展。国际象棋玩家了解他是否获得了胜利,精炼厂了解目前产出了多少石油,瞪羚知道它摔倒了,机器人会记录自身的剩余电量,菲尔也清楚他是否享受自己制作的早餐。
  3. 在所有这些示例中,智能体可以随着时间的推进通过它的经历来改进其表现。国际象棋玩家改进其评价走子效果的直觉以提升棋力;瞪羚改进自身动作以实现成功奔跑;菲尔尝试重新组织准备早餐的过程。在任务开始时由智能体带入任务的先验知识——无论是先前在相关任务已取得的经验还是通过设计嵌入到任务中——会影响到关于对哪些知识是有用的或易被学习到的判断,但与环境交互的这一特点对调整行为以利用任务的特定特征是必不可少的。

1.3 强化学习的组成要素

除了智能体与环境,可以确定强化学习系统的四个主要要素:策略,奖励信号,价值函数以及(可选的)环境模型。

  1. 策略规定了智能体在一段给定时间内的行为方式。粗略来讲,策略是从感知获取的环境状态到在这些状态下应该采取的行动的映射。这与心理学中所谓的刺激—反应规则相似。在某些案例中策略可以是一个简单的函数或可供查询的表格,在其他案例中可能会涉及大量计算,例如一个搜索过程。策略是一个强化学习智能体的核心,在某种意义上,它独自就可以决定如何行动。一般而言,策略可能是随机的。
  2. 奖励信号定义了强化学习的目标。在每一个时间步骤,环境会向强化学习智能体传输一个数字信号,该信号被称为奖励。智能体的唯一目标是最大化长期获得的总奖励。奖励信号为智能体定义了哪些事件是好的,哪些是坏的。在生物系统中,我们可以把奖励信号看作为或喜悦或痛苦的感受。它们是智能体所面临问题的直接且明确的特征。奖励信号是改变策略的主要基础;如果根据策略所选的某个行动获得了低收益,那么策略可能会变更未来在该状态下的行动选择。一般而言,奖励信号可能是关于环境状态与在该状态下所选行动的随机函数。
  3. 价值函数确定了长期意义下特定行动或策略的优劣,而奖励信号在实时的层面上评价特定行动或策略的优劣。粗略来讲,某个状态的价值是从该状态开始,在未来一段时间内所有奖励累计和的期望值。奖励决定了环境状态的实时、固有的优劣程度,而价值考虑了某一状态可能的后续状态及在这些状态下可获得的奖励,意味着从长期角度考虑此状态的优劣程度。例如,一个状态可能总是产生较低的即时奖励但仍然具有很高价值,因为在其之后总是跟随能产生高即时奖励的状态,反之亦然。打个人类的比方,奖励多少有点像快乐(如果高的话)或痛苦(如果低的话),而价值则对应于一种更精细、更有远见的判断:当我们的环境处于某一特定状态时,我们会多高兴或多不高兴。
    从某种意义上说,奖励是主要的,而价值作为奖励的预测是次要的。没有奖励即没有价值,而且估计价值的目的在于获取更多的奖励。尽管如此,当我们在决策或评估决策时,价值是我们最关心的。行动选择基于价值判断。我们总是寻求那些能够带来最高价值而不是最高奖励的行动,因为最高价值的行动可以从长远角度为我们带来最高的奖励。不幸的是,确定价值远比确定奖励困难。奖励基本可以由环境直接给定,但是价值必须根据一个智能体在其整个生命周期中所做的一系列观察来反复评估。实际上,我们认为对于所有强化学习算法而言,最重要的部分是一个能有效地估计价值的方法。价值估计的核心作用可以说是过去60年来我们在强化学习中所学到的最重要的东西。
  4. 环境模型对于一些强化学习系统而言,是第四个也是最后一个要素。它用来模仿环境的行为,或者更一般地,让智能体能够推断环境根据其行动将会如何变化。例如,给定状态和行动,模型可以预测其导致的下一个状态和相应产生的奖励。模型被用于制定计划,通过计划我们可以在某些可能的情境还未发生之前就决定相应的行动。采用计划制定与环境模型来解决强化学习问题的方法被称为有模型的方法(model-based);反之被称为免模型方法(model-free),其属于完全的试错学习器,几乎被认为是计划制定的对立面。在第8章我们探索一种强化学习系统,它既通过试错来学习,又学习环境模型并用其来制定计划。现代强化学习的研究范围从低级的、反复试错式的学习逐渐拓展至高级的、深思熟虑的计划。

1.4 限制和适用范围

强化学习严重依赖状态的概念——作为策略与价值函数的输入和模型的输入与输出。非正式地,我们可以将状态视为一个传递给智能体的信号,该信号包含了在特定时间“环境是怎样的”的信息。我们所使用的关于状态的正式定义在第三章由马尔科夫决策过程框架给出。然而更一般地,我们鼓励读者了解非正式的定义并将状态视为智能体可获得的任何关于环境的信息。实际上,我们假设状态信号是由某种名义上是环境一部分的预处理系统给定的。我们在本书中不讨论如何构建、改变和学习状态信号(但在第17.3章节有简短的介绍)。我们这样做并非是因为我们认为状态表示不重要,而是为了将内容聚焦在决策问题上。换言之,我们的主要精力并没有放在设计状态信号上,而是在状态信号已知时决定采取何种行动。

本书中介绍的大部分强化学习方法都围绕着估计价值函数来建立,但这并不是解决强化学习问题的唯一方法。例如,一些诸如遗传算法,模拟退火和其他优化算法的解决方法不需要估计价值函数。此类算法同时在一段相当长的计算时间内(译者注:例如规定算法最大迭代次数,在实验中数值可以随意设置)考虑多个独立且完整的策略(译者注:例如遗传算法中的种群,种群内每一个染色体相当于一个独立的完整策略)同一个环境的实例进行交互。获得带有随机波动的最高奖励的策略被传入下一代策略集合,以此往复。我们将此类算法称为进化方法,因为它们的运作类似于生物熟练地进化繁衍出其他生物体的方式,即使在其生命周期内没有学习如何去进化和繁衍。假如策略空间足够小或者是好策略很容易被设计出来的理想情况,又或者有大量的时间可以用来搜索,那么进化算法是有效地。此外,进化算法在那些智能体无法完全感知环境状态的问题中具有优势。

我们主要聚焦于通过与环境互动来学习的强化学习方法,而进化算法则不具备此特点。在许多案例中,能够利用个体行为互动细节的方法比进化方法更加有效。进化方法忽略了许多强化学习问题中有用的结构:它们没有考虑到其搜寻的策略是一个从状态到行动的映射;也未考虑到一个个体在其生命周期内经历了哪些状态或选择了哪些行动。尽管在某些情况下这些信息可能会产生误导(例如,状态信息被误判时),但在大多情况下,它们使得搜索更加高效。虽然进化和学习有许多共同的特点,并且可以自然地协同工作,但我们不认为进化方法本身特别适合于强化学习问题,因此,我们不在本书中讨论它们。

1.5 一个拓展示例:井字棋

为了例证强化学习的一般观点并将其与其他方法比较,我们更加详细的考虑一个示例。
回想一下我们所熟悉的儿童游戏——井字棋。两个玩家轮流在3 × 3的棋盘上落子, 一个玩家使用X型棋子而另一个玩家使用O型棋子,直到某位玩家有三枚棋子在水平、垂直或对角线方向(如下图所示)连成一行,则判定其获胜。如果在此之前棋盘已被棋子占满,则判定为平局。
因为一名经验丰富的玩家可以使自己永远不会输,所以让我们假设在同一名技术并不完美的对手对弈,因而他可能会下错使我们获胜。让我们暂时假定平局与输棋一样糟糕。我们应当怎样构建一个下棋程序来找到对手的缺陷并最大化自身获胜的概率呢?

若干求解方法

  1. 尽管这是一个简单的问题,但是运用传统的技术无法使其得到圆满的解决。例如,博弈论中的经典的 “极小化极大”方法在此是不适用的,因为它假设对手有一个固定的走子方式。比如说,一个极小极大下棋程序绝不会使棋局走向一个可能会导致其失败的状态,即便多数情况下由于对手不完美的走子方式可以从这些状态出发获取胜利。
  2. 用于求解序列决策问题的经典优化方法如动态规划可以求得针对任意对手的最优解,但需要关于对手的完整信息——包括在棋盘的每一个状态中对手下任意一步棋的概率——作为输入。让我们假设这些信息并非先验的,如实际中的多数问题一样。另一方面,这些信息可以通过经验估计来获取,在此例中是通过与对手对弈获得。关于此问题的最好解决方法是先学习得到有一定置信度的对手行为估计模型, 然后基于给定的对手模型应用动态规划来计算最优解。最终,这种方法和我们之后在本书中探讨的一些强化学习方法并没有什么区别。
  3. 假如运用进化方法来求解此问题,它会直接搜索策略空间来获取一个具有高概率战胜对手的策略。在此,策略是一种规则,它指导玩家在任一游戏状态(在3X3棋盘上任一可能的X型棋子与O型棋子的配置)应当如何走子。对于任一被纳入考虑的策略,其获胜概率可以通过与对手对弈数局来估计。然后这些估计值再用来指导下一次迭代应当考虑哪些策略。一个典型的进化算法能在策略空间中爬山(hill-climb),持续产生并评估策略以获得增量式的改进。或者也可以使用维护并评估一整个策略种群的类遗传算法来解决该问题。理论上有数百个优化方法可以运用于此。
  4. 接下来介绍利用价值函数来解决井字棋问题的方法。首先我们建立一个数值表格,每一个单元格代表了游戏中每一个可能达到的状态。表格中的数值就是从每一个状态出发可能获胜的概率的最新估计,我们将其称之为状态的价值,而整张表格则是通过学习获得的价值函数。如果当前, 从状态A出发获胜概率的估计值比状态B高,那么我们称状态A的价值高于状态B,或者说状态A比状态B更“好”。假设我们一直执X,那么当达到所有有三枚X 型棋子连成一行的状态时,获胜的概率为1,因为我们已经赢了。类似的, 对于所有有三枚O型棋子连成一行的状态或平局时,其获胜概率为0,因为我们不可能获胜了。对于其他状态,我们将其初始值设为0.5,表示我们猜测从这些状态出发有50%的概率获胜。
    然后我们与对手对弈了数局,为了选择走子的位置,我们需要检查所有走子之后可能到达的状态(考虑当前棋盘上每一个空白的位置)并在数值表格中查询它们目前的价值。大多数时间我们采用贪婪式走子,即选择能够在走子之后到达具有最高价值(获胜概率最大)的状态的位置。偶尔我们也随机的选择下一步走子的位置,我们将其称之为探索式走子,它们能让我们探索过去从未经历过的状态。游戏中一系列的考虑与行动可以表示为图1.1。
    强化学习导论(一)
    图 1.1: 一个井字棋走子序列。实线表示游戏中实际走子;虚线表示我们 (我们的强化学习程序)考虑但没有采用的走子。我们下的第二步棋是探索式走子,这意味着尽管另一个同代节点 e∗的估计值更高,但我们仍然随机选取了节点e。探索式走子本身不能产生新的知识学习;但其他的步数可以,这形成了如图中红色曲线箭头所示的更新,估计值从树的子辈结点流向父辈结点,关于这一过程的细节在下文中叙述。

当我们在下棋时, 我们需要更改经历过的状态的价值来实现对胜率更为准确的估计。为了做到这一点,我们将贪婪式走子后到达状态的价值“回传”给走子之前的状态,如图 1.1 所示。更确切地说,早先状态的当前价值更新后向后续状态的价值靠拢。这可以通过将后续状态的价值的一部分赋予早先状态的价值来实现。 令S表示贪婪式走子前的状态,用 S’ 表示贪婪式走子后的状态, 那么对S的价值估计——记作 V (S)——的更新可以写作:
V (S) = V (S) + α [ V (S’) - V (S) ]
其中 α 是一个很小的正分数,被称为步长参数,能影响学习的速率(译者注:同经典的梯度下降算法中的步长参数功能类似)。上述更新规则是时序差分学习方法的一个示例,其之所以被命名为时序差分是因为更新基于 [ V (S’) - V (S) ] 这两个不同时刻的连续状态的估计价值之差。
上述方法在这个问题上有良好的表现。例如,如果步长参数能随时间以合适的速率衰减,那么对于任何给定的对手, 任意状态的估计值都能收敛到从该状态出发使用最优策略而最终获胜的真实概率。更进一步说,收敛后所下的每一步 (除去探索式走子) 事实上都是针对这一 (非完美) 对手的最优下法。换言之, 此方法最终收敛为针对这一对手的最优策略。如果步长参数不随时间衰减至 0,下棋程序也能很好地应对缓慢地改变策略的对手(译者注,始终在一定的程度上持续地学习,学习的速度取决于步长参数衰减后最终的值)。

进化方法与值函数方法的比较
这个示例阐明了进化方法与使用值函数的方法之间的区别。为了评估一个策略, 进化方法将该策略固定,多次同对手对弈或使用对手的模型模拟对弈,获胜的频率给出了使用该策略获胜概率的无偏估计,然后被用来指导下一步的策略选择。但是,策略改进必须要经过数局游戏,并且只有每局游戏的最终结果被利用了——发生在游戏过程中的一切都被忽略。例如,如果程序获胜了,那么这局游戏中的所有行为都会被赋予一定的积分,而没有考虑某些行为对获胜而言有多么重要。积分甚至会被给予从未出现过的走子行为。而使用价值函数的方法则与之相反,它允许对各个状态进行单独评估。从结果上而言,进化方法与值函数方法都是在策略空间中进行搜索,但学习一个价值函数可以利用游戏过程中的所有信息。
这个简单的示例说明了强化学习方法的一些关键特征。首先,强调从与环境的互动中学习,在本例中是通过同对手对弈来学习。其次,有明确的目标,且正确的动作选择要求制定长远的计划,即将行动选择的延迟效果考虑在内。例如,简单的强化学习程序可能会学会使用多步陷阱来针对目光短浅的对手。这是强化学习方法的一个显著特征:不需要一个模拟对手行动的模型,也不需要对未来可能的动作、状态序列进行显式搜索,就可以达到计划与预见的目的。

强化学习更广泛的应用
虽然在此例证了强化学习的一些基本特征,但它实在太简单以致于可能会给人留下强化学习的应用十分有限的印象。除了井字棋这样的双人游戏外,强化学习同样适用于没有外部敌人的情形,即 “与自然斗争的游戏”。强化学习同样不局限于那些可将行为分解为独立片段的问题,例如奖励只能在每个片段(棋局)结束之后结算的井字棋游戏。其亦可应用于行为无限持续且在任意时间节点都会收到不同奖励信号的问题。与在井字棋游戏中的运用不同,强化学习甚至可以用于无法划分为离散步骤的问题。强化学习的通用规则同样适用于连续时间问题,但涉及理论更加复杂,因此不在本书中讨论。
井字棋游戏具有相对较小的有限的状态集,而强化学习可以用于解决状态集极大甚至无穷大的问题。例如,Gerry Tesauro (1992,1995)将上述算法与一个人工神经网络结合来求解西洋双陆棋问题,其大概有1020个状态。因为状态太多我们甚至无法在一定时间内经历其中的一小部分。Tesauro的西洋双陆棋学习程序的表现远超之前的其他程序,现在已经达到了世界顶尖人类棋手的水平(见第16章)。神经网络为程序提供了从经验中泛化的能力,因此在到达一个从未经历的新状态时,神经网络会参考曾经遇到相似状态时储存的决策信息来选择行动。强化学习系统在具有如此大的状态集的问题上的表现同它是否能够很好地根据过去经验进行泛化有紧密的联系。在这个问题中,我们非常需要监督学习和强化学习的结合。但神经网络和深度学习却并非唯一与最佳的处理方式(见第9.7小节)。
井字棋游戏中,在学习开始时没有除游戏规则外的任何先验知识,但强化学习并不一定要从空白开始。恰恰相反,先验知识可以以多种方式集成到强化学习中,且有时这对高效的学习而言是有重要意义的。此外,在井字棋游戏中我们可以获取到真实的状态信息,但强化学习也可以应用于部分状态被隐藏的情形,或者对学习器而言不同的状态看上去相同的情形。
最后, 井字棋程序能够预见未来并了解其所有可能的走子所导致的状态。为了做到这一点,强化学习程序需要一个游戏的模型,其能预见环境对程序尚未走的那一步的可能反应。许多问题都与此类似, 但在有些问题中甚至连在短期内预测动作结果的模型也无法得到。强化学习在这两种情况下都适用。模型并不是必须的,但如果有现成的模型或模型可以学得,那么这些模型可以被相应的强化学习方法轻而易举地使用(第8章)。
另一方面,这里也存在不需要任何环境模型的强化学习方法。免模型系统甚至不用预测环境对单个动作的反应。井字棋程序从某种意义上说是免模型的:因其没有任何关于对手的模型。因为模型必须要足够准确才能派上用场,所以在面对瓶颈在于难以构建足够准确的环境模型的问题时, 免模型方法比其他更复杂的方法有优势。免模型方法也可以被整合进有模型方法作为其中的一部分。本书中,我们先用数章讨论免模型方法, 然后再讨论其怎样作为组件嵌入到更复杂的有模型方法中。
强化学习方法既可以用于系统顶层, 也可以用于系统底层。虽然在井字棋程序仅学会了游戏的基本下法, 但这不妨碍将强化学习用于更高的层次,其中可能每一个“行动” 本身就是一个复杂的问题解决方法。在分层学习系统中,强化学习可以同时服务于多个层级。

总结

强化学习是一种具备理解能力的和自动化的目标导向学习与决策的计算方法。因为其强调在不依赖“外部导师”或完整的环境模型条件下通过与周围环境直接交互来学习,强化学习同其他计算方法有明显区别。在我们看来,强化学习是第一个真正解决通过与环境交互中学习以达成长期目标时出现的计算问题的科学领域。
强化学习使用正式的马尔科夫决策过程框架中的三个要素——状态,行动和奖励来定义智能体与其周围环境的互动。该框架通过一种简单的方式表达了人工智能问题中有代表性的关键特征。这些特征包括因与果,不确定性和明确目标的存在。
价值与价值函数是本书中大多数强化学习方法的核心概念。我们认为价值函数对于策略空间中的高效搜索非常重要。价值函数的运用将强化学习方法与进化方法区别开来,后者根据对完整的策略的评估来引导在策略空间中的直接搜索。