VLA VLM + DiT
导言
自动驾驶 VLA(Vision-Language-Action)模型中,VLM 和 DiT 是两个核心组件。但很多人会有一个常见误解:DiT 是用来生成图片的。实际上,在自动驾驶场景中,DiT 更多是作为动作/轨迹生成器,而非图像生成器。
VLM 负责"看懂路况和指令",DiT 负责"生成一段连续、平滑、多模态的驾驶动作/轨迹"。
1. VLM + DiT 大概长这样¶
典型流程可以理解为:
多视角相机 / BEV / 地图 / 导航指令
↓
VLM / 视觉语言模型
↓
场景语义、道路关系、目标意图、文本/视觉条件 c
↓
DiT / Diffusion Transformer
↓
未来轨迹 / waypoints / steering-throttle-brake 序列
↓
控制器执行
DiT 生成的对象通常是:
或者:
不是生成摄像头图片。
2. 那为什么不用 VLM 直接输出动作?¶
因为 VLM/LLM 天然擅长的是:
- 看图理解
- 语言推理
- 场景解释
- 高层决策,比如"前方行人,减速等待"
但自动驾驶最终需要的是:
- 连续数值
- 高频控制
- 平滑轨迹
- 对多种可能驾驶意图建模
让 VLM 直接吐文本,比如:
或者离散 token:
可以做,但有几个问题:
-
连续控制离散化会损失精度 方向盘角度、加速度、刹车都不是天然的文字 token。
-
容易不平滑 逐 token 输出动作,可能前后不一致。
-
多模态场景难处理 比如前方慢车:可以跟车、变道、减速、等待。 普通回归模型容易学出一个"平均动作",例如夹在两条车道中间,这很危险。
-
驾驶是一个 action chunk,不是一个单步动作 车要执行的是未来几秒的一段轨迹,而不是下一瞬间一个孤立动作。
3. DiT 在这里"生成"的是什么?¶
扩散模型的本质不是"生成图片",而是:
从噪声中逐步恢复一个符合条件的数据样本。
在图像生成里,样本是图片; 在自动驾驶 VLA 里,样本可以是轨迹或动作序列。
训练时:
推理时:
所以它"生成"的是:
不是图片。
4. 为什么 DiT 特别适合动作/轨迹?¶
4.1 处理多模态动作¶
驾驶里经常不是唯一答案。
例如,当前车道前方有慢车时,合理选择可能有:
- 继续跟车
- 左变道
- 右变道
- 提前减速
- 等待更安全时机
普通 L2 回归可能学出平均轨迹:半个跟车 + 半个变道,结果可能就是车骑在线上。
扩散模型可以采样多个候选:
然后再用安全约束、打分器、规则模块选一个。
Diffusion Policy
Diffusion Policy 论文将这种方法用于机器人动作生成,强调它适合多模态动作分布、高维动作空间和稳定训练。
4.2 生成连续、平滑的动作序列¶
自动驾驶不是输出一句话,而是输出一段未来轨迹:
DiT 可以把这些 future waypoints 当成一串 token/向量来建模,通过 Transformer 捕捉时间关系,让轨迹更连贯。
4.3 比 VLM 更适合低层控制¶
VLM 可以回答"前方有行人,应减速",但它不一定擅长直接给出"未来 4 秒每 0.1 秒的 steering / throttle / brake"。
所以很多 VLA 架构会把系统分成两层:
VLA survey 里也把 "VLM + Diffusion Action Head" 和 "VLM + Diffusion Transformer" 作为典型结构,作用就是把 VLM 的泛化理解能力和扩散模型的连续动作生成能力结合起来。
5. 和"生成图片"的 DiT 有什么关系?¶
DiT 原始出名确实是在图像生成里:它把扩散模型里常见的 U-Net 换成 Transformer,用于 latent image diffusion。
但这只是 DiT 的一个应用。
更抽象地说,DiT 是:
它可以去噪:
- 图片 latent
- 视频 latent
- 机器人动作
- 自动驾驶轨迹
- BEV occupancy
- 多智能体轨迹
Common Pitfall
听到"DiT",不应自动等同于"生成图片"。DiT 是一种架构范式,应用范围远超出图像生成。
6. 自动驾驶里的实际应用¶
VDT-Auto 是一个 "VLM-guided Diffusion Transformer" 自动驾驶方案:VLM 提供场景理解,BEV 特征和文本嵌入作为条件,DiT 负责动作/路径生成。
DiffusionDrive 说明了为什么自动驾驶会考虑 diffusion:它用于生成多样化、合理的驾驶动作/轨迹,并且专门处理实时性问题,比如减少去噪步数。
7. 但 DiT 不是必须的¶
"VLA = VLM + DiT" 是一种流行架构,不是唯一架构。
也可以是:
- VLM + MLP action head
- VLM + autoregressive action tokens
- VLM + diffusion head
- VLM + flow matching head
- VLM + MPC / PID controller
- VLM + rule-based planner
如果任务简单、动作维度低、场景不太多模态,普通回归头也能做。
DiT 的价值主要在于:
直观类比¶
可以这么理解:
结论
VLA 中的 VLM + DiT,不是为了生成图片,而是把扩散生成的能力从"生成图像"迁移到"生成动作/轨迹"。VLM 负责理解场景,DiT 负责生成连续、平滑、可执行的多模态驾驶轨迹。
参考文献¶
- Diffusion Policy: https://arxiv.org/abs/2303.04137
- VLA Survey: https://vla-survey.github.io/data/paper.pdf
- DiT: https://arxiv.org/abs/2212.09748
- VDT-Auto: https://arxiv.org/abs/2502.20108
- DiffusionDrive: https://openaccess.thecvf.com/content/CVPR2025/papers/Liao_DiffusionDrive_Truncated_Diffusion_Model_for_End-to-End_Autonomous_Driving_CVPR_2025_paper.pdf