Skip to content

本实验主要验证 SFP 的性能、相对于 DP 的优势。

DP、SFP 和 SFPJ 的训练损失曲线

横坐标是训练轮次(epoch),每个点对应训练日志中的一条记录;纵坐标是该轮次的训练损失(loss)。曲线用于比较 DP、SFP 和 SFPJ 在训练过程中的收敛速度、最终损失和波动情况,损失越低表示模型对当前训练目标的拟合误差越小。这里的损失只反映训练目标,不等同于环境中的任务奖励或成功率。

DP、SFP 和 SFPJ 在 200 个环境步中的奖励曲线

横坐标是单个任务(一个 episode)的环境执行步数,范围为第 1 步到第 200 步;纵坐标是该步得到的环境奖励。曲线表示随着动作持续执行,奖励如何变化,可用来观察模型获得有效行为的速度、奖励是否持续上升,以及执行后段是否出现回落。各方法的曲线按照相同步数对齐,便于比较 DP、SFP 和 SFPJ 在同一任务进度下的行为表现;它描述的是逐步奖励,不是一个 episode 的最大奖励或奖励总和。

不同方法的最大奖励箱线图

横坐标是不同方法,纵坐标是每个 episode 运行期间出现的最大奖励(max_reward)。每个箱体展示 20 个 episode 的中间 50% 数据范围,中线是中位数,须线和离群点反映整体波动与极端情况。箱体位置越高表示典型任务表现越好,箱体越短表示不同随机种子下的结果越稳定。

不同方法的最大奖励值分布

该图按方法展示 20 个 episode 的最大奖励值分布。每个样本取对应 episode 的 rewards 序列中的最大值,因此它关注任务过程中曾达到的最好状态,而不是最后一步的奖励;分布的位置反映平均表现,分布宽度则反映不同 seed 之间的一致性。成功判定使用同一字段:max_reward = 1。

不同方法的单步推理延迟分布

横坐标是方法,纵坐标是单步推理延迟,单位为毫秒。每个 episode 的总推理耗时除以实际执行步数得到 inference_time_ms_per_step,再在 20 个 episode 上比较其分布。数值越低表示单步推理越快,分布越集中表示延迟抖动越小;该指标只衡量模型推理吞吐,不等同于环境最终控制频率。

成功率(最大奖励为 1 即成功)

Section titled “成功率(最大奖励为 1 即成功)”

不同方法的成功率

横坐标是不同方法,纵坐标是成功率。成功率定义为 20 个 episode 中 max_reward = 1 的 episode 数量除以总 episode 数量,因此每个方法的结果以 5% 为一个样本比例单位。该图反映任务是否达到成功状态,需结合最大奖励分布一起判断,不能仅凭单步奖励曲线的局部峰值推断。

sfpj(Joint Streaming Flow Policy)是在 sfp(Streaming Flow Policy)基础上的联合版本,主要变化如下。

  • sfp 的 U-Net 每次只根据当前动作、时间和观测条件预测一个动作速度。
  • sfpj 保留 U-Net 主干,但加入动作历史投影、因果 Transformer 和历史到当前查询的交叉注意力。
  • 训练时可以同时输入整个预测窗口(pred_horizon 个动作查询);推理时输入单个动作查询,并逐步追加已经执行/生成的动作历史。

alt text

alt text

2. 训练目标从单点改为联合速度场

Section titled “2. 训练目标从单点改为联合速度场”
  • sfp 在随机时间采样一条轨迹上的一个位置,训练单个速度目标。
  • sfpj 使用连续的 pred_horizon + 1 个动作节点,为窗口内每个节点构造时间、加噪动作和速度目标,使用整个窗口的平均 MSE 训练。
  • 为提高对历史误差的鲁棒性,sfpj 训练时会对动作历史加入按时间衰减、并随训练步数线性升高的高斯噪声(由 history_noise_scale 和 history_noise_ramp_steps 控制)。

alt text

alt text

alt text