技术博客
WAM 世界模型

【三分钟看懂 SimWAM】(下):91.5 PDMS 背后,强化学习与推理速度究竟说明了什么

yiwan-cat2026-08-15 19:31
【三分钟看懂 SimWAM】(下):91.5 PDMS 背后,强化学习与推理速度究竟说明了什么

上篇讲清了 SimWAM 最核心的结构:视频专家和动作专家在训练阶段联合学习,但隔离注意力不允许动作 token 偷看未来帧 token。视频生成负责把交通动态教进当前观察表征,部署时则移除未来视频 rollout,由动作专家直接规划轨迹。

这解决了“世界模型太慢”的一半问题。

另一半问题是:只靠模仿学习,动作模型优化的仍然是“像不像数据里的专家轨迹”,而不是一条轨迹是否真正兼顾安全、合规、效率与舒适。

SimWAM 因此在联合 Flow Matching 训练之后,又加入了一段只针对动作专家的强化学习。

图 1 NAVSIM 上的 PDMS—延迟对比:SimWAM 位于高分、低延迟区域;横轴越小、纵轴越高越好


从确定性 ODE 到随机 SDE:先让模型拥有“可选方案”

原始 Rectified Flow 使用确定性 ODE 从噪声积分到轨迹。同一个场景、同一份初始条件,通常会得到一条确定轨迹。

这对模仿学习没有问题,却不适合强化学习。强化学习需要模型对同一场景探索多种动作,比较哪些方案更好;策略更新还需要可计算的转移概率。确定性的 Flow ODE 既缺少自然探索,也没有方便使用的转移密度。

作者参考 Flow-GRPO,把 ODE 改写成保持相同边缘分布的随机微分方程(SDE)。直觉上,它没有推翻原来学到的生成分布,而是在采样过程中加入结构化随机性,让同一场景可以生成多条合理但不完全相同的轨迹。

每个场景采样 8 条候选轨迹,再用 NAVSIM 的组合 PDM 奖励评价:

  • 是否发生碰撞;
  • 是否留在可行驶区域;
  • 是否有效向前行驶;
  • 与潜在碰撞之间的时间裕量;
  • 轨迹是否舒适。

模型根据组内相对优劣更新策略。为了保留联合训练已经蒸馏进来的动态先验,强化学习阶段只更新动作专家中的 LoRA,不重新训练整个视频专家。

作者还没有平均用力,而是重点训练模仿策略 PDMS 低于 90 的困难场景。实验显示,困难子集训练在 1.5 万步时达到 91.5;继续训练后反而略有下降,说明这里同样存在收益饱和。

91.5 PDMS,到底说明了什么

NAVSIM 的核心指标 PDMS 不是单一轨迹误差。它同时考虑 NC(无碰撞)、DAC(可行驶区域遵从)、EP(自车前进效率)、TTC(碰撞时间裕量)和 C(舒适度)。其中 NC 与 DAC 还会作为乘法惩罚:发生碰撞或明显驶出可行驶区域,综合分会受到直接打击。

SimWAM 在 navtest 上只使用一枚前视相机,输入分辨率为 $384\times672$,最终达到 91.5 PDMS

比最终数字更能说明问题的是逐步消融:

配置 PDMS 相对前一步
仅 Action DiT 86.6 -
加入未来视频联合训练 90.3 +3.7
再加入强化学习 91.5 +1.2

这组结果对应一条清晰的因果链:视频联合训练主要补上动态理解,强化学习再把轨迹从“模仿专家”推向“直接优化驾驶质量”。两者合计带来 4.9 分提升。

与论文比较的单相机方法相比,SimWAM 比 DriveLaW 高 2.4 分,比 DriveWAM 高 1.4 分,比 SGDrive 高 0.4 分。这里的“领先”应限定为论文给定版本、NAVSIM navtest 和对应实验设置,不宜外推成真实道路上的普遍优势。

省掉未来视频,不等于动作生成已经变成 1-NFE

SimWAM 的延迟优势很容易被一句“推理时不生成未来”说得过头。

论文在单张 NVIDIA A100 上测试,标准配置使用 10 个动作 Flow 采样步:

动作采样步数 PDMS 延迟
1 68.9 115 ms
5 90.1 297 ms
10 90.3 518 ms
20 90.2 968 ms

这说明 SimWAM 省掉的是未来视频生成的开销,不是把动作生成也压缩成一次前向。标准配置仍需要 10 步 Flow 采样;直接降到 1 步时,PDMS 会从 90.3 大幅降到 68.9。

因此,SimWAM 与“1-NFE 动作生成”解决的是两个不同瓶颈:

  • SimWAM:去掉测试时的未来视频 rollout;
  • 1-NFE 方法:继续压缩动作 Flow 本身的迭代采样。

两条路线并不冲突,反而很可能可以叠加。对真正追求高频控制的端侧系统而言,SimWAM 已经砍掉了最昂贵的视频生成支路,但 297—518 ms 的动作采样延迟仍有继续优化的空间。

