收藏 分享(赏)

TOM的机器学习方法 ml-chap13.doc

上传人:myw993772 文档编号:7059661 上传时间:2019-05-04 格式:DOC 页数:18 大小:238.50KB
下载 相关 举报
TOM的机器学习方法 ml-chap13.doc_第1页
第1页 / 共18页
TOM的机器学习方法 ml-chap13.doc_第2页
第2页 / 共18页
TOM的机器学习方法 ml-chap13.doc_第3页
第3页 / 共18页
TOM的机器学习方法 ml-chap13.doc_第4页
第4页 / 共18页
TOM的机器学习方法 ml-chap13.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、第 13 章 增强学习增强学习要解决的是这样的问题:一个能够感知环境的自治 agent,怎样学习选择能达到其目标的最优动作。这个很具有普遍性的问题应用于学习控制移动机器人、在工厂中学习进行最优操作工序、以及学习棋类对弈等。当 agent 在其环境中作出每个动作时,施教者会提供奖赏或惩罚信息,以表示结果状态的正确与否。例如,在训练 agent 进行棋类对弈时,施教者可在游戏胜利时给出正回报,而在游戏失败时给出负回报,其他时候为零回报。Agent 的任务就是从这个非直接的、有延迟的回报中学习,以便后续的动作产生最大的累积回报。本章着重介绍一个称为 Q 学习的算法,它可从有延迟的回报中获取最优控制策

2、略,即使 agent 没有有关其动作会对环境产生怎样的效果的先验知识。增强学习与动态规划(dynamic programming)算法有关,后者常被用于解决最优化问题。13.1 介绍考虑建造一个可学习机器人。该机器人(或 agent)有一些传感器可以观察其环境的状态(state)并能做出一组动作(action)已改变这些状态。例如,移动机器人具有镜头和声纳等传感器,并可以做出“直走”和“转弯”等动作。学习的任务是获得一个控制策略(policy),以选择能达到目的的行为。例如,此机器人的任务是在其电池电量转低时找到充电器进行充电。本章关心的就是:这样的 agent 怎样在其环境中做实验并成功地学

3、习到控制策略。这里假定 agent 的目标可被定义为一个回报(reward )函数,它对 agent 从不同的状态中选取不同的动作赋予一个数字值,即立即清算(immediate payoff)。例如:寻找电池充电器的目标可用这样的回报函数指定:对那些能够连接到充电器的状态-动作转换赋予正回报(如+100),对其他的状态动作转换赋予 0 回报。这个回报函数可内嵌在机器人中;或者只有一个外部施教者知道,由它对机器人的每个动作给出回报值。机器人的任务是执行一系列动作,观察其后果,再学习控制策略。我们希望的控制策略是能够从任何初始状态选择恰当的动作,使 agent 随时间的累积的回报达到最大。这个机器

4、人学习问题的一般框架在图 13-1 中概要列出。插图 原书页码: 368Agent: AgentState: 状态Reward: 回报Action: 动作Environment: 环境Goal:Learn to choose actions that maximize: 目标:学习选择动作使下式最大化where: 其中图 13-1 一个与环境交互的 agent此 agent 生存的环境被描述为某可能的状态集合 S。它可执行任意的可能动作集合 A。每次在某状态 st下执行一动作 at,此 agent 会收到一个实值回报 rt,它表示此状态-动作转换的立即值。如此产生了一系列的状态 si,动作 a

5、i和立即回报 ri的集合,如图所示。Agent 的任务是学习一个控制策略 :SA ,它使这些回报的和的期望值最大化,其中后面的汇报值随着他们的延迟指数减小。图 13-1 中可清楚地看到,学习控制策略以使累积回报最大化这个问题非常普遍,它覆盖了机器人学习任务以外的许多问题。一般地,此问题是一个通过学习来控制序列过程的问题。例如生产优化问题,其中要选择一系列的生产动作,而使生产出的货物减去其成本达到最大化。再如一些序列调度问题,像在一个大城市中选择出租车运载乘客,其中回报函数为乘客等待的时间和出租车队的整体油耗。一般来说,我们感兴趣的问题类型是:一个 agent 需要通过学习和选择动作来改变环境状

