在准静态、机器人动作主导的任务里,决定相邻图像差异的主要是动作引起的状态变化,而不是墙上时间。时间戳应该主要用于同步、插值和动态任务,不应作为模型输入的直接因果变量。

也就是说:
训练时选哪些帧、怎么对齐动作,应该由动作幅度差异驱动;但时间戳不能丢,它负责同步和安全。


1. 为什么不能按墙上时间直接采样

因果链是:

动作 a_t → 机器人状态变化 → 物体/场景状态变化 → 图像变化

墙上时间 t_wall 本身不改变状态。
如果机械臂停着不动 5 秒,图像几乎不变,但墙上时间过去了 5 秒。
如果模型依赖时间戳,很容易学到“第几步”“过了多久”这类虚假特征,泛化到不同速度、不同控制频率时就会崩。

所以:

  • 不要把绝对时间戳、墙钟时间直接喂给 ACT/VLA。
  • 不要假设“相邻图片间隔相同 = 动作幅度相同”。
  • 应该用动作差异来定义“帧之间的物理距离”。

2. 动作差异驱动重采样

设轨迹帧为:

观测 o_t,动作 a_t,时间戳 t_t

定义相邻动作差异:

d_t = D(a_t, a_{t-1})

D 可以设计为:

D = w_joint * ||q_t - q_{t-1}||_2
  + w_pose  * (平移距离 + 旋转测地距离)
  + w_grip  * |g_t - g_{t-1}|

然后计算累积动作弧长:

S_t = Σ d_i

训练采样时,不再按固定时间间隔取帧,而是:

  • S 轴上均匀取点;
  • 或按固定 ΔS 阈值取关键帧;
  • 或按分位数取帧。

伪代码:

def action_delta_resample(traj, N):
    d = [D(traj.a[i], traj.a[i-1]) for i in range(1, len(traj))]
    S = np.cumsum([0] + d)
    targets = np.linspace(0, S[-1], N)
    idx = np.searchsorted(S, targets)
    return traj.subset(idx)

这样每个训练样本覆盖的物理动作量大致相同,而不是墙上时间相同。


3. 对 ACT 的具体影响

ACT 通常输入当前观测,输出未来 k 步动作 chunk。

如果按固定时间采样:

  • 人类演示慢时,chunk 覆盖很小位移;
  • 人类演示快时,chunk 覆盖很大位移;
  • 策略学到的是“时间步”,不是“物理进度”。

建议:

  1. 图像与动作先按时间戳对齐。
  2. 用动作差异重采样关键帧。
  3. 构建 action chunk 时,按未来累积动作弧长采样,而不是固定时间步。
  4. 推理时仍按固定控制频率执行,但训练分布与推理频率匹配。
  5. 不要把时间戳作为 ACT 输入特征。

这样对 180° 大偏转尤其重要:
Gello 介入时人类可能快速修正大角度,动作幅度大;如果按固定时间采样,这些关键修正会被稀释。


4. 对 VLA 的影响

VLA 预训练通常假设固定帧率视频。微调时要注意:

  • 可以继续按固定推理频率执行;
  • 但训练帧的选择可以按动作差异重采样;
  • 视觉 token 和动作 token 必须严格对齐;
  • 语言指令里如果包含“慢慢”“快速”,时间可能重要,但视觉输入本身不直接编码时间戳。

VLA 后续建议:

固定推理频率 + 动作差异重采样训练帧 + 时间戳仅用于同步

不要直接把墙钟时间拼到视觉 token 里。


5. 对 RL 和 RLHF 的影响

RL 的 MDP 通常假设固定时间步。
如果控制频率稳定,时间间隔恒定,那没问题。
如果频率抖动,应该:

  • 重采样到固定控制频率;
  • 或用时间感知折扣:γ^{Δt}
  • 人类干预数据速度不均匀,必须重采样。

RLHF 的偏好标注里,人类可能偏好“更快”“更平滑”,但奖励模型输入应该是:

  • 观测序列
  • 动作序列
  • 动作差异特征
  • 任务阶段
  • 可选力/电流

而不是绝对时间戳。


6. 什么时候时间仍然重要

以下任务不能完全忽略时间:

  • 动态物体:传送带、下落、抛接;
  • 等待物理过程:胶水固化、加热、液体流动;
  • 接触后稳定:力控、柔顺装配;
  • 安全超时、急停;
  • 语言指令含速度/节奏。

这些情况下,时间应作为辅助变量或阶段变量,而不是视觉输入的直接条件。


7. 建议的数据后处理 pipeline

1. 原始数据:图像、关节、夹爪、力、时间戳
2. 时间同步:动作插值到图像时间戳
3. 计算动作差异 d_t
4. 计算累积动作弧长 S_t
5. 在 S 轴上均匀重采样 N 帧
6. 构建 action chunk:按未来 ΔS 均匀采样
7. 训练:图像 + 动作,不输入墙钟时间
8. 评估:使用相同 pipeline

关键原则:

  • 时间戳用于同步、插值、安全、动态任务。
  • 训练帧选择由动作差异驱动。
  • 模型输入不直接依赖墙上时间。

如果现在图像、控制、Gello 的频率不一致,建议先做:
把所有轨迹按“动作弧长”重新参数化,再重采样到固定控制频率。
这样 ACT 和后续 VLA 都能复用同一套数据。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