8、Planning and Learning with Tabular Methods(Dyna)


planning 和 learning 的统一:

planning methods:动态规划(DP)和启发式搜索(heuristic search)
learning methods:蒙特卡罗方法(MC)和时间差分方法(TD)

两种方法的核心都是值函数的计算,所以可以进行一定的整合。

 


1、 Models and Planning

1.1、Models

        通过环境 model,任何一个 agent 可以用来预测环境如何对其动作做出反应。给定一个状态和一个动作,模型就会预测下一个状态和下一个奖励的结果。

        如果模型是随机的,那么下一个状态和下一个奖励有几种可能,每种都有一定的发生概率。

对于随机的环境,有两种不同的模型:

  1. 分布式模型(distribution models):模型对所有的可能性及其概率进行描述。例如,动态规划中假设的模型就是一个分布式模型,
  2. 样本式模型(sample models):模型只产生一种可能性,根据概率抽样。

        分布式模型比样本式模型更强,因为它们总是可以用来生成样本。然而,在许多应用中,获得样本式模型要比获得分布式模型容易得多。

        模型可以用来模拟(simulate)或模拟经验(simulated experience)。给定一个起始状态和动作,一个样本式模型产生一个可能的转移,一个分布式模型产生所有可能的转移,并根据它们发生的概率进行加权。给定起始状态和策略,样本式模型可以生成整个episodes,而分布式模型可以生成所有可能的episodes及其概率。

 

1.2、Planning

        Planning这个词在不同的领域有不同的用法。在这里,是指代任何将模型作为输入并产生或改进与被建模环境交互的策略的计算过程:

在这里插入图片描述
根据定义,在人工智能中有两种不同的规划方法:

  1. state-space planning:在状态空间规划中,planning 主要被看作是在状态空间中寻找最优策略或实现目标的路径。动作导致状态之间的转移,值函数基于这些状态进行计算。
  2. plan-space planning:在计划空间规划中,planning 被看作是对计划空间的搜索。操作员将一个计划转换为另一个计划,如果有值函数,则在计划空间中定义。计划空间规划包括 进化方法 和 “partial-order planning“,这是人工智能中常见的一种规划,在规划的所有阶段,步骤的顺序并不是完全确定的。计划空间方法很难有效地应用于强化学习中所关注的随机最优控制问题。

所有的状态空间规划方法都有一个共同的结构:

  1. 所有状态空间规划方法都将计算值函数作为改进策略的关键中间步骤。
  2. 它们通过应用于模拟经验的备份操作来计算其值函数。

结构如下图所示:在这里插入图片描述

        Learning 和 Planning 方法的核心是通过备份操作来估计值函数。不同之处在于,Planning 使用的是由模型生成的模拟经验,而 Learning 方法使用的是由环境生成的真实经验。当然,这种差异会导致许多其他的差异,例如,在如何评估性能以及如何灵活地产生经验方面。

        但共同的结构意味着许多想法和算法可以在 planning 和 learning 之间转换。特别是在许多情况下,learning 算法可以代替 planning 方法的关键备份步骤。learning 方法只需要经验作为输入,在许多情况下,它们可以应用于模拟经验,就像应用于实际经验一样。

        基于 one-step tabular Q-learning 和来自样本模型的随机样本的简单planning 方法示例:该方法与实际环境下的one-step tabular Q-learning 收敛于最优策略的条件相同,也收敛于模型的最优策略,我们称之为 random-sample one-step tabular Q-planning。

在这里插入图片描述
 


2、Dyna: Integrating Planning, Acting, and Learning

        当 Planning 是在线完成的,同时与环境进行交互时,会出现许多有趣的问题。从交互中获得的新信息可能会改变模型,从而与 Planning 相互作用。如果决策和模型学习都是计算密集型过程,那么可用的计算资源可能需要在它们之间进行分配。

在 Planning agent 中,实际经验至少有两个作用:

  1. 模型学习(model-learning):它可以用来改进模型(使它更准确地匹配真实的环境)。
  2. 直接强化学习(direct RL):它使用强化学习方法可以直接改进值函数和策略。

experience、model、values 和 policy 之间的关系:

在这里插入图片描述

        注意到经验如何通过模型直接或间接地改进值函数和策略。后者有时被称为间接强化学习(indirect RL),它涉及到planning。

直接和间接强化学习各有利弊:

  1. 间接方法通常更充分地利用有限的经验,从而在较少的环境相互作用下实现更好的策略。
  2. 直接方法简单得多,不受模型设计中的偏差影响。

        Dyna-Q包括上图中所示的所有过程——planning, acting, model learning 和 direct RL——这些过程都是不断发生的。

Dyna agent的整体架构:
在这里插入图片描述

Tabular Dyna-Q 算法:

在这里插入图片描述
算法实现

 


3、When the Model Is Wrong

        模型可能是不正确的,因为环境是随机的,只有有限数量的样本已经被观察到,因为模型是使用函数逼近来学习的,或者只是因为环境已经改变,它的新行为还没有被观察到。当模型不正确时,planning 过程可能会计算出一个次优策略。

        在某些情况下,通过 planning 计算出的次优策略可以快速发现并修正建模误差。这种情况往往发生在模型乐观的情况下,即预测到比实际可能的更大的回报或更好的状态转移。规划好的策略试图利用这些机会,但在这样做时发现这些机会并不存在。

 

