论文:HiPolicy,arXiv: 2604.06067。
这篇论文最吸引我的地方,是它把机器人动作输出拆成了“快动作”和“慢动作”:不是让模型永远用同一个频率生成动作,而是根据任务状态,自适应选择更合适的动作频率。
核心问题:为什么单一频率不够?
主流模仿学习方法,比如 DP、ACT、DP3,通常采用固定频率的动作分块。但机器人控制本身并不总是需要同一种时间尺度。
- 低频动作块适合捕捉长时序依赖,比如任务阶段、目标位置、整体规划。
- 高频动作块适合做细粒度闭环控制,比如对位、旋转、夹取时的实时调整。
如果只用低频,模型可能缺乏精细控制能力;如果只用高频,模型又容易只盯着局部动作,难以建模长时序任务依赖。
换句话说,单频动作输出并不符合人类真实运动控制逻辑。
一个直观例子:机械臂抓水杯
想象机械臂要抓取桌上的水杯,这个过程至少包含两个不同阶段:
- 从原点移动到水杯上方:这是目标明确的大段运动,轨迹相对确定,属于长周期阶段级动作,更适合低频输出。
- 对位、旋转、夹取水杯:这是强依赖实时反馈的精细控制,需要快速闭环响应,更适合高频输出。
所以问题就变成了:模型能不能一次理解多个频率的动作,并在执行时选择最合适的那一个?
HiPolicy 的做法
HiPolicy 的思路比较直接:一次前向推理同时输出多个频率的动作块,再通过熵引导机制,自适应选择最合适的频率执行。
以 3 个频率为例:5Hz、10Hz、15Hz。所有频率的观测和动作先对齐到同一个时间轴,然后通过分层特征融合实现信息协同。
在推理前,不同频率会采用不同的观测采样方式:
- 5Hz:每 200ms 采样一次,例如
[o₁, o₃, o₅, o₇]。低采样密度适合捕捉任务阶段变化,服务于全局规划。 - 10Hz:每 100ms 采样一次,例如
[o₁, o₂, o₃, o₄, o₅, o₆, o₇]。中等采样密度适合做常规动作调整。 - 15Hz:每 66ms 采样一次,例如
[o₁, o₂, o₃, o₄, o₅, o₆, o₇, o₈, o₉, o₁₀]。高采样密度保留更多实时状态,服务于精细闭环控制。
对应地,模型会同步输出 3 个频率的动作块:
- 5Hz 低频动作:编码阶段级任务意图。
- 10Hz 中频动作:输出中等粒度的动作调整。
- 15Hz 高频动作:输出高时间分辨率的精细动作。
如何决定执行哪个频率?
HiPolicy 使用动作分布的不确定性来做选择。具体来说,它会计算每个动作维度的均值和标准差:
μ_j = mean(a_j1, a_j2, ..., a_jN)
σ_j = std(a_j1, a_j2, ..., a_jN)
其中,μ_j 表示第 j 个动作维度的期望,σ_j 表示该维度的标准差。
标准差可以被看作一种不确定性估计:
- 标准差大 → 熵值高 → 预测不确定性高。
- 标准差小 → 熵值低 → 预测结果更稳定。
因此,模型可以根据熵值选择执行频率:
- 熵值低:动作预测稳定,执行高频动作块,获得更精细的控制。
- 熵值高:动作预测不确定,执行低频动作块,依靠长期规划保证稳定性。
我的理解
我很喜欢“快慢动作”这个切入点。它没有把机器人动作生成简单看成一个固定频率的序列预测问题,而是更接近真实运动控制:有时需要规划,有时需要微调。
如果 VLA 能更自然地建模这种多时间尺度动作,后续在推理速度、动作稳定性和复杂任务泛化上,应该都会有明显收益。

评论
由 GitHub Discussions 提供,首次加载可能需要一点时间。