Model-Based Reinforcement Learning: Theory and Practice 译文
Model-Based Reinforcement Learning: Theory and Practice
大部分粗略翻译,有些部分精翻 。内容较多。 所以之后再翻译。
Model-Based Reinforcement Learning: Theory and Practice
强化学习可以大致分为两类,基于模型的方法(model-base 方法) 和 基于无模型的方法(model-base 方法)。
在model-base 方法中,系统对环境进行了建模。在每一次采取动作时,系统会根据该预测模型预测如果选择动作之后,所产生的效果来进行动作的选择。 在model-free 方法中,完全跳过了建模步骤,而直接学习了控制策略。 然而在现实中这两种方法之间的界线现在变得越来越模糊。但是否利用模型去预测,对于划分算法的种类而言,还是非常有用的。
在做出区分之后自然要问的问题是是否使用这种预测模型。 该领域解决这个问题【1】已经有一段时间了,并且不太可能很快达成共识。 但是,现在设计一种model-base 方法已经拥有了足够的基础研究。从这些研究中,我们可以得到model-base方法中最好的实现和共性的缺陷的一般性的结论。 在这篇文章中,我们将调查基于模型的强化学习方法的各种实现。 然后,我们将描述在使用学习的预测模型来训练策略时所要考虑的一些权衡,以及这些考虑因素如何激发基于模型的强化学习的简单而有效的策略。 这篇文章的后半部分基于我们最近发表的有关基于模型的策略优化的论文【2】,此处提供了代码。
Model-based techniques
model-base 方法根据预测模型的使用范围大致分为四类。 文章 对比了其中一些方法 在动作变量为连续值得环境下 的性能 。
Analytic gradient computation
在当前很多环境中,已经可以的得到比较贴合的动态模型(dynamics) 和 reward 函数(cost function) 的闭合表达式。这些表达式可以为LQR框架中的局部最优控制提供闭合解。尽管这些假设有可能无效,但是滚动时域控制也可以用来解决 在逼近动态模型时 所带来的小误差的影响。 类似地,将动态模型中的部分参数建模为高斯过程也可用于策略改进(policy improvement)的分析梯度。 通过这些简单的参数设置派生的控制器也可以用于提供指导样本,以训练更复杂的非线性策略。
Sampling-based planning
在非动态模型的一般情况下,没有了局部最优性的保证,就必须诉诸于动作序列的采样。这种方法最简单的版本是随机射击,它需要从固定分布中采样得到候选动作,在模型下对其进行评估,然后选择最有前途的动作。更复杂的变体以迭代的方式调整采样分布,例如在交叉熵方法(CEM;在PlaNet,PETS和视觉 预见中使用(visual foresight))或路径积分最优控制(用于最近基于模型的技巧操作中)。
但是,在离散动作的设置中,搜索树结构比迭代地改善单个航路点更为普遍。常见的基于树的搜索算法包括MCTS以及迭代宽度搜索,MCTS方法在游戏 中得到了近期令人印象深刻的实验结果。基于采样的规划在连续和不连续的结构域也可以与基于物理结构的构建和基于对象为中心的先验知识的方法相结合。
Model-based data generation
许多机器学习成功案例中的一个重要细节是人为地增加训练集的大小的方法。虽然很难定义用于策略优化的手动数据扩充过程,但是我们可以将预测模型类似地视为生成综合数据的学习方法。这种组合的最初建议来自Sutton的Dyna算法,该算法在模型学习、模型下的数据生成和使用模型数据的策略学习这三个过程间进行交替。该策略与iLQG,模型集成和元学习相结合;缩放到 图像 观察 ; 并且适合理论分析。一个与基于模型的数据生成相近的方法是利用模型来改善目标 价值函数对基于时间差分的学习方法的估计。
Value-equivalence prediction
Value-equivalence prediction不能很好地适用于基于模型与基于无模型的任一类型,它是将类似于模型规划计算结合起来,而不会监督模型的预测以贴近于实际状态。取而代之的是,该模型下的规划仅在其预测的累积奖励中受约束以匹配真实环境中的轨迹。这些价值等效的模型已被证明在高维观测 空间有效,而传统的基于模型的规划已被证明是困难的。
Trade-offs of model data
接下来,我们将重点介绍基于模型的强化学习的数据生成策略。现在还不清楚 将模型生成的数据合并到其他无模型的算法中是否是一个好主意。 建模误差可能会导致时间差异更新不一致,并且在线性近似的情况下,模型和值拟合是等效的。 但是,通过考虑预测模型的经验概括能力,更容易激发模型的使用,并且这种基于模型的增强过程在实践中被证明是出奇的有效。
The Good News
考虑模型生成的数据的影响的自然方法始于增强学习的标准目标:
这就是说,我们希望在动态方程所控制的环境中,根据策略采取行动,从而使预期的累积折现奖励最大化。重要的是要特别注意该期望给予策略分布所产生的。例如,虽然应该将期望计算根据当前策略的轨迹,但实际上许多算法会重用旧策略的轨迹以提高样品效率。目前,许多算法开发专门用于纠正与由此产生的离线学习误差的问题。
使用模型生成的数据也可以看作是采样分布的简单修改。将模型数据合并到策略优化中,等于用近似值交换了真实的动态变量。通过进行这种替代而引入的模型偏差类似于偏离策略的错误,但是它允许我们做一些相当有用的事情:我们可以在任何状态下查询模型动态以从当前策略生成样本,从而有效地规避off-policy误差。
如果可以将模型的使用视为脱离政策错误和模型偏差之间的交易,那么直接进行比较的方法就是比较这两个误差。但是,要根据当前政策的分配情况估算模型的错误,需要我们就该模型的推广方式做出声明。尽管最坏情况的边界在这里是相当悲观的,但我们发现预测模型倾向于很好地推广到未来政策的状态分布,从而激发其在政策优化中的使用。
在从数据收集策略的样本上训练的学习模型的泛化,到策略优化期间看到的未来策略的状态分布。 增加训练集的大小不仅可以提高训练分布的性能,而且可以改善附近分布的性能。
The Bad News
以上结果表明,在策略转变下,学习模型的单步预测准确性是可靠的。 问题在于,大多数基于模型的算法对模型的依赖远远超过单步准确性,通常执行长度与任务范围相等的基于模型的部署,以正确估计模型下的状态分布。 当以这种方式将预测串在一起时,在预测范围内会出现小的误差。
Analyzing the trade-off
通过在保单的真实回报上按照模型估算的回报率下限,可以更精确地进行定性权衡:
根据其预期模型收益,模型推出长度,政策分歧和当前政策状态分布的模型误差,对政策真实回报的下限。
Model-based policy optimization
从以上的结果中读出2个结论:
- 预测模型可以很好地泛化,以使发生的模型偏差值,离线误差
- 复合错误使长时间展示模型不可靠。
结合这两种见解的简单方法是仅使用模型从所有先前遇到的真实状态中进行短期部署,而不是从初始状态分布中进行全长部署。 早在经典Dyna算法之前的工作中就已经研究了此过程的变体,我们将其统称为基于模型的策略优化(MBPO),我们在下面的伪代码中对其进行了总结。
我们发现,此简单过程与一些重要的设计决策(例如,使用概率模型集成和稳定的无策略性无模型优化器)相结合,可以实现样本效率和渐近性能的最佳组合。 我们还发现MBPO避免了导致最近的基于模型的方法无法扩展到高维状态和长期任务的陷阱。
MBPO的学习曲线和五个关于连续控制基准的先前工作。 MBPO具有与最佳的无模型算法相同的渐近性能,通常只有十分之一的数据,并且缩放到导致先前基于模型的算法失败的状态尺寸和水平长度。