分辨率消融也体现了同样的工程取舍。从 $192\times352$ 提升到 $384\times672$,PDMS 增加 1.4 分,延迟只增加 9 ms;再升到 $768\times1344$,只多 0.3 分,却又增加 55 ms。因此作者选择 $384\times672$ 作为精度与计算量的折中。

可替换的视频老师,是 SimWAM 最实用的地方

视频专家和动作专家不共享权重,只通过统一注意力接口的交互。这意味着,视频生成模型升级时,不必重写动作专家和推理流程。

论文替换了四种视频骨干:

视频模型 PDMS
LTX-Video 88.7
Wan2.1-1.3B 90.2
Cosmos2.5 90.4
Wan2.2-5B 90.3

经过驾驶视频预训练的 Cosmos2.5 得分最高,而轻量 LTX-Video 明显较低。这既说明接口确实可替换,也说明“老师的动态先验质量”仍然重要:架构解耦不等于随便换一个视频模型都同样有效。

动作专家也能独立缩放。其规模从 0.21B 增加到 1.02B 时,PDMS 从 89.9 稳步升至 90.3。实际部署时,可以让大视频专家只在训练集群里工作,再根据车端预算选择较小的动作专家。

强化学习究竟把车开得哪里不一样

论文给出的两个案例很直观。只做模仿学习的 Ours-IL 在路口和狭窄街道上更保守,轨迹向前推进较短;加入强化学习后,Ours-RL 沿导航方向走得更远,同时仍保持在可行驶区域内,并与周围车辆留出安全距离。

这并不是说强化学习让车辆“更激进”,而是它开始直接权衡安全、合规与前进效率,不再只追求复刻数据中的单条专家轨迹。

图 2 两个 NAVSIM 场景中的 Ours-IL 与 Ours-RL:红圈标出强化学习后轨迹推进更充分的位置


零样本迁移不错,但还不能等同于真实道路验证

作者把只在 NAVSIM 上训练的 SimWAM 直接拿到 nuScenes 做开放环规划,没有微调,也没有使用地图、3D 占据或检测框等额外监督。

它取得了 0.96 m 的平均 L2 误差0.04% 的平均碰撞率。后者是论文表中最低值,说明学到的动态先验在数据集变化后仍表现出较好的安全性。

不过这里必须划清边界:

  • NAVSIM 是非反应式规划 benchmark,不是车辆与环境实时交互的闭环实车实验;
  • nuScenes 结果是开放环评估,低碰撞率不等于已经通过真实道路闭环验证;
  • 论文证明的是“训练期未来视频监督可以提升规划”,没有证明生成的未来视频就是唯一真实未来。

所以,SimWAM 更适合被理解为一个干净、强劲且便于扩展的研究基线,而不是一套已经可以直接上车量产的完整自动驾驶系统。

想自己跑起来:先做一条样本的 Smoke Test

官方仓库已经放出代码与权重。环境使用 Python 3.10:

git clone https://github.com/H-EmbodVis/SimWAM.git
cd SimWAM

conda create -n simwam python=3.10 -y
conda activate simwam

python -m pip install -r requirements.txt
python -m pip install -e navsim --no-deps
python -m pip install -e . --no-deps

数据仍需按照 NAVSIM v1.1、nuPlan 与地图资源的官方说明准备。完成模型和数据准备后,可以先用作者提供的监督学习权重做单样本检查:

CKPT=./weights/SimWAM.pt \
TASK=navsim_uncond_front_384x672_1e-4 \
NPROC_PER_NODE=1 \
bash experiments/navsim/run_eval_navsim.sh \
  EVALUATION.max_samples=1 \
  EVALUATION.num_inference_steps=2 \
  EVALUATION.save_videos=false

这条命令的用途是确认环境、权重和数据路径能否跑通,并不复现论文的 10 步完整精度。论文给出的监督训练脚本默认是 4 个节点、每节点 8 个进程;因此,从头训练不是普通单卡“快速开始”,建议先做 smoke test,再根据自己的硬件修改并行配置。

最后:世界模型可以留在训练场,不必一直坐在驾驶座上

SimWAM 最值得记住的,不是又叠了一套更复杂的自动驾驶模块,而是它重新安排了世界模型出现的时间。

过去的逻辑是:每次开车前,先把未来生成出来。

SimWAM 的逻辑则是:让未来视频在训练阶段塑造动态表征,部署时只保留真正负责行动的路径。

这背后是一条很有普适性的工程原则:昂贵的生成过程如果主要承担“教会模型理解世界”的作用,就不一定要原样保留到部署阶段。

对自动驾驶如此,对机器人控制也一样。训练可以允许模型慢慢想、反复模拟;真正上车、上机器人之后,系统需要留下的是那些已经被压进策略里的有效知识,以及一条足够短、足够稳定的行动链路。

点赞收藏
// 评论0
0 / 500
还没有评论,快来抢沙发