MB算法虽然能够获得很棒的sample efficienty,但是通常落后于最好的model-free。在大规模参数的函数估计器中更为明显,如神经网络。
本论文就是研究如何跨越这个差距。提出了Probabilistic ensembles with trajectory sampling(PETS)。算法结合了 不确定性感知深度网络动力学模型
和基于采样的不确定性传播
。(uncertainty-aware deep network dynamics model with sampling-based uncertainty propagatior)。 最终达到了MF算法的性能,同时需要非常少的采样次数(减少8-125倍)。
提出的发现:
发现一:模型的容纳能力是MBRL方法成功的重要因素。而这就有一个需要权衡的问题:
高效的模型例如Gaussian processes能够快速的学习,但是不能很好表示复杂的和非连续的动力学模型。
NN模型则相反,能够处理复杂高维度的输入,但是少量数据会overfit,在新的预测表现性能很差。所以使用NN在MBRL上有额外的挑战。
发现二:上个问题能够在很大程度可以通过引入uncertainty到动力学模型中来缓解。
这篇论文研究如何能够把表达能力很强的神经网络引入到MBRL中。为了获取不确定性:
两个不确定性
使用概率网络(probabilistic networks)去刻画偶然不确定,使用ensembles去刻画认知不确定。
Probabilistic neural networks(P)
使用一个网络来输出概率分布的参数,用来模拟偶然不确定。不同于贝叶斯推理。
损失函数使用负的log
例如我们定义我们的预测模输出一个带有对角协方差的高斯分布,网络参数theta,条件为 s n s_n sn和 a n a_n an。那么函数f为:
它的损失函数为:
虽然我们模拟了偶然不确定,但是并没有模拟认知不确定。
模型可以使用高斯模型
概率网络的一个未被充了解的细节是他们的方差对于分布外的输入,可能是任意值。
Ensembles (DE and PE)
DE:deterministic models
PE:probabilistic models
使用Ensembles of bootstrapped models去刻画epistemic uncertatinty认知不确定。
可以是DE,也可以是PE
Control:使用候选的策略或者动作预测未来的一些列结果,然后选择最高奖励的那个。
Planning:在离散的时间点上,通过使用动力学模型来递归预测马尔科夫状态如何从一个时间点发展到下一个时间点
使用MPC(model predictive Control)算法
给定时间t和状态 s t s_t st, 我们可以通过动力学模型和策略获得一个动作序列 a t : t + T = { a t , . . . a t + T } a_{t:t+T} = \{a_t,...a_{t+T} \} at:t+T={at,...at+T}和一个状态序列 s t + 1 ∼ P r ( s t + 1 ∣ s t , a t ) s_{t+1} \sim Pr(s_{t+1}|s_t,a_t) st+1∼Pr(st+1∣st,at)。在每个时间步t,MPC controller都选择累计奖励的期望最大的 a t a_t at
一个常用的计算最优动作序列的技巧就是random sampling shooting method。并且获得了较好的data effcient
本篇论文在Nagabandi等人的基础上再次提升性能,通过以下两种方法:
在计算trajectorry reward时,闭环的递归进行状态预测通常是比较棘手的。解决的办法根据如何表示状态分布,大致可分为三类:
deterministic , 使用平均预测(mean prediction)并且忽略不确定性。
particle, 传播一系列Monte Carlo samples(MC样本)
parametric, 引入高斯或者混合高斯模型。
尽管parametric方法已经被成功使用在MBRL,但是试验结果表明particle方法能够在计算和准确率上更具有竞争力,不需要做一些关于分布的假设。论文中采用的是particle-based propagation
预测合理状态序列的方法:通过从当前状态
创建P个粒子(particles),每个particle通过
进行前向传播,其中b(p,t)是在ensemble里的B个bootstrap模型。particle的bootstrap索引号可能会潜在的随着时间t的变化而改变。论文考虑两个TS的变种:
TS1
particles 在每个时间步都统一重新采样一个bootstrap
T S ∞ TS_\infin TS∞
在一个trial中,particle bootstraps从来不改变。使用它的有点是偶然不确定和认知不确定是可分离的。
两个大步骤: