Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Cross-Entropy Method (CEM)

  • 又称: CEM
  • 类别: Planning & manipulation › Trajectory optimisation
  • 标签: optimization, sampling-based-planning, model-predictive-control, model-based-rl, trajectory-optimization

一种基于采样的优化器,反复采样候选解,保留得分最好的一部分,并用它们重新拟合采样分布;广泛用于在基于模型的控制中优化动作序列。

定义

交叉熵方法(Cross-entropy method,CEM)是一种简单的无导数优化算法。它在候选解上维护一个概率分布,通常是一个带有均值和对角方差的高斯分布。每次迭代中,它抽取一批样本,评估每个样本的代价,选出得分最好的一部分(即精英样本),再用这些精英样本重新拟合分布的均值和方差,通常还会向之前的值做一定的平滑。随着迭代进行,分布会在一个好的解周围收窄。该方法由 Reuven Rubinstein 在 1990 年代末提出,最初用于估计稀有事件概率,随后用于优化;其名称来自这样一个事实:重新拟合这一步使采样分布与一个集中在高分样本上的分布之间的交叉熵(即 KL 散度)最小。

在机器人学中,CEM 最为人熟知的角色是基于采样的模型预测控制中的轨迹优化器。决策变量是规划时域内的一个动作序列。每个采样得到的序列都通过一个动力学模型(物理仿真器或学习得到的模型)进行推演,并按累计代价或预测奖励打分。经过几次 CEM 迭代后,机器人执行均值序列或最佳序列的第一个动作,然后在下一步重新规划,通常把上一次的解在时间上向前平移作为热启动。PETS 和 PlaNet 等基于模型的强化学习方法以这种方式将 CEM 与学习得到的模型结合使用,各种变体则加入时间相关噪声、在各步之间复用精英样本,或把 CEM 与一个提出样本的学习策略结合起来。

CEM 的吸引力在于它不需要梯度,能处理不光滑或不连续的代价,并且易于在 GPU 上并行运行。它的弱点是样本开销会随时域长度和动作维数迅速增长,并且倾向于过早地把方差收缩到某个局部最优上。与按代价的指数对所有样本加权的 MPPI 不同,CEM 使用硬截断,并平等对待各个精英样本。与 iLQR 或 DDP 等基于梯度的轨迹优化器不同,它不利用模型的导数,因此在光滑问题上通常样本效率较低,但对学习得到的模型或黑箱模型更宽容。

为何重要

CEM 是把动力学模型变成控制器的最简单方法之一,在许多基于模型的学习论文中都是默认的规划器。理解它在精英选择、时域和样本数量上的权衡,才能复现这些结果,或判断基于梯度的规划器或 MPPI 式规划器是否更适合某个问题。

主要应用

  • 结合学习得到的动力学模型进行基于采样的模型预测控制
  • 在潜在世界模型中为视觉控制进行规划
  • 通过对候选进行采样和打分来选择抓取和动作
  • 无需梯度的策略搜索与参数调节
  • 在连续动作空间的 Q-learning 中优化动作

实际应用

一个团队在推动任务中使用学习得到的动力学模型,并在每个控制步运行基于 CEM 的 MPC。他们从一个高斯分布中采样数百个短时域的动作序列,在 GPU 上让每个序列通过学习得到的模型进行推演,按预测代价保留前十分之一,重新拟合均值和方差,重复几次后执行第一个动作。当规划器在相邻步之间来回抖动时,他们把上一次的均值平移后复用作为热启动,并设置一个最小方差,使搜索不会坍缩。由于 CEM 会利用那些预测出不切实际的低代价的模型误差,他们还对远离模型训练数据的动作序列加了惩罚项。

常见误解

  • CEM 是一种强化学习算法 — 它是通用优化器;在基于模型的 RL 中它利用模型进行规划,而学习发生在模型或价值函数中
  • CEM 迭代次数越多越好 — 方差可能过早收缩到一个较差的局部最优上,而且在使用学习得到的模型时,额外的优化可能会利用模型误差
  • CEM 和 MPPI 是一回事 — 两者都对动作序列进行采样,但 CEM 用硬性选出的精英集合重新拟合分布,而 MPPI 按指数化代价对每个样本加权

谁需要了解

  • 基于模型的强化学习研究人员
  • 使用基于采样的 MPC 的控制工程师
  • 利用学习得到的模型或仿真模型进行规划的操作工程师
  • 比较轨迹优化方法的学生

相关技术

  • PETS
  • PlaNet
  • iCEM
  • 随机打靶法(Random Shooting)
  • CMA-ES
  • JAX

相关术语

  • Model Predictive Path Integral
  • Model Predictive Control
  • Forward Dynamics Model
  • World Model
  • Differential dynamic programming
  • Trajectory Planning

相关项目

  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • GTSAM: Factor-graph optimization library powering many modern SLAM backends
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
  • MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo
  • PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization
  • NeuPAN: Real-time end-to-end planner that maps raw lidar points directly to robot actions

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。