查看原文
其他

在调查过基于模型的强化学习方法后,我们得到这些结论

CSDN App AI科技大本营 2020-02-12
所有参与投票的 CSDN 用户都参加抽奖活动
群内公布奖项,还有更多福利赠送


作者 | Michael Janner
译者 | 孙薇
编辑 | 夕颜
出品 | AI科技大本营(ID: rgznai100)
【导读】强化学习系统的决策方式有两种。基于模型的方法中,系统通过世界预测模型提问“如果执行了x会发生什么”,从而选出最佳的x方案。在无模型的方法中,建模步骤被完全跳过,直接跳至控制策略学习。尽管实际中,这两种方法的界限可能会非常模糊,但用以粗略划分算法的可能性空间还是很有指导意义的。

              预测模型可用来提问“如果……会怎样?”,以指导未来的决策


在作出区分后,通常下一个问题就是:是否采用这种预测模型。这个问题已经困扰这个领域一段时间了,也不太可能在短时间内得到解决。但就设计基于模型的算法方面,我们已经习得了足够的知识,这让我们得以总结出最佳实践及常见陷阱的一些通用性结论。本文就基于模型的强化学习方法的各种实现进行了调查,再针对使用训练过的预测模型时所需要权衡的一些问题,以及这些考量在激励基于模型的强化学习时所采用的简单但有效的策略进行描述。本文后半部分是根据我们近期基于模型的策略优化论文所撰写的。

 

附相关代码:https://github.com/JannerM/mbpo


基于模型的方法


下面将基于模型的算法归纳为四类,以突出预测模型的使用范围。为了在连续控制设置中对比这些方法的性能,强烈推荐使用此基准测试文件:https://arxiv.org/abs/1907.02057


解析梯度计算


针对动态和成本函数形式提出假设非常方便,因为它们可以为局部最优控制提供封闭形式的解决方案,如同在LQR框架中一样。即便这些假设无效,滚动时域控制也可以修复因近似动态带来的小误差。同样,高斯过程执行梯度分析时,动态模型的参数化可用于改进策略。自这些简单的参数化派生出的控制器也可以用于提供指导样本,以训练更加复杂的非线性策略。


基于采样的方案


在完全普适的非线性动态模型案例中,我们无法保证局部最优,而必须依赖采样操作序列。这种方法最简单的版本便是随机生成,需要从某个固定分布获取样本候选操作,将其置于模型中评估,再从中选择最有可能的操作。复杂些的版本会反复迭代,调整样本分布,比如交叉熵方法(CEM:用于深度规划网络PlaNet、轨迹采样的概率集合体PETS以及视觉预见),或者路径积分的最优控制(用于近来出现的基于模型的机巧操控成果)。

 

但是,在离散操作设置中,相比针对单个路径轨迹的精炼迭代,针对树结构的搜索更为常见。常见的基于树结构的搜索算法包括MCTS,它使得机器在最近的游戏对弈中取得令人印象深刻的成果,并迭代了宽度搜索。在连续域与离散域中,基于采样的方案也可以与结构化的、基于物理学的、以对象为中心的先验结果相结合。


基于模型的数据生成


在许多机器学习的成功案例中,一个重要的细节在于人为增加训练集大小的方法。策略优化的手动数据扩充过程很难定义,但我们可以将预测模型视为类似于某个训练过的生成合成数据的方法。这种组合方法最初在Sutton教授的Dyna算法中提出,包含了模型学习、在模型中生成数据、使用模型数据学习策略。这种策略与iLQG、模型集成与元学习结合在一起,已经扩展到图像观测领域,并适用于理论分析。基于模型的数据生成还可以衍生出使用模型来提升时间差异学习的目标值评测。


价值等效预测


与不基于模型的分类相比,最后一种方法不能很好地用于基于模型的分类,它是将基于模型、但不监测模型预期的相似方案放在一起合并计算,以模拟现实世界。相对来说,模型中的方案仅在预测的累积反馈中,才符合实际环境中的轨迹。这些价值等效模型已被证实在高维观测空间中是有效的,而对于基于模型的传统规划则很困难。


模型数据权衡


