文献目录
强化学习算法通常属于两类之一:基于模型的方法(可建立环境的预测模型并从中导出控制器)和无模型方法(可用于学习从状态到动作的直接映射)。无模型方法样本复杂度高,基于模型的方法存在模型准确性问题。通常基于模型的方法学习速度更快,但在渐近性方面比无模型的方法差。
在本文中,我们研究如何最有效地使用预测模型进行政策优化。基于模型的方法缺乏为许多无模型方法提供支持的改进保证(TRPO的单调性)。尽管有可能将类似的技术应用于基于模型的方法的研究以实现类似的保证,但由于模型误差的悲观界限,首先很难使用这种分析来证明模型的使用。 但是,我们表明,凭经验得出的更真实的模型错误率使我们能够修改此分析,以提供对模型使用情况的更合理的权衡。
我们的主要贡献是基于这些见解的实用算法,我们称之为基于模型的策略优化(MBPO),与其他基于模型的方法相比,该模型很少使用预测模型,以实现性能的显着改善。更具体地说,我们通过仅查询短期rollout的模型来解开任务horizon和模型horizon(而不是full rollouts)。我们从经验上证明,这些简短的模型生成的大量rollouts可以使策略优化算法比最近的基于模型的替代方法学习得快得多,同时保留了最具竞争力的无模型算法的渐近性能。我们还表明,MBPO不会像以前的基于模型的方法那样遭受同样的陷阱,从而避免了模型利用和长期任务的失败。最后,我们凭经验研究了模型使用的不同策略,从而支持以下结论:谨慎使用基于模型的short rollouts会为强化学习算法带来最大的好处。
定义如下:
MDP: ( S , A , p , r , γ , ρ 0 ) (S,A,p,r,\gamma,\rho_0) (S,A,p,r,γ,ρ0);折扣因子: γ ∈ ( 0 , 1 ) \gamma\in(0,1) γ∈(0,1);动力学或转换分布: p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a);初始状态分布: ρ 0 ( s ) \rho_0(s) ρ0(s);奖励函数: r ( s , a ) r(s,a) r(s,a);目标公式: π ∗ = arg max π η [ π ] = arg max π E π [ ∑ t = 0 ∞ γ t r ( s t , a t ) ] \pi^*=\arg\max_\pi \eta[\pi]=\arg\max_\pi E_\pi[\sum_{t=0}^\infty\gamma^tr(s_t,a_t)] π∗=argmaxπη[π]=argmaxπEπ[∑t=0∞γtr(st,at)]。假设动力学转换关系 p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a)未知,奖励函数未知。定义动力学模型为 p θ ( s ′ ∣ s , a ) p_\theta(s'|s,a) pθ(s′∣s,a)。
在本节中,我们首先列出具有单调性改进的MBPO的一般配方。 这个通用配方类似于或包含了几种先前的算法,并为我们提供了适合理论分析的具体框架。 在算法1中进行了一般性描述,MBPO在学习的模型下优化策略,在更新的策略下收集数据,并使用该数据训练新模型。 虽然从概念上讲很简单,但是MBPO的性能可能很难理解。 在策略优化期间可能回利用模型中的错误,从而导致在模型下和真实动态下的策略的预期收益之间存在巨大差异。
定理4.1提供了模型收益与真实收益之间的有用关系。 但是,它包含一些有关高模型误差 ϵ m \epsilon_m ϵm情况的问题。 首先,可能不存在 η ^ [ π ] − η [ π ] > C ( ϵ m , ϵ π ) \hat{\eta}[\pi]-\eta[\pi]>C(\epsilon_m,\epsilon_\pi) η^[π]−η[π]>C(ϵm,ϵπ)这样的策略,在这种情况下,不能保证改进。 其次,分析依赖于对模型完整的rollout,从而使模型错误更加复杂。 这反映在随有效视界二次缩放的因子的边界上, 1 / ( 1 − γ ) 1/(1-\gamma) 1/(1−γ)。 在这种情况下,我们可以通过选择减少对模型的依赖,而在模型不准确时更多地依赖从真实动态收集的真实数据来改进算法。
为了在基于模型和无模型的rollout之间进行动态调整,我们引入了分支rollout的概念,在分支rollout中,我们从先前策略的状态分布 d π D ( s ) d_{\pi D}(s) dπD(s)下的状态开始rollout,并在学习的模型 p θ p_θ pθ下根据 π π π运行 k k k步。这种分支rollout结构类似于原始Dyna算法中提出的方案,可以将其视为长度为1的分支rollout的特殊情况。 形式上,我们可以将其视为执行一个非固定策略,该策略通过对先前策略 π D π_D πD中的actions进行采样来开始rollout。 然后,在指定的时间,我们切换为在模型 p p p和当前策略 π π π下展开轨迹 k k k步。 在这样的方案下,收益可以被限制如下:
此小节主要说的是当前策略与模型数据收集策略越不一致模型误差会增大,但数据量越大这种误差会越小。
在先前的分析中,我们假设只能访问最近的数据收集策略 π D π_D πD分布上的模型误差 ϵ m \epsilon_m ϵm,并将当前分布的误差近似为 ϵ m + 2 ϵ π \epsilon_m +2\epsilon_π ϵm+2ϵπ。 如果我们可以使用当前策略 π π π来近似分布上的模型误差(我们表示为 ϵ m ′ \epsilon_m' ϵm′),则可以直接使用它。 最后得出结论:我们需要有限地使用截断的但非零长度的模型rollouts(makes limited use of truncated, but nonzero-length, model rollouts)。
现在,我们根据上一节中的推导提出一种实用的基于模型的强化学习算法。 实例化算法1等于指定了三个设计决策:(1)模型 p θ p_θ pθ的参数化;(2)如何在给定模型样本的情况下优化策略 π π π;以及(3)如何在模型中查询样本以进行策略优化。
Predictive model. 本工作中使用了bootstrap ensemble dynamics models p θ 1 , . . . , p θ B {p_\theta^1,...,p_\theta^B} pθ1,...,pθB,且每一个模型都是概率神经网络,输出参数化具有对角协方差的高斯分布 p θ i ( s t + 1 , r ∣ s t , a t ) = N ( μ θ i ( s t , a t ) , ∑ θ i ( s t , a t ) ) p_\theta^i(s_{t+1},r|s_t,a_t)=N(\mu_\theta^i(s_t,a_t),\sum_\theta^i(s_t,a_t)) pθi(st+1,r∣st,at)=N(μθi(st,at),∑θi(st,at))。单个概率模型捕捉任意不确定性,或输出中相对于输入的噪声。bootstrapping过程考虑了认知不确定性,即模型参数的不确定性,这在数据稀缺的地区是至关重要的,并且模型可以通过策略优化加以利用。对这两个不确定性的适当处理允许基于渐近竞争模型的学习。为了从集成中产生预测,我们简单地随机选择一个模型,允许从不同的动力学模型中采样沿着单个模型rollout的不同转换。
Policy optimization. 使用了SAC作为策略优化算法(算法2中为了清楚起见,省略了Q值更新过程)。
Model usage. 最近许多基于模型的算法都关注于模型从初始状态分布开始的设置(ME-TRPO,MB-MPO)。虽然这可能是对算法1更为可信的解释,因为它是在模型的状态分布下优化策略,但这种方法会使模型的rollout长度与任务horizon纠缠在一起。由于复合模型错误使extended rollouts变得困难,因此这些工作在截断的基准版本上进行评估。在第4.2节中描述的分支策略中,模型的rollout从真实环境动态下不同策略的状态分布开始,有效地解除了这一限制。在实践中,分支将初始状态分布中的几个长rollouts替换为许多从重播缓冲区状态开始的短rollouts。
MBPO的实际实现在算法2中进行了描述。与算法1中的一般公式的主要区别在于,重播缓冲区状态的k长度rollouts(代替模型状态分布下的优化)和固定数量的策略更新步骤(代替难于处理的argmax)。 即使视野长度k很短,我们也可以执行许多此类短的rollout,以生成大量用于策略优化的模型样本。 与无模型的算法中通常稳定的情况相比,这个大集合使我们可以为每个环境样本(20到40之间)采取更多的策略梯度步骤。 附录C中给出了所有评估环境中算法2中包含的超参数的完整列表。
我们的实验评估旨在研究两个主要问题: (1)与基于模型和无模型的最新算法相比,MBPO在基准增强学习任务上的表现如何? (2)关于适当的模型用法,我们可以得出什么结论?
接下来,我们将对我们的方法进行消减和修改,以更好地理解MBPO为什么优于以前的方法。 以下实验的结果如图3所示。
No model. MBPO中的梯度更新次数与环境样本G之间的比率比无模型的可比算法要高得多,因为模型生成的数据可降低过拟合的风险。 我们以相似的高比率运行标准SAC,但没有模型数据,以确保模型确实有用。 虽然在SAC中增加每个样本的梯度更新数量确实可以稍微加快学习速度,但如果不使用模型,我们将无法达到我们方法的样本效率。 有关MBPO的超参数设置,请参阅附录C。
Rollout horizon. 虽然Hopper任务上表现最佳的推出长度计划从 k = 1 k=1 k=1线性增加到15(附录C),但我们发现在训练期间将rollout长度固定为1仍保留了我们基于模型的方法的许多优点 。 我们还发现我们的模型对于200 step的rollout足够准确,尽管在用于策略优化时,此模型的效果比较短的值差。 500 step的rollout对于有效的学习而言是不准确的。 尽管始终可以进行更精确的微调,但通过单步模型rollout来扩展策略训练数据可提供了一个难以超越的基线,并且性能优于从初始状态分布开始执行更长的rollout的最新方法。 这一结果与我们的理论分析相符,后者规定了基于模型的短期rollout,以减轻复合建模错误。
Value expansion. 另一种方法是使用模型rollouts直接训练策略,以提高从真实环境中收集的样本的目标值的质量。该技术用于基于模型的价值扩展(MVE)和STEVE。虽然MBPO的性能优于这两种方法,但还有其他一些令人困惑的因素使得比较难以进行,例如策略学习算法的选择。为了更好地确定模型生成数据的训练和使用模型预测来改进目标值之间的关系,我们使用H-step Q-target目标来增强SAC: 我们证实SAC还可以从改进的目标值中受益,并且与MBPO得出的结论类似,单步模型rollout(H = 1)提供了令人惊讶的有效基线。 虽然模型生成的数据扩充和值扩展在原则上是互补的方法,但初步实验并未显示通过使用改进的目标值估算值对MBPO有所改进。
Model exploitation. 我们分析了“模型利用”的问题,最近的一些研究提出了基于模型的强化学习的主要挑战。在实际环境和图4(c)中的模型下,我们绘制了一个训练过的策略在Hopper任务上的经验收益图,并且令人惊讶地发现,它们高度相关,这表明如果rollouts时间足够短,一个完全按照模型预测转换训练的策略可能根本无法利用该模型,这可能是因为短期rollouts更可能反映真实的动态(图4 a-b),减少了策略依赖模型预测不准确的机会。虽然其他环境的模型不一定像Hopper的模型那样精确,但我们发现,总体而言,模型收益往往低估了MBPO中的实际环境收益。我们通过理论和实证研究了模型使用在策略优化程序中的作用。我们已经表明,尽管可以用单调的改进保证来制定基于模型的强化学习算法,但这种分析不一定必须首先用于激励使用模型。但是,对模型泛化的实证研究表明,预测模型在其训练分布范围之外确实可以表现良好。将模型泛化的线性近似值纳入分析会产生更合理的权衡,实际上这确实证明了使用模型进行截短的rollouts是合理的。源于此洞察力的算法MBPO具有与最佳无模型算法相媲美的渐进性能,比以前的无模型方法或基于模型的方法学习速度快得多,并且可扩展到通常导致基于模型的方法失败的长期任务。我们对与设计决策相关的权衡进行了实验研究,发现单步的模型rollouts可以为策略优化过程提供明显的好处。