深度强化学习核心算法与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3 有模型方法和无模型方法的区别

在前面探讨无模型的强化学习的过程中,我们采取了两种形式,第一种是对值函数进行学习,即期望通过找到能最大化值函数img的动作a来学习策略;第二种则是期望直接优化累积奖赏img来学习策略π。无论是哪种方式,都没有尝试对环境进行建模,没有学习Ps|s,a),而是在当前真实的环境中探索,得到真实的(状态,动作,奖赏值)样本,再来训练对应的方法。

与之相反,有模型方法则是在与环境进行一定数量的交互后,将收集到的样本用来构建环境的模型,然后基于此模型来模拟更多的交互,无成本地得到足够多的样本。因此,如果我们得到了环境的模型,则这种方法就不需要在真实的环境中交互,等到环境运行到某些状态时,就可以直接在构建的模型中获取这些样本,加快训练速度,降低获取样本的成本。当然,如果构建的环境模型并不准确,则会产生学习结果与真实世界差异较大甚至完全不同的风险。概括来说,有模型方法主要有如图3.2所示的几个过程。

图3.2

无模型方法一直以来都有足够多的关注,比如大家熟悉的DQN算法、TRPO算法等,都是这类方法。无模型方法必须在环境中大量探索采样、试错学习,这使得其在真实世界中遇到很多没有“模拟器”、采样有成本的问题时就很难发挥作用。比如机器人的控制训练,如果完全采用无模型的强化学习方法来训练,需要的样本数量会让大量的机器人损毁,成本巨大。相比之下,有模型方法由于其对环境的动力学特性进行建模,样本有效性更高,在样本很少的情况下学习效果更好,但是如何能够学到足够准确的模型是需要面对的难题。此外,当前的有模型方法的渐近表现,即收敛之后的性能不如无模型方法好,表3.1中对比了两类方法的优缺点。

表3.1 有/无模型方法的优缺点对比