这篇文章主要是对CEM(Cross-Entropy Method)做了改进,用目标函数的参数使cem的结果可微。应用于非凸连续控制问题。
简介
DCEM通过把动作序列embed成低维空间从而减少计算量和memory。主要是通过模型部分将可微策略参数化。使用PPO对基于模型的项目组件进行微调,证明在基于模型的强化学习上,除了用最大似然来拟合observation,用标准策略学习也是可行的。
优势
1)在高维和非凸优化问题上,以往的算法是将动作序列进行自编码,这个是用DCEM直接编码动作序列,这样做的优点是:不需要专家解法、有可能在动作空间上超越专家控制器、可以发掘搜索潜能。
2)在结合model-based和model-free方面,基本用的是可微MPC并且只在cartpole和pendulm上做实验,而这个可以在cheetah和walker这样更难的问题,在控制器里用了神经网络,将策略损失通过控制组件反向传播到内部组件里。
详细介绍
目标函数为
这里先简单介绍一下CEM:首先需要有一个分布,在
次的迭代时,从
中采样得到
个样本
,然后用评价函数得到每个样本的值
,然后根据价值最高的
个样本拟合新的分布
,就这样迭代
次。
DCEM伪代码:
和CEM的区别在于topk个值的选取