例1:Blocking Maze

        下图显示了一个Maze示例,该示例演示了这种相对较小的模型误差及其恢复。

        最初,从起点开始,通过障碍的右边,到达目标点,这是一条捷径,如图左上角所示。经过1000个时间步后,这条捷径被“阻塞”,而障碍的左边被打开,有一条更长的路径可以到达目标点,如图右上角所示。

        下图显示了 Dyna-Q agent 和 Dyna-Q+ agent 的平均累积奖励。图表的第一部分显示了两者在1000步内找到了捷径。当环境改变时,曲线变得平坦,这表明在这段时间内,agent 因为在障碍物后面徘徊而没有得到奖励。然而,过了一段时间,他们能够找到新的突破口和新的最佳行为,也就是找到了最左侧的开口,到达了目标点。在这里插入图片描述

 
        当环境变得比以前更好时,就会出现更大的困难——以前正确的策略并没有显示出改善。在这些情况下,建模误差可能在很长一段时间内都无法检测到。例2就说明了这个问题。
 

例2:Shortcut Maze

        最开始,最优的路径是绕过障碍物的左侧(左上角)。然而,在3000步之后,较短的路径会沿着右侧打开,而不会干扰较长的路径(右上角)。该图显示,Dyna-Q agnet 从未切换到快捷路径,事实上,它从未意识到它的存在。它的模型认为没有捷径,所以它规划得越多,就越不可能向右走并发现它。
在这里插入图片描述

 
        这里的普遍问题是探索和利用之间的另一种冲突。在 planning 环境中,探索意味着尝试改进模型的行动,而利用意味着在当前模型下以最佳方式行动。我们希望 agent 能够探索环境中的变化,但不希望性能大大降低。在早期的探索/利用冲突中,可能没有既完美又实用的解决方案,但是简单的试探法通常是有效的。

        解决 Shortcut Maze 的 Dyna-Q+ agent 使用了这样一种启发式搜索。agent 跟踪每个状态-动作对在与环境的实际交互中的最后一次尝试以来经过了多少个时间步。时间越长,这对组合的动态变化和模型不正确的可能性就越大(假设)。为了鼓励那些很久未尝试的行为,在涉及这些行为的模拟经验中,会有一个特别的“奖励”。
 


4、Prioritized Sweeping

        在随机环境中,估计的转移概率的变化导致更改大小的变化和需要备份哪些状态-动作对的紧急程度。根据紧急程度对备份进行优先级排序。每个状态-动作对由一个队列来保存,如果备份时其估计值会发生变化,则根据更改的大小确定优先级。当处于队列顶部的状态-动作对进行备份时,将计算它对每个前一对的影响。如果影响大于某个小阈值 θ \theta θ,则使用新的优先级将该对插入到队列中(如果前一对已经在队列中,则提高该对的优先级)。以这种方式,变化的影响被有效的向后传播,直到稳定。

在这里插入图片描述
算法实现

 


5、Planning as Part of Action Selection

关于 planning,通常有两种思考方式:

  1. 以动态规划和 Dyna 为代表的 planning,认为规划是一种策略或值函数的逐步改进,这种改进一般适用于所有的状态,而不是针对任何特定的状态。
  2. 把 planning 作为动作选择的一部分。planning 是在遇到每一个新的状态之后开始和完成的,作为一个计算,它的输出并不是一个真正的策略,而是一个简单的决定——动作;在下一步,planning在新的状态重新开始生成新的动作,以此类推。
     

6、Heuristic Search

人工智能中经典的状态空间规划方法是将 planning 作为行动选择的方法,统称为启发式搜索(Heuristic Search)。
在这里插入图片描述
 


7、Monte Carlo Tree Search

蒙特卡罗树搜索(MCTS)是将 planning 作为策略的一部分的最简单的例子之一。

MCTS的每次迭代分为四个阶段:

  1. Selection:当前树中的一个节点被一些有根据的方法选择为最有希望进一步探索的节点。
  2. Expansion:通过添加一个或多个节点作为其子节点,可以从所选节点展开树。每个新的子节点现在都是部分树的叶子节点,这意味着在构建树的过程中还没有访问过它的任何可能的移动。
  3. Simulation:在一定方式的指导下,这些叶节点中的一个将被选择为一个完整游戏的模拟的开始。
  4. Backpropagation:模拟游戏的结果被备份,以更新或初始化方式附加到MCTS迭代中所遍历的部分游戏树中的链接的统计信息。

 


8、Expected vs. Sample Updates

        值函数的更新有许多不同的类型。考虑一步更新方法,有下图所示7种方法。在没有分布模型的情况下,期望更行方法是不可行的,但是可以使用采样更新方法。

         一般期望更新方法比采样更新方法更好。期望更新方法会产生更好的估计值,因为不会受到采样误差的干扰;但是它们需要更多的计算。当具有很大的随机 branching factors (下一个可能状态的数量,用 b 表示)以及太多状态无法精确求解时,采样更新方法优于期望更新方法。

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值