在后文中,我们将着重介绍基于模型的强化学习的数据生成策略。将模型生成的数据合并到其他不基于模型的算法中,这种做法是否可行还不得而知。建模误差可能会导致时间差异更新的不一致,而且在线性近似的案例中,模型与值拟合是等效的。但是,通过斟酌预测模型的经验泛化能力,更容易激发模型的使用,且这种基于模型的扩充过程在实践中已被证实出奇地有效。


好消息


思考模型生成数据的影响,有一种常见的方法,便是从增强学习的标准目标开始:

              


也就是说,我们希望在受动态 控制的环境中,根据策略采取行动,从而最大限度地提高预期的累积折扣 reward。重要的是:要特别注意采用此期望值的分布。例如,尽管应当自当前策略中选取期望值轨迹,但实际中许多算法会重新采用旧策略的轨迹,以提高采样效率。大量算法开发致力于纠正政策外误差所导致的问题。 



使用模型生成的数据也可以视为对采样分布的简单修改。将模型数据整合到策略优化中,相当于用近似值置换出真实的动态变量。这种置换引入的模型偏差与偏离策略的误差类似,但会让我们做些更有用的事情,比如在当前策略中,在任何状态下查询模型动态,有效地规避偏离策略的误差。

 

如果可以将模型的使用视为偏离策略误差及模型偏差之间的权衡,则一个直接比较的方式就是比较这两个项目。然而,在当前的策略分布中,评估模型的偏差是需要我们就该模型的普适化方式进行描述。虽然在最坏情况下,界限相当悲观,但我们发现预测模型往往要足够适应未来策略的状态分布,以激励其在策略优化中的使用。

            

样本包括从基于数据收集策略,到未来策略的状态分布,对使用这些样本训练的模型进行泛化。增加训练集的大小不仅能提高训练分布的性能,还可以改善周边分布的性能。

 

坏消息


以上结果表明,在策略的转变下,训练过的模型在单步预测的准确性上是可靠的。问题在于,大多基于模型的算法对模型的依赖远远不限于单步的准确性,通常执行基于模型的部署时,其长度相当于任务范围,以在模型中正确评估状态分布。当这种方式与模型预测合并在一起时,在预测范围内就会出现小的误差。

 

在训练过的概率模型中展开一个450步的动作序列,图中的位置描绘了预测均值,阴影区域则表示与均值的标准偏差。不确定性的增长,以及可识别的正弦运动突出了模型的累积误差。


分析trade-off


根据模型评估trade-off时,在其策略真实reward上设定一个较低的下限,可以更精确地定性trade-off:

             

根据预期模型的trade-off,在策略真实reward的下限较低时:模型的部署长度、策略分歧以及在现有策略的状态分布下的模型误差。

 

如同预期那样,涉及模型部署长度的压力很大,该模型通过以指数方式降低部署长度中的项来减少偏离策略的误差。但是,增加部署长度也会导致与模型误差的差异成正比增长。


基于模型的策略优化


从以上结果,我们可以得出两个主要结论:

 

  1. 预测模型能够很好地泛化所产生的模型偏差,从而减少非策略误差,但
  2. 复合的误差长期上会导致模型部署不可靠。
 
结合这两种方法的简单操作是,仅将模型用在之前遇到过的所有真实状态的短期部署,而不是从初始状态分布开始执行完整的长部署。此过程的变体包含了经典的Dyna算法,我们将其统称为基于模型的策略优化(MBPO),伪代码总结如下。
              
我们发现,这个简单的过程与一些重要的设计决策(如:使用概率模型集成与稳定的无策略性无模型优化器)相结合,就可以将样本的效率与渐近性能完美结合。我们还发现,MBPO避免了基于模型方法无法扩展到高维状态以及长期任务的陷阱。

       MBPO的训练曲线与五个之前关于连续控制基准的结果。MBPO具有与最佳的无模型算法相同的渐近性能,通常只用十分之一的数据,且可以拓展到导致之前基于模型算法失败的状态维度与范围长度。

 

原文链接:

https://bair.berkeley.edu/blog/2019/12/12/mbpo/


(*本文为AI科技大本营翻译文章,转载请微信联系1092722531)



精彩推荐



点击阅读原文,或扫描文首贴片二维码

所有CSDN 用户都可参与投票活动


加入福利群,每周还有精选学习资料、技术图书等福利发送

点击投票页面「讲师头像」,60+公开课免费学习


推荐阅读

    你点的每个“在看”,我都认真当成了AI

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存