Motivation: 要求在保持计算效率的同时能够生成精确的action.

使用频域对action进行建模能够捕捉更有效的捕捉动作结构: 低频是全局运动模式, 高频表示更精细的局部细节

可以理解成, 低频捕捉的是任何机器人在这个动作下的相似部分, 高频捕捉特定的机器人的精细操作. 因此可以学习一个共用的低频, 只生成高频即可做泛化

现存的视觉运动策略学习

大概分成两类:

扩散策略能够生成连续的action, 能从少量样本中获得比较强的生成能力, 但是有较长的inference delay.

自回归模型虽然能够快速生成token并且对高频信号的表达能力更强, 但是token是一个离散的输出, 无法完整的表达整个action空间(在VLM的token输出后面接一个diffusion或者Flow Matching能够缓解问题, 虽然在中间步骤仍然会有信息的损失, 但只要token足够好, 扩散模型能够较好的还原原始action)

通过图中大概能够看出, 仅使用30%的低频信号就可以近似得到原始的信号; 60%的信号就可以恢复得到较为精细的信号细节.

对于简单任务, 低频信号就可以满足需求. 去除高频信号能够保持更稳定, action更平滑.

对于高灵活性的复杂任务, 需要保留足够的高频信息.

低频信息更容易学习, 并能够捕捉全局的信号信息, 因此从低频信息开始生成, 然后再逐步生成更高频的信号. 使用自回归的模型更加适合这种生成范式.

FAST使用DCT直接将连续动作从时域空间转换成离散的频域空间, 并证明了Diffusion模型对连续的空间有更好的表现能力.

FreqPolicy这个方法: 首先使用DCT将action sequence转换为频率分量. 然后通过MAE逐步预测, 使用低频信号指导高频信号的生成.

pipeline:

Methods:

Training阶段:

  1. 首先使用DCT将action sequence分解成频率分量
  2. 使用逆DCT在不同level上重建. 低level只负责重建低频信号, 高level负责重建低频+高频信号.
  3. 将observation和k-level reconstruction action拼接, 送给MAE的encoder+decoder, 得到隐空间向量
  4. 将得到的隐空间向量作为condition指导Diffusion生成去噪的action的频率分量(注意, 这里生成的是频率的分量, 不是action本身)

Inference阶段:

  1. 将observation和initial token拼接. 这里的initial token可以认为是一个-level的重建结果, 是一个全0的vector.
  2. 进入循环.
    1. 接受输入
    2. 经过training的过程, 将和observation拼接后, 送给encoder+decoder, 作为condition指导diffusion去噪生成频率分量
    3. 只保留前个频率分量(保留低频信号), 将这些低频信号使用iDCT转换为, 作为下一个循环的输入
  3. 最终经过层迭代, 得到最终的action

能够让低频指导高频信号生成的原因:

  1. 在training的时候, 强制让diffusion学习, 如何通过一个低频信号重建得到原始信号的频域分量
  2. 在inference的时候, 每次都逐步生成更加复杂的信号. 第一次迭代是从完全空白的信号中生成一个略微完整的信号, 然后只取这个信号的低频部分, 让下一次迭代基于这个低频信号指导生成新的更加完善的信号, 直到最后得到一个完整的信号.

使用低频指导高频的原因:

  1. 大部分任务的低频信号都是非常重要的, 能量更加集中于低频区域. 因此优先处理低频信号是一个更自然更高效的方式.
  2. 不同任务对频域的要求不同. 有的任务要求高频, 有的任务要求低频. 因此使用频率无关的action表达是不够的, 需要设计一个方法, 根据不同的任务要求, 自动调整是否需要高频信号
  3. 因此, 从低频开始确定了action的“骨架”, 在这个骨架上填充更多的信息(高频信号)