视觉-语言-动作模型(VLA)
视觉-语言-动作模型(Vision-Language-Action,VLA)把视觉观测、语言条件或语言预训练表征与动作预测结合起来。对自动驾驶而言,关键问题是如何把“理解道路”转化为有坐标、时间与执行约束的驾驶行为。本节聚焦动作接口、训练数据与闭环验证;语言规划方法见基于 VLM 的决策与规划。
1. VLM、VLA 与端到端驾驶的关系
| 路线 | 典型输出 | 语言的作用 | 需要验证的能力 |
|---|---|---|---|
| 视觉语言模型(VLM) | 描述、问答、语义标签 | 输入、输出或预训练监督 | 场景理解与证据一致性 |
| VLM 辅助规划 | 行为建议、代价或约束 | 辅助独立规划器 | 建议是否被正确转换和执行 |
| VLA | 动作序列或可供控制器执行的轨迹 | 指令条件、推理表征或训练监督 | 语义接地、动作有效性与闭环表现 |
| 端到端驾驶 | 轨迹或车辆控制量 | 可以没有语言 | 传感器到行为的联合优化效果 |
这些类别存在交集。端到端模型不一定是 VLA,VLA 也不一定每次都生成一段自然语言解释。介绍某个系统时,应明确语言是在训练、在线条件输入还是运行时推理中发挥作用,不能只根据产品名称判断架构。
“前方应当减速”是一条语义建议;“未来三秒的速度和位置序列”才具有可检查的动作含义。即便动作是轨迹而不是油门、制动,整个系统仍需要跟踪控制器与执行器模型。
2. 从多模态输入到动作
一个驾驶 VLA 的抽象接口为:
其中 \(I\) 是带时间与相机标定信息的图像历史,\(z\) 是自车状态及系统可用的其他观测,\(c_t\) 是导航或语言条件,\(H\) 是输出时域。模型可使用其他传感器;“视觉”不意味着接口只能接收图像。
典型处理顺序是:多视角与时序编码 → 多模态融合 → 动作解码 → 有效性检查 → 轨迹跟踪或控制执行 → 新观测。有效性检查还应考虑动作到达时的状态,避免把对旧画面正确的轨迹用于已变化的交通环境。
2.1 动作表示的选择
| 表示 | 示例 | 优势 | 工程代价 |
|---|---|---|---|
| 离散动作 Token | 将转角、加速度或轨迹坐标量化 | 可复用序列预测训练方式 | 量化误差、序列长度、解码顺序影响时延 |
| 连续轨迹回归 | 自车坐标下的位置、航向与速度 | 接口明确,易接传统控制器 | 多种合理行为可能被平均,需处理多模态输出 |
| 生成式动作头 | 通过扩散或流匹配采样轨迹 | 可表达多种可行未来 | 采样成本、随机性与候选选择需评估 |
| 底层控制序列 | 转向、油门、制动 | 直接连接执行接口 | 对车辆参数、执行延迟和训练分布更敏感 |
以上是设计选项,不能据此推断所有 VLA 都采用相同动作头。横向比较时需要统一预测时域、采样间隔、控制器和车辆参数。
2.2 动作块与滚动执行
一次输出多个未来动作称为动作分块(Action Chunking)。系统通常只执行前一小段,再根据新观测重新预测。较长动作块能减少模型调用,但会增加对旧观测的依赖;较短动作块则提高计算和调度负担。
接口至少要定义坐标原点、单位、动作时间戳、轨迹有效期、更新频率,以及两次预测之间如何衔接。不能把“预测未来五秒”误解为“五秒内无需再看道路”。
2.3 显式推理与隐式表征
显式语言推理便于检查模型是否关注到关键对象,但增加输出长度;隐式动作预测可以减少文字解码开销,但需要其他诊断手段。两者都应以实际动作验证。自然语言解释可能只是与决策相关的描述,不能单独作为真实因果过程的证明。
2.4 动作头如何训练与解码
离散化动作时,需要保存训练时的量化区间与反归一化参数。以均匀划分的标量动作 \(u\in[u_{\min},u_{\max}]\) 为例,将区间分为 \(B\) 个桶,每个桶宽度为 \(\Delta u=(u_{\max}-u_{\min})/B\);解码为桶中心时,区间内的量化误差不超过 \(\Delta u/2\)。这一界限不包含越界裁剪、预测错误和动作执行误差。直接增加桶数也有代价:类别更稀疏,动作序列可能更难学习。
连续回归避免了量化,但单一均方误差目标可能将“向左绕行”和“向右绕行”平均为穿过障碍物的轨迹。可采用多候选轨迹、意图条件化或生成式动作头表达多种可能,再通过可部署的选择器评估可行性。离线用真实未来挑选最优候选得到的分数,应标明是上界分析;车辆运行时无法使用这样的选择器。
流匹配(Flow Matching)提供了一种连续生成方式:学习从噪声动作块到示范动作块的变换。简化的线性插值目标为:
其中 \(A^*\) 是专家动作块,\(\epsilon\) 是同维噪声,\(\tau\in[0,1]\) 是生成过程的时间,不是车辆行驶时间。推理时从噪声出发,数值积分学习到的向量场得到动作块。\(\pi_0\) 展示了视觉语言基座与流匹配动作生成结合的机器人研究路线;上式用于说明方法,不代表所有模型都采用同一插值或训练配置。\(\pi_0\) 论文
动作生成器的采样步数、候选数与选择器耗时都应计入推理预算。比较两种动作头时,建议同时报告相同预算下的闭环表现与实际延迟,避免将更多采样算力带来的收益全部归因于架构。
2.5 多视角与时序接地
单帧图像难以区分停在路边的车辆和正在并入车道的车辆。多帧输入可以提供运动线索,但历史帧越多,计算与缓存开销越大。下面几项应纳入模型和数据接口设计:
| 设计点 | 需要保留的信息 | 可定位问题的实验 |
|---|---|---|
| 相机身份与标定 | 视角编号、内外参、标定版本 | 遮蔽单相机,检查侧向目标相关失败 |
| 时序编码 | 采集时间、帧间隔、自车运动 | 改变帧间隔,检查速度理解是否退化 |
| 图像压缩 | 小目标、交通灯和远处可通行区域 | 分辨率或视觉 Token 数量扫描 |
| 历史缓存 | 当前路线、指令版本、场景重置标记 | 切换任务后检查是否沿用旧意图 |
缺帧不能用重复旧帧悄悄替代而不提供时间信息,否则模型可能将“没有新观测”误解为“目标没有运动”。应将缺失标记与实际时间戳一起处理,并用与部署一致的丢帧模式做评测。
3. 从机器人 VLA 到驾驶 VLA
下面选取公开研究用于说明不同接口和证据类型,不作为产品能力排名。
| 工作 | 研究对象与方法 | 对驾驶的启发 | 证据边界 |
|---|---|---|---|
| OpenVLA(2024) | 用视觉语言基座与机器人示范学习操作策略 | 语言与动作对齐、适配新任务 | 机器人操作结果不能直接证明道路驾驶能力 |
| \(π_0\)(2024) | 视觉语言基座结合流匹配动作生成的机器人策略 | 连续动作块与生成式解码 | 操作任务证据不代表车辆控制与道路安全验证 |
| LMDrive(2023 预印本) | 融合多模态传感器与自然语言指令的闭环驾驶框架,提出 LangAuto | 指令跟随必须与闭环执行共同评价 | 仿真条件下的结果不等同于道路泛化 |
| EMMA(2024) | 将轨迹、感知对象与道路图等输出放入统一语言表示 | 探索多任务共享与轨迹语言化 | 论文中的任务指标不能单独证明车端实时部署能力 |
迁移时必须重新处理动作空间与动力学:机械臂的末端位姿和夹爪动作,与车辆曲率、速度和制动并不等价。驾驶还涉及高速运动、多参与者响应、交通规则与长时间连续执行。可迁移的是表征与训练思路,控制接口和评测证据需要重新建立。
4. 数据构建与训练流程
4.1 一条样本应包含什么
| 数据项 | 示例 | 质量检查 |
|---|---|---|
| 历史观测 | 多相机视频、自车速度、可用导航 | 时间对齐、标定一致、无未来帧混入 |
| 语言条件 | “经过路口后靠右停车” | 参照物清楚、时序条件可判断 |
| 专家动作 | 未来轨迹或控制序列 | 坐标正确、车辆可执行、标注时刻明确 |
| 辅助标签 | 信号灯状态、让行对象、风险描述 | 有观测证据,区分事实与推断 |
| 元数据 | 日志、城市、天气、来源、接管事件 | 可追踪、可分组划分、可审计 |
用完整视频生成训练解释时,标注器可能看到未来行人或后续交通灯变化。若把这些信息写进模型当前时刻可见的指令,就产生未来信息泄漏。应限制条件标注的可见时间范围,并将仅用于离线监督的标签与在线输入隔离。更多数据流程见数据标注与闭环。
4.2 分阶段训练
- 多模态适配:建立视觉特征、道路语义和导航条件之间的对应关系,检查多视角与时序信息是否保留。
- 动作监督学习:用驾驶示范学习轨迹或控制。离散动作可用交叉熵,连续轨迹可用回归损失,生成式动作头按其目标训练。
- 闭环纠偏:在仿真中收集偏离专家轨迹后的状态,通过专家重新标注、困难场景采样或奖励优化改善恢复行为。
- 部署适配:压缩或蒸馏后重新评测动作质量、时延和长尾退化,而不是仅检查语言问答能力。
示意性的联合目标为:
各项是否使用取决于模型设计。轨迹平滑或碰撞惩罚可作为训练信号,但损失降低不构成运行时约束必然满足的保证。还应检查语言任务是否挤占动作学习容量,以及模型是否忽略指令、仅靠视觉和路线先验完成任务。
4.3 语言增益要通过消融确认
在相同数据划分和近似算力预算下,对比有语言、无语言、同义改写与错误条件。仅删除语言后得分下降,可能只是接口分布发生变化;需要合理训练的无语言基线,以及同场景下真正要求不同动作的指令对,才能分析语言的贡献。
4.4 纠偏数据:从行为克隆到 DAgger
行为克隆(Behavior Cloning,BC)在专家访问过的状态上拟合动作。部署时一个小误差就可能让车辆进入示范中没有出现过的状态,后续误差随闭环反馈累积。仅增加专家正常驾驶里程,不一定能补齐这些恢复状态。
数据集聚合(Dataset Aggregation,DAgger)的核心是让策略访问状态,再请专家为这些状态提供动作标签,将新数据加入训练集。它针对的是策略诱导的分布变化,而不仅是增加数据量。Ross 等人的原始论文
在仿真驾驶中,可按以下流程实现这一思路:
- 用专家示范训练初始策略,并冻结一组独立验证场景。
- 在训练场景运行当前策略,保存偏离路线、延迟让行和控制振荡前后的观测与状态。
- 由经过验证的专家规划器或人工审查给出恢复轨迹;专家应从策略实际到达的状态出发,不能直接粘贴原日志轨迹。
- 对无法恢复、已碰撞或专家求解失败的片段单独标记,不伪造“正常驾驶”标签。
- 混合原始示范与新纠偏数据,控制场景采样权重后重新训练,再检查正常驾驶与恢复能力是否同时改善。
专家可以使用仿真真值生成离线标签,但学生的输入仍应遵守部署接口。若专家利用了学生不可能观测到的信息,应分析标签是否可学习,例如完全遮挡的行人尚未显现时,学生无法仅凭当前画面复现专家的精确时机。
4.5 强化学习与奖励失配
在有可靠仿真反馈时,可用强化学习(Reinforcement Learning,RL)优化长期回报,例如任务完成、效率与舒适性。下面是设计示意,并非推荐的通用权重:
其中 \(\Delta s_t\) 是沿目标路线的进度,\(j_t\) 是加加速度。仅有这些项仍不充分:过大的碰撞惩罚可能鼓励原地不动,单纯奖励进度可能鼓励切弯或越界,过重的舒适性惩罚又可能抑制必要制动。
因此,应将训练奖励与评测指标分开保存,明确终止条件、折扣因子、超时行为和交通规则约束。每次调整奖励,都应检查策略是否利用了仿真漏洞或评分漏洞;最终测试场景不能继续用于奖励调参。
4.6 一个可执行的消融计划
| 对照实验 | 保持一致的条件 | 要回答的问题 |
|---|---|---|
| 合理训练的无语言基线 vs. VLA | 数据分区、路线输入、车辆与控制器 | 语言是否增加有效任务能力 |
| 单帧 vs. 历史帧 | 相机覆盖,报告额外计算成本 | 时序信息是否改善交互判断 |
| 仅正常示范 vs. 加入纠偏数据 | 基座、评测集、训练预算记录 | 提升来自恢复能力还是额外训练 |
| 不同动作头 | 预测时域、更新周期、近似推理预算 | 动作表示与解码的实际收益 |
| 原模型 vs. 蒸馏模型 | 目标硬件、时延计时边界 | 压缩造成了哪些场景退化 |
应保存每项实验的训练种子、数据清单、检查点与运行配置。没有某项资源时,缩小问题范围并写清限制,比同时改变模型、数据和仿真配置后给出单一分数更有解释力。
5. 仿真如何支持 VLA 训练与评测
仿真既可生成带动作真值的交互样本,也可暴露模仿学习的分布偏移。两种用途应使用隔离的场景集:训练时可反复挖掘失败案例,最终评测则冻结场景、语言模板与评分规则。
建议采用逐级验证:
| 阶段 | 检查内容 | 不能替代的后续验证 |
|---|---|---|
| 开环检查 | 格式合法、坐标正确、轨迹误差、指令理解 | 无法检验动作引起的状态变化 |
| 闭环驾驶 | 完成率、碰撞、越界、停滞、舒适性 | 依赖仿真动力学和交通模型 |
| 语义扰动 | 同义改写、歧义、冲突、延迟与撤销 | 不能仅以文本回答是否正确评分 |
| 时延与故障注入 | 推理超时、缺帧、传感器退化 | 需要目标硬件测量支撑延迟模型 |
| 迁移验证 | 保留地点、不同仿真配置、封闭场地 | 仿真优势不自动转化为真实道路优势 |
可复现配置、生成式仿真的边界与语言测试矩阵见闭环仿真与策略评测。评测时应分别报告原始模型行为、保护层干预与系统最终行为,防止保护层掩盖模型缺陷。
6. 部署时的约束与故障处理
VLA 输出进入执行链路前,应检查格式、有限数值、时间有效性、动力学可行性与可通行区域。超时、空输出和轨迹异常必须有明确处理规则;不能假定语言模型总会给出可执行答案。
语言输入也需要区分来源。授权的导航指令、乘客请求和摄像头看到的路牌文字有不同语义;路边广告中的命令式文本不应直接修改任务目标。合法用户指令与现场约束冲突时,应由系统任务与安全策略处理,不能让模型自行绕过约束。
保护层和回退策略同样需要验证,突然制动并非所有场景下的安全解法。部署评测应覆盖旧轨迹保持、重新规划、控制器切换和降级期间的行为连续性。详细工程方法见部署与优化及端到端安全与部署。
7. 贯穿案例:经过路口后靠右停车
设任务发生在仿真园区道路,指令为“通过前方路口后,在右侧指定停车区停车”。地图中已定义合法目标区域,因此本例测试时序理解和执行,不要求模型自行解释当地停车法规。
| 环节 | 输入或产物 | 判定重点 |
|---|---|---|
| 条件接地 | 指令、路线、可见路口与停车区 | 区分“路口前”“路口后”和目标区域 |
| 时序理解 | 最近的多视角观测、自车状态 | 识别是否已越过路口,是否有侧后方来车 |
| 动作生成 | 带时间戳的候选轨迹 | 轨迹留在可通行区域,并能达到指定终态 |
| 滚动执行 | 新观测、更新后的轨迹 | 行人出现时重新规划,不盲目执行旧动作块 |
| 结果评分 | 几何状态、速度、事件日志 | 目标区域内停车、任务完成时间、违规与干预 |
测试变体可包括将“路口后”改成“路口前”、停车区被占用、指令在通过路口后才到达,以及靠边过程中行人进入目标区域。若停车区不可用,应按预先定义的任务协议记录等待、重新规划或未完成;不能强迫所有场景都以停车成功结束。
失败分析要定位到可观察证据:选错停车区可能是指令接地问题;选对区域但绕行失败可能是规划问题;轨迹正确却发生过冲可能是控制或延迟问题。保存文本、轨迹和执行结果,才能区分这三类失效。
参考资料
- Kim et al. — OpenVLA: An Open-Source Vision-Language-Action Model,2024。
- Shao et al. — LMDrive: Closed-Loop End-to-End Driving with Large Language Models,2023 预印本。
-
Hwang et al. — EMMA: End-to-End Multimodal Model for Autonomous Driving,2024。
-
Black et al. — π₀: A Vision-Language-Action Flow Model for General Robot Control,2024。
- Ross et al. — A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning,2011。