6、态,而其中使用了一个累积回报函数来定义任意动作序列的质量。在此类问题中。我们考虑几种特殊的框架:包括动作是否具有确定性的输出;agent 是否有其动作对环境的效果的先验知识。在本书前面,我们已经接触到了通过学习来控制序列过程的问题。在第 11.4 节中。我们讨论了用基于解释的方法学习规则,以控制问题解决中的搜索。在其中 agent 的目的是在搜索其目标状态时的每一步从可选动作中做出抉择。本章讨论的技术不同于 11.4 节,因为这里考虑的问题中行为可能有非确定性的输出,而且学习器缺少描述其行为输出的领域理论。在第 1章,我们讨论了在西洋双陆棋对弈中的学习问题。其中概述的学习方法非常类似于本章的学

7、习方法。实际上本章的增强学习算法的一个最成功的应用就是类似的博弈问题。Tesauro (1995)描述的 TD-Gammon 程序,它使用增强学习成为了世界级的西洋双陆棋选手。这个程序经过了 150 万个自生成的对弈训练后,已近似达到了人类最好选手的水平,并且在国际西洋双陆棋联赛中与顶尖棋手对弈取得了良好的成绩。学习控制策略以选择动作的问题在某种程度上类似于其他章讨论过的函数逼近问题。这里待学习的目标函数为控制策略 :SA 。它在给定当前状态 S 集合中的 s 时,从集合 A 中输出一个合适的动作 a。然而,增强学习问题与其他的函数逼近问题有几个重要不同: 延迟回报(delayed rewar

8、d)。 Agent 的任务是学习一个目标函数 。它把当前状态 s 映射到最优动作 a= (s)。在前面章节中,我们总是假定在学习 这样的目标函数时,每个训练样例是序偶的形式。然而在增强学习中,训练信息不能以这种形式得到。相反,施教者只在 agent 执行其序列动作时提供一个序列立即回报值,因此 agent 面临一个时间信用分配(temporal credit assignment )的问题:确定最终回报的生成应归功于其序列中哪一个动作。 探索(exploration )。在增强学习中,agent 通过其选择的动作序列影响训练样例的分布。这产生了一个问题:哪种实验策略可产生最有效的学习。学习器面

9、临的是一个折中的问题:是选择探索未知的状态和动作(以收集新信息),还是选择它已经学习过、会产生高回报的状态和动作(以使累积回报最大化)。 部分可观察状态(partially observable states)。虽然为了方便起见,可以假定 agent传感器在每一步可感知到环境的全部状态,但在实际的情况下传感器只能提供部分信息。例如:带有前向镜头的机器人不能看到它后面的情况。在此情况下可能需要结合考虑其以前的观察以及当前的传感器数据以选择动作,而最佳的策略有可能是选择特定的动作以改进环境可观察性。 长期学习(life-long learning)。不象分离的函数逼近任务,机器人学习问题经常要求此

10、机器人在相同的环境下使用相同的传感器学习多个相关任务。怎样在窄小的走廊中行走,以及怎样从激光打印机中取得打印纸等。这使得有可能使用先前获得的经验或知识在学习新任务时减小样本复杂度。13.2 学习任务在本节中,我们把学习序列控制策略的问题更精确地形式化。有许多种方法可以做到。例如:可假定 agent 的行为是确定性或非确定性的;假定 agent 可以预测每一个行为所产生的状态,或不能预测;假定 agent 是由外部专家通过示例最优动作序列来训练,或必须通过执行自己选择的动作来训练。这里我们基于马尔可夫决策过程定义该问题的一般形式。这种问题形式遵循图 13-1 示例的问题。在马尔可夫决策过程(Ma

11、rkov decision process,MDP)中,agent 可感知到其环境的不同状态集合 S,并且有它可执行的动作集合 A。在每个离散时间步 t,agent 感知到当前状态 st ,选择当前动作 at 并执行它。环境响应此 agent,给出回报 rt=r(st, at),并产生一个后继状态St+1= (st, at)。这里函数 和 r 是环境的一部分,agent 不必知道。在 MDP 中,函数 (st, at)和 r(st, at)只依赖于当前状态和动作,而不依赖于以前的状态和动作。本章中我们只考虑 S 和A 为有限的情形。一般来说, 和 r 可为非确定性函数,但我们首先从确定性的情形

12、开始。Agent 的任务是学习一个策略 :SA,以基于当前观察到的状态 st选择下的一步动作at;即 (st)=at。如何精确指定此 agent 要学习的策略 呢?一个明显的方法是要求此策略对机器人产生最大的积累回报。为精确地表述这个要求,我们定义:通过遵循一个任意策略 从任意初始状态 st获得的累积值 V (st)为: .21tttt rr(13.1)0iit其中回报序列 rt+i的生成是通过由状态 st开始并重复使用策略 来选择上述的动作(如at= (st),a t+1= (st+1)等)。这里 0 形式的训练样例。作为替代,惟一可用的训练信息是立即回报程序列 r(si,ai),i=0,1

13、,2. 。如我们将看到的,给定了这种类型的训练信息,更容易的是学习一个定义在状态和动作上的数值评估函数,然后以此评估函数的形式实现最优策略。Agent 应尝试学习什么样的评估函数?很明显的一个选择是 V*。只要当 V*(s1)V*(s2)时,agent 认为状态 s1 优于 s2,因为从 s1 中可得到较大的立即回报。当然 agent 的策略要选择的是动作而非状态。然而在合适的设定中使用 V*也可选择动作。在状态 s 下的最优动作是使立即回报 r(s,a)加上立即后继状态的 V*值(被 折算)最大化的动作 a。(13.3)),(),(maxrg)(* sss(回忆 (s,a)代表应用动作 a

14、到状态 s 的结果状态)。因此, agent 可通过学习 V*获得最优策略的条件是:它具有立即回报函数 r 和状态转换函数 的完美知识。当 agent 得知了外界环境用来响应动作的函数 r 和 的完美知识,它就可用式 13.3 来计算任意状态下的最优动作。不幸的是,只在 agent 具有 r 和 完美知识时,学习 V*才是学习最优策略的有效方法。这要求它能完美预测任意状态转换的立即结果(即立即回报和立即后续)。在许多实际的问题中,比如机器人控制,agent 以及它的程序设计者都不可能预先知道应用任意动作到任意状态的确切输出。例如,对于一个用手臂铲土的机器人,当结果状态包含土块的状态时,如何描述

15、 函数?因此当 或 r 都未知时,学习 V*是无助于选择最优动作的,因为 agent 不能用式13-3 进行评估。在更一般的选择中,agent 应使用什么样的评估函数呢?下一节定义的评估函数 Q 提供了答案。13.3.1Q 函数评估函数 Q(s,a)定义为:它的值是从状态 s 开始并使用动作 a 作为第一个动作时的最大折算累积回报。换言之,Q 的值为从状态 s 执行动作 a 的立即回报加上以后遵循最优策略的值(用 折算)。(13.4),(),(,*asVasrQ注意 Q(s,a)正是式 13.3 中为选择状态 s 上的最优动作 a 应最大化的量,因此可将式 13.3重写为 Q(s,a)的形式:

16、(13.5)),(mxarg)(*sQ重写该式为什么很重要?因为它显示了如果 agent 学习 Q 函数而不是 V*函数,即使在缺少函数 r 和 的知识时,agent 也可选择最优动作。式 13.5 清楚地显示出,agent 只须考虑其当前的状态 s 下每个可用的动作 a,并选择其中使 Q(s,a)最大化的动作。这一点开始看起来令人惊奇,只须对当前的状态的 Q 的局部值重复做出反应,就可选择到全局最优化的动作序列,这意味着 agent 不须进行前瞻性搜索,不须明确地考虑从此动作得到的状态,就可选择最优动作。Q 学习的美妙之处一部分在于其评估函数的定义精确地拥有此属性:当前状态和动作的 Q 值在

17、单个的数值中概括了所有需要的信息,以确定在状态 s 下选择动作 a 时在将来会获得的折算累计回报。为说明这一点,见图 13-2。其中在简单的格子世界中显示了每个状态和动作的 Q 值。注意每个状态动作的转换的 Q 值等于此转换的 r 值加上结果状态的 V*值(用 折算)。还要注意图中显示的最优策略对应于选择有最大的 Q 值的动作。13.3.2 学习 Q 的一个算法学习 Q 函数对应于学习最优策略。 Q 怎样能被学习到?关键在于要找到一个可靠的方法,在只有时间上展开的立即回报序列的情况下估计训练值。这可通过迭代逼近的方法完成。为理解怎样完成这一过程,注意 Q 和 V*之间的密切联系:),(max)

18、(*ssV它可被用于重写式 13.4 为(13.6)),(a),(, ssraQ这个 Q 函数的递归定义提供了循环逼近 Q 算法的基础( Watkins 1989)。为描述此算法,我们将使用符号 来指代实际 Q 函数的学习器的估计,或者说假设。在此算法中学习器表示其假设 是通过一个大表,其中对每个状态-动作对有一表项。状态- 动作对的表项中存储了 (s,a)的值,即学习器对实际的但未知的 Q(s,a)值的当前假设。此表可被初始填充为随机值(当然,如果认为是全 0 的初始值更易于理解)。Agent 重复地观察其当前的状态 s,选择某动作 a,执行此动作,然后观察结果回报 r=r(s,a)以及新状

19、态 s= (s,a)。然后 agent 遵循每个这样的转换更新 (s,a)的表项,按照以下的规则:(13.7)),(max),(sQrsQ注意此训练值使用 agent 对新状态 s的当前 值来精化其对前一状态 s 的 (s,a)估计。此Q训练规则是从式 13.6 中得到的,不过此训练值考虑 agent 的近似 ,而式 13.6 应用到实际的Q 函数。注意虽然式 13.6 以函数 (s,a)和 r(s,a)的形式描述 Q,agent 不需知道这些一般函数来应用式 13.7 的训练规则。相反,它在其环境中执行动作,并观察结果状态 s和回报 r。这样,它可被看作是在 s 和 a 的当前值上采样。上述

20、对于确定性马尔可夫决策过程的 Q 学习算法在表 13-1 中被更精确地描述。使用此算法,agent 估计的 在极限时收敛到实际 Q 函数,只要系统可被建模为一个确定性马尔可夫决策过程,回报函数 r 有界,并且动作的选择可使每个状态- 动作对被无限频率的访问。表 13-1 在确定性回报和动作假定下的 Q 学习算法折算因子 为任意常量满足 00 为一常量,它确定此选择优先考虑高 值的程度。较大的 k 值会将较高的概率赋予超出平均 的动作,致使 agent 利用它所学Q 习到的知识来选择它认为会使回报最大的动作。相反,较小的 k 值会使其他动作有较高的概率,导致 agent 探索那些当前 值还不高的

21、动作。在某些情况下,k 是随着迭代次数而变化的。以使 agent 在学习的早期可用探索型策略,然后逐步转换到利用型的策略。13.3.6 更新序列上面收敛性定理一个重要性暗示在于,Q 学习不需要用最优动作进行训练,就可以收敛到最优策略。实际上,只要每步的训练动作完全随机选择,使得结果训练序列无限频繁的访问每个状态- 动作转换,就可以学习到 Q 函数(以及最优策略)。这一事实建议改变训练转换样例的序列,以改进训练效率而不危及最终的收敛性。为说明这一点,再次考虑在一个 MDP 中有单个吸收目标状态的学习过程,如同 13-1 中所示。如以前那样,假定使用序列化的情节(episode)来训练 agent

22、。对每个情节,agent 被放置在一个随机初始状态,然后执行动作以更新其 表,直到它到达吸收状态。然后开始一个新的训练情节,通过将 agent 从目标状态转换Q到一个新的随机初始状态。如前面指出的,如果开始所有 值的初始化为 0,则在第一个情节Q后,agent 的 表中只有一个表项改变:即对应于最后转换到目标状态的表项。如果在第二个情节中,agent 恰好从相同的随机初始状态沿着相同动作序列移动,则另一表项变为非 0,依此类推。如果重复地以相同的方式运行情节,非 0 值的边缘逐渐向右移动,从目标状态开始,每个情节移动到一个新的状态-动作转换。现在考虑在这些相同的状态- 动作转换上的训练,但对每

23、个情节以反向的时序。即对每个考虑的转换应用式 13-7 中相同的更新规则,但以逆序执行这些更新。这样,在第一个情节后,agent 会更新达到目标路径上每个转换的 估计。此训Q练过程显然会在更少的循环次数内收敛,虽然它要求 agent 在开始此情节训练前使用更多的内存来存储整个情节。改进收敛速率的第二个策略是存储过去的状态-动作转换,以及相应收到的立即回报,然后周期性地在其上重新训练。开始可能会认为用相同的转换重新训练是做无用功。但注意到更新的 (s,a)值是由后继状态 s= (s,a)的 (s,a)值确定的。因此,如果后续的训练改变了Q Q(s,a)值其中一个,在转换上重训练会得到 (s,a)

24、的不同值。一般地,我们希望重放旧的转换相比于从环境中获得新转换的程度取决于这两种操作在特定问题领域中相对开销。例如在机器人导航动作的领域,其动作执行需要数秒的时间,从外部世界收集新的状态-动作转换的延迟会比在内部重放以前观察过的转换的开销要大若干数量级。由于 Q 学习通常要求成千上万的训练循环才收敛,这种差别显得十分重要的。注意贯穿在上述讨论中的两个假定是,agent 不知道环境用来生成后继状态 s的状态转换函数 (s,a),也不知道生成回报的函数 r(s,a)。如果它知道了这两个函数,就可能有更多有效的方法。例如,如果执行外部动作开销很大,agent 可以简单地忽略环境,在其内部模拟环境,有

25、效生成模拟动作并赋予适当的模拟回报,Sutton(1991 )描述了 Dyna 体系结构,它在外部世界中执行的每步动作后执行一定数量的模拟动作。Moore Ford Ford Blackwell 1965)。Holland (1986)的学习分类系统的组桶式(bucket brigade)方法使用了类似的方法在延迟回报的情况下传播信用。Barto et al.(1983)讨论一种时间信用分配的方法,导致了 Sutton(1988)的论文,其中定义了 TD( )方法并证明了在 =0 时它的收敛性。Dayan(1992)把这个结果扩展到 的任意值。Watkin(1989)介绍了用Q 学习在回报和动

26、作转换函数未知的情况下获取最优策略。在这些方法上的收敛性证明有几个变种。除了本章展示的收敛性证明外,可见(Baird 1995; Bertsekas 1987; Tsitsiklis 1994, Singh 和 Sutton 1996)。增强学习仍是一个活跃的研究领域。例如 McCallum(1995)和 Littman(1996)讨论了增强学习的扩展,以适应有隐藏状态变量破坏马尔可夫假定的情况。许多当前的研究致力于把这些方法升级到更庞大更实际的问题中。例如 Maclin 和 Shavlik(1996)描述了一种方法,其中增强学习 agent 可接受施教者的不完美建议,基于 KBANN 算法(

27、第 12 章)的一个扩展。Lin( 1992)考虑了通过提供建议动作序列来施教的作用。Singh (1993)和 Lin(1993)建议使用层次化的动作来升级这些算法。Dietterich Barto(1992); Barto et al.(1995); Dean et al.( 1993)作出。习题13.1 给出图 13-2 所示问题的另一种最优策略。13.2 考虑下图显示的一个确定性格子世界,其中含有吸收目标状态 G。这里作了标记的转换的立即回报为 10,而其他转换都为 0。(a)给出格子世界中每个状态的 V*值。给出每个转换的 Q(s,a)值。最后,写出一个最优策略,使用 =0.8。(b

28、)试改变回报函数 r(s,a),使 Q(s,a)变化,但不改变最优策略。试修改 r(s,a),使 Q(s,a)变化,但不改变 V*(s,a)。(c)现在考虑应用 Q 学习到此格子世界,假定 值表被初始化为 0。假定 agent 开始于左下的方格然后顺时针沿着周边的格子移动,直至达到吸收目标状态,完成第一个训练情节。试写出此情节的结果导致哪些 值的修改,给出修正后的值。现如果 agent 第二次运用同样的情节,再次回答此问题。同样在第三个情节后回答此问题。插图 原书页码: 38813.3 考虑与一个随机下棋的对家对弈 Tic-Tac-Toe。确切地讲,假定对家在有多个选择时以均匀的概率选择走棋,

29、除非有一个强制性的走棋(这时它采取显然正确的步子)。(a)在此情况下,将学习最优的 Tic-Tac-Toe 策略形成一个 Q 学习问题。在此非确定性马尔可夫决策过程中,何为状态、动作以及回报?(b)如果对家选择最优的走棋而不是随机走棋,你的程序能否胜利?13.4 在许多 MDP 中,有可能找到两个策略 1 和 2,如果 agent 开始于状态 s1,则 1优于 2;如果 agent 开始于另一状态 s2,则 2 优于 1。换言之 但)()(12Vs。解释为什么总存在一个策略,能对于任意一个初始状态 s 使 V (s)最大化)()(21sV(即最优策略 *)。换言之,解释为什么一个 MDP 总有一个策略 *,使。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报