[{"content":"📄 论文信息 标题：DriveVLM: The Convergence of Autonomous Driving and Large Vision-Language Models 来源：上海交通大学 × 蔚来（NIO） 关键词：VLM、场景理解、空间推理、双系统架构 一句话总结：用 VLM 做自动驾驶的\u0026quot;大脑\u0026quot;，理解场景 + 推理决策，再用一个小模型保证实时性。 🤔 要解决什么问题？ 传统自动驾驶 pipeline 能做检测、跟踪，但缺乏\u0026quot;理解\u0026quot;和\u0026quot;推理\u0026quot;能力：\n能识别\u0026quot;前方有锥桶\u0026quot;，但不懂\u0026quot;因为施工所以要变道绕行\u0026quot; 能检测\u0026quot;雨天\u0026quot;，但不会推理\u0026quot;路滑所以要提前减速\u0026quot; 能看到\u0026quot;路口有交警\u0026quot;，但不会推理\u0026quot;交警手势优先级高于红绿灯\u0026quot; 人类开车靠的是对场景的语义理解和因果推理，而这正是大语言模型（LLM）的强项。规则系统无法枚举所有 corner case，而 VLM 可以借助预训练知识做\u0026quot;举一反三\u0026quot;。\n核心问题：如何让 VLM（视觉语言模型）的推理能力服务于自动驾驶决策？更进一步——如何让又大又慢的 VLM 真正跑在车端？\nDriveVLM 给出的答案是两步走：先把推理流程结构化（CoT），再用双系统架构解决实时性。\n💡 核心思路：CoT 场景推理 DriveVLM 设计了一套**思维链（Chain-of-Thought）**式的场景理解流程，模拟人类司机的思考过程：\n描述 → 分析 → 提取 → 推理\n先看清楚 → 想明白 → 再行动。这四步不是随意切分，而是对应人类从\u0026quot;看到\u0026quot;到\u0026quot;想到\u0026quot;再到\u0026quot;决定\u0026quot;的认知链条。\nM1 场景描述（Describe） 这一步要说清楚\u0026quot;我在哪、周围有什么\u0026quot;。模型输出对自车状态和环境元素的客观描述，分三类枚举：\n交通参与者：轿车、卡车、行人、骑行者、交警…… 交通信号与标识：红绿灯、停止线、限速牌、施工标志…… 道路结构与障碍：车道线、护栏、锥桶、施工围挡…… 📍 例子： \u0026ldquo;本车行驶在城市双向两车道上，前方约 20 米有一辆白色厢式货车正缓慢行驶；右车道被一排施工锥桶占用；路口东侧有一个红绿灯当前显示为绿灯剩余 3 秒；右侧人行道上有两名行人正朝路口走来。\u0026rdquo;\n注意，这一步只描述，不下判断——先把场景\u0026quot;拍下来\u0026quot;，避免过早决策漏掉关键信息。\nM2 场景分析（Analyze） 在描述的基础上，评估每个目标的状态、属性及其对自车的潜在影响：\n目标的运动状态：速度、朝向、是否在加速/减速 目标的空间关系：相对距离、所在车道、与自车的相对位置 目标的潜在影响：会不会变道、会不会闯红灯、是否构成风险 📍 例子： \u0026ldquo;前方货车速度明显低于本车（约 15 km/h），且其右车道已被锥桶封闭，短期内无法避让；红绿灯即将变黄，本车按当前速度无法在变灯前通过路口；右侧行人虽然还在人行道，但步速较快，预计会在本车到达路口时进入斑马线。\u0026rdquo;\n这一步把\u0026quot;看到的事实\u0026quot;升级成\u0026quot;懂的含义\u0026quot;，是从感知到推理的关键过渡。\nM3 关键目标提取（Extract） 真实场景里目标几十上百个，全盘推理既慢又没必要。这一步用一套拓扑关系筛出当前最影响决策的目标：\n与自车交互最强的目标（同车道前车、汇入车辆） 具有高风险的目标（行人、电动车、施工区） 具有高不确定性的目标（打灯未变道、犹豫的行人） 提取后形成一个关键目标集合，后续推理只围绕它们展开。\n📍 例子： 当前关键目标 = {前方货车, 右侧行人, 红绿灯}，其余车辆因距离远或车道无关而被剔除。\nM4 推理决策（Reason） 最后一步基于上述三个模块的输出，给出明确的驾驶决策和理由：\n📍 例子： \u0026ldquo;由于前方货车速度过低且右车道施工封闭，本车应减速跟车而非强行变道；同时红绿灯即将变黄，应准备在停止线前停车；右侧行人可能在变灯时进入斑马线，需保持观察并随时制动。最终决策：缓慢减速，准备停车。\u0026rdquo;\n这一步的输出不仅是动作，更包含可解释的因果链——这是 VLM 路线相比黑盒端到端的巨大优势。\n四步对比一览 步骤 作用 关注什么 输出形式 例子 M1 描述 客观陈述场景 元素存在性 自然语言清单 \u0026ldquo;前方有施工锥桶，右侧有行人\u0026rdquo; M2 分析 评估状态与影响 运动/空间关系 带属性的描述 \u0026ldquo;锥桶占据左车道，行人靠近路边\u0026rdquo; M3 提取 聚焦关键目标 拓扑重要性 目标集合 \u0026ldquo;施工区域是当前主要风险\u0026rdquo; M4 推理 得出决策 因果链 决策+理由 \u0026ldquo;需减速并变道至右车道\u0026rdquo; 为什么不直接\u0026quot;看图出决策\u0026quot;？ 一个自然的疑问：为什么不让 VLM 直接从图像输出动作？ 实验表明，直接映射有两个问题：\n幻觉严重：模型会编造场景中不存在的东西（凭空出现一辆车） 推理跳跃：跳过中间步骤，决策缺乏依据，出错难定位 CoT 把一个大跳跃拆成几个小步骤，每步可验证、可监督，既提升准确率，也带来可解释性——这也是 LLM 领域\u0026quot;think step by step\u0026quot;在驾驶场景的迁移。\n⚙️ 关键创新：DriveVLM-Dual 双系统架构 VLM 虽然聪明，但推理慢（单次推理几百毫秒到数秒），无法满足车端实时性（规划通常需要 10Hz+）。作者借鉴卡尼曼《思考，快与慢》中的双系统理论，设计了 DriveVLM-Dual：\n🐢 慢系统（VLM 大模型）：深度推理，频率低（几秒一次），处理复杂/罕见场景 ⚡ 快系统（轻量网络）：高频运行，实时输出控制，处理常规场景 两者通过触发机制和条件融合协同工作。\n快系统：高频实时 快系统是一个轻量化 CNN/Transformer，输入多帧图像和传感器数据，直接输出轨迹或控制量。它的特点：\n频率高：10Hz 以上，保证平顺性和安全性 覆盖常规场景：直线行驶、跟车、普通变道等 不擅长长尾：对施工、复杂路口、突发情况理解不足 可以理解为\u0026quot; reflex 反射弧\u0026quot;——大部分时间它在开车。\n慢系统：低频深度推理 慢系统就是上文的 VLM + CoT，输出的是高层语义指导：\n场景描述（M1） 关键目标集合（M3） 高层决策意图（M4，如\u0026quot;减速准备停车\u0026quot;\u0026ldquo;变道绕行\u0026rdquo;） 注意慢系统不直接输出最终轨迹，而是给快系统当\u0026quot;指挥官\u0026quot;。\n关键场景触发机制 慢系统很贵，不能一直开。**触发器（Trajectory Trigger）**负责判断\u0026quot;当前是否需要请慢系统出山\u0026quot;：\n触发条件 说明 目标突变 前车急刹、有车强汇入、行人闯入 特殊路况 施工区、事故、临时管制 复杂拓扑 多岔路口、无保护左转、环岛 异常天气 雨、雪、雾影响感知 快系统置信度低 快系统对自己的输出\u0026quot;没把握\u0026quot; 定时兜底 即使无异常，每隔几秒也跑一次 触发器本质上是一个轻量分类器，把\u0026quot;是否复杂\u0026quot;做成一个可学习的判断，避免人工写死规则。\n双系统的融合方式 慢系统被触发后，它的输出如何\u0026quot;指导\u0026quot;快系统？大致是条件注入的思路：\n慢系统输出（描述/关键目标/决策意图） ➜ 编码为条件向量 ➜ 作为额外输入拼到快系统 ➜ 快系统输出最终轨迹\n这样设计的好处：\n快系统始终在跑，保证实时性 慢系统的指导像\u0026quot;提词器\u0026quot;，把语义信息注入到低层规划 即使慢系统偶尔延迟，快系统也能维持基本安全 维度 慢系统（VLM） 快系统（轻量网络） 频率 低（~0.2–1Hz） 高（10Hz+） 算力 大 小 擅长 语义推理、长尾 实时反应、常规场景 输出 高层决策指导 轨迹/控制量 类比 人脑\u0026quot;深思\u0026quot; 人脑\u0026quot;反射\u0026quot; 这套设计的精髓在于：用频率解耦\u0026quot;深度\u0026quot;和\u0026quot;速度\u0026quot;——重要的不是让 VLM 跑得多快，而是让它在关键时刻\u0026quot;点一下\u0026quot;。\n🧪 训练策略与数据 DriveVLM 不只是\u0026quot;调一个 GPT-4V\u0026quot;，而是有完整的训练 pipeline。\n基座模型选择 作者选用 Qwen-VL 系列作为基座（实验中也对比了 InternVL 等），原因：\n中文场景描述能力强（适配国内路况标注） 开源可微调，便于车端部署 视觉编码器（ViT）与 LLM 部分解耦，便于优化 视觉-语言对齐 VLM 预训练时见的多是\u0026quot;网络图片 + 描述\u0026quot;，驾驶视角图像与日常照片差异巨大（鱼眼、多摄、低光照）。对齐的关键：\n视觉编码器用驾驶图像继续预训练，让 token 编码适配车端视角 多视图融合：把环视多摄像头图像分别编码后拼接，让模型有 360° 视野 时序信息：用少量历史帧提供运动线索，弥补单帧看不出速度的问题 训练阶段与 loss 设计 训练分多个阶段，逐步解锁能力：\n阶段 数据 目标 loss 阶段 1：对齐预训练 大量驾驶图像 + 简短描述 视觉-语言对齐 图文对比 + 描述生成（CE） 阶段 2：CoT 监督微调 标注的四步推理样本 学会 Describe/Analyze/Extract/Reason 逐步骤交叉熵（SFT） 阶段 3：决策对齐 带决策动作的样本 让推理对齐最终动作 动作回归 + 语言 CE 联合 几个关键设计：\n逐步骤监督：每一步（M1–M4）都有独立标注和 loss，而不是只监督最后决策。这强迫模型\u0026quot;过程正确\u0026quot;，显著降低幻觉 关键目标提取的可学习性：M3 的输出用集合匹配 loss，允许目标顺序不固定 高效微调：大模型部分用 LoRA / QLoRA，只训少量参数，降低显存压力 快系统单独训练：快系统是独立的轻量网络，用海量驾驶轨迹数据训练，与慢系统解耦 🏭 Meta-DriveVLM 数据生成引擎 CoT 监督需要大量带四步推理标注的数据，人工标注又贵又慢。作者提出 Meta-DriveVLM，用 VLM 自己自动生成训练数据——一个\u0026quot;数据飞轮\u0026quot;。\n工作流程 采集驾驶片段 ➜ 关键帧抽取 ➜ 用强 VLM（如 GPT-4V / 标注大模型）生成四步 CoT ➜ 质量过滤 ➜ 入库用于训练小模型\n关键技术点 关键帧采样：不是每帧都标注，而是按\u0026quot;场景变化点\u0026quot;采样（变道、加减速、信号变化），提升数据效率 多模型交叉验证：用多个 VLM 生成描述，取一致部分作为伪标签，过滤单模型幻觉 结构化提示词：用固定 schema 约束输出格式，保证 M1–M4 结构整齐，便于下游训练 人工抽检：抽样人工复核，估算伪标签准确率，反过来迭代提示词 数据飞轮的意义 Meta-DriveVLM 的真正价值在于可规模化：\n人工标注一天几百条，自动生成可达几万到几十万量级 新场景（新城市、新天气）只要采集视频，就能快速产出标注 形成\u0026quot;采集 ➜ 生成 ➜ 训练 ➜ 部署 ➜ 再采集\u0026ldquo;的闭环 维度 人工标注 Meta-DriveVLM 自动生成 速度 慢（小时级/条） 快（秒级/条） 成本 高 低（摊销算力） 一致性 因人而异 模板统一 准确性 高（专家） 中等（需过滤） 规模上限 千-万 万-百万 这也是论文把\u0026quot;数据\u0026quot;作为独立贡献的原因——VLM 落地驾驶的瓶颈不在模型，而在数据。\n🔬 实验与结果 评测数据集 作者在多个 benchmark 上评测：\nDriveVLM 自建数据集：覆盖施工、复杂天气、复杂路口等长尾场景，带 CoT 标注 nuScenes：通用感知与预测基准，做对比验证 SUP-AD 等私有仿真平台：闭环/开环规划评测 关键指标 主要从两个维度看效果：\n1. 推理与决策质量（开环）\n方法 场景描述准确率 决策合理性（人工评分） 纯感知 + 规则 — 基线 GPT-4V 直接推理 中（幻觉多） 中 DriveVLM（CoT） 高 高 2. 规划精度（L2 误差 / 碰撞率）\nDriveVLM-Dual 在长尾场景下相比纯快系统基线有明显提升，同时双系统设计把平均延迟控制在可接受范围。具体数值随 benchmark 差异较大，建议查原论文 Table。\n经验性结论：在常规场景下双系统与纯快系统持平，在长尾场景下显著优于纯快系统——这正是慢系统被触发的时候。\n与 GPT-4V 直接做驾驶推理的对比 一个常见疑问：直接用 GPT-4V 不就行了？ 实测下来差距明显：\n维度 GPT-4V 直接推理 DriveVLM 空间感知 弱（距离/车道判断常错） 强（驾驶数据对齐过） 幻觉 严重（编造目标） 受 CoT 监督约束，显著降低 延迟 数秒（云端调用） 双系统可达车端实时 可控性 黑盒，难微调 可微调、可注入业务约束 成本 每次调用付费 一次性部署 离网可用 否（依赖云） 是（本地部署） 核心结论：通用 VLM 缺的不是智力，而是\u0026quot;驾驶常识\u0026quot;和\u0026quot;车端可部署性\u0026rdquo;，这正是 DriveVLM 微调 + 双系统要解决的。\n失败案例 论文和分析中常见的失败模式：\n夜间/强逆光：视觉编码器失效，描述漏检关键目标，导致 M1 就错了，后续连锁出错 罕见交通手势：训练数据少，模型识别不准 远距离小目标：分辨率不足，行人/电动车在 M3 漏提取 慢系统延迟过大：触发后慢系统没及时返回，快系统只能\u0026quot;盲开\u0026quot;几帧，存在安全隐患 过度推理：简单场景也被触发慢系统，造成算力浪费和平顺性下降 这些失败案例提示：触发器的设计、视觉编码器的鲁棒性、慢系统的延迟预算是工程落地的三大关键。\n🎯 这篇论文的意义 范式验证：证明了 VLM 的推理能力确实能提升自动驾驶决策质量，尤其在长尾场景 工程可行：双系统架构给出了一套\u0026quot;VLM 落地车端\u0026quot;的现实方案，而不只是 demo 数据飞轮：Meta-DriveVLM 展示了用 VLM 反哺数据生成的可能性，把\u0026quot;数据瓶颈\u0026quot;变成可工程化的 pipeline 可解释性：CoT 输出天然带因果链，对安全审计和事故复盘有重大价值 它是 VLA 这条路线在自动驾驶领域的重要奠基工作之一。\n🔗 相关工作延伸 工作 团队 与 DriveVLM 的关系 EMMA Wayve 更激进的端到端多模态大模型，统一感知+规划 DriveVLM-Dual 本文 DriveVLM 的实时化版本 LMDrive 田野 LLM 辅助的端到端驾驶 π0 / π0.5 Physical Intelligence 通用机器人 VLA，Flow Matching 动作头设计可借鉴 GPT-4V / Qwen-VL OpenAI / 阿里 作为基线或数据生成器被对比/使用 📝 个人思考 这篇论文最打动我的不是某个模块设计，而是**\u0026ldquo;用人类思考方式来设计系统\u0026rdquo;这个理念。CoT 推理 + 双系统架构，本质上是在用 AI 架构模拟人类认知机制——人类开车也是\u0026quot;平时靠反射、遇到复杂情况才动脑子想\u0026quot;。这种仿认知结构**的设计哲学，比单纯堆参数或堆数据更有长期价值，因为它对齐了我们已知的最优驾驶智能体（人类司机）的工作方式。\n对工程实践的第一点启发：VLM 落地车端的核心矛盾是**\u0026ldquo;聪明\u0026quot;和\u0026quot;快\u0026quot;不可兼得**，而双系统是一种通用的解法模板——不只是自动驾驶，机器人、具身智能、甚至工业控制都能用。关键不是把大模型蒸馏到多小，而是想清楚**\u0026ldquo;哪些决策需要深思、哪些只需要反射\u0026rdquo;**，把算力花在刀刃上。这个\u0026quot;重要性与算力的匹配\u0026quot;思想，比具体网络结构更值得迁移。\n第二点启发在数据侧。Meta-DriveVLM 让我意识到，大模型时代自动驾驶的护城河正在从\u0026quot;模型结构\u0026quot;转移到\u0026quot;数据闭环\u0026rdquo;。谁能把\u0026quot;采集 ➜ 自动标注 ➜ 训练 ➜ 部署 ➜ 再采集\u0026quot;这条飞轮转得更快更稳，谁就有优势。CoT 的结构化输出在这里起到关键作用——它不仅是推理范式，更是一种数据 schema，让自动生成、人工校验、模型训练三者能对齐。这一点上，DriveVLM 的工程价值可能比它的模型设计更深远。\n最后一点是对可解释性的体会。监管和安全验证是自动驾驶绕不开的坎，而黑盒端到端最大的软肋就是出事说不清。CoT 天然带因果链：\u0026ldquo;我看到了什么 ➜ 我判断了什么 ➜ 所以我怎么做\u0026rdquo;，这种可追溯的决策日志在事故复盘里价值巨大。我倾向于认为，未来真正能大规模上车的系统，一定会在\u0026quot;端到端的效率\u0026quot;和\u0026quot;CoT 的可解释\u0026quot;之间找一个平衡点——而 DriveVLM 给出了一个相当有说服力的左脚踩右脚的起点。\n📖 这是论文精读系列的第 1 篇。下一篇你想看哪篇论文的解读？欢迎留言。\n","permalink":"https://auto-driving-blog.vercel.app/posts/paper-reading/drivevlm%E7%B2%BE%E8%AF%BB/","summary":"DriveVLM 是首个系统性地把视觉语言模型用于自动驾驶场景理解与推理的工作。本文拆解它的动机、设计与双系统架构。","title":"论文精读｜DriveVLM：把大语言模型推理能力搬上自动驾驶"},{"content":"一句话理解 VLA VLA = 看得懂图（Vision）+ 听得懂话（Language）+ 会做动作（Action）\nVLA（Vision-Language-Action）模型把视觉理解、语言推理和动作执行统一到一个端到端的神经网络里。它不是三个模块的简单拼接，而是一个模型直接从「图像+指令」输出「动作」。\n理解 VLA 的关键在于它把大语言模型（LLM）的推理能力引入了控制问题——模型不仅能识别\u0026quot;前方有行人\u0026quot;，还能推理出\u0026quot;行人正在看手机、可能横穿马路，所以我应该减速\u0026quot;，并直接输出刹车/转向指令。\n🚗 为什么自动驾驶需要 VLA？ 传统模块化架构的瓶颈 传统自动驾驶是模块化流水线：\n摄像头 → 感知 → 预测 → 规划 → 控制\n这套架构成熟、可解释性强，但有三个硬伤：\n信息丢失：每个模块只把有限结果（如目标框、轨迹）传给下一级，原始像素中的丰富信息层层衰减，下游永远看不到上游\u0026quot;看到的一切\u0026quot;。 无法理解\u0026quot;语义\u0026quot;：感知模块能识别\u0026quot;前方有锥桶\u0026quot;，但不懂\u0026quot;因为施工所以要变道\u0026quot;这种需要常识和因果推理的判断。 长尾场景弱：遇到规则库里没定义过的复杂路况（如前方货车掉落货物、临时交通管制），规则系统容易失效，且难以泛化到新城市。 VLA 的破局思路 VLA 的核心思路是引入大语言模型的推理与常识能力，让系统真正\u0026quot;看懂\u0026quot;场景、\u0026ldquo;想明白\u0026quot;该怎么做，并且把整条链路压进一个可端到端训练的网络里。这样梯度可以从最终动作误差直接回传到视觉编码器，避免模块间的信息割裂。\n🏗️ VLA 的典型架构 一个 VLA 模型通常由三部分组成：\n视觉编码器 → 语言模型（LLM） → 动作头（Action Head）\n组件 作用 典型实现 📷 视觉编码器 把摄像头图像编码成 token 序列 ViT、SigLIP、CLIP、DINOv2 🧠 语言模型 融合视觉与语言 token，进行推理决策 LLaMA、Qwen、InternLM、Gemma 🎯 动作头 把推理结果转成可执行的动作向量 Diffusion、Flow Matching、回归头 三大组件的协同 视觉编码器输出图像 token（通常经过一个投影层对齐到 LLM 的嵌入空间），连同文本指令的 token 一起送入 LLM。 LLM 在统一的 token 空间里做跨模态推理，可以输出**思维链（Chain-of-Thought）**解释决策依据。 动作头接收 LLM 的隐状态（或中间特征），生成最终的低层控制信号（方向盘转角、油门、刹车，或机械臂关节角）。 关键创新：Action Head 的设计演进 动作头是 VLA 区别于普通 VLM（如 GPT-4V）的关键——它必须输出可执行的连续控制量。这部分的设计直接决定了精度、速度和表达能力，目前主要有三大流派。\n🎯 Action Head 设计详解 Action Head 要解决的核心问题是：如何从一个高维语义特征，生成精确的低层动作？ 这个看似简单的问题，因为动作分布的多模态性（同一场景下可能有多个合理动作，比如左绕或右绕障碍）而变得棘手。下面三种方案各有取舍。\n方案一：动作离散化为 Token（Action Tokenization） 代表工作：RT-2、OpenVLA\n把每个动作维度（如转向角、油门）独立离散化成若干个 bin（典型 256 个），每个 bin 对应词表里的一个 token。于是动作变成一段\u0026quot;伪文字\u0026rdquo;，模型用自回归方式逐 token 生成动作。\n✅ 优点：完全复用 LLM 的自回归生成机制和交叉熵训练，实现最简单；动作和语言共享同一套解码器。 ❌ 缺点：量化误差（连续值被强行压进有限 bin）；自回归生成长动作序列时延迟高；难以表达多模态分布。 🎯 定位：早期验证 VLA 可行性的方案，实现门槛低，适合研究和快速复现。 方案二：连续动作回归（Continuous Regression） 在 LLM 末端接一个 MLP/Dense 头，直接回归出连续动作向量。\n✅ 优点：推理极快（一次前向就出结果），实现简单，没有量化误差。 ❌ 缺点：当训练数据中存在多个合理动作时，回归会倾向于取平均（mode averaging），导致输出一个\u0026quot;谁都不像\u0026quot;的折中动作，在多模态场景下表现差。 🎯 定位：适合动作空间相对确定、单模态的任务，或对延迟要求极端苛刻的部署。 方案三：扩散 / Flow Matching 生成（Diffusion / Flow Matching） 代表工作：π0、Diffusion Policy、DiffusionDrive\n把动作生成建模成一个生成式采样过程。扩散模型从噪声出发，逐步去噪得到动作；Flow Matching 则学习一个把简单分布\u0026quot;流\u0026quot;到动作分布的速度场。它们可以一次性生成一整段动作序列（action chunk）。\n✅ 优点：天然支持多模态动作分布；精度高；可生成未来若干步的动作（action chunking），减少高频推理开销。 ❌ 缺点：推理需要多次迭代去噪，计算开销大；训练和调参更复杂。 🎯 定位：当前精度和表达能力最强的方案，是研究和工业界的主流方向。 三种方案对比 方案 精度 速度 多模态支持 实现难度 代表工作 离散化 Token 中（有量化误差） 慢（自回归） 弱 低 RT-2、OpenVLA 连续回归 中 快 弱（mode averaging） 低 早期 SFT 头 扩散/Flow Matching 高 慢（可优化） 强 高 π0、DiffusionDrive 💡 实践技巧：为缓解扩散头的延迟问题，业界常用 action chunking（一次生成未来 N 步动作，按需执行）+ 模型蒸馏（把扩散老师蒸馏成一步回归学生）+ 异步推理流水线来逼近实时性。\n🧪 VLA 的训练流程 一个完整的 VLA 训练通常分三个阶段，和 LLM 的训练范式高度对齐，但数据形式不同。\n阶段一：视觉-语言预训练（Pretraining） 目标是让模型学会\u0026quot;看图说话\u0026quot;。通常用海量互联网图文对做对比学习或生成任务，建立视觉 token 和语言 token 的对齐。\n数据：网络爬取的图文对（如 LAION）、VQA 数据集。 方法：冻结/部分冻结 LLM，训练视觉编码器和投影层。 产出：一个通用的 VLM（如 PaLI、LLaVA 系列）。 阶段二：动作指令微调（Instruction Tuning / SFT） 这是 VLA 真正\u0026quot;学会做动作\u0026quot;的阶段。用 (图像, 指令, 动作) 三元组进行监督学习。\n数据构建： 机器人：遥操作采集的示教轨迹（teleoperation demos）、仿真数据。 自动驾驶：人类驾驶日志中切片出的 (多视角图像, 导航指令, 方向盘/油门/刹车标签)。 关键技巧：加入思维链标签——除动作外，还标注中间推理过程（\u0026ldquo;前方有行人 → 行人正在靠近车道 → 减速\u0026rdquo;），让模型学会\u0026quot;想清楚再做\u0026quot;。 损失：动作头用回归/MSE 或扩散去噪损失；语言部分用交叉熵。 阶段三：偏好对齐（RLHF / Preference Optimization） 用强化学习或偏好数据，把模型对齐到安全、舒适、符合人类直觉的行为。\n奖励来源：人类标注的轨迹偏好对（A 比 B 好）、基于规则的安全 shield（碰撞/违规给负奖励）、仿真器回放。 常用算法：PPO、DPO（Direct Preference Optimization，免显式奖励模型，更稳定）。 自动驾驶特殊性：安全相关约束通常用硬约束 + 规则后处理兜底，不完全依赖 RL 学出来的软偏好。 三阶段对比 阶段 目标 数据 典型方法 预训练 视觉-语言对齐 海量图文对 对比学习、生成 指令微调 学会做动作 (图, 指令, 动作) 三元组 SFT + 思维链 偏好对齐 安全/舒适/符合直觉 偏好对、安全规则 RLHF、DPO 🏆 代表性 VLA 工作详解 VLA 的发展先在机器人领域爆发，再延伸到自动驾驶。下面按领域梳理代表性工作。\n机器人领域 模型 团队 Action Head 核心特点 RT-1 Google 离散 token 早期 Transformer 控制策略，验证大规模示教数据可泛化 RT-2 Google DeepMind 离散 token 首个真正把 VLM 直接变 VLA 的工作，动作复用词表 OpenVLA Stanford/Berkeley/TRI 离散 token 开源标杆，基于 Llama 2 + SigLIP，可复现可微调 Octo Berkeley 扩散头 通用机器人策略，支持多种机器人本体 π0 / π0.5 Physical Intelligence Flow Matching 通用 VLA，跨本体跨任务，动作头用 Flow Matching，目前能力天花板之一 自动驾驶领域 模型 团队 核心特点 DriveVLM 清华/上交 + 蔚来 首个把 VLM 用于自动驾驶空间推理，引入思维链（场景→关键对象→动作） EMMA Wayve 基于 Gemini 的多任务端到端，统一感知+规划+预测，单模型多输出 DriveVLM-Dual 上海交大 + 蔚来 双系统：快思考（小模型实时）+ 慢思考（大模型推理），兼顾速度与深度 DiffusionDrive 华中科大等 扩散头做规划，建模多模态轨迹分布 SparseDrive 稀疏化设计，提升端到端规划效率 关键定位解读 RT-2 的贡献是证明了可行性：VLM 可以直接输出动作，不需要单独的控制模块。它的离散化方案简单但奠基。 OpenVLA 的贡献是民主化：把一个完整的 VLA 训练 recipe 开源，让学术界能快速跟进。 π0 的贡献是生成式动作头的天花板：Flow Matching 让它在精细操作和长程任务上远超离散化方案，是通用具身智能的代表。 DriveVLM 的贡献是把 VLM 推理搬上车：首次展示思维链能提升复杂场景（如施工、拥堵）的决策质量。 EMMA 的贡献是多任务统一：一个 Gemini 风格模型同时输出感知、预测、规划，验证了 VLA 在车端的多任务潜力。 ⚖️ 自动驾驶 VLA vs 机器人 VLA 虽然都叫 VLA，但两个领域的约束差异巨大，直接照搬机器人的方案上车往往行不通。\n维度 自动驾驶 VLA 机器人 VLA 实时性 极严苛，需 10Hz+（\u0026lt;100ms） 较宽松，1–5Hz 常可接受 安全等级 安全关键（safety-critical），出错可能致命 容错较高，可重试 动作空间维度 低维（方向盘、油门、刹车，约 2–3 维） 高维（7 自由度臂 + 夹爪，\u0026gt;7 维） 动作分布 相对单模态（多数场景有\u0026quot;标准答案\u0026quot;） 高度多模态（多种抓取/放置方式） 数据获取 车队海量日志，但\u0026quot;有趣\u0026quot;场景稀缺 实验室/仿真采集，规模有限 传感器 多相机 + LiDAR + 雷达，时序要求高 少量相机/深度相机 场景开放性 开放道路，长尾无穷 工作空间相对受限 延迟确定性 必须硬实时，错过 deadline 即危险 软实时，偶尔慢一拍可接受 三个核心差异的深入分析 1. 实时性是车端的生死线。 机器人手臂慢 100ms 几乎无感，但汽车以 30m/s 行驶时，100ms 就是 3 米。这要求自动驾驶 VLA 必须做激进的模型压缩、量化、action chunking 和异步推理，而机器人 VLA 可以放开手脚用更大的模型。\n2. 安全性要求截然不同的验证方法。 自动驾驶需要**形式化验证、海量仿真回归、影子模式（shadow mode）和规则安全盾（safety shield）**做兜底——VLA 的输出经常要过一个硬规则过滤器才会下发。机器人则更多依赖任务级成功率指标。\n3. 动作空间维度相反。 自动驾驶动作维度低但精度要求极高（方向盘差 1° 可能偏离车道），且常常是单模态，所以连续回归/action chunking 更实用；机器人动作维度高且多模态，更依赖扩散/Flow Matching 来表达多样性。\n💡 因此，自动驾驶 VLA 不能照搬机器人方案，而要针对低延迟、高安全、低维高精度重新设计 Action Head 和推理流水线。\n📊 VLA vs 传统端到端 维度 传统端到端 VLA 推理能力 弱（黑盒映射） 强（可链式推理） 可解释性 差 较好（可输出思维链） 泛化性 依赖数据分布 借助 LLM 预训练知识 实时性 快 较慢（LLM 推理开销） 训练成本 中等 高（需要大规模数据+算力） 数据需求 中 大（且要带推理标签） 当前最大挑战：如何让 LLM 的推理既准又快，满足车端实时性要求。\n🧭 当前挑战与未来方向 主要挑战 ⏱️ 实时性：数十亿参数的 LLM 推理延迟难以压到 100ms 以内。方向：模型蒸馏、量化、KV-cache 复用、action chunking、专用加速芯片。 🛡️ 安全性验证：如何为一个\u0026quot;会推理的黑盒\u0026quot;提供安全保证？方向：形式化方法、对抗场景测试、规则安全盾、不确定性估计。 📦 数据效率：带思维链标注的驾驶数据极其昂贵。方向：世界模型生成数据、主动学习、仿真闭环训练。 🔗 多模态融合：如何同时利用多相机、LiDAR、雷达、历史帧时序？方向：3D/BEV token 化、时序注意力、跨模态对齐。 🌍 长尾泛化：罕见场景（事故、极端天气）下仍需可靠决策。方向：合成数据、LLM 常识迁移、检索增强。 未来趋势 世界模型 + VLA 结合：世界模型预测未来，为 VLA 提供仿真训练环境和\u0026quot;想象\u0026quot;能力。 快慢双系统：小模型做实时反应，大模型做慢思考，按需触发（如 DriveVLM-Dual）。 端云协同：车端跑蒸馏后的小 VLA，云端大 VLA 做难例推理和持续学习。 跨本体/跨车型统一：一个 VLA 适配多种车型/机器人（类比 π0 在机器人侧的通用性）。 🎓 如何入门 VLA 研究 推荐学习路线 LLM 基础 → 多模态 VLM → VLA 经典论文 → 动手复现 → 选方向深挖\n打基础：理解 Transformer、自回归生成、对比学习、指令微调、RLHF/DPO。 学 VLM：读 CLIP、BLIP、LLaVA，搞懂视觉-语言对齐机制。 进 VLA：按下面论文清单顺序读，先离散化、再扩散/Flow Matching。 动手：跑通 OpenVLA 或 LeRobot 的 demo，做一次微调。 深挖：在 Action Head 设计、训练范式、或自动驾驶适配中选一个方向。 推荐论文清单 机器人 VLA（按时间线）：\nRT-1（Google, 2022）— 大规模示教数据驱动的控制策略 Diffusion Policy（2023）— 扩散动作头的奠基工作 RT-2（DeepMind, 2023）— VLM 直接变 VLA OpenVLA（2024）— 开源 VLA 标杆 π0 / π0.5（Physical Intelligence, 2024）— Flow Matching 通用 VLA Octo（2024）— 通用机器人策略 自动驾驶 VLM/VLA：\nDriveVLM / DriveVLM-Dual（上交+蔚来）— 思维链 + 双系统 EMMA（Wayve）— 多任务端到端 DriveGPT4、LMDrive — VLM 辅助驾驶的早期探索 开源代码与资源 资源 说明 OpenVLA https://github.com/openvla/openvla — 完整开源 VLA，首选复现对象 LeRobot HuggingFace 出品，含数据集+模型+训练流水线，对新手友好 Octo 通用机器人策略，支持多本体 Diffusion Policy 扩散动作头参考实现 π0 (公开说明) Physical Intelligence 发布的技术报告与部分实现 💡 新手建议：先从 LeRobot 起步，它的抽象层次高、文档完善，能让你在一周内跑通一个完整 VLA demo，再逐步深入到 OpenVLA 和扩散头。\n✅ 小结 VLA 不是某个具体模型，而是一种新范式：用大模型的通用理解与推理能力，重新定义\u0026quot;感知 → 决策 → 动作\u0026quot;的链路。它代表了自动驾驶从\u0026quot;规则驱动\u0026quot;走向\u0026quot;理解驱动\u0026quot;的方向。\n记住三个要点：\n架构 = 视觉编码器 + LLM + 动作头，其中动作头的设计（离散 / 连续 / 扩散）是性能 trade-off 的核心。 训练 = 预训练 + 指令微调 + 偏好对齐，数据构建（尤其思维链标签）是关键。 上车 ≠ 照搬机器人，必须针对实时性、安全性、低维高精度重新设计。 下一篇我们聊世界模型——它解决的是 VLA 训练中\u0026quot;数据从哪来\u0026quot;的问题。\n💡 觉得有用？这系列会持续更新，点个关注不迷路。\n","permalink":"https://auto-driving-blog.vercel.app/posts/knowledge/%E4%BB%80%E4%B9%88%E6%98%AFvla%E6%A8%A1%E5%9E%8B/","summary":"一文搞懂 VLA 模型的核心思想、架构演进，以及它为什么成为自动驾驶的新范式。","title":"什么是 VLA（Vision-Language-Action）模型？"},{"content":"📄 论文信息 标题：π0: A Vision-Language-Action Flow Model for General Robot Control 团队：Physical Intelligence（PI）— Sergey Levine、Chelsea Finn、Karol Hausman、Danny Driess 等 发表：RSS 2025（arXiv: 2410.24164，2024年10月首发） 关键词：VLA、Flow Matching、通用机器人策略、灵巧操作、基础模型 一句话总结：用预训练 VLM 做大脑、Flow Matching 做动作头，在迄今最大规模机器人数据集上训练，一个模型搞定从叠衣服到收桌子的多种高难度操作。 🤔 要解决什么问题？ 机器人学习的终极目标是通用性——一个模型能控制不同机器人、执行不同任务。但现实中有三大障碍：\n数据不足且碎片化：每个实验室、每种机器人的数据各自为政，规模远不及互联网图文数据 泛化能力弱：在 A 任务上训练的模型换到 B 任务就失效 动作表达困难：语言和图像是离散的，但机器人控制信号是连续的、高频的、多维的 前两个问题靠\u0026quot;大数据 + 大模型\u0026quot;的经典配方（类似 GPT 在 NLP 领域的成功）。但第三个问题是机器人领域独有的动作表示瓶颈——也是阻碍 VLA 模型落地的最大技术障碍。\n具体来说，NLP 和 CV 的输出天然是离散的（token、像素分类），可以直接复用大模型的自回归框架。但机器人控制信号是连续的（关节角度、末端速度、力矩），频率高达 20-50Hz，维度从 7 维（单臂）到 20+ 维（灵巧手）不等。如何让一个本质上处理离散 token 的 VLM 高效地输出这种连续、高频、多维的动作流？这不是一个简单的工程适配问题，而是一个根本性的表征鸿沟。\n核心矛盾：如何让一个继承了大语言模型语义理解能力的 VLM，高效地输出连续、精确、高频的机器人动作？\nπ0 的回答是：VLM 骨干 + Flow Matching 动作头——前者负责\u0026quot;理解世界\u0026quot;，后者负责\u0026quot;生成动作\u0026quot;，两者通过注意力机制深度耦合。\n💡 核心创新：Flow Matching 动作头 动作表示的三大路线之争 在 π0 之前，VLA 模型的动作输出主要有两条路线，π0 开创了第三条：\n路线 代表工作 做法 问题 离散化 RT-1、RT-2 把连续动作分箱成离散 token，用 LLM 自回归预测 精度受分箱数限制；自回归生成慢 扩散模型 Diffusion Policy 从噪声逐步去噪生成动作序列 采样步数多（几十到上百步）；训练复杂 Flow Matching π0 学习一个向量场，沿直线从噪声\u0026quot;流\u0026quot;到动作 步数少、训练简单、路径近直线 π0 选择 Flow Matching 的核心理由是：它比扩散更简洁高效，比离散化更精确快速。\nFlow Matching 的数学直觉 Flow Matching 的思想很优雅。设目标动作序列为 z₁（ground truth action chunk），噪声先验为 z₀ ~ N(0, I)。定义一条从噪声到目标的线性插值路径：\nz _ t = ( 1 - t ) · z _ 0 + t · z _ 1 , t ∈ [ 0 , 1 ] 这条路径上每个点的\u0026quot;流速\u0026quot;（速度场真值）就是常数 u = z₁ - z₀。训练目标是让神经网络 v_θ 学会预测这个速度场：\nL = E _ { z _ 0 , z _ 1 , t } [ _ θ ( z _ t , t , c ) ( z _ 1 - z _ 0 ) | ² ] 其中 c 是 VLM 提供的条件特征（图像 + 语言指令的语义编码）。\n推理时，从 z₀ 出发，用少量欧拉步（论文中仅用 10 步）沿学到的速度场积分到 z₁，就得到动作序列。因为路径接近直线（Rectified Flow），极少步数就足够精确。\nFlow Matching 相比扩散的优势 虽然 Flow Matching 和扩散模型都是从噪声生成连续样本的生成模型，但两者有本质区别：\n特性 扩散模型 Flow Matching 路径形状 弯曲（马尔可夫链） 近直线（ODE） 采样步数 50-100 步 10 步 训练目标 复杂的噪声预测 + 调度 简单的速度场回归 训练稳定性 对噪声调度敏感 稳定 多模态支持 支持 支持 直线路径是关键优势：扩散模型本质上是定义了一条弯曲的随机路径从噪声走到数据，需要很多步才能沿曲线走完。而 Flow Matching（特别是 Rectified Flow 变体）直接拉直了这条路，走直线自然更快——对实时性要求极高的机器人控制来说，这意味着从\u0026quot;勉强能用\u0026quot;到\u0026quot;流畅运行\u0026quot;的质变。\n为什么不直接回归？ 一个自然的问题：为什么不直接让网络回归输出 z₁？ 原因是机器人动作的分布是多模态的——同一个场景下可能有多种合理操作（从左边抓还是右边抓）。简单的均值回归会平均化这些模式，产生无意义的中间动作。Flow Matching 通过建模整个分布而非点估计，天然地处理多模态，这是它优于直接回归的根本原因。\n⚙️ 模型架构详解 π0 的架构可以概括为\u0026quot;大模型理解 + 小专家执行\u0026ldquo;的分层设计。\n整体数据流 图像 + 语言指令 ➜ PaliGemma VLM（3B） ➜ 语义条件特征 c ➜ Flow Matching 动作专家（含噪声 z_t + 时间 t）➜ 动作序列（50步 chunk）\nVLM 骨干：PaliGemma π0 选用 Google 的 PaliGemma（约 3B 参数）作为骨干，它包含：\nSigLIP 视觉编码器：将输入图像编码为视觉 token Gemma 语言模型（2B）：融合视觉 token 和语言指令，输出上下文化的语义特征 关键设计：VLM 在互联网级图文数据上预训练，继承了丰富的语义知识（物体识别、空间关系、动作理解），这是从小数据训练的专用策略无法获得的\u0026quot;免费先验\u0026rdquo;。\n动作专家：独立的 Flow Matching 网络 动作生成由一个独立的小型 Transformer（动作专家）负责，它和 VLM 是两个不同的网络：\n组件 输入 作用 噪声动作 chunk z_t（50步 × 动作维度） 当前待去噪的动作序列 Flow 时间步 t ∈ [0, 1] 告诉网络当前在流的哪个位置 VLM 条件特征 c（来自 PaliGemma） 提供视觉-语言语义指导 动作专家通过注意力机制接收 VLM 的输出 token——VLM 的语义特征直接参与动作专家的注意力计算，实现深层条件注入。这种分离式设计的好处是：VLM 的大参数量只用于\u0026quot;理解\u0026quot;，不拖慢高频动作生成。\nAction Chunking（动作分块） π0 每次生成 50 步未来动作（一个 chunk），而非单步动作：\n平滑性：一次规划一段轨迹，避免单步决策的抖动 效率：50 步并行生成（一次前向），而非逐步自回归 时序一致性：chunk 内动作天然协调，不会出现帧间不连贯 📊 训练数据与策略 迄今最大规模的机器人数据集 π0 的另一核心贡献是构建了当时最大、最多元的机器人交互数据集（约 10,000 小时量级），覆盖：\n平台类型 具体机器人 典型任务 单臂 Franka Panda 桌面抓取、推门、倒茶 双臂 自研双臂系统 叠衣服、组装纸盒、收桌子 移动操控 轮式底盘 + 机械臂 开门、取物、导航+操作 灵巧手 配灵巧手平台 复杂手内操作、精细操控 数据来源包括：自采遥操作数据 + 开源数据集（如 DROID 等）+ 多平台混合。数据多样性是 π0 通用性的基石——跨平台、跨任务的数据让模型学到真正的\u0026quot;操作先验\u0026quot;，而非过拟合到某一种机器人。\n两阶段训练 阶段 数据 目标 预训练 全量多元数据 学习通用操控先验，获得 zero-shot 能力 微调 特定任务族数据 精化特定高难度技能（如叠衣服、做咖啡） 预训练让模型获得跨平台、跨任务的通用基础能力；微调则像\u0026quot;专项训练\u0026quot;，用少量数据快速适配新任务。这套范式与 LLM 领域的\u0026quot;预训练 + 微调\u0026quot;如出一辙。\n🔬 实验与结果 评测维度 π0 从四个角度验证通用性：\nZero-shot 执行：预训练后直接在新任务上测试，无需额外训练 语言指令跟随：听人的自然语言指令执行操作 层级控制：由高层 VLM 策略下发子目标，π0 负责底层执行 微调新技能：用少量数据快速学习全新的复杂任务 关键发现 预训练规模至关重要：在多元大数据上预训练的模型，显著优于单任务训练的专用模型，验证了\u0026quot;机器人基础模型\u0026quot;路线的可行性。这和 NLP 中 GPT-3 证明\u0026quot;scale matters\u0026quot;的逻辑完全一致——通用能力来自规模化的多元训练 高难度灵巧任务：叠衣服、收桌子、组装纸盒等此前需要专门设计系统的任务，π0 微调后能可靠完成——这是通用 VLA 首次在如此高难度任务上展示实用级性能。尤其叠衣服这种涉及可变形物体的任务，一直是机器人操作的难题 跨平台泛化：一个模型同时控制单臂、双臂、移动机器人，动作专家自动适配不同动作空间维度。模型不关心\u0026quot;是哪种机器人\u0026quot;，只关心\u0026quot;要做什么操作\u0026quot; Flow Matching 优于扩散：消融实验中，相同架构下 Flow Matching 动作头在效率和效果上均优于扩散动作头，验证了这一选择的正确性 语言理解的有效迁移：预训练 VLM 的语义知识确实帮助了指令跟随——模型能理解\u0026quot;把蓝色杯子放到左边\u0026quot;这样的组合泛化指令 ⚔️ 与 RT-2 等方案的深度对比 维度 RT-2（Google） Diffusion Policy π0 动作表示 离散 token（256 bin） 连续（扩散去噪） 连续（Flow Matching） 生成方式 自回归逐 token 迭代去噪（50-100步） 并行 chunk（10步积分） 精度 受 bin 数限制 高 高 推理速度 慢（自回归） 中等 快 语义理解 强（PaLI-540B） 无（纯动作策略） 强（PaliGemma 3B） 多模态动作 支持（token 分布） 支持 支持（分布建模） 训练复杂度 低（标准 CE loss） 高（噪声调度） 低（简单回归） 核心洞察：RT-2 的离散化方案虽然巧妙复用了 LLM 的自回归框架，但在精度和速度上有结构性瓶颈——256 个 bin 难以表达精细操作，逐 token 生成无法满足高频控制。π0 把\u0026quot;语言理解\u0026quot;和\u0026quot;动作生成\u0026quot;解耦——VLM 负责语义理解，Flow Matching 负责连续动作生成——各司其职，避免了用离散框架硬套连续问题的尴尬。\n而相比 Diffusion Policy，π0 的 Flow Matching 路径更接近直线，10 步就能生成动作，远快于扩散的几十步去噪，更适合实时控制。这一点在需要 20-50Hz 控制频率的机器人上尤为关键——10 步积分在 GPU 上只需几毫秒，而扩散的 100 步去噪可能带来上百毫秒延迟，这在闭环控制中是不可接受的。\n可以说，π0 在架构设计上的核心贡献不是发明了某个全新组件，而是做了正确的组合选择：用最成熟的 VLM 做理解，用最高效的 Flow Matching 做动作生成，用最大规模的数据做训练。\n📝 个人思考 π0 最让我印象深刻的是它把复杂问题拆成了正确的两半。\u0026ldquo;理解世界\u0026quot;用预训练大模型解决，\u0026ldquo;生成动作\u0026quot;用 Flow Matching 解决——这种解耦设计比试图用一个端到端大模型搞定一切更务实，也更符合工程直觉。Flow Matching 的选择尤其精妙：它比扩散简洁（直线 ODE）、比离散化精确（连续输出），在\u0026quot;表达力\u0026quot;和\u0026quot;效率\u0026quot;之间找到了甜点。我认为 Flow Matching 很可能成为 VLA 架构的标准动作头，正如 Transformer 之于 NLP。\n第二点启发是关于数据。π0 证明了机器人领域的\u0026quot;GPT 时刻\u0026quot;需要三个条件同时满足：足够大的模型、足够多元的数据、足够好的动作表示，三者缺一不可。其中数据多元性（跨平台、跨任务）可能比纯数据量更重要——一个平台上练十万小时，不如十个平台各练一千小时。这也解释了为什么 Physical Intelligence 公司在数据采集上投入巨大。对行业的启示是：机器人基础模型的壁垒不在算法本身（Flow Matching 是公开技术），而在数据闭环和采集能力。\n最后一点关于通用性与专用性的张力。π0 展示了令人惊艳的通用能力，但论文也坦诚高难度任务仍需微调。我倾向于认为，未来通用 VLA 会像 LLM 一样分化为\u0026quot;通用基座 + 任务适配\u0026quot;的生态——π0 的两阶段训练已经预示了这个方向。而对于自动驾驶和具身智能的从业者来说，π0 的架构范式（预训练骨干 + Flow Matching 动作头）完全值得借鉴迁移：把规划/控制信号看作连续动作序列，用 Flow Matching 替代传统的轨迹回归或离散规划，或许能打开新的设计空间。\n🔗 延伸阅读 工作 团队 与 π0 的关系 RT-2 Google DeepMind VLA 离散化路线的代表作，π0 的主要对比对象 Diffusion Policy Columbia / TRI 用扩散做动作生成，π0 的 Flow Matching 是其直接改进 Octo Berkeley 另一款通用机器人 Transformer，数据规模较小 OpenVLA Stanford / Princeton 开源 VLA 模型，基于离散化动作 π0.5 / π0-FAST Physical Intelligence π0 的后续演进，进一步提升效率和泛化 Flow Matching 原始论文 Meta / ENS Paris Flow Matching 理论基础，π0 动作头的理论来源 PaliGemma Google π0 的 VLM 骨干基座 📖 这是论文精读系列的第 2 篇。Flow Matching 正在成为具身智能动作生成的主流范式，你怎么看它在自动驾驶轨迹规划中的应用潜力？欢迎留言。\n","permalink":"https://auto-driving-blog.vercel.app/posts/paper-reading/pi0-%E9%80%9A%E7%94%A8vla%E6%A8%A1%E5%9E%8B%E7%B2%BE%E8%AF%BB/","summary":"Physical Intelligence的π0模型用Flow Matching做动作头，在多机器人平台上实现通用操控。","title":"论文精读｜π0：基于Flow Matching的通用视觉-语言-动作模型"},{"content":"一句话理解世界模型 世界模型 = 让 AI 在脑子里\u0026quot;预演未来\u0026quot;\n给它当前的场景和你要做的动作，它能告诉你**\u0026ldquo;接下来会发生什么\u0026rdquo;——下一帧画面什么样、前车会不会急刹、行人往哪走。更学术地说，世界模型学习的是一个动力学的转移函数**：在给定当前状态 $s_t$ 和动作 $a_t$ 的条件下，预测下一时刻的状态 $s_{t+1}$。\n$$s_{t+1} = f_\\theta(s_t,\\ a_t)$$\n这里的 $s$ 可以是像素（视频帧），也可以是抽象的潜在表征，正是这一选择把世界模型分成了两大流派。\n为什么需要世界模型？ 自动驾驶训练有个根本矛盾：\n真实数据太贵：采集一辆车的数据成本高，且长尾场景（事故、极端天气）几乎采不到 仿真数据太假：传统仿真（如 CARLA）渲染的图像和真实世界差距大，模型训了也不一定管用 世界模型的价值：学会现实世界的运行规律后，能\u0026quot;想象\u0026quot;出逼真的未来场景，相当于一个无限数据生成器。整个闭环可以概括为四步：\n采集真实世界驾驶数据 训练世界模型，让它学会\u0026quot;物理规律 + 交通规则 + 行为人意图\u0026quot; 生成模型想象出未来场景或长尾场景 反哺驾驶策略（VLA / 端到端）的训练与评测 世界模型的两大流派 按\u0026quot;预测在什么空间里发生\u0026quot;，世界模型分为生成式和表征式两大流派。这不仅是技术路线之争，更是两种不同的建模哲学。\n🎨 流派一：生成式（Video Generation） 直接在像素空间生成未来视频帧，追求\u0026quot;看得见的未来\u0026quot;。\n核心网络结构：\n结构 思路 代表 潜空间扩散（LDM） 在 VAE 压缩的潜空间里做去噪，再解码成像素 Stable Video Diffusion、DriveDreamer 扩散 Transformer（DiT） 用 Transformer 替换 U-Net 做去噪骨干，扩展性更强 Sora、MagicDrive、Drive-WM 自回归 Transformer 把图像/动作离散化成 token，像 GPT 一样\u0026quot;预测下一帧\u0026quot; GAIA-1、ADriver-I 训练方式：以扩散模型为例，给真实未来帧加噪，让网络学习逆噪过程；同时通过条件注入（文本、HDMap、3D bbox、自车轨迹）实现可控生成。常配合 Classifier-Free Guidance（CFG） 增强条件跟随能力，用 DDPM/DDIM 采样。\n✅ 优点：画面逼真、可直接可视化、天然适配数据增强与闭环仿真 ❌ 缺点：计算昂贵（多步去噪）、只保证\u0026quot;长得像\u0026quot;不保证\u0026quot;符合物理\u0026quot;、长程预测容易失真 🧠 流派二：表征式（Latent Dynamics） 不在像素层面生成，而是在压缩的表征空间里预测未来状态。这是 LeCun 力推的方向。\n核心网络结构：\n结构 思路 代表 JEPA（联合嵌入预测架构） 用两个编码器分别编码上下文与目标，在表征空间做预测，丢弃像素级重建 I-JEPA / V-JEPA RSSM（循环状态空间模型） 循环 + 变分推断，学习带不确定性的潜在动力学 Dreamer 系列 占用预测（Occupancy） 直接预测未来 3D 体素占用，介于像素与语义之间 OccWorld、DriveWorld 训练方式：典型如 JEPA，用编码器把\u0026quot;过去帧 + 动作\u0026quot;映射到表征，预测\u0026quot;未来帧的表征\u0026quot;，再用一个目标编码器（EMA 更新、stop-gradient）提供监督。关键是刻意不重建像素，从而过滤掉对决策无用的纹理细节（比如云的形状、广告牌颜色）。\n✅ 优点：计算高效、关注语义层面预测、可注入物理/几何先验、表征可迁移到下游任务 ❌ 缺点：不可直接可视化、可解释性弱、训练稳定性需要技巧（容易表征坍缩） 两大流派横向对比 维度 生成式 表征式 预测空间 像素 / 视频帧 抽象特征 / 潜空间 计算量 大（尤其长视频） 小 可视化 ✅ 直观 ❌ 抽象 物理一致性 不保证 可显式设计 训练信号 像素重建 / 去噪 表征预测 / 对比 核心适用 数据增强、闭环仿真 规划、表征预训练 一个值得注意的趋势：两大流派正在融合。很多新工作先用表征式学一个好的编码器，再用扩散在潜空间里生成，兼顾效率与画质（如 Latent Diffusion、Drive-WM）。\n代表性工作详解 自动驾驶世界模型领域已涌现一批代表性工作，它们在\u0026quot;控制信号、时空范围、是否服务规划\u0026quot;上各有侧重。\n模型 团队 类型 核心特点 是否服务规划 GAIA-1 Wayve 生成式（自回归+扩散） 首个十亿参数级驾驶世界模型，支持文本/动作条件 否（数据生成） DriveDreamer 上海 AI Lab 生成式（扩散） 用 HDMap + 3D bbox 做结构化条件，可控性强 部分 MagicDrive 华科等 生成式（DiT） 精确的多相机视角与 3D 几何控制 否 Drive-WM 蔚来 + 上交 生成式（DiT） 首个端到端打通\u0026quot;世界模型 → 规划\u0026quot;，用 MPPI 采样 ✅ 是 OccWorld 上海 AI Lab 表征式（占用） 预测未来 3D 占用栅格，几何一致性好 部分 JEPA / V-JEPA Meta (LeCun) 表征式 潜空间掩码预测，通用表征预训练范式 否（表征） Dreamer V3 Danijar Hafner 表征式（RSSM） model-based RL 通用框架，已在 CARLA 验证 ✅ 是 选型经验法则：要数据、要仿真 → 生成式；要规划、要表征预训练 → 表征式；要闭环驾驶 → 走 Drive-WM / Dreamer 这类**打通\u0026quot;想象→决策\u0026quot;**的路线。\n自动驾驶世界模型 vs 通用视频生成 很多人会问：有了 Sora，自动驾驶直接用通用视频生成不就行了？不行，两者的目标差很远。\n维度 通用视频生成（Sora 等） 自动驾驶世界模型 视角 单镜头，构图优先 环视多相机（6 路同步），要 3D 一致 几何约束 弱，2D 像素即可 强，物体必须在 3D 空间中合理运动 可控性 文本 prompt 即可 需精确控制地图、3D 框、自车轨迹 动作条件 通常无 必须有（自车油门/转向） 时长 几秒短片可接受 规划需要 5–10s 以上长程稳定 正确性要求 \u0026ldquo;看着像\u0026quot;就行 必须物理合理（不能车穿墙、人凭空消失） 一句话总结：通用视频生成追求\u0026quot;好看\u0026rdquo;，驾驶世界模型追求\u0026quot;正确 + 可控 + 一致\u0026quot;。把 Sora 直接搬到车上，它会生成一辆很漂亮地穿墙而过的小轿车。\n世界模型在自动驾驶中的三大应用 1️⃣ 数据生成（最成熟） 用世界模型生成没采到的长尾场景，补充训练数据。比如生成\u0026quot;夜间暴雨 + 行人横穿 + 对向远光\u0026quot;这种罕见组合。\n技术挑战：\n可控性：如何精确指定天气、光照、物体数量、相对位置，而不是随机抽卡 多样性：避免生成大量雷同样本，导致策略过拟合到某个固定模式 Sim-to-Real Gap：生成数据与真实数据仍存在分布差异，需做域适配 2️⃣ 闭环仿真（最被寄予厚望） 传统仿真是开环的（场景写死），只能\u0026quot;回放\u0026quot;。世界模型可以根据自车动作实时生成下一步场景，做到真正的\u0026quot;互动式\u0026quot;训练与评测——这是解决长尾验证的关键。\n技术挑战：\n实时性：车端推理要 20–30 FPS，扩散模型多步采样天然偏慢，需用一致性模型 / 少步蒸馏 多视角同步：6 路相机必须在时间和几何上严格对齐，否则下游感知直接崩 长程不退化：闭环跑几十秒后画面不能越来越糊、目标不能凭空消失或重复 反应性：其他车辆/行人必须对自车动作做出合理反应（博弈），而不是死的录像带 3️⃣ 基于模型的规划 Model-based Planning（最有想象空间） 策略网络在决策前，先用世界模型\u0026quot;推演\u0026quot;几个候选动作的后果，选最安全的那条。这类似人类\u0026quot;三思而后行\u0026quot;，也对应经典的 model-based RL 思想。\n技术挑战：\n可微分 vs 可采样：要做梯度规划需要世界模型可微；做蒙特卡洛采样则需要快——两条技术路线各有代价 奖励设计：在潜空间预测里很难直接读出\u0026quot;碰撞时间 TTC\u0026quot;，需要可解释的安全度量 规划时延 vs 预测精度：预测越远越不准，但规划又需要足够时域，需权衡 计算成本：实时在脑子里 rollout 几十条候选轨迹，算力压力极大 一个直观例子 假设前方有辆车突然减速。世界模型的工作是：\n当前状态：自车 60km/h，前车减速，右侧有车 候选动作 A（急刹）→ 预演结果：可能被追尾 ❌ 候选动作 B（变道）→ 预演结果：右侧有车，危险 ❌ 候选动作 C（缓刹）→ 预演结果：安全停住 ✅ 最终决策：选 C 这就是 model-based planning 的核心思想：把\u0026quot;试错\u0026quot;从真实世界搬到想象世界。\n世界模型与强化学习的关系 世界模型的概念其实最早来自 model-based RL：与其让智能体在真实环境里磕磕碰碰地学（成本高、危险），不如先学一个环境的动力学模型，然后在这个\u0026quot;想象的环境\u0026quot;里大规模试错。最经典的代表是 Dreamer 系列。\nDreamer 的三段式：\nEncoder + RSSM：把观测编码成带不确定性的潜在状态，学习潜在动力学 Imagination：在潜空间里 rollout 想象轨迹（无需真实交互，速度快、安全） Actor-Critic：在想象轨迹上用回播训练策略和价值函数 从 Dreamer V1 → V2 → V3，框架越来越通用，V3 已能在多种任务（含部分驾驶仿真）上稳定收敛，无需调超参。同源的还有 MuZero（学习潜在动力学 + 用 MCTS 规划，AlphaGo 的后继）和 TD-MPC。\n在自动驾驶里的落地：把世界模型当作\u0026quot;软仿真器\u0026quot;，让策略在想象中大量试错，既避开了真实路测的安全风险，也绕开了传统仿真器的\u0026quot;假数据\u0026quot;问题。Drive-WM 就是把世界模型生成的未来送进 MPPI（模型预测路径积分） 采样器，实现端到端\u0026quot;想象 + 决策\u0026quot;的代表。不过挑战依旧明显：驾驶的奖励极度稀疏（事故极少），且世界模型自身有误差，\u0026ldquo;在错的想象力上学习\u0026quot;会放大错误——这正是 model-based RL 在驾驶里最棘手的难题。\n当前挑战与未来方向 长程一致性：预测 1 秒容易，预测 10 秒后画面就糊、目标会漂移甚至消失。根因是误差累积，每一步的小偏差被指数级放大。研究方向：分层预测（先粗后细）、记忆增强、显式约束。 物理准确性：生成的视频可能\u0026quot;违反物理\u0026rdquo;——车穿墙、物体凭空消失、速度与运动不符。需要引入几何先验（BEV/3D bbox）、运动学约束、碰撞检测作为训练信号或后处理。 可控性：怎么让世界模型生成\u0026quot;我想要的特定场景\u0026quot;（指定天气、指定车流、指定事件），而非抽卡式随机。当前依赖 CFG、ControlNet 式条件注入，但精细控制仍难。 评测体系：没有统一标准衡量\u0026quot;世界模型有多准\u0026quot;。FID/FVD 只能看画质，看不出语义和物理对错；亟需面向驾驶的闭环评测指标（如预测轨迹误差、碰撞率、动作可控度）。 计算效率：扩散类世界模型推理慢，难以满足车端实时性，少步蒸馏、一致性模型、潜空间预测是主要提速方向。 未来方向判断：生成式与表征式走向融合——用表征式学高效语义编码，用生成式补视觉细节；世界模型与 VLA 走向协同——VLA 负责决策，世界模型负责预测与想象，两者共骨干、共表征。\n小结 世界模型本质是给 AI 装一个**\u0026ldquo;想象力\u0026rdquo;**：能预演、能脑补、能试错。它和 VLA 是互补关系——VLA 负责\u0026quot;决策\u0026quot;，世界模型负责\u0026quot;预测\u0026quot;，两者结合才能构建真正智能的驾驶系统。\n从更深的技术脉络看，世界模型既是 model-based RL 在大模型时代的复兴，也是自动驾驶走向\u0026quot;理解物理世界\u0026quot;的关键一环。谁能率先造出一个长程稳定、物理可信、可被规划调用的驾驶世界模型，谁就拿到了通往 L4 的另一张门票。\n💡 下一篇：端到端自动驾驶的演进——从 UniAD 到 DiffusionDrive。\n","permalink":"https://auto-driving-blog.vercel.app/posts/knowledge/%E4%BB%80%E4%B9%88%E6%98%AF%E4%B8%96%E7%95%8C%E6%A8%A1%E5%9E%8B/","summary":"世界模型到底在建模什么？它在自动驾驶里解决什么问题？这篇用大白话讲清楚。","title":"什么是世界模型（World Model）？"},{"content":"📄 论文信息 标题：Planning-oriented Autonomous Driving（面向规划的自动驾驶） 出处：上海人工智能实验室 × 武汉大学 × 复旦大学（CVPR 2023 最佳论文奖，是该会议历史上首篇自动驾驶领域的最佳论文） 一句话总结：首次把感知、预测、规划全部统一进一个可端到端联合训练的网络里，并以规划为最终目标反向驱动所有任务，开创了显式端到端的新范式。 🤔 要解决什么问题？ 在 UniAD 之前，自动驾驶工业界几乎清一色采用分模块拼接的方案：检测 ➜ 跟踪 ➜ 在线建图 ➜ 运动预测 ➜ 占用预测 ➜ 规划与控制。每个模块单独训练、各自调优，最后用规则串联起来。这种 pipeline 成熟可靠，但有几个根本性顽疾：\n痛点 表现 后果 误差累积 上游漏检一个目标，下游预测/规划全错 错误\u0026quot;滚雪球\u0026quot; 信息丢失 模块间只传结构化结果（框/轨迹），丢掉了特征级信息 后段无法补救前段 目标错位 每个模块都在自己任务上刷分，跟\u0026quot;开得好不好\u0026quot;脱节 感知 SOTA ≠ 规划好 几何失配 不同任务用不同表示（栅格/矢量/网格），难以融合 系统复杂、难优化 而另一条隐式端到端路线（直接\u0026quot;图像进、控制出\u0026quot;，典型如早期的行为克隆）虽然能联合优化，却完全黑盒、不可解释、不可调试，且难以吸收多年积累的感知预测知识。\nUniAD 的灵魂拷问：既然所有任务最终都是为\u0026quot;把车开好\u0026quot;服务的，那为什么不以规划为导向，把感知预测都装进一个可训练的网络里？既享受端到端的梯度贯通，又保留显式的中间表示（轨迹、地图、占用）以维持可解释性——这就是论文标题 \u0026ldquo;Planning-oriented\u0026rdquo; 的含义。\n💡 核心思想：以规划为最终目标统一所有任务 UniAD 给出了一条折中路线，介于\u0026quot;纯分模块\u0026quot;与\u0026quot;纯黑盒端到端\u0026quot;之间：\n多任务统一 + 显式中间表示 + 以规划为锚点的端到端联合优化\n它的关键判断有三条：\n规划是唯一终极目标：感知、预测的存在意义就是服务规划，所以训练时应当让规划的梯度一路回传到感知，而不是各模块各刷各的分。 中间表示不能丢：把检测框、轨迹、地图、占用栅格这些显式表示保留下来，既可解释、又可单独监督、还能复用已有知识。 用 query 把所有模块串起来：用同一套 Transformer query 机制贯穿全流程，让信息在特征级流动，避免\u0026quot;框/栅格\u0026quot;这种有损的硬传递。 这套思想直接催生了下面的整体架构。\n🏗️ 整体架构：五段式 query 通路 UniAD 的整体流程是一条以 query 为载体的信息高速公路，环视多相机图像先经过图像骨干 + BEV 编码，然后五个模块接力处理：\n多相机图像 ➜ Track 查询（跟踪） ➜ Map 查询（在线建图） ➜ Motion 预测（轨迹） ➜ Occupancy 预测（栅格） ➜ Planner（规划）\n关键在于：每一段的输入输出都是 query，而不是传统的框或栅格。这样梯度就能从最后的规划 loss 一路贯通回最前面的感知，真正做到\u0026quot;为规划而训练\u0026quot;。下面逐段拆解。\n第 1 段：Track 查询（TrackFormer） 负责多目标跟踪（MOT）。它从图像里提取目标，并维护一组跨帧连续的 Track 查询，每个 query 对应一个被持续跟踪的智能体（车、人、骑行者）。\n输入：环视图像 BEV 特征 + 上一帧的 Track 查询 输出：当前帧的检测结果 + 更新后的 Track 查询（带 ID 连续性） 作用：把\u0026quot;看到什么车\u0026quot;这件事结构化成一组可被下游消费的 query，而不是一堆框 第 2 段：Map 查询（MapFormer） 负责在线矢量建图——实时检测车道线、可行驶区域、道路边界等静态/半静态元素。\n输入：BEV 特征 + 一组 Map 查询 输出：矢量化的地图元素（车道线、分隔带、人行横道等） 作用：给预测和规划提供结构化的道路先验，告诉模型\u0026quot;车该往哪儿开\u0026quot; Map 查询与 Track 查询一起，构成了对场景的双视角描述：动态目标 + 静态路网。\n第 3 段：Motion 预测（MotionFormer） 基于 Track 查询和 Map 查询，预测每个智能体未来若干秒的运动轨迹。\n输入：Track 查询 + Map 查询 + 自车 query 输出：每个目标的多模态未来轨迹（多条候选 + 概率） 关键设计：建模三类交互——智能体 ↔ 智能体、智能体 ↔ 地图、智能体 ↔ 终点（goal） MotionFormer 把感知得到的 query 与地图 query 进行交叉注意力，让模型在特征层面理解\u0026quot;前车会怎么动、它受哪条车道约束\u0026quot;。\n第 4 段：Occupancy 预测 这一段是 UniAD 的神来之笔。运动预测只对被检测到的、可跟踪的目标做轨迹预测，但真实世界里还有大量未观测到、不规则、难以归类的障碍物（散落物、异形车、施工围挡）。占用预测用一个 BEV 栅格去预测\u0026quot;未来某个时刻，每个格子会不会被占据\u0026quot;，补上了运动预测的盲区。\n输入：Motion 模块的隐特征 + Track 查询 输出：未来多帧的占用栅格 作用：作为规划的安全兜底——即使预测漏了某个目标，占用栅格也能提示\u0026quot;前方有东西\u0026quot;，避免规划出冲撞轨迹 Motion + Occupancy 互补是这篇论文设计哲学的精华：一个看\u0026quot;已知目标怎么动\u0026quot;，一个看\u0026quot;还有什么会挡路\u0026quot;，两者合力为规划提供完整的未来视野。\n第 5 段：Planner 规划模块拿到上述所有信息后，输出自车未来轨迹。\n输入：自车 query + Track 查询 + Map 查询 + Motion 预测结果 机制：自车 query 对其他所有 query 做注意力，综合\u0026quot;周围车要怎么动、车道在哪、占用情况\u0026quot;来生成轨迹 输出：未来若干个 waypoints（航点） 为了把\u0026quot;安全\u0026quot;硬编码进优化目标，Planner 还引入了一个碰撞损失——把规划轨迹投影回 BEV，与占用栅格做约束，惩罚可能与障碍物重叠的轨迹。这让规划不只是拟合人类轨迹，而是显式地避免碰撞。\n五段总结 模块 输入 输出 服务于规划的角色 TrackFormer BEV 特征 + 历史 query Track 查询 \u0026ldquo;周围有谁\u0026rdquo; MapFormer BEV 特征 + Map 查询 Map 查询 \u0026ldquo;路怎么走\u0026rdquo; MotionFormer Track + Map 查询 多模态轨迹 \u0026ldquo;别人会怎么动\u0026rdquo; Occupancy Motion 特征 + Track 查询 占用栅格 \u0026ldquo;还有什么挡路\u0026rdquo; Planner 全部 query + 自车 query 自车 waypoints \u0026ldquo;我该怎么开\u0026rdquo; 🔗 query：端到端梯度贯通的关键 UniAD 最具方法论价值的创新，是用 query 作为贯穿全流程的统一接口。这带来三个本质好处：\n特征级信息流动：模块之间不再传递\u0026quot;框/轨迹\u0026quot;这种离散有损信息，而是传递连续的特征向量，规划模块能看到感知的全部细节。 梯度可回传：因为整条链路都是可微的，规划 loss 可以一路反传到感知，真正实现\u0026quot;为规划而感知\u0026quot;。 统一调度：所有模块都遵循 query + 注意力的范式，便于在一个框架里联合训练、联合推理。 这正是它区别于传统 pipeline（不可微）和黑盒端到端（无中间表示）的根本所在——用 query 同时拿到了\u0026quot;端到端的可微性\u0026quot;和\u0026quot;显式表示的可解释性\u0026quot;。\n📉 多任务联合 loss 设计 UniAD 是个典型的多任务学习系统，每个模块都有自己的监督信号：\n任务 主要 loss 跟踪（Track） 分类 loss + 框回归 loss + 关联匹配 loss 建图（Map） 矢量元素分类 + 回归 loss 运动预测（Motion） 轨迹回归（minADE / minFDE）+ 模态分类 loss 占用预测（Occ） 二值交叉熵 / IoU loss 规划（Planner） 轨迹 L2 回归 + 碰撞 loss 训练上有一个重要工程经验：直接从头端到端联合训练会崩——各任务梯度尺度不一、相互打架，很难收敛。UniAD 采用两阶段策略：\n阶段一：分别预训练各感知/预测模块，让每个子任务先到一个合理的初始化。 阶段二：端到端联合微调，把所有模块接起来，以规划为主导做联合优化。 这种\u0026quot;先分后合\u0026quot;的做法，是后来几乎所有端到端工作（VAD、SparseDrive 等）默认采用的训练范式，可谓\u0026quot;立规矩\u0026quot;的贡献。\n📊 在 nuScenes 上的表现 UniAD 在 nuScenes 上做了全面评测，结果可以用\u0026quot;全面碾压\u0026quot;形容：\n规划：在 L2 误差和碰撞率两个核心指标上，相比当时的强基线 ST-P3 等大幅领先；碰撞率尤其显著下降，说明安全性提升明显。 跟踪（MOT）：AMOTA 指标 SOTA。 运动预测：minADE / minFDE 表现优秀。 在线建图：车道线 IoU 等指标领先。 更值得关注的是消融实验揭示的规律：\n设计选择 对规划的影响 去掉 Occupancy 模块 碰撞率明显上升 → 占用预测是安全兜底 去掉端到端联合训练 规划精度下降 → 梯度贯通确实有用 只用感知结果做规划 显著变差 → 中间任务确有贡献 这些消融一锤定音地证明了：UniAD 的每个模块、每条设计都不是凑数的，都切实地服务了最终的规划目标。它也因此斩获了 nuScenes 自动驾驶预测与规划挑战赛的冠军。\n🌍 开创\u0026quot;显式端到端\u0026quot;范式 UniAD 的历史地位，远不止于\u0026quot;一个跑得好的系统\u0026quot;，而在于它确立了一条新路线：\n路线 代表 特点 局限 分模块拼接 工业界传统 成熟、可解释 误差累积、不可微 隐式端到端 行为克隆类 联合优化 黑盒、不可调试 显式端到端 UniAD ⭐ 可微 + 显式表示 训练复杂、算力高 显式端到端这个范式几乎成了 2023 年之后学术界的\u0026quot;默认选项\u0026quot;，后续一大批工作都沿着 UniAD 铺好的路往前走。\n🔗 与后续工作的关系 UniAD 之后的端到端工作，基本都在\u0026quot;简化表示、提效、提质\u0026ldquo;三个方向上迭代。\nUniAD → VAD VAD（Vectorized Auto-regressive Driving） 直接继承了 UniAD 的\u0026quot;显式端到端 + 向量化表示\u0026quot;思想，但做了两件关键瘦身：\n用矢量化场景表示替代 UniAD 中较重的密集 BEV 栅格，大幅降低算力、提升推理速度 进一步精简模块，强调效率与泛化 可理解为 \u0026ldquo;UniAD 的轻量化、向量化改良版\u0026rdquo;，证明了 UniAD 路线可以被工程化加速。\nUniAD → SparseDrive SparseDrive 把\u0026quot;稀疏\u0026quot;做到极致——用稀疏 query 表示目标和地图，避免密集 BEV 计算，在保持甚至提升精度的同时把推理开销进一步压低。它延续了 UniAD \u0026ldquo;query 贯通 + 显式表示\u0026rdquo; 的内核，只是把表示做得更稀疏、更高效。\n三者一脉相承 工作 核心传承 主要进化 UniAD 范式奠基者 首次显式端到端，规划导向 VAD 向量化 + 显式端到端 轻量化、提速 SparseDrive query 通路 + 显式表示 全稀疏，进一步提效 可以说，UniAD 定义了赛道，VAD/SparseDrive 在这条赛道上把车跑得更快。\n📝 个人思考 读 UniAD 最打动我的，是它对\u0026quot;目标\u0026quot;的清醒定位。在它之前，自动驾驶学术界和工业界都容易陷入一种\u0026quot;局部最优陷阱\u0026rdquo;——每个团队埋头把自己的模块（检测、预测、规划）刷到 SOTA，却很少反思这些模块拼起来是否真的让车开得更好。UniAD 用一句话点醒了这个迷思：所有任务的终极目标只有一个，就是规划。这种\u0026quot;以终为始\u0026quot;的系统观，比任何具体的网络结构都更值得铭记，因为它适用于一切复杂系统的设计——先想清楚最终要什么，再倒推每个组件该怎么搭。\n第二点启发在**\u0026ldquo;折中\u0026quot;的智慧**。UniAD 没有走极端：既不全盘黑盒（保留了显式的轨迹/地图/占用表示），也不固守分模块（让梯度贯通到感知）。这种\u0026quot;鱼与熊掌兼得\u0026quot;的设计哲学，在工程实践中往往比纯学术的激进更值钱。我倾向于认为，真正能大规模落地的自动驾驶系统，一定是某种形式的\u0026quot;显式端到端\u0026rdquo;——因为它同时满足了\u0026quot;可优化\u0026quot;和\u0026quot;可解释、可兜底\u0026quot;这两个落地刚需。纯黑盒端到端再炫酷，在安全审计和事故定责面前都站不住脚。\n最后一点是对占用预测这个模块的体会。它在 UniAD 里看似不起眼，却是最具工程价值的创新之一。真实世界充满\u0026quot;不规则、未归类、未观测\u0026quot;的障碍物，传统的检测/预测范式天然漏掉它们，而占用栅格是一种**\u0026ldquo;不管是什么，先告诉我有没有\u0026rdquo;**的兜底表示。这种\u0026quot;从语义回到几何\u0026quot;的设计思路，对今天的端到端乃至世界模型研究都有启示——越是高层语义容易出错的地方，越需要底层几何的安全网兜着。这或许也是为什么占用网络（OccNet）后来单独发展成了一条热门分支。\nUniAD 的价值，在于它不只是\u0026quot;一个跑得好的模型\u0026quot;，而是给整个领域立了一根旗杆：从此大家讨论端到端自动驾驶，都会以它为坐标系的原点。\n📖 这是论文精读系列的第 3 篇。下一篇你想看 VAD、SparseDrive 还是别的论文解读？欢迎留言。\n","permalink":"https://auto-driving-blog.vercel.app/posts/paper-reading/uniad-%E7%AB%AF%E5%88%B0%E7%AB%AF%E8%87%AA%E5%8A%A8%E9%A9%BE%E9%A9%B6%E6%A1%86%E6%9E%B6%E7%B2%BE%E8%AF%BB/","summary":"UniAD首次将感知、预测、规划统一到端到端框架中，以规划为最终目标联合优化，获CVPR 2023最佳论文奖。","title":"论文精读｜UniAD：面向规划的端到端自动驾驶框架（CVPR 2023最佳论文）"},{"content":"什么是\u0026quot;端到端\u0026quot;？ 端到端 = 传感器输入直接到控制输出，中间没有人工设计的模块边界\n传统：感知 → 预测 → 规划 → 控制（四个独立模块，各管各的）\n端到端：摄像头/雷达 → 一个网络搞定 → 方向盘/油门/刹车\n\u0026ldquo;端\u0026quot;指的是输入端（传感器）和输出端（控制），\u0026ldquo;端到端\u0026quot;就是从输入直接到输出，一以贯之。严格来说，端到端自动驾驶希望用一个统一的神经网络，直接把多视角图像、激光雷达点云等原始信号，映射成车辆的控制指令（轨迹点、方向盘转角、油门刹车）。\n需要注意的是，现实工业落地里的\u0026quot;端到端\u0026quot;是一个相对概念：从最纯粹的\u0026quot;图像到方向盘\u0026quot;到保留部分任务结构（感知、规划）的方案，都可以被叫作端到端。下文我们会看到，这条光谱其实是端到端技术演进的主线。\n为什么要走向端到端？ 模块化方案的瓶颈 传统 pipeline 看似清晰，实则问题重重：\n问题 说明 误差累积 感知漏检一个目标 → 预测错 → 规划错，错误层层放大 信息瓶颈 模块间只传结构化结果（如 bbox、轨迹），丢失丰富原始信息 无法联合优化 每个模块单独训练，无法为最终目标做全局优化 计算冗余 多个模块重复提取相似特征，BEV 特征反复重算 上游误差不可回传 规划模块错了，没法反向告诉感知\u0026quot;你应该看清一点\u0026rdquo; 端到端的卖点：把所有环节揉成一个网络，朝着\u0026quot;开得安全\u0026quot;这一个唯一目标一起优化。 梯度可以从最终的规划/控制 loss 一路回传到最前面的视觉编码器，让感知为规划服务。\n端到端的三个发展阶段 🥚 阶段一：隐式端到端（Implicit E2E） 直接用一个大网络从图像回归出轨迹或控制量，网络内部不显式地做感知、预测等任务。这一阶段以早期探索为主。\n代表工作与思路：\n工作 核心做法 NVIDIA PilotNet（DAVE-2，2016） 一个小 CNN 直接从单目图像回归方向盘角度，开启\u0026quot;行为克隆\u0026quot;先河 Conditional Affordance Learning（CAC，2019） 用 affordance 中间量（车距、航向）约束网络，缓解纯回归的发散 Learning by Cheating（LBC，2019） 先用\u0026quot;特权信息\u0026quot;训教师网络，再蒸馏到只用视觉的学生网络 MP0 / Urban Driver（2022） 在向量化场景上直接做策略学习，引入 RL/IL 框架 隐式 E2E 的主要问题：\n黑盒：内部完全不可解释，出事没法定位 难训练：直接回归控制量监督信号太弱，容易陷入局部最优 效果不稳定：泛化性差，遇到没见过的场景容易\u0026quot;翻车\u0026rdquo; 但它奠定了\u0026quot;用网络直接输出动作\u0026ldquo;这一思路，是后续所有端到端工作的鼻祖。\n🏗️ 阶段二：显式端到端（Explicit E2E）—— 当下主流 网络内部保留感知、预测、规划的任务结构，但用梯度让它们联合优化。既有端到端的优势，又保留一定可解释性。核心思想是\u0026quot;任务级联合，而非模块级独立\u0026rdquo;。\n代表工作：\n模型 特点 UniAD（2023，CVPR Best Paper） 首个完整的任务级端到端框架，奠定方向 VAD（2023，ICLR 2024） 向量化的端到端，高效优雅 PARA-Drive 并行多任务 SparseDrive（2024） 稀疏化设计，提速降耗 AD-MLP / ego-MLP 简洁的轨迹回归 baseline 🚀 阶段三：生成式 / 大模型端到端 —— 前沿 引入扩散模型、VLM、世界模型，让端到端具备生成能力和推理能力。这一阶段的特征是\u0026quot;从确定性回归走向多模态分布，从纯感知映射走向带推理的决策\u0026quot;。\n代表工作：\n模型 特点 DiffusionDrive（2024） 用 Flow Matching / 扩散做多模态轨迹生成 DriveVLM VLM 驱动的端到端推理 EMMA（Wayve，2024） 多模态大模型做端到端，统一感知+规划 GoalFlow / Diffusion Planner 扩散做目标导向的轨迹生成 显式端到端三大代表作深入剖析 🏛️ UniAD：任务级端到端的奠基者 UniAD（Unified Autonomous Driving）是首个把\u0026quot;跟踪 → 在线建图 → 运动预测 → 占用预测 → 规划\u0026quot;五大任务串成一个网络的方案。它的几个关键设计：\nQuery-based 串联：所有任务通过 query 这一接口连接。Track Query 把检测/跟踪结果传给 Motion Forecasting，再传给 Occupancy，最后 Planner 通过 ego query 直接消费所有信息。 梯度贯通：规划 loss 可以一路反传到最前面的图像 backbone，感知模块\u0026quot;被迫\u0026quot;为规划服务。 辅助监督：检测、跟踪、建图、运动预测、占用都有显式监督，避免规划信号过弱导致退化。 占有预测当\u0026quot;安全网\u0026quot;：Occupancy Map 用来表达 Planner 没想到的障碍物（如静态路障），降低碰撞。 为什么 UniAD 拿了 Best Paper？因为它第一次证明了\u0026quot;端到端 + 多任务监督\u0026quot;能稳定跑通，并定义了后续两年显式 E2E 的基本范式。\n🧩 VAD：向量化带来的效率革命 UniAD 强归强，但又慢又重（推理 ~30Hz 都很勉强）。VAD（Vectorized Auto-Driving）的核心贡献是用向量化场景表示替代密集栅格化表示：\nVectorized Map / Agent：地图元素（车道线、边界）和动态目标用矢量（折线、关键点）表示，而不是稠密的栅格图。 大幅降算力：VAD-Base / VAD-Tiny 比 UniAD 快 2~4 倍，显存占用大幅下降，更适合上车。 Ego Query 规划：用一个 ego-vehicle query 与场景 query 交互，回归自车未来轨迹。 多任务辅助：保留地图矢量化、agent 矢量化的监督，帮助学到结构化场景理解。 一句话总结：VAD 把 UniAD 的\u0026quot;重任务联合\u0026quot;做到了\u0026quot;轻量可上车\u0026quot;，是显式端到端工业落地的关键一步。\n🪶 SparseDrive：把稀疏化做到极致 SparseDrive 进一步把\u0026quot;算力\u0026quot;打下来，思路是全程稀疏：\n稀疏检测：放弃稠密 BEV，用一组稀疏的 centerness query 直接在 3D 空间里检测目标。 稀疏时空预测：只对 detected agent 做运动预测，不再对每个 BEV 网格算未来。 两阶段规划：先粗规划，再用 motion planner 精修，避免一次回归不稳。 性能/效率双赢：在 nuScenes / NAVSIM 上同时拿到高规划指标和低延迟。 三者放在一起对比：\n维度 UniAD VAD SparseDrive 场景表示 密集 BEV + Query 向量化 全稀疏 速度 慢 中 快 可上车性 弱 中 强 历史地位 范式定义 工程化里程碑 极致效率 🎨 扩散模型与 DiffusionDrive 为什么用扩散做轨迹规划？ 传统规划头常用确定性回归：一个 MLP 输出一条轨迹。但真实驾驶本质是多模态的——同样的场景，你既可以刹车、也可以变道、也可以匀速绕行，没有唯一正确答案。确定性回归会出现：\n模式平均：网络把\u0026quot;刹车\u0026quot;和\u0026quot;变道\u0026quot;两条最优解平均，得到一条不合理轨迹（比如撞墙） 无法表达不确定性：只给一条线，下游无法做风险评估 扩散模型（Diffusion）天然适合多模态分布建模：采样 N 次就能得到 N 条不同的合理轨迹，再通过评分函数（碰撞、舒适度、合规性）挑最好的。\nFlow Matching 的优势 经典的 DDPM 扩散需要上百步去噪，太慢，做不了实时规划。Flow Matching（流匹配） 作为扩散的近亲，有几个明显优势：\n维度 经典扩散（DDPM） Flow Matching 采样步数 几十~上百步 几步即可 训练稳定性 受噪声调度影响大 更稳定 路径设计 固定的加噪/去噪 可学习的概率路径 理论基础 Score Matching Vector Field 回归 DiffusionDrive 的核心就是把 Flow Matching 用在轨迹生成上：\n用 条件流匹配（Conditional Flow Matching） 在 ego query 的引导下，把一个简单先验分布（如高斯）\u0026ldquo;流\u0026quot;到目标轨迹分布 一次前向能输出多模态候选轨迹 用 collision / comfort / similarity 等代价函数打分选最优 在 NAVSIM / nuPlan 上拿到 SOTA 级 PD（Progress + Distance）分数 直觉理解：扩散/Flow Matching 让规划从\u0026quot;画一条线\u0026quot;升级成\u0026quot;画一片合理的可能性云，再挑最稳的那条\u0026rdquo;。这正是端到端走向不确定性感知的关键一步。\n📊 Loss 设计与训练策略 多任务 Loss 权衡 显式 E2E 同时优化多个任务，loss 形式通常长这样：\nL_total = w_plan * L_planning + w_det * L_detection + w_track * L_tracking + w_map * L_mapping + w_motion * L_motion + w_occ * L_occupancy 关键难点：这些 loss 的量级、收敛速度差异巨大。规划 loss 几米、检测 loss 几十、占用 loss 几百，直接相加会被某一项主导。常用解法：\nUncertainty Weighting（Kendall et al.）：让网络自动学习每个任务的权重，与任务的同方差不确定性挂钩。 GradNorm / DWA：动态调节权重，让各任务梯度量级平衡。 分阶段训练：先预训练感知/预测，再冻结 backbone 微调规划（curriculum 思路）。 规划 loss 本身通常包含：\nL2 / ADE / FDE：与人类驾驶轨迹的位移误差 碰撞惩罚：与动态/静态障碍物的碰撞 soft penalty 舒适度约束：jerk（急动度）、横向加速度惩罚 方向/航向一致性：避免轨迹折返 课程学习（Curriculum Learning） 从简单到复杂逐步加难度：\n直道 + 少车 → 2. 路口转弯 → 3. 拥堵变道 → 4. 极端长尾 这种渐进式训练能显著提升收敛稳定性，避免一开始就让网络在复杂场景里\u0026quot;懵掉\u0026quot;。\n数据增强 场景扰动：随机扰动周围车辆位置、速度，扩宽数据分布 时序抖动：对历史帧做时间抖动，提升时序鲁棒性 图像层增强：颜色、噪声、模糊、遮挡，模拟不同天气/光照 生成式增强：用世界模型（GAIA、DriveDreamer）合成罕见场景，弥补长尾 📈 评测体系：开环 vs 闭环 端到端怎么评？这其实是个比训练更难的问题。\n开环评测（Open-Loop） 给定数据集中的历史帧，让模型预测未来轨迹，与 ground truth 比较。常用指标：\n指标 含义 L1 / L2 误差 预测轨迹与 GT 在各时间步的位移误差（米） ADE Average Displacement Error，全程平均 FDE Final Displacement Error，终点误差 Collision Rate 与已知障碍物的碰撞率（静态/动态分别算） 典型 benchmark：nuScenes Planning、NAVSIM、nuPlan。\n⚠️ 开环的核心缺陷：模型只预测一步、不实际执行，不会进入\u0026quot;我变了 → 别人也会变\u0026quot;的反应链。在开环上刷高分，不代表真的能开车。NAVSIM 引入 PD（Progress + Distance） 指标，部分缓解了\u0026quot;模型原地不动也得低分\u0026quot;的问题，是当前更合理的开环评估。\n闭环评测（Closed-Loop） 把模型放进仿真器里真正开车，与其它智能体交互。常用平台：\n仿真器 特点 CARLA 研究界主流，渲染偏游戏化，与真实差距大 nuPlan 真实日志驱动的闭环，含 reactive agents NAVSIM nuScenes 衍生，非反应式（半闭环） 私有仿真器 特斯拉、Wayve 等自建，最接近真实 闭环指标：完成率、违规率、碰撞率、舒适性、接管次数。这才是真正考验\u0026quot;能不能开\u0026quot;的评测。\n理想评测 = 开环看精度 + 闭环看行为 + 实路看长尾，三者缺一不可。\n⚠️ 端到端的四大挑战 1. 可解释性 黑盒网络出事了，没法定位是哪个环节出错。监管和安全验证很难做。\n解法思路：\n显式端到端，保留任务结构，可以分别看感知/预测/规划的中间输出 注意力可视化、 saliency map 做 post-hoc 解释 VLA / CoT（Chain-of-Thought）让模型\u0026quot;说出理由\u0026quot;，提供语言级可解释性 2. 数据需求巨大 端到端是\u0026quot;数据饥饿型\u0026quot;方案，需要海量优质驾驶数据，长尾场景几乎采不全。\n解法思路：\n世界模型生成数据补长尾（GAIA、DriveDreamer、MagicDrive） 自动标注、弱监督、半监督降低人工成本 影子模式：车上跑旧方案，收集真实触发，回灌训练 跨车队的联邦学习与数据共享 3. 安全验证 模块化系统可以逐模块做单元测试。端到端只能整体测，怎么保证它在所有场景下都安全？目前没有成熟的验证体系。\n解法思路：\n基于场景库的覆盖性测试（ODD 边界、对抗样本） 形式化验证（formal verification）的初步探索 影子模式 + 离线对比，持续监测与人类/旧策略的差异 冗余系统（safety cage / rule-based fallback）兜底关键场景 4. 训练稳定性 大网络端到端训练容易崩，学习率、loss 权衡、数据配比都需要精心调参。\n解法思路：\n课程学习从易到难 多任务 loss 自适应加权（uncertainty weighting） 分阶段训练：感知预训练 → 冻结 → 规划微调 梯度裁剪、loss scaling、混合精度训练 🔮 未来趋势：两个关键融合方向 方向一：VLM + 端到端（让系统\u0026quot;看懂\u0026quot;） 纯视觉端到端能\u0026quot;看见\u0026quot;，但不一定\u0026quot;看懂\u0026quot;。比如它识别到前方有锥桶，但不懂\u0026quot;因为施工所以要变道\u0026quot;。把 VLM/VLA 引入端到端，让系统具备语义推理能力：\nDriveVLM：VLM 做场景理解与思维链推理，输出结构化决策，再交给传统 planner 执行 EMMA：用 Gemini 类多模态大模型统一感知+规划，多任务输出 VLA 直接出动作：视觉 + 语言 → 动作，一步到位（参考 π0、OpenVLA） 这一方向最大的工程挑战是LLM 推理太慢，车端实时性要求几十毫秒响应。当前解法：蒸馏小模型、推理加速（量化、KV cache）、关键场景才上 LLM。\n方向二：世界模型 + 端到端（让系统\u0026quot;预演\u0026quot;） 世界模型给端到端装上**\u0026ldquo;想象力\u0026rdquo;**：\nModel-based Planning：策略网络在决策前，先用世界模型\u0026quot;推演\u0026quot;几个候选动作的后果，选最安全的那条（类似人类\u0026quot;三思而后行\u0026quot;） 闭环训练：世界模型当仿真器，让策略在生成的未来里学习，不再受限于固定数据集 数据飞轮：世界模型生成 → 训练策略 → 策略采集新场景 → 训练更好的世界模型 终极愿景：VLM 负责\u0026quot;理解与决策\u0026quot;，世界模型负责\u0026quot;预测与预演\u0026quot;，端到端网络负责\u0026quot;执行\u0026quot;，三者融合成一个真正像人一样开车的系统。\n🆚 三代演进对比 维度 模块化 Pipeline 显式端到端 大模型 / 生成式端到端 代表 传统方案 UniAD / VAD / SparseDrive DiffusionDrive / VLA / EMMA 场景表示 结构化中间结果 Query / 向量 / 稀疏 Token / 表征 / 多模态分布 输出 确定性轨迹 确定性轨迹 多模态轨迹分布 + 推理 优化方式 各模块独立 任务级联合优化 联合优化 + 大规模预训练 可解释性 强 中（保留任务结构） 中~强（可输出 CoT） 效果上限 次优 工程上 SOTA 潜力最大 落地难度 低 中 高（算力/数据/延迟） 小结 端到端不是银弹，但代表了**\u0026ldquo;用数据和学习取代人工规则\u0026rdquo;的大趋势。当下最务实的路线是显式端到端**（保留任务结构，UniAD/VAD/SparseDrive 这条主线），同时向生成式 + 大模型方向探索（DiffusionDrive、VLA、世界模型融合）。\n理解了端到端的这条演进线，再回头看 VLA 和世界模型，你会发现它们正是端到端走向\u0026quot;智能化\u0026quot;的两个关键拼图——VLA 给它\u0026quot;脑子\u0026quot;，世界模型给它\u0026quot;想象力\u0026quot;。\n💡 这个系列会持续深入。下期可以聊聊具体的 loss 设计、某篇论文的实现细节，或者 NAVSIM 上怎么刷分。\n","permalink":"https://auto-driving-blog.vercel.app/posts/knowledge/%E7%AB%AF%E5%88%B0%E7%AB%AF%E8%87%AA%E5%8A%A8%E9%A9%BE%E9%A9%B6%E6%BC%94%E8%BF%9B/","summary":"端到端自动驾驶到底端在哪？它和传统方案差在哪？一篇梳理清楚来龙去脉。","title":"端到端自动驾驶：从模块化到一体化的演进"},{"content":"📄 论文信息 标题：DriveVLA-W0: World Models Amplify Data Scaling Law in Autonomous Driving 团队：中科院自动化所（CASIA / NLPR）× 蔚来（Yinwang Intelligent Technology） 发表：arXiv:2510.12796（2025 年 10 月首发，12 月更新 v2） 代码：github.com/BraveGroup/DriveVLA-W0 一句话总结：用一个\u0026quot;预测未来画面\u0026quot;的世界模型给 VLA 大模型补上稠密监督，让海量驾驶数据真正喂得进、学得动，单目前视相机就刷新了 NAVSIM 榜单。 🤔 要解决什么问题？ 当前端到端自动驾驶有两条主流路线，各有软肋：\n路线 代表工作 优点 软肋 BEV 感知驱动 UniAD、VAD、DiffusionDrive 几何先验强、结构紧凑 难以复用非驾驶数据，规模天花板低 VLA 大模型驱动 AutoVLA、ReCogDrive、本文 模型大、潜在 Scaling 强 监督信号太稀疏 DriveVLA-W0 抓住的是 VLA 路线一个反直觉的痛点——\u0026ldquo;监督赤字\u0026rdquo;（Supervision Deficit）：你给了一个 7–8B 参数的大模型，却只用几维的未来轨迹点（waypoints）去监督它。这就好比你请了一位博士，却只让他抄写\u0026quot;左转、右转\u0026quot;。结果就是：\n大模型的表征能力严重浪费，学不出对世界的深层理解； 单纯堆数据也救不了，因为动作监督本身是稀疏的，再多的数据也只是稀疏信号的重复； 实验中甚至出现\u0026quot;大 VLA 反而打不过小 BEV 模型\u0026quot;的尴尬。 核心问题：如何给 VLA 大模型配上一个稠密的、能逼它学会世界运行规律的监督信号？答案就是——世界模型。\n换个比喻更好理解：传统动作监督像是只告诉模型\u0026quot;考试答案\u0026quot;，而世界模型监督是让模型\u0026quot;把整张卷子的解题过程都写出来\u0026quot;。前者只校验终点对不对，后者校验中间每一步对世界的理解对不对——显然后者更能逼出真正的理解力。\n💡 核心创新：世界模型作为稠密自监督 让模型\u0026quot;预见未来\u0026quot; DriveVLA-W0 的核心动作很朴素：除了预测动作，还要预测未来的图像。给定当前观测和动作，模型被要求画出\u0026quot;下一帧会是什么样子\u0026quot;。这个任务带来的是每一时刻、每个像素级的稠密监督，逼着模型去学环境的物理动力学——车往前开会看到什么、减速时景物如何变化、变道后周围车流如何重组。\n关键判断：动作是稀疏的低维信号，图像是稠密的高维信号。用图像预测去\u0026quot;放大\u0026quot;动作监督的密度，是用世界规律反哺驾驶决策。\n两种世界模型实现 VLA 模型按视觉表示分为两大流派，作者为各自量身定制了世界模型：\n维度 AR 世界模型（自回归） Diffusion 世界模型（扩散） 适配骨干 Emu3-8B（离散视觉 token） Qwen2.5-VL-7B（连续视觉特征） 做法 把未来图像编码成离散 token，做 next-token 预测 在隐空间训练潜扩散，去噪生成未来帧 预测目标 当前帧的视觉 token 序列 下一帧图像 I_{t+1} 的潜表示 训练损失 交叉熵 L_WM-AR MSE 噪声预测 L_WM-Diff 总目标 L = L_Action + α·L_WM-AR L = L_Action + β·L_WM-Diff 一个巧妙的细节：Diffusion 世界模型预测的是\u0026quot;下一帧\u0026quot;而非\u0026quot;当前帧\u0026quot;。因为条件里已经包含当前帧的全部特征，若只重建当前帧就退化成复制任务；只有预测未来，才能学到真正的预测性动力学。AR 模型生成图像时则用 MoVQGAN 解码器把 token 渲染回像素。\n需要强调：推理时世界模型分支被旁路，只走动作通路以保证实时性；图像生成只在可视化、反事实分析时启用。所以世界模型更像一位\u0026quot;严师\u0026quot;——只在训练时逼着模型把世界学透，上车推理时并不拖慢决策。\n两阶段训练范式 为了让\u0026quot;先学世界、再学动作\u0026quot;的思路落地，作者设计了两阶段训练：\n阶段 输入序列 监督目标 作用 阶段 1：世界预训练 长序列 6VA（6 组视觉-动作） 动作损失 + 世界模型损失 用稠密信号喂出丰富的世界表征 阶段 2：动作专精 短序列 2VA（2 组） 仅动作专家的动作损失 接入轻量动作专家，专攻实时出轨迹 阶段 1 不冻结骨干，世界模型与动作任务联合优化，让表征同时服务于\u0026quot;看懂世界\u0026quot;和\u0026quot;开车\u0026quot;两个目标；阶段 2 把重计算的世界分支关掉，只留动作专家精调。这套\u0026quot;先厚喂、再瘦身\u0026quot;的流程，正是它兼顾学习深度与推理速度的关键。\n⚙️ 架构详解：VLM 骨干 + 世界模型 + 动作专家 整体数据流 输入是深度交错的多模态历史序列，沿时间滑窗拼接：\n语言指令 L + 前视图像 V + 历史动作 A ➜ 交错成 [L,V,A,…,L,V,A] 序列 ➜ VLM 骨干自回归编码 ➜ 拆出语言/视觉/动作特征 ➜ 世界模型学未来 + 动作专家出轨迹\n历史动作用 FAST tokenizer 把连续轨迹点编码成离散 token，提供强时序先验。这种\u0026quot;视觉-动作交错序列\u0026quot;让模型理解\u0026quot;我做了这个动作，世界变成了这样\u0026quot;的因果链。\nAction Expert：轻量 MoE 动作专家 大 VLM 骨干虽擅长学表征，但太重、不适合实时控制。作者引入一个仅 500M 的动作专家（Action Expert），与完整 VLA 骨干组成 MoE 架构，通过 Joint Attention 深度耦合：\n两个专家各自计算 Q、K、V； 沿 token 维度拼接后做一次联合注意力； 输出再拆分路由回各自专家。 这种对称融合让小专家能高效\u0026quot;借用\u0026quot;大骨干的丰富表征，而不必把大模型搬到控制回路里。\n三种动作解码器 作者把这套 MoE 当成\u0026quot;试验台\u0026quot;，系统对比了三种动作生成方式：\n解码器 表示 原理 训练损失 Query-based 连续 可学习 query 经联合注意力后用 MLP 直接回归轨迹 L1 Autoregressive 离散 自回归预测离散动作 token（同基线） 交叉熵 Flow Matching 连续 学一个向量场，从噪声沿直线路径\u0026quot;流\u0026quot;到真实动作 MSE 三种解码器都能生成连续驾驶轨迹（连续点最终都经 FAST detokenizer 还原为 waypoints），但适用场景竟会随数据规模\u0026quot;反转\u0026quot;——这是后文最精彩的发现之一。\n🧠 从\u0026quot;语言 CoT\u0026quot;到\u0026quot;预测式 CoT\u0026quot; 提到把推理引入驾驶，本系列第一篇 DriveVLM 走的是显式语言思维链：描述 ➜ 分析 ➜ 提取 ➜ 推理，用自然语言把\u0026quot;想到了什么\u0026quot;讲出来。而 DriveVLA-W0 走的是另一条路——预测式 CoT：\n看见当前 ➜ （隐式）预见未来 ➜ 生成动作\n它不输出文字推理过程，而是通过\u0026quot;预测下一帧画面\u0026quot;这件事，把对场景的因果理解压进网络权重。论文用一组反事实实验验证了这种理解是\u0026quot;接地\u0026quot;的：当显式给定一个\u0026quot;减速\u0026quot;轨迹作为条件，世界模型生成的画面里，周围景物流动明显变慢——说明模型真的理解\u0026quot;减速会让世界这样变化\u0026quot;，而非死记动作。\n消融实验给出有力佐证：用\u0026quot;视觉+动作\u0026quot;交错序列（6VA）预训练，比只用\u0026quot;视觉\u0026quot;序列（6V）的 PDMS 从 84.1 提升到 85.6。把视觉预测与自车动作绑定，模型才被迫去学因果动力学，这正是一种结构化的、非语言的\u0026quot;推理\u0026quot;。所以 CoT 在驾驶里的落地不必拘泥于文字——预测未来本身，就是一种推理。\n🧪 实验与结果 NAVSIM 基准：单相机登顶 在学术基准 NAVSIM（源自 OpenScene，聚焦安全关键场景）上，DriveVLA-W0 仅用单目前视相机，就超越了依赖多相机 + 激光雷达的强对手：\n方法（NAVSIM v1） 传感器 PDMS ↑ UniAD 6 相机 83.4 DiffusionDrive 3 相机 + LiDAR 88.1 WoTE 3 相机 + LiDAR 88.3 AutoVLA 3 相机 89.1 / 92.1（+锚点） DriveVLA-W0（AR 专家 + best-of-N） 1 相机 93.0 人类参考 — 94.8 NAVSIM v2（扩展指标 EPDMS）上同样以 86.1 超过 DiffusionDrive 的 84.5。稠密的世界模型监督让单目打穿了多传感器，这强烈印证了\u0026quot;学会理解世界\u0026quot;比\u0026quot;堆传感器\u0026quot;更值钱。\n放大数据缩放律 真正的重头戏在一个 7000 万帧、100 万+片段的内部数据集上。作者对比了 70k / 700k / 70M 三档数据规模：\n模型（70M 帧） ADE ↓ 提升 碰撞率 ↓ 提升 VLA-VQ + 世界模型 +28.8% +19.7% VLA-ViT + 世界模型 +3.7% +15.9% 而只用动作监督的基线很快就饱和了。这意味着一个重要结论：当监督本身稀疏时，堆数据的收益是有上限的——这正是\u0026quot;监督赤字\u0026quot;在缩放律上的直接体现。世界模型的价值，就是把这条原本已经压扁的曲线重新\u0026quot;撬\u0026quot;起来。\n更反直觉的是泛化性：基线模型在 NuPlan 上预训练后迁到 NAVSIM 反而变差（过拟合了源域的动作分布，把 NuPlan 的驾驶习惯当成了\u0026quot;真理\u0026quot;，反而难以适应 NAVSIM 的长尾操作）；而加了世界模型的 VLA-W0 预训练反而是加分项——因为它学到的是可迁移的视觉表征，而非死记某套动作。换句话说，世界模型让模型学的是\u0026quot;世界长什么样、会怎么变\u0026quot;，这套知识在不同城市、不同数据集之间是通用的。\n动作解码器的\u0026quot;反转\u0026quot; 把同一个预训练骨干接三种解码器，在小数据（NAVSIM，10 万帧）和大数据（70M 帧）上对比，结果令人意外：\n小数据：连续型（query-based、flow matching）更胜——轨迹分布简单，精度优势凸显，离散 AR 受量化误差拖累； 大数据：自回归 AR 反超登顶——海量数据下，要建模的轨迹分布极其复杂，建模能力比单点精度更重要，AR 的强表达力和 teacher-forced 训练效率让它最好扩展。 这个\u0026quot;反转\u0026quot;对行业选型极有启发：解码器的优劣不是绝对的，而是数据规模的函数。\n效率 MoE 动作专家把延迟从 117.8ms 砍到 74.3ms（降到原来 63.1%），同时 PDMS 还从 85.6 涨到 88.4。又快又好，为车端实时部署扫清障碍。\n🔗 与 DriveVLM 的传承与进化 本系列第一篇 DriveVLM 用显式语言 CoT 把 VLM 的推理能力引入驾驶，证明了\u0026quot;理解驱动\u0026quot;比\u0026quot;感知驱动\u0026quot;更有潜力。DriveVLA-W0 沿着这条主线下一步，但走了不同的技术分支：\n维度 DriveVLM（SJTU×NIO） DriveVLA-W0（CASIA×蔚来） 推理形式 显式语言 CoT（描述/分析/提取/推理） 隐式预测式（世界模型预测未来） 核心目标 把 VLM 推理用于场景理解 给 VLA 补稠密监督、放大缩放律 架构 VLM 慢系统 + 轻量快系统（双系统） VLM 骨干 + 世界模型 + MoE 动作专家 动作输出 高层决策意图指导快系统出轨迹 端到端直接出连续轨迹 关键贡献 可解释性、长尾推理 数据缩放律、单目 SOTA 监督密度 稀疏（决策/动作） 稠密（未来图像） 两者一个重\u0026quot;说清楚\u0026quot;（可解释的语言推理），一个重\u0026quot;学得深\u0026quot;（稠密的世界建模）。理想形态或许是二者融合：用世界模型把表征喂饱，再叠加语言 CoT 做可解释决策——这正是自动驾驶走向\u0026quot;理解驱动\u0026quot;的两条互补路径。\n📝 个人思考 这篇论文最让我受震动的是它点破了一个反直觉的事实：大模型 + 大数据并不天然等于好效果，瓶颈往往在监督信号的密度上。一个 8B 的模型只用几维轨迹去训，就像用吸管喝大海——水很多，但喝不进来。世界模型预测未来图像，本质上是把\u0026quot;驾驶\u0026quot;这个低维任务，重新装订成\u0026quot;建模世界动力学\u0026quot;这个高维任务，让大模型的容量终于有用武之地。这背后的思想值得所有做\u0026quot;大模型落地垂直领域\u0026quot;的人借鉴：迁移的不是模型，而是要为它匹配密度的监督。\n第二个启发是关于缩放律的\u0026quot;反转\u0026quot;。多数人相信\u0026quot;模型越大越好、解码器越复杂越好\u0026quot;，但 DriveVLA-W0 揭示了两个反转：预训练可能有害（基线）、简单解码器在大数据下反超复杂解码器。这提醒我们，很多架构优劣的结论是小数据下的幻觉，真正的工程选型必须在自己业务的真实数据规模上重新验证。Flow Matching 在小数据夺冠、AR 在大数据称王——这种\u0026quot;规模依赖的优胜\u0026quot;现象，很可能在机器人、具身智能等领域同样存在。\n最后，\u0026ldquo;单目前视相机超越多相机 + 激光雷达\u0026quot;这个结果，对整个自动驾驶行业是一记警钟。它说明当模型真正\u0026quot;理解\u0026quot;了世界，传感器堆料的边际收益在下降。我倾向于认为，未来的竞争重心会从\u0026quot;谁的传感器更全\u0026quot;转向\u0026quot;谁能让模型学得更深\u0026rdquo;——而世界模型/生成式预训练正是那条把数据价值最大化的路径。DriveVLA-W0 给出了一个相当硬核的起点：稠密监督，才是打开大模型驾驶智能的钥匙。\n🔗 延伸阅读 工作 团队 与 DriveVLA-W0 的关系 DriveVLM SJTU × NIO 本系列首篇，语言 CoT 路线，理解驱动的\u0026quot;另一条腿\u0026quot; LAW — 先驱性地用隐式世界模型做表征学习，本文用\u0026quot;预测未来图像\u0026quot;做更直接的稠密监督 GAIA-1 / DrivingGPT Waymo 等 世界模型作为\u0026quot;数据合成器\u0026quot;路线，本文则用作\u0026quot;自监督目标\u0026quot; AutoVLA — 轨迹 token 化的自回归 VLA，本文 NAVSIM 主要对比对象 π0 Physical Intelligence 通用机器人 VLA，Flow Matching 动作头；本文系统对比了 Flow Matching 解码器 Emu3 / Qwen2.5-VL 华为 / 阿里 本文的两种 VLM 骨干（离散 token vs 连续特征） UniAD Shanghai AI Lab 本系列第三篇，BEV 端到端范式，本文的对立面与超越对象 📖 这是论文精读系列的第 4 篇。世界模型会不会成为自动驾驶的\u0026quot;下一道分水岭\u0026quot;？欢迎留言讨论。\n","permalink":"https://auto-driving-blog.vercel.app/posts/paper-reading/drivevla-w0%E7%B2%BE%E8%AF%BB/","summary":"DriveVLA-W0 将 VLM 推理、世界模型预测与动作生成统一到端到端框架，代表了自动驾驶从感知驱动走向理解驱动的范式转变。","title":"论文精读｜DriveVLA-W0：视觉语言动作模型驱动的自动驾驶系统"},{"content":"一句话理解 Flow Matching Flow Matching = 学一个\u0026quot;风场\u0026quot;，让随机噪声顺着风飘到数据样本的位置。\n扩散模型（Diffusion）是先加噪再去噪，路径弯弯绕绕；Flow Matching（流匹配）则是直接学一条把噪声\u0026quot;搬\u0026quot;到数据的直线路径。路径越直，跑完这条路需要的步数就越少，训练也就越稳。这就是它近两年在图像生成、动作生成、轨迹规划里快速取代扩散头的根本原因。\n形式化地说，Flow Matching 学习的是一个速度场 $v_\\theta(x,t)$，它告诉你在时刻 $t$、位置 $x$ 处，应该沿哪个方向、以多快的速度移动，才能从噪声分布 $p_0$（通常是高斯）\u0026ldquo;流\u0026quot;到目标数据分布 $p_1$。\n🔄 从 Diffusion 说起：为什么需要 Flow Matching 要理解 Flow Matching，先得明白扩散模型\u0026quot;慢\u0026quot;在哪里。\n扩散模型的两条路径：\n前向过程：把一张干净图像逐步加高斯噪声，最后变成纯噪声。这是一个固定的、不学习的马尔可夫链。 逆向过程：训练一个网络 $v_\\theta$（或预测噪声 $\\epsilon_\\theta$）去反转这个过程，从纯噪声一步步去噪回图像。 问题出在哪？ 扩散前向过程的轨迹是弯曲的——它对应一个非线性时变的随机微分方程（SDE）。逆向去噪必须用很小的步长才能跟上这条弯路，所以经典 DDPM 要采样 1000 步，DDIM 也要 20–50 步。即便后续有 DPM-Solver、一致性模型（Consistency Model）等各种加速技巧，弯曲路径这个根因始终没消除。\nFlow Matching 的洞察： 既然路径弯曲是病根，那为什么不直接构造一条直的路径？一条直线只需要学一个平滑的速度场，推理时用大步长的 ODE solver，几步甚至一步就能走完。这就是 Flow Matching 的核心动机——它不是对扩散的修补，而是从更一般的视角重新定义生成过程，扩散只是它的一个特例。\n📐 数学直觉：向量场、ODE 与\u0026quot;流\u0026rdquo; 这一节是 Flow Matching 的数学核心，但我们会用最直白的方式讲。\n什么是向量场？ 想象一张地图，每个城市上空都插着一个小箭头，告诉你\u0026quot;如果从这里出发，该往哪个方向、以多大速度走\u0026quot;。这些布满空间的箭头集合，就叫向量场。\n在 Flow Matching 里，向量场 $v(x,t)$ 是依赖于时间 $t$ 的：同一个位置，在 $t=0$ 和 $t=0.5$ 的箭头方向可能不同。它的物理含义是——\u0026ldquo;流\u0026quot;在演化过程中，风向是会变的。\n什么是 ODE 与\u0026quot;流\u0026rdquo;？ 有了向量场，我们就能写出一个常微分方程（ODE），描述一个粒子如何随时间运动：\n$$\\frac{dx}{dt} = v_\\theta(x,t), \\quad x(0) \\sim \\mathcal{N}(0,I)$$\n这条公式的意思是：\u0026ldquo;粒子在每一瞬间的速度，等于向量场在当前位置和当前时刻的取值\u0026rdquo;。从 $t=0$ 的噪声点出发，顺着这个 ODE 一路积分到 $t=1$，粒子到达的位置就构成一个样本。这个由向量场定义的、把分布从 $p_0$ 推到 $p_1$ 的演化过程，就叫流（Flow）。\n用最通俗的话说： 训练阶段，网络在学\u0026quot;风怎么吹\u0026quot;；推理阶段，随机撒一把噪声粒子，让它们顺着风飘，飘到 $t=1$ 时聚集成的形状就是数据分布。\nFlow Matching 的训练目标 核心问题是：怎么训练这个向量场 $v_\\theta$？ Flow Matching 的答案是——匹配。构造一个\u0026quot;理想的风场\u0026quot; $u_t(x)$（它把噪声沿直线路径推到数据），然后让网络去逼近它：\n$$\\mathcal{L}{FM}(\\theta) = \\mathbb{E}{t,,x_t}\\left[,\\big|,v_\\theta(x_t,t) - u_t(x_t),\\big|^2,\\right]$$\n其中：\n$t \\sim \\mathcal{U}(0,1)$ 是随机采样的时刻 $x_t = (1-t),x_0 + t,x_1$ 是噪声 $x_0$ 和数据 $x_1$ 之间的线性插值（这就是\u0026quot;直线路径\u0026quot;的来源） $u_t(x_t) = x_1 - x_0$ 是沿这条直线的恒定速度 换句话说，理想的\u0026quot;风向\u0026quot;就是\u0026quot;从当前插值点指向数据点\u0026quot;的方向，网络只要学会预测这个方向即可。这个形式简单到令人惊讶——没有马尔可夫链，没有 SDE，没有繁琐的噪声调度，就是一个回归。\n🆚 Flow Matching vs Diffusion 两者都属于基于分数/速度场的生成模型，但建模哲学截然不同。\n维度 扩散模型（Diffusion） Flow Matching 前向路径形状 弯曲（非线性噪声调度） 直线（线性插值） 底层方程 SDE（含随机项） ODE（确定性） 采样步数 DDPM 1000 步，DDIM 20–50 步 几步到十几步即可 训练目标 预测噪声 $\\epsilon$ 或分数 $\\nabla\\log p$ 预测速度场 $v$ 路径可设计性 固定的加噪过程 任意可设计（条件流） 理论统一性 Flow Matching 的一个特例 更一般的框架 训练稳定性 一般 通常更稳（目标更平滑） 多模态支持 ✅ ✅（天然支持） 三个关键差异的深入解读：\n路径直 vs 弯 是最本质的差别。直线路径意味着 ODE 的曲率小，数值积分可以用大步长——这就是 Flow Matching 能用 5–10 步采样的根本原因，而 Diffusion 想做到同样质量往往要更多步。 确定性 vs 随机性 也带来工程影响。Flow Matching 的推理是一条确定性 ODE，容易缓存、容易蒸馏（把多步蒸馏成一步）；扩散的 SDE 有随机项，控制起来更复杂。 统一视角 在理论上很优雅：当 Flow Matching 的路径取特定的非线性形式时，它就退化为扩散模型。所以学界常说\u0026quot;Diffusion 是 Flow Matching 的特例\u0026quot;。 💡 一句话记忆：Diffusion 是\u0026quot;弯路慢走\u0026quot;，Flow Matching 是\u0026quot;直路快跑\u0026quot;。\n🔀 主要变体：OT-CFM 等 Flow Matching 的一个强大之处是路径和边际分布可以自由设计，由此衍生出多个变体。\n变体 全称 核心改进 作用 FM Flow Matching 最早的原始形式，固定边缘分布 奠基 CFM Conditional Flow Matching 以单个数据点为条件构造直线路径 让训练可计算，无需知道真实边缘分布 OT-CFM Optimal Transport CFM 用最优传输对 $x_0$ 和 $x_1$ 配对 路径更直、训练更快更稳 Rectified Flow 整流流 迭代地\u0026quot;拉直\u0026quot;路径（多次 rectify） 路径接近理想直线，支持一步生成 Stochastic FM 随机流匹配 在 ODE 里加回少量随机项 兼顾稳定性和样本多样性 最常用的是 OT-CFM。 它的关键洞察是：如果噪声 $x_0$ 和数据 $x_1$ 是随机配对的，路径不一定是最优的；但如果用**最优传输（Optimal Transport）**来配对（本质是找一个最小代价的一一映射），路径会尽可能短而直。形象比喻：随机配对像是让每个人去随机一辆出租车，OT 配对像是全局调度让每个人上最近的车。后者路径短、不绕路，训练时梯度方向也更一致。\nRectified Flow（Liu et al.）走了另一条路：先用 CFM 训一个模型，把学到的轨迹\u0026quot;重新拉直\u0026quot;成更直的直线，再训一遍——反复整流几次，路径越来越直，最终可以做到一步生成。Stable Diffusion 3 就采用了 Rectified Flow 的思路。\n💻 训练 vs 推理：代码层面的理解 Flow Matching 的代码结构异常简洁，这是它流行的另一个原因。\n训练阶段：学向量场 一次训练迭代的伪代码（PyTorch 风格）：\n# x1: 一批真实数据（图像/轨迹/动作） # x0: 一批同形状的高斯噪声 x0 = torch.randn_like(x1) # 采样噪声 t = torch.rand(B, 1) # 采样时刻 t ~ U(0,1) xt = (1 - t) * x0 + t * x1 # 线性插值（直线路径） u = x1 - x0 # 理想速度（指向数据） v = model(xt, t, cond) # 网络预测速度场 loss = mse(v, u) # 匹配损失 loss.backward() 关键点： 训练时根本不需要真实数据分布 $p_1$ 的解析形式，只需要单个样本 $x_1$ 作为条件（这就是 CFM 的\u0026quot;Conditional\u0026quot;含义）。损失就是最朴素的 MSE，没有 KL 项、没有 ELBO，简洁到让人怀疑是不是漏了什么。\n推理阶段：用 ODE solver 采样 推理时用一个ODE 求解器从 $t=0$ 积分到 $t=1$：\nx = torch.randn(B, D) # 起点：纯噪声 dt = 1.0 / num_steps # 步长 for i in range(num_steps): t = i * dt v = model(x, t, cond) # 查询速度场 x = x + v * dt # Euler 步（最简单的 ODE solver） # x 即为生成结果 上面是最简单的 Euler 法；实际中常用更高阶的 solver，如 Midpoint、RK4、Dopri5，能在更少步数下达到更高精度。对比一下扩散模型的推理（要做数十到上千次神经网络前向），Flow Matching 的工程优势非常直观。\n一个微妙的点： 训练时 $t$ 是连续采样的浮点数，没有\u0026quot;时间步\u0026quot;的离散概念；推理时才把 $[0,1]$ 离散成若干步。所以\u0026quot;采样步数\u0026quot;纯粹是推理时的工程选择，与训练无关——你可以训完之后自由调整步数权衡速度和质量。\n🚗 自动驾驶中的应用：多模态轨迹生成 为什么轨迹规划需要多模态？ 这是理解 Flow Matching 在自动驾驶价值的起点。考虑一个场景：前方有静止障碍物，左车道空、右车道也空。 此时合理的选择有至少两种——向左变道、向右变道。如果用普通的回归头输出一条\u0026quot;平均轨迹\u0026quot;，结果往往是压着障碍物正中间走（mode averaging），这比任何一个合理选择都更危险。\n多模态意味着输出分布有多个峰（多个合理轨迹），模型需要能表达\u0026quot;这两种选择都合理\u0026quot;，而不是强行取平均。这正是生成式模型（扩散、Flow Matching）的强项——它们输出的是一个分布，采样多次能得到不同的合理轨迹。\n代表工作：DiffusionDrive 与 Flow 头规划 工作 团队 动作头 核心特点 DiffusionDrive 华中科大等 扩散头 把规划建模成条件去噪，输出多模态轨迹分布 CTG++ CMU 条件扩散 用代价函数引导扩散，融合规则约束 GameFormer 上交等 迭代预测 多智能体博弈下的层次化轨迹预测 Flow-based Planner 多家 Flow Matching 头 用直线流路径替代扩散，采样更快 为什么 Flow Matching 在规划里比 Diffusion 更有吸引力？ 答案还是速度。规划在车端是高频任务（10 Hz 以上），扩散头的多步去噪常常是延迟瓶颈；Flow Matching 的几步 ODE 采样能让规划耗时压到一个量级的提升。此外，规划对多模态和可控性都有强需求——前者通过采样多个初始噪声得到多条轨迹，后者通过条件注入（自车状态、地图、障碍）控制生成。\n一个具体的轨迹生成例子 假设要生成未来 3 秒的轨迹（30 个时间点 × 2 维坐标，共 60 维向量）：\n噪声 $x_0$：从 60 维高斯分布采样 条件 $c$：当前自车状态、HDMap、周围障碍物编码成特征 训练：让模型学速度场 $v_\\theta(x_t, t, c)$，目标是把噪声沿直线推到真实轨迹 $x_1$ 推理：用 5 步 Euler 法积分，得到一条候选轨迹；采样多个 $x_0$ 得到多条候选轨迹，再用代价函数（碰撞、舒适度、合规）挑最优的一条下发 整个流程清晰、高效、天然多模态。\n🤖 在 VLA 中的应用：作为 Action Head 在 VLA（Vision-Language-Action）模型里，Action Head 是把 LLM 的推理结果变成连续动作的关键。Flow Matching 正在成为最强 Action Head 的代名词，代表就是 π0。\nπ0：Flow Matching 动作头的标杆 Physical Intelligence 的 π0 把 Flow Matching 用作通用机器人的动作生成头，是目前 VLA 能力的天花板之一。它的设计要点：\n骨干：PaLI/Gemma 风格的 VLM 做视觉-语言理解 动作头：一个Flow Matching 网络，以 VLM 的隐状态为条件，从噪声生成一段动作序列（action chunk） 训练：用大规模示教数据（含跨本体、跨任务）训练，损失就是上文那个简单的 MSE 流匹配损失 推理：用 ODE solver 生成一段未来 N 步动作，按需执行（action chunking） 为什么 π0 选 Flow Matching 而不是 Diffusion 或回归？\n比回归强：机器人动作高度多模态（同一个\u0026quot;把杯子放到架子上\u0026quot;有多种抓取和放置路径），回归会 mode averaging 比扩散快：机器人控制需要 10–50 Hz，Flow Matching 的少步采样对实时性更友好 比扩散稳：Flow Matching 的训练目标更平滑，大规模数据上收敛更可靠 VLA Action Head 三大流派回顾 方案 精度 速度 多模态 代表 离散化 Token 中 慢 弱 RT-2、OpenVLA 连续回归 中 快 弱 早期 SFT 头 Flow Matching 高 较快（可优化） 强 π0、π0.5 Flow Matching 正在成为高精度 VLA 动作头的事实标准。\n🔗 与 GRPO 的结合：Flow-GRPO 的思路 强化学习是 VLA 走向\u0026quot;安全、舒适、符合人类偏好\u0026quot;的必经之路，而 GRPO（Group Relative Policy Optimization） 是 DeepSeek 提出的一种高效策略优化方法（被 R1 等模型采用）。问题是：Flow Matching 是一个生成式采样过程，怎么和 RL 结合？\n核心挑战：从分布到策略 GRPO 原本是给自回归语言模型设计的：采样一组回答，用组内相对奖励做优势估计，更新策略。但 Flow Matching 输出的是连续动作分布，且采样依赖 ODE 积分，没有明确的 token 概率可读。要直接套用 GRPO，必须解决两个问题：\n如何定义 Flow Matching 策略的\u0026quot;概率\u0026quot;？ Flow Matching 的密度 $p_\\theta(x_1)$ 可以通过瞬时变量替换公式从 ODE 解出（涉及向量场的散度 $\\nabla\\cdot v_\\theta$），从而得到 $\\log p_\\theta$ 用于计算策略梯度。 如何在 ODE 采样上做组内比较？ 对同一个状态（场景+指令），并行采样一组动作（多条轨迹），用环境奖励（碰撞、舒适、目标达成）排序，组内归一化得到优势。 Flow-GRPO 的基本框架 Flow-GRPO 的思路可以概括为四个步骤：\n条件采样：对同一个 $(s, \\text{指令})$，用当前 Flow Matching 策略并行采样一组动作 ${a^{(1)},\\dots,a^{(G)}}$（不同的初始噪声 $x_0$ 给出不同的合理动作） 环境评估：把每个动作送入环境（仿真器或世界模型）得到奖励 $r^{(i)}$ 组内优势：对奖励做组内归一化得到优势 $A^{(i)} = \\frac{r^{(i)}-\\bar r}{\\sigma_r}$（GRPO 的精髓，免去价值网络） 策略更新：用score-function 或重参数化估计 $\\nabla \\log p_\\theta(a^{(i)})$，结合优势更新向量场网络 为什么 Flow + RL 特别契合自动驾驶？ 契合点 说明 多模态探索 Flow 采样天然给出多条不同轨迹，正是 RL 探索所需的样本多样性 连续动作平滑 ODE 生成的动作平滑连续，比离散 token 更适合车辆控制 奖励稀疏可处理 GRPO 的组内比较把\u0026quot;绝对奖励\u0026quot;变\u0026quot;相对优势\u0026quot;，缓解驾驶奖励极度稀疏的问题 世界模型协同 可用世界模型做 rollout 评估，无需真实路测，安全且低成本 💡 一句话理解 Flow-GRPO：用 Flow Matching 做多模态动作采样器，用 GRPO 做组内偏好优化，把\u0026quot;模仿学习出来的策略\u0026quot;对齐到\u0026quot;安全舒适的人类偏好\u0026quot;。\n⚖️ 什么时候该用 Flow Matching？ 场景 推荐度 理由 多模态动作/轨迹生成 ⭐⭐⭐⭐⭐ 天然支持多峰分布 实时性要求高的生成 ⭐⭐⭐⭐⭐ 少步采样，速度远胜扩散 单模态精确回归 ⭐⭐ 杀鸡用牛刀，普通回归头更快 离散决策（如左转/右转） ⭐ 适合分类，不必用生成模型 大规模图像/视频生成 ⭐⭐⭐⭐ SD3、Meta MovieGen 都在用 高频控制（机器人/车端） ⭐⭐⭐⭐⭐ 少步采样 + action chunking 是当前最优解 ✅ 小结 记住这三个要点，就能抓住 Flow Matching 的精髓：\n本质 = 学习一个速度场 $v_\\theta(x,t)$，通过 ODE 把噪声分布\u0026quot;流\u0026quot;到数据分布，路径是直线。 优势 = 路径直 → 采样步数少；目标平滑 → 训练稳定；理论上是扩散的更一般框架。 落地 = 在自动驾驶做多模态轨迹生成（DiffusionDrive 等）、在 VLA 做连续动作头（π0）、与 GRPO 结合做偏好对齐（Flow-GRPO）。 一句话总结：Flow Matching 把生成式建模从\u0026quot;弯路慢走\u0026quot;升级为\u0026quot;直路快跑\u0026quot;，正在成为连续动作生成的事实标准，也是连接\u0026quot;模仿学习\u0026quot;和\u0026quot;强化学习\u0026quot;的关键桥梁。\n📚 延伸阅读 奠基论文：\nFlow Matching for Generative Modeling（Lipman et al., ICLR 2023）—— Flow Matching 原始论文 Stochastic Interpolants（Albergo \u0026amp; Vanden-Eijnden, 2023）—— 同期独立工作，与 FM 等价 Flow Straight and Fast: Rectified Flow（Liu et al., ICLR 2023）—— 整流流，路径拉直 Optimal Transport CFM（Tong et al., 2023）—— OT-CFM 变体 应用论文：\nπ0 / π0.5（Physical Intelligence, 2024）—— Flow Matching VLA 标杆 Diffusion Policy（Chi et al., 2023）—— 扩散动作头奠基，理解 FM 动作头的基础 DiffusionDrive（华中科大等）—— 扩散头轨迹规划 Stable Diffusion 3（Stability AI, 2024）—— Rectified Flow 用于图像生成 博客与代码：\nLily Yang 的 Flow Matching for Generative Modeling 教程（直观图解） torchcfm（https://github.com/atong01/conditional-flow-matching）—— 官方 CFM 实现，入门首选 HuggingFace Diffusers 库已原生支持 Flow Matching / Rectified Flow 💡 新手建议：先读 torchcfm 的最小示例（100 行就能跑通），再对照本篇的\u0026quot;训练 vs 推理\u0026quot;两段伪代码，半天就能建立完整工程直觉。\n💡 觉得有用？这是「知识点拆解」系列的第 4 篇，后续会继续讲强化学习（GRPO）和世界模型如何与这些生成模型协同。点个关注不迷路。\n","permalink":"https://auto-driving-blog.vercel.app/posts/knowledge/flow-matching%E5%85%A5%E9%97%A8%E8%AF%A6%E8%A7%A3/","summary":"Flow Matching是扩散模型的高效替代方案，在自动驾驶轨迹生成和机器人动作生成中越来越流行。这篇从数学直觉到工程实践讲清楚。","title":"Flow Matching 入门详解：从扩散模型到连续动作生成"},{"content":"📄 论文信息 标题：AlpaMayo-R1: Reinforcement Learning for Autonomous Driving Policy Optimization 关键词：强化学习、GRPO、驾驶策略、仿真闭环、行为审计 一句话总结：把 GRPO（Group Relative Policy Optimization） 引入自动驾驶策略训练，用组相对优势免去 critic、用多目标奖励对齐安全/舒适/效率，配合 AlpaSim 仿真与 AlpaAuditor 审计，把\u0026quot;开车\u0026quot;变成一个可奖励驱动、可审计、可迭代的 RL 闭环。 🤔 要解决什么问题：自动驾驶为什么需要 RL？ 当前自动驾驶策略训练的主流范式是模仿学习（Imitation Learning, IL）——拿人类司机的大规模驾驶数据做监督，让模型\u0026quot;有样学样\u0026quot;。IL 上手快、数据效率高，但它有两个绕不开的软肋。\n软肋一：分布偏移（Distribution Shift） IL 的核心假设是**\u0026ldquo;训练分布 = 部署分布\u0026rdquo;。但真实驾驶是一个交互式、非平稳**的过程：策略一旦偏离人类轨迹一点点，下一帧看到的状态就不再是训练集里见过的，于是进一步偏移，雪崩式累积。\n📍 例子：模型某帧方向盘多打了 2 度，车稍微靠左，下一个感知到的前车距离就和训练分布不一致，模型没见过这种输入，可能做出更离谱的动作，几帧之内冲出车道。\n这就是经典的 covariate shift。IL 没有纠错机制——它学的是\u0026quot;什么场景做什么动作\u0026quot;，而不是\u0026quot;做错了怎么救回来\u0026quot;。DAgger 之类的方法试图通过在线采集\u0026quot;错误状态\u0026quot;来缓解，但这需要持续的人工标注，成本极高，且依然无法覆盖所有长尾。\n软肋二：因果理解不足 IL 模仿的是行为的相关性，而非决策的因果性。人类减速是因为\u0026quot;看到行人\u0026quot;，但模型可能只是学到\u0026quot;这个画面特征对应小油门\u0026quot;。一旦画面里出现训练集没有的组合，相关性就崩了。此外，IL 天然受到演示数据质量上限的约束——司机的坏习惯（急刹、压线）会被一并学进去。\nRL 视角的解法 强化学习的逻辑完全不同：不告诉模型\u0026quot;该怎么做\u0026quot;，而是定义\u0026quot;什么是好\u0026quot;，让模型自己在试错中找到好做法。\n维度 模仿学习（IL） 强化学习（RL） 监督信号 人类动作（label） 奖励（reward） 优化目标 拟合演示分布 最大化累计回报 分布偏移 严重（无纠错） 可缓解（rollout 自生成数据） 因果/反事实 弱 强（可显式建模\u0026quot;碰撞\u0026quot;\u0026ldquo;违规\u0026quot;后果） 数据上限 受演示质量约束 可超越演示（发现更优策略） 核心难点 数据采集昂贵 奖励设计 + 样本效率 AlpaMayo-R1 的出发点正是：用 RL 的奖励驱动闭环，补上 IL 在安全和长尾上的短板。难点（奖励设计、样本效率）则通过 GRPO + 仿真闭环 + 行为审计 来化解。\n💡 核心方法：GRPO 驱动的策略优化 为什么不直接用 PPO？ 提到驾驶 RL，绕不开 PPO（Proximal Policy Optimization）。PPO 的目标函数是经典的 clipped objective：\nratio = exp(log pi_new(a|s) - log pi_old(a|s)) loss = - min( ratio * A, clip(ratio, 1-eps, 1+eps) * A ) 这里 A（advantage） 通常用 GAE 估计，而 GAE 依赖一个价值网络（critic）V(s) 来做基线：\nA_t = delta_t + (gamma*lambda) * delta_{t+1} + ... delta_t = r_t + gamma * V(s_{t+1}) - V(s_t) 问题来了：critic 很难训。驾驶状态是高维感知（图像、激光雷达、地图），critic 要对每个状态估计\u0026quot;未来总回报的期望\u0026rdquo;，本身就是一个回归任务，且和 policy 网络同样庞大、同样吃显存。critic 估不准，advantage 就有偏，策略更新方向就跑偏。在自动驾驶这种状态空间巨大、回报稀疏的场景里，PPO 的双网络结构是个沉重的负担。\nGRPO 的关键巧思：用\u0026quot;组内相对\u0026quot;取代 critic GRPO（Group Relative Policy Optimization） 的思路非常优雅：既然 critic 是为了提供一个基线，那为什么不用\u0026quot;同一个状态采样的多条动作之间的相对好坏\u0026quot;来当基线？\n具体做法——对同一个驾驶场景（状态 s），用当前策略采样一组 G 条候选轨迹 {a_1, ..., a_G}，分别打奖励 {r_1, ..., r_G}，然后做组内标准化：\nadv_i = (r_i - mean(r_1..r_G)) / (std(r_1..r_G) + eps) 这个 组相对优势（group-relative advantage） 直接替代了 critic：比我组内同伴好的动作拿正优势，差的拿负优势，不需要任何价值网络。\nGRPO 相比 PPO 的优势一目了然：\n维度 PPO GRPO 是否需要 critic 是（双网络） 否（省一半显存） 基线来源 学习的 V(s) 组内均值 mean(r) advantage 估计 GAE（有偏） 组内标准化（无偏基线） 超参敏感度 critic lr、GAE lambda 都要调 少一组超参 样本需求 单条 rollout 每状态需 G 条 rollout 适合场景 动作离散/单条采样 可批量采样多条候选 代价是每个状态要多采 G 条，但这在驾驶仿真里成本可控——AlpaSim 可以对同一帧并行 rollout 多条未来轨迹。而且\u0026quot;省掉 critic 带来的训练稳定性提升\u0026quot;通常远超\u0026quot;多采样\u0026quot;的成本。\n在驾驶里，state / action / reward 分别是什么 把 GRPO 套到驾驶策略上，三要素的对应关系是：\n要素 在 AlpaMayo-R1 中的含义 状态 s 当前帧的感知观测（多摄图像/BEV/地图/自车状态） 动作 a 策略输出的未来轨迹或控制量（方向盘/油门/刹车） 轨迹 π(a|s) 策略网络给出该动作的概率密度（如高斯/扩散） 奖励 r 该 rollout 的多目标加权回报（见下一节） group 同一帧采样的 G 条候选轨迹 advantage 每条轨迹相对组内均值的标准化优劣 更新时用 PPO 式的 clipped ratio 把组相对 advantage 反传回策略网络，并加一个 KL 正则约束新策略不要偏离参考策略太远——这避免了 reward hacking 导致的\u0026quot;为拿分开得不像车\u0026quot;。\n🎯 奖励函数设计：多目标 Reward 自动驾驶的\u0026quot;好\u0026quot;不是一个标量，而是安全、舒适、效率的权衡。AlpaMayo-R1 把奖励拆成若干可解耦的子项加权求和：\nR = w_safety * R_safety + w_comfort * R_comfort + w_eff * R_efficiency + w_rule * R_rule 各项的典型设计如下：\n子项 含义 典型指标 设计要点 R_safety 安全性 不撞、不危险 碰撞惩罚、TTC（碰撞倒计时）、车距 权重最高，碰撞给大负分（终端惩罚） R_comfort 舒适性 开得稳 纵向jerk（急动度）、横向加速度、急刹次数 惩罚高频抖动，提升乘坐体验 R_efficiency 效率 开得快、走得远 平均车速、路线完成度、跟车时差 鼓励前进，但受安全项约束 R_rule 规则遵守 守法 压线、闯红灯、超速、违规变道 离散违规事件，硬负分 奖励设计是驾驶 RL 最关键也最容易翻车的环节。两个常见陷阱：\nreward hacking（奖励作弊）：模型找到漏洞刷分。比如效率项权重过高，模型会贴着前车极限跟车刷速度，牺牲安全余量。AlpaAuditor 的存在正是为了审计并暴露这类异常行为。 奖励冲突：安全（慢/保守）和效率（快/激进）天然对立，权重 w_* 是个帕累托权衡。实践中常用安全作为硬约束（阈值截断）+ 舒适/效率作为软目标的分层设计，而不是简单线性加权。 稀疏奖励：碰撞是低概率终端事件，大多数 rollout 拿到的安全分差异很小，导致梯度信号弱。GRPO 的组内标准化在这里也帮上忙——它放大了同组内的微小差异，让\u0026quot;略好一点\u0026quot;的动作也能拿到正向信号。 🕹️ AlpaSim：仿真闭环的基石 RL 需要海量试错，而真实路测既贵又危险——你总不能让策略在真车上\u0026quot;撞几千次\u0026quot;来学安全。AlpaSim 仿真环境就是这个闭环的基石，它提供：\n能力 说明 为什么关键 高保真场景 还原路口、车流、行人、天气、光照 保证学到的策略能迁移到真实世界 可批量并行 rollout 对同一帧采样 G 条候选轨迹 GRPO 的组采样前提 确定性 + 可复现 固定随机种子回放 消融实验、回归测试 长尾场景库 稀疏危险场景（鬼探头、加塞、抛锚） 解决 IL 数据分布不均衡 低 cost 的\u0026quot;碰撞\u0026quot; 撞了不花钱，还能拿到宝贵的负样本 安全相关 reward 的数据来源 AlpaSim 不只是\u0026quot;渲染器\u0026quot;，它本质是RL 的环境（environment）——提供状态转移 (s, a) -\u0026gt; s', r, done。整个 RL 训练循环都跑在仿真里，真车只在最终验证阶段介入。\n🔍 AlpaAuditor：驾驶行为审计 光有 reward 不够——reward 是个标量，无法告诉你\u0026quot;模型为什么这么开\u0026quot;。AlpaAuditor（驾驶行为审计） 扮演的是裁判/质检员的角色，对策略 rollout 做结构化诊断：\n违规检测：自动识别压线、闯灯、违规变道、不让行等 风险事件标注：标记低 TTC、急刹、极限跟车等危险瞬间 行为分布统计：策略在不同场景下的风格画像（保守 vs 激进） reward 合理性核查：揪出 reward hacking——分数高但行为诡异的情况 AlpaAuditor 的价值在于把黑盒行为变成可解释、可追溯的审计报告，这与监管对自动驾驶可解释性、可问责性的要求高度契合。它形成了一个反哺机制：\n审计发现的问题 ➜ 反映到奖励权重调整或新增奖励项 ➜ 下一轮训练 ➜ 再审计\n🔄 闭环训练流程 把以上组件串起来，AlpaMayo-R1 的训练是一个经典的 actor-critic-free RL 闭环（注意 critic 被 group-relative 替代了）：\n阶段 动作 组件 ① 采集 rollout 对一批场景，每个场景用当前策略采样 G 条轨迹 AlpaSim ② 计算奖励 对每条轨迹算多目标加权 reward R Reward 模块 ③ 审计行为 标注风险/违规，核查 reward 合理性 AlpaAuditor ④ 组相对优势 同场景 G 条轨迹标准化得 adv_i GRPO ⑤ 更新策略 clipped ratio + KL 正则，反传更新 π PPO-style 优化器 ⑥ 评估 在验证场景集跑闭环，看碰撞率/舒适度/效率 AlpaSim + AlpaAuditor ⑦ 迭代 回到 ①，或据 ③ 调整 reward 设计 全流程 关键细节：第 ④ 步的 group 是在同一场景内做的相对比较，这天然消除了\u0026quot;不同场景难度不同导致 reward 不可比\u0026quot;的问题——这正是 GRPO 相对 PPO 的另一大优势，对场景难度做了自适应归一化。\n🔗 与 Flow-GRPO 的关系：在生成式策略上做 RL 读到这里，熟悉 Flow-GRPO 的读者会发现两者方法论高度一致。Flow-GRPO 把 GRPO 用在扩散/流匹配（diffusion / flow matching） 的图像生成上，而 AlpaMayo-R1 把同样的范式用在了驾驶策略上。\n两者的核心共性在于：如何在\u0026quot;生成式（带逐步采样）\u0026ldquo;的策略上定义 action 和 log-prob。\n维度 Flow-GRPO（图像） AlpaMayo-R1（驾驶） 策略类型 扩散/流匹配模型 扩散/流匹配轨迹生成策略 状态 s prompt + 当前 latent x_t 驾驶观测 + 当前轨迹 latent 动作 a 一次去噪/流转移 x_t -\u0026gt; x_{t-dt} 一次轨迹去噪转移 log-prob SDE step 给出转移概率 同理（给流匹配注入 SDE） reward 图像质量（PickScore 等） 安全/舒适/效率多目标 group 同 prompt 的 G 张图 同场景的 G 条轨迹 现代驾驶策略越来越多地采用扩散/流匹配来做轨迹生成，因为它能输出多模态的未来（\u0026ldquo;直行 or 变道\u0026quot;两个峰都能保留），比确定性回归更符合驾驶的不确定性。但这类生成式策略没法直接做 RL——纯 ODE 采样是确定性的，没有概率密度可供 PPO/GRPO 算 importance ratio。\nFlow-GRPO 的解法是给流匹配采样注入 SDE 形式，让每一步转移变成可计算 log-prob 的高斯采样：\nx_next = mean_theta(x_t, t) + sigma_t * epsilon log_prob = Gaussian(x_next; mean_theta, variance) AlpaMayo-R1 把这一招从图像域迁移到轨迹域：最终轨迹生成完后算 reward，对同一场景的 G 条轨迹做组相对优势，再把轨迹级 advantage 复制到每个去噪时间步，逐步重算 log-prob 做 PPO 式更新。可以说，Flow-GRPO 是 AlpaMayo-R1 在方法层面的\u0026quot;亲戚\u0026rdquo;——一个生成图，一个生成轨迹，底层 RL 引擎是同一套。\n📊 方法特性总结 组件 作用 替代了什么 GRPO 组相对优势做策略优化 PPO 的 critic 价值网络 多目标 Reward 定义\u0026quot;好驾驶\u0026rdquo; IL 的人类动作监督 AlpaSim 提供环境与海量 rollout 昂贵的真路测 AlpaAuditor 行为审计与 reward 核查 黑盒策略的不可解释性 流匹配策略 + SDE 可 RL 的多模态轨迹生成 确定性回归策略 这套组合拳的核心哲学是：用仿真降低试错成本，用 reward 显式定义目标，用 group-relative 提升优化稳定性，用审计保证不跑偏。\n📝 个人思考 这篇工作最让我受启发的是**\u0026ldquo;把驾驶从\u0026rsquo;模仿\u0026rsquo;升级为\u0026rsquo;目标优化\u0026rsquo;\u0026rdquo;这个视角转变。IL 的天花板就是\u0026quot;和人类一样好\u0026quot;，因为它的信息源只有人类动作；而 RL 的天花板是\u0026quot;奖励函数定义得多好\u0026quot;。一旦把目标从\u0026quot;像人\u0026quot;变成\u0026quot;安全+舒适+高效的帕累托最优\u0026quot;，策略就有了超越演示数据的可能——人类司机自己也会有急刹、压线、路怒，为什么要把它当 ground truth？当然代价是 reward 设计的负担转移到了工程师身上，但 reward 是可显式审计、可辩论、可追责**的，而\u0026quot;隐式藏在数据里的坏习惯\u0026quot;不是。从安全监管的角度，我更愿意信任一个\u0026quot;目标可解释\u0026quot;的系统。\n第二点启发在GRPO 对驾驶场景的天然契合。我一直觉得 PPO 在驾驶 RL 里很别扭，因为状态空间太大、critic 很难训准。GRPO 的\u0026quot;组内相对\u0026quot;巧妙地绕过了对绝对价值的估计——它不问\u0026quot;这条轨迹绝对值多少分\u0026quot;，只问\u0026quot;在同一场景下，它比同伴好还是差\u0026quot;。这种相对比较天然消除了场景难度差异（暴雨天的低分和晴天的低分不可比，但暴雨天组内\u0026quot;相对好\u0026quot;是有意义的）。这与人类评价驾驶的方式也更接近：我们说一个人\u0026quot;开得稳\u0026quot;，从来是相对场景而言的。方法对齐问题的结构，比堆网络规模更本质。\n最后一点是关于仿真+审计的闭环治理价值。自动驾驶不只是个技术问题，更是个社会信任问题。一个\u0026quot;能学但不能解释为什么这么开\u0026quot;的黑盒，哪怕指标再好，也很难被监管和公众接受。AlpaSim 提供了可重复的试验场，AlpaAuditor 提供了可追溯的审计报告，两者合起来把\u0026quot;训练\u0026quot;从一个黑盒炼丹变成了一个可验证、可追责的工程过程。我倾向于认为，未来真正能大规模上车的 RL 驾驶系统，核心竞争力不在策略网络多深，而在这条\u0026quot;采集 ➜ 奖励 ➜ 优化 ➜ 审计 ➜ 迭代\u0026ldquo;闭环转得多稳多透明。AlpaMayo-R1 给出的，正是这个闭环的一个相当完整的范本。\n","permalink":"https://auto-driving-blog.vercel.app/posts/paper-reading/alpamayo-r1%E7%B2%BE%E8%AF%BB/","summary":"AlpaMayo-R1 将 GRPO 强化学习方法引入自动驾驶策略训练，通过奖励驱动的方式优化驾驶决策的安全性与效率，配合 AlpaSim 仿真与 AlpaAuditor 审计形成完整闭环。","title":"论文精读｜AlpaMayo-R1：强化学习驱动的自动驾驶策略优化"},{"content":"一句话理解 BEV BEV = 把多个摄像头的画面，统一\u0026quot;摊平\u0026quot;成一张俯视的鸟瞰图，让车在上帝视角下感知世界。\nBEV（Bird\u0026rsquo;s Eye View，鸟瞰图）感知是过去几年自动驾驶视觉感知最重要的一次范式跃迁。它不再让每个摄像头各自为政地在 2D 图像上画框，而是把所有视角的图像特征\u0026quot;重投影\u0026quot;到一个统一的、以自车为中心的 3D/俯视空间里，在那里做检测、分割、预测。\n理解 BEV 的关键在于它解决了一个根本矛盾：图像是透视的（近大远小、有遮挡），而驾驶决策需要的是度量空间（哪里有车、多远、多宽）。BEV 就是连接这两者的那座桥。\n🚗 什么是 BEV，为什么自动驾驶需要它 什么是鸟瞰图 鸟瞰图就是从正上方往下看得到的俯视投影，类似于你在实时地图 App 里看到的\u0026quot;车辆位置示意图\u0026quot;。在自动驾驶里，BEV 通常是一个以自车为中心、覆盖周边几十米范围的栅格化网格（比如 200×200 个格子，每格 0.5 米），每个格子上挂一个特征向量。\n为什么必须切换到 BEV 视角 早期的多摄像头感知是**\u0026ldquo;各自检测、后融合\u0026rdquo;**：每个相机独立跑一个 2D 检测器，再用后处理把跨相机的框拼起来。这种做法有一堆硬伤：\n痛点 后融合 2D 检测的问题 BEV 的解决方式 跨相机拼接难 同一辆车被前后两个相机看到，难以判断\u0026quot;是同一辆\u0026quot;还是\u0026quot;两辆\u0026quot; 在统一 BEV 空间里自然重叠、天然去重 缺乏深度/距离 2D 框没有真实距离，需要额外估计深度 BEV 网格本身就是度量空间，自带坐标 无法表达 3D 框只有 (x,y,w,h)，没有朝向、高度 BEV 上可直接输出 3D 框（位置+朝向+尺寸） 时序融合困难 在图像空间对齐多帧几乎不可能 BEV 空间下多帧只需做平移/旋转对齐 下游不好用 规划、地图模块要自己再做一遍坐标变换 BEV 特征可直接喂给下游所有任务 一句话总结：BEV 把感知从\u0026quot;看图说话\u0026quot;升级成\u0026quot;看地图办事\u0026quot;，所有下游任务（检测、跟踪、建图、预测、规划）都能在同一个统一的度量空间里协同工作。这也是 UniAD、VAD 等端到端框架都把 BEV 特征作为统一中间表示的根本原因。\n🔄 从 2D 图像到 3D BEV：两条主流路线 核心难题是：图像是 2D 的、透视的，怎么把它\u0026quot;变\u0026quot;成 3D 的 BEV？ 这一步通常被称为 View Transformation（视角变换）。目前有两大流派。\n路线一：LSS（Lift-Splat-Shoot）—— 显式几何投影 LSS（Philion \u0026amp; Fidler, ECCV 2020）是 BEV 感知的开山之作，思路非常直观，分三步：\nLift（提升）：对每个像素，预测一个深度分布（这个像素的物体可能在哪些深度上），把 2D 像素特征\u0026quot;拉升\u0026quot;成带深度的 3D 特征（实际是沿着相机射线的一组特征点）。 Splat（洒落）：用已知的相机内外参，把这些 3D 特征点投影（点云化）到 BEV 网格上做累积（类似 PointPillars 的池化），得到 BEV 特征图。 Shoot（发射）：在 BEV 特征图上跑常规的 2D 检测头（如 CenterPoint），输出 3D 检测框。 关键点：LSS 的\u0026quot;魔法\u0026quot;在于第一步——深度是隐式预测的。网络不用显式监督深度，但为了下游检测效果好，它自己学会了把每个像素放到正确的深度。后来 BEVDepth 发现，显式加一个深度监督（用 LiDAR 点云当深度 GT）能让效果大幅提升，这就是 BEVDepth 的核心贡献。\n优点：几何关系清晰，可解释性强，容易扩展到多任务；缺点：深度预测不准会拖累整体，BEV 网格大时显存占用高。\n路线二：BEVFormer —— Transformer 注意力采样 BEVFormer（Li et al., ECCV 2022）走了完全不同的路：不显式建栅格，而是用可学习的注意力去\u0026quot;查询\u0026quot;图像特征。\n核心机制：\nBEV Queries：在 BEV 平面上初始化一组可学习的网格 query（比如 H×W 个），每个 query 代表 BEV 空间的一个位置。 空间交叉注意力（Spatial Cross-Attention, SCA）：每个 BEV query 把自己（通过参考点）投影回各个相机图像上，去采样对应位置的特征。这相当于\u0026quot;逆向查询\u0026quot;——BEV 上的点主动去图像里找答案。 时间自注意力（Temporal Self-Attention, TSA）：BEV query 还和历史帧的 BEV 特征做注意力，实现时序融合（这是 BEVFormer 的一个亮点）。 关键点：BEVFormer 不需要显式预测深度，而是用注意力机制让网络自己学会\u0026quot;从哪个像素、哪个深度采样\u0026quot;。它借助 Deformable Attention 把计算量压下来，做到可训练。\n优点：精度高，时序融合自然，扩展性强；缺点：训练更难、更慢，对参数敏感，工程上不如 LSS 系直观。\n⚔️ 多摄像头 BEV 融合：三大技术路线对比 随着 LSS 和 BEVFormer 奠定基础，后续工作迅速分化成三大阵营。理解它们的差异，是看懂 BEV 感知论文的关键。\n维度 LSS 派（显式几何） Transformer 派（注意力查询） 稀疏 Query 派（DETR3D 系） 代表工作 LSS, BEVDet, BEVDepth, BEVStitched BEVFormer, PolarDETR, PETR/BEVFormer v2 DETR3D, Sparse4D, Far3D 视角变换核心 预测深度 → 投影洒落到密集 BEV 网格 BEV query 反向采样图像特征 一组稀疏 3D object query 直接采样图像 是否建密集 BEV 是（稠密网格） 是（稠密 BEV query） 否（只在目标位置算） 深度建模 显式（可监督） 隐式（注意力自学） 隐式（位置编码 PE） 时序融合 后加（BEVDet4D 拼接历史 BEV） 原生支持（TSA） 原生支持（query 携带历史） 精度 中高（加深度监督后高） 高 高（尤其长距离） 速度/显存 显存吃紧（网格大） 中等 最省（稀疏，可扩远距离） 可解释性 强（几何清晰） 中 中 适合任务 检测、占用、分割皆可 多任务统一 检测为主，规划友好 三大派系要点解读 LSS 派的精髓是\u0026quot;几何 + 深度\u0026quot;。BEVDet 第一个把 LSS 工程化跑通完整检测 pipeline；BEVDepth 加上显式深度监督，把 nuScenes 上的精度刷上一个台阶，成为工业界最爱用的基线之一。它们的劣势是密集 BEV 网格在远距离或大范围时显存爆炸。\nTransformer 派的精髓是\u0026quot;端到端学习 + 时序\u0026quot;。BEVFormer 用注意力摆脱了对显式深度的依赖，且时序融合优雅，是研究界和部分车企（如 Tesla FSD 的早期方案思想接近）的选择。代价是训练慢、调参难。\n稀疏 Query 派的精髓是\u0026quot;只算有用的地方\u0026quot;。DETR3D 开创性地用一组 3D object query 直接采样图像特征，不建密集 BEV，省算力、好扩远距离。Sparse4D（v1/v2/v3）进一步把稀疏做到极致，加入多层特征、时序、多任务，成为端到端框架（如 Sparse4D 配合规划）的宠儿。\n💡 趋势判断：随着端到端和远距离感知的需求上升，稀疏 Query 派正在崛起——它和下游规划任务的 query 接口天然契合，显存友好，是当前最被看好的方向之一。\n⏳ 时序融合：让 BEV 感知更稳定 单帧 BEV 有个老问题：速度估计难、遮挡物体\u0026quot;突然出现\u0026quot;、小目标抖动。解决方案是时序融合——把多帧 BEV 信息对齐后聚合。\n为什么要时序融合 估速度：单帧只能看到\u0026quot;车在哪\u0026quot;，多帧才能算出\u0026quot;车往哪开、多快\u0026quot;。 补遮挡：上一帧能看到的车，这一帧被别的车挡住了，时序能让它\u0026quot;不丢\u0026quot;。 稳输出：多帧平均能让检测框不抖，提升下游规划稳定性。 主流时序融合方法 方法 代表工作 思路 特点 BEV 特征拼接 BEVDet4D 把历史帧 BEV 按自车运动平移旋转对齐到当前帧，拼接后送检测头 简单直接，LSS 系常用 时间自注意力 BEVFormer 当前 BEV query 与对齐后的历史 BEV 做 Deformable Attention 学习能力强，效果好 Query 时序传播 Sparse4D, StreamPETR object query 跨帧传播，携带目标的\u0026quot;身份与历史\u0026quot; 稀疏高效，天然做跟踪 递归/记忆机制 BEVFormer+memory 维护一个 BEV 记忆库，每帧更新 长时序，但调参复杂 关键技巧：无论哪种方法，自车位姿对齐（ego-motion alignment）都是前提——必须把历史帧的 BEV 按自车的平移和旋转\u0026quot;挪\u0026quot;到当前坐标系，否则多帧叠在一起就是一团乱麻。\n🔗 BEV 在端到端中的角色 BEV 不只是感知的输出，更是现代端到端自动驾驶的统一中间表示。理解 BEV，才能看懂 UniAD、VAD 这些端到端框架为什么这么设计。\nBEV 特征为什么是端到端的\u0026quot;黄金接口\u0026quot; 统一空间：感知、预测、规划都在同一个 BEV 度量空间里，无需反复坐标变换。 梯度贯通：规划 loss 能一路反传到 BEV 特征乃至图像 backbone，感知被迫为规划服务。 多任务共享：一张 BEV 特征图，同时供检测、建图、占用、预测、规划使用，省算力。 VAD / UniAD 如何用 BEV 框架 BEV 的角色 关键设计 UniAD 密集 BEV 特征作为所有任务的共享底座 track query 在 BEV 上做跟踪 → 运动 → 占用 → 规划，任务级串联 VAD 用向量化 BEV（车道线、agent 用矢量而非栅格）替代密集 BEV 大幅降算力，2~4 倍加速，更易上车 SparseDrive 进一步全程稀疏，放弃密集 BEV 稀疏 query 贯穿检测/预测/规划，效率最高 演进脉络：从 密集 BEV（UniAD） → 向量化 BEV（VAD） → 稀疏 Query（SparseDrive），端到端在 BEV 这一层上不断瘦身，本质是在**\u0026ldquo;空间分辨率\u0026quot;和\u0026quot;计算效率\u0026quot;之间找平衡**。\n🏆 代表性工作一览 下面这张表把核心 BEV 感知工作按流派和贡献梳理清楚，方便查阅：\n工作 流派 核心贡献 LSS（2020） LSS 派开山 提出 Lift-Splat 框架，首次把多相机图像转成 BEV，奠定几何投影路线 BEVDet（2021） LSS 派工程化 第一个把 LSS 跑通为完整 3D 检测 pipeline，验证可行性 BEVDepth（2022） LSS 派 + 深度监督 显式加 LiDAR 深度监督，精度大幅提升，成工业基线 BEVFormer（2022） Transformer 派 用 Spatial/Temporal Attention 做 BEV，原生时序，精度 SOTA DETR3D（2021） 稀疏 Query 先驱 用 3D object query 采样图像，跳过密集 BEV PETR / PETRv2（2022） Transformer 变体 用 3D 位置编码（PE）替代交叉注意力投影，简洁高效 Sparse4D v1/v2/v3（2023-24） 稀疏 Query 集大成 多层特征 + 时序 + 多任务，稀疏高效，端到端友好 BEVStitched / SOLOFusion LSS 派长时序 长时序融合，提升远距离与遮挡场景表现 Far3D（2023） 稀疏 Query 远距离 专门针对远距离检测优化 🛠️ 工程挑战：把 BEV 真正搬上车 BEV 在论文里很美，但上车要过几道硬关。\n挑战一：内存/显存占用 密集 BEV 网格（比如 200×200×80 通道）加上多相机、多尺度、时序缓存，显存动辄几十 GB，车端芯片（Orin 等）很难承受。\n解法：稀疏 Query（Sparse4D）、向量化表示（VAD）、降网格分辨率、混合精度、BEV 特征量化压缩、按需时序缓存（只存少量关键帧）。\n挑战二：实时性 BEV 感知要求 10Hz 以上（\u0026lt;100ms），但 Transformer 注意力和多相机特征提取都极其耗算力。\n解法：Deformable Attention 把注意力局部化、TensorRT 部署优化、模型蒸馏（大 BEV 老师蒸馏小 BEV 学生）、量化（INT8）、算子融合、削减历史帧数量。\n挑战三：多传感器融合 纯视觉 BEV 在恶劣天气、夜间、远距离上不如 LiDAR，如何把 LiDAR/雷达和视觉 BEV 融合是上车刚需。\n融合层级 做法 特点 结果级融合 各传感器各自出 BEV，再做后处理拼接 简单但损失信息 特征级融合 把 LiDAR BEV 特征和视觉 BEV 特征拼接/相加 主流，效果好 早期/点级融合 把图像特征贴到 LiDAR 点上再聚合 信息最全，计算重 代表工作如 BEVFusion（MIT/清华），就是把视觉 BEV 和 LiDAR BEV 在特征层对齐融合，做到\u0026quot;1+1\u0026gt;2\u0026rdquo;。\n挑战四：标注成本 BEV 的 3D 标注（尤其跨相机一致的 3D 框、占用网格）极其昂贵。\n解法：用 LiDAR 自动标注再迁移到纯视觉、弱监督/半监督、合成数据（世界模型生成场景并自动出标注）。\n✅ 小结 BEV 感知是现代自动驾驶视觉感知的基石，它把\u0026quot;多相机各自为战\u0026quot;变成了\u0026quot;统一俯视视角协同作战\u0026quot;。记住三条主线：\n视角变换是核心：两大流派——LSS（显式几何 + 深度） 和 BEVFormer（注意力查询），外加崛起的 稀疏 Query（DETR3D/Sparse4D）。 时序融合是关键：BEVDet4D 拼接、BEVFormer 时间注意力、Sparse4D 的 query 传播，都是为了让感知更稳、更快、更抗遮挡。 BEV 是端到端的黄金接口：从 UniAD 的密集 BEV，到 VAD 的向量化，再到 SparseDrive 的全稀疏，BEV 这一层在不断瘦身，推动端到端走向可上车。 一句话点题：BEV 之于自动驾驶，就像\u0026quot;统一坐标系\u0026quot;之于多模块协作——没有它，一切都是散装的。\n💡 这是「知识点拆解」系列的一篇。理解了 BEV，再回头看端到端（UniAD/VAD/SparseDrive）和世界模型，你会顺畅很多。下期见。\n","permalink":"https://auto-driving-blog.vercel.app/posts/knowledge/bev%E6%84%9F%E7%9F%A5%E6%8A%80%E6%9C%AF%E8%AF%A6%E8%A7%A3/","summary":"BEV感知把多摄像头画面统一到鸟瞰图空间，是现代自动驾驶感知的基石。这篇讲透它的原理、代表方法和工程价值。","title":"BEV 感知技术详解：自动驾驶的鸟瞰图视角"},{"content":"📄 论文信息 标题：Cosmos 3: An Omni-Modal World Foundation Model for Physical AI 团队：NVIDIA（黄仁勋 GTC 2026 主题演讲重磅发布，由 Cosmo 团队主导） 发表：2026 年（技术报告 + 开源权重同步放出） 关键词：世界模型、全模态、Mixture-of-Transformers、物理 AI、视频生成、具身智能 一句话总结：用一套 Mixture-of-Transformers 双塔架构把语言、图像、视频、音频、动作五模态揉进一个模型，让\u0026quot;看世界、听世界、动世界\u0026quot;在同一个权重里完成，并以宽松开源许可证释放给产业界。 🗺️ Cosmos 三代演进：从\u0026quot;视频生成器\u0026quot;到\u0026quot;全模态世界大脑\u0026quot; 理解 Cosmos 3 必须先看这条演进线。NVIDIA 用三代产品回答了三个递进的问题：世界模型到底该建模什么？\n代际 发布时间 核心定位 模态覆盖 架构关键 开源许可证 Cosmos 1 2025 年 1 月 文本到世界的视频生成器 文本 → 视频 扩散 + 因果 Transformer，连续 token NVIDIA Open Model License Cosmos 2 2025 年中 可控、可预测的世界模拟器 文本/动作/状态 → 视频 引入可预测 token、强化时序一致性 NOML（更新版） Cosmos 3 2026 年 全模态世界基础模型 语言 + 图像 + 视频 + 音频 + 动作 MoT 双塔，五模态原生统一 OpenMDW-1.1 三代的逻辑很清晰：第一代证明\u0026quot;能生成物理可信的视频\u0026quot;，第二代证明\u0026quot;生成结果可控可用\u0026quot;，第三代证明\u0026quot;世界可以统一建模\u0026quot;。Cosmos 3 不再是\u0026quot;一个会画视频的模型\u0026quot;，而是\u0026quot;一个能同时理解、生成、预测、控制世界的基座\u0026quot;——这是从\u0026quot;专用工具\u0026quot;到\u0026quot;通用基础设施\u0026quot;的跃迁。\n🤔 要解决什么问题？ 物理 AI（自动驾驶、机器人、工业仿真）对世界模型的需求与传统生成 AI 截然不同。它要求的不只是\u0026quot;画面好看\u0026quot;，而是物理一致性、时序因果性、多模态对齐。此前的世界模型普遍面临三大瓶颈：\n模态割裂：语言模型、视频生成模型、音频模型、控制策略各自为政，无法共享世界知识。一个机器人系统往往要串联五六个模型，误差逐级放大 物理可信度不足：纯生成模型常出现物体穿模、重力违背、因果倒置，无法直接用于仿真训练 闭源垄断风险：商业世界模型多不开源，企业担心数据外泄和断供 Cosmos 3 的目标就是用一个统一架构同时解决这三件事：原生多模态融合、面向物理 AI 的训练目标、以及彻底的开源策略。\n🏗️ 核心创新：MoT 双塔架构 Mixture-of-Transformers（MoT，混合 Transformer） 是 Cosmos 3 的灵魂。它没有沿用\u0026quot;一个超大 Transformer 硬吃所有 token\u0026quot;的稠密路线，而是采用双塔（Dual-Tower）+ 共享注意力的设计。\n为什么要双塔？ 不同模态的统计特性差异巨大：语言是离散、稠密语义；视频是连续、空间冗余；音频是连续、时序高频；动作是连续、低维、强因果。把它们塞进同一个 token 空间强行对齐，要么牺牲语义精度，要么牺牲时序细节。MoT 的解法是——该分开的分开，该共享的共享。\n双塔分工 模块 负责模态 token 类型 设计动机 语义塔（L-Tower） 语言、高层语义 离散文本 token 继承 LLM 的推理与指令能力 感知塔（P-Tower） 图像、视频、音频、动作 连续 + 离散混合 token 处理时空冗余与物理动力学 两座塔各自拥有独立的 FFN 与归一化层（模态专属参数），但在每一层都通过一个**共享跨模态注意力（Shared Cross-Modal Attention）**模块交互。这样设计的好处是：语义推理和感知生成各有专精，又能在每一层深度对齐，而不是只在最后做一次拼接。\n数据流示意 模型的整体数据流可以用一句话概括（为避免框图字符，这里用箭头文字描述）：\n任意模态输入 → 分别进入对应塔的自注意力 → 在每层通过共享跨模态注意力交换信息 → 各塔输出 → 解码为对应模态。任意模态都可作为输入，任意模态都可作为输出——这就是\u0026quot;全模态任意到任意（any-to-any）\u0026quot;。\n与稠密多模态模型的对比 维度 稠密单塔（如早期多模态 LLM） Cosmos 3 MoT 双塔 参数共享 全部共享 FFN 分、注意力合 模态冲突 严重（互相稀释） 低（专属参数隔离） 扩展新模态 需重训 加一路编码器即可 推理效率 单塔稠密 可按需激活塔 训练稳定性 易失衡 塔间负载均衡更稳 可以说，MoT 把** mixture-of-experts 的\u0026quot;分而治之\u0026quot;思想从 FFN 粒度提升到了模态粒度**。\n训练上的两个工程细节 架构之外，Cosmos 3 在训练侧有两个值得注意的设计。其一是模态负载均衡 loss：由于五模态的数据量与学习难度差异极大（语言 token 极多、动作 token 极少），若不加约束，模型会偏向数据多的模态。MoT 引入了一个轻量的塔间均衡项，让每座塔的梯度贡献相对可控，避免\u0026quot;语言吃掉感知\u0026quot;。其二是模态dropout：训练时随机屏蔽部分模态输入，强迫模型在模态缺失时仍能推理——这正是\u0026quot;任意到任意\u0026quot;生成能力的来源，也让模型在部署时具备容错性（某路传感器失效仍可工作），这对自动驾驶这种对鲁棒性要求极高的场景尤为关键。\n🔗 五模态如何统一 统一五模态的关键不在\u0026quot;加输入口\u0026quot;，而在让模型理解模态间的因果与对齐关系。Cosmos 3 的做法可以拆成三层：\n第一层：统一 token 化 每种模态都被转成模型可处理的 token 序列，但保留各自特性：\n模态 token 化方式 特点 语言 BPE 文本 token 离散，语义稠密 图像 空间因果 VAE 按光栅顺序，保留空间结构 视频 时空因果 VAE（3D 压缩） 时序 + 空间联合压缩 音频 连续频谱 token + 语义码本 兼顾声学细节与语义 动作 连续向量 + 时间编码 低维但强因果 第二层：跨模态对齐预训练 用一个任意模态掩码重建 + 跨模态生成的混合目标训练，让模型学到\u0026quot;看到画面要能想象声音、听到声音要能脑补画面、给出指令要能预测动作\u0026quot;。这种双向补全是世界模型区别于单向生成的核心。\n第三层：物理对齐后训练 预训练后，用物理标注数据（物体持久性、重力、碰撞、因果时序）做后训练，把\u0026quot;画面合理\u0026quot;升级为\u0026quot;物理可信\u0026quot;。这也是 Cosmos 3 在 Physics-IQ 上拉开身位的关键。\n📊 预训练数据：规模与构建 世界模型的能力上限由数据决定。Cosmos 3 的预训练数据在规模、多样性、质量三个维度都做了升级。\n总规模：约 2000 万小时量级的多模态数据（视频为主，辅以图文、音频、机器人轨迹） 视频来源：互联网爬取 + 版权合作 + 仿真合成，覆盖驾驶、工厂、室内、自然、机器人操作等场景 清洗管线：质量分类器去模糊/去文字/去动画 → 运动筛选剔除静态帧 → 物理一致性过滤去除穿模片段 → 去重 合成数据：用 NVIDIA Omniverse / Isaac Sim 大量合成带完美标注的物理仿真片段，弥补真实数据中 corner case 的稀缺 数据维度 Cosmos 2 Cosmos 3 视频时长 千万小时级 2000 万小时级 模态种类 文本 + 视频 五模态 物理标注 弱 强（仿真合成） 驾驶场景占比 中 显著提升 合成数据的引入是关键——它让模型在真实世界罕见但安全攸关的场景（如高速爆胎、行人鬼探头）上也能学到合理的物理规律，这对自动驾驶和机器人训练价值巨大。\n🔬 基准表现：8 项物理 AI 基准开放第一 Cosmos 3 在三个权威基准族上验证了\u0026quot;全模态 + 物理可信\u0026quot;的价值。\nUniGenBench（统一生成基准） 评测多模态生成质量，包括文生视频、图生视频、音生视频、视频续写等。\n任务 闭源 SOTA Cosmos 3 开放模型此前最佳 文生视频（物理一致性） 略高 开放第一 落后明显 图生视频 持平 开放第一 — 音视频联合生成 略低 开放第一 不支持 PAIBench（物理 AI 基准） 评测作为世界模拟器训练策略的能力——能否生成足够真实的\u0026quot;世界\u0026quot;来训练自动驾驶/机器人。\nCosmos 3 生成的驾驶场景用于训练端到端规划器后，闭环仿真通过率显著优于用 Cosmos 2 的数据 在机器人操作策略的 sim-to-real 迁移中，真实环境成功率提升明显 Physics-IQ（物理智商） 专门测物理规律理解：重力、碰撞、物体持久性、因果时序。\n模型 物理一致性得分 通用视频大模型 较低（穿模/因果错误频发） Cosmos 2 中等 Cosmos 3 开放模型最高，逼近闭源 SOTA 关键结论：Cosmos 3 在 8 项物理 AI 基准上取得开放模型第一，部分指标甚至超过闭源旗舰。物理对齐后训练和仿真合成数据是拉开差距的核心。\n📐 三种规模：覆盖从车端到云端 Cosmos 3 同步发布三个尺寸，对应不同部署场景：\n规格 参数量 定位 典型部署 Cosmos 3 Nano ~4B 车端 / 机器人端实时 实时世界预测、闭环仿真 Cosmos 3 Standard ~20B 工作站 / 边缘服务器 数据生成、策略训练 Cosmos 3 Large ~64B 云端训练与旗舰推理 最强物理一致性、研究用途 这种分层发布降低了落地门槛：中小团队用 Nano 就能在本地跑世界模型，大厂用 Large 撑起最高质量。同一架构、同一权重配方，只换规模不换范式，这也是基础模型相比专用模型的最大红利。\n🔓 开源策略：OpenMDW-1.1 的产业意义 Cosmos 3 采用 OpenMDW-1.1（Open Model Defense Warranty）许可证，相比 NVIDIA 早期许可证更宽松、更明确：\n允许商用：企业可直接用于商业产品，无需额外授权 权重 + 代码 + 部分数据管线全部开放 明确防御性条款：约束模型不被滥用于有害用途，同时保护使用方权益 维度 传统闭源世界模型 Cosmos 3 (OpenMDW-1.1) 商用 受限/付费 自由商用 数据安全 担心外泄 本地部署 可定制 黑盒 全可微调 供应链风险 断供风险高 自主可控 对自动驾驶、机器人这种安全攸关且高度定制的行业，\u0026ldquo;能自己掌握权重\u0026quot;几乎是从\u0026quot;敢用\u0026quot;到\u0026quot;敢上量产\u0026quot;的决定性因素。NVIDIA 这一招本质上是用开源换生态——把 Cosmos 做成物理 AI 时代的\u0026quot;安卓/Linux\u0026rdquo;。\n🚗 应用场景：自动驾驶与机器人 自动驾驶 闭环仿真数据生成：按需生成各种 corner case（雨雪夜、鬼探头、前车掉落物）训练规划器，解决真实数据长尾稀缺 世界预测：实时预测未来 3–5 秒的多智能体轨迹与场景演变，作为规划前置模块 多视角一致性生成：环视多摄像头画面联合生成，保证跨视角几何一致 可解释的世界理解：配合语言塔，输出\u0026quot;我预测前车会变道，因为……\u0026ldquo;的自然语言解释 值得强调的是，音频模态在自动驾驶里常被忽视，实则价值不低——警车/救护车的鸣笛定位、轮胎异常声响、事故碰撞声，都能成为感知系统的有益补充。Cosmos 3 把音频纳入世界建模，让\u0026quot;听声辨位\u0026quot;成为可能，这是纯视觉世界模型做不到的。\n机器人 仿真到真实（sim-to-real）：生成多样化物理仿真环境训练操作策略，再迁移到真机 动作条件视频预测：给定一个动作，预测世界如何变化，用于模型预测控制（MPC） 灵巧操作数据扩增：合成罕见操作场景，补足真实遥操作数据不足 工业与数字孪生 工厂产线异常预测、Omniverse 数字孪生的物理填充——NVIDIA 把 Cosmos 与自家 Omniverse / Isaac 生态深度打通，形成\u0026quot;建模型→生数据→训策略→部署\u0026quot;的闭环。 📝 个人思考 读完 Cosmos 3，我最大的感受是：世界模型正在重走 LLM 的路，而且走得更激进。从 GPT 证明\u0026quot;一个架构吃所有 NLP 任务\u0026rdquo;，到 Cosmos 3 证明\u0026quot;一个架构吃所有模态的世界建模\u0026quot;，叙事高度一致。MoT 双塔的精妙之处不在于它有多复杂，而在于它承认了模态之间的本质差异，并在正确的粒度上做了分离与共享——这比强行用一个稠密塔硬扛所有模态要聪明得多。我判断 MoT 这种\u0026quot;注意力共享 + FFN 分家\u0026quot;的范式会成为下一代多模态基座的主流，就像 Transformer 取代 RNN 一样。\n第二点启发是关于仿真合成数据。物理 AI 的核心瓶颈从来不是算法，而是真实世界长尾数据。Cosmos 3 用 Omniverse/Isaac 合成带完美标注的物理数据，本质上是把\u0026quot;数据采集\u0026quot;从\u0026quot;去真实世界碰运气\u0026quot;变成\u0026quot;在仿真里按需生产\u0026quot;。这对自动驾驶意义尤其重大——那些一辈子难得遇到的极端场景，可以在仿真里生成千万遍。谁能把\u0026quot;真实数据 + 合成数据\u0026quot;的混合配方调到最优，谁就掌握了物理 AI 的数据护城河。这也呼应了我在读 DriveVLM 时的判断：壁垒正在从模型结构转向数据闭环。\n最后一点关于开源与生态。NVIDIA 用 OpenMDW-1.1 这种宽松许可证开放 64B 级别的世界模型，几乎是在\u0026quot;送基础设施\u0026quot;。这不是慈善，而是精准的生态卡位——当全行业的自动驾驶和机器人都用 Cosmos 生数据、跑仿真，NVIDIA 的 GPU、Omniverse、Isaac 就成了物理 AI 时代的事实标准。对从业者来说，这是难得的窗口期：与其从零自研世界模型，不如站在 Cosmos 肩膀上做上层应用。但也要清醒——开源基座意味着算法红利迅速摊薄，真正的差异化会越来越集中在数据、场景理解、安全验证这些苦活累活上。能在这些地方扎根的团队，才是物理 AI 长跑里的赢家。\n📖 这是论文精读系列的第 6 篇。Cosmos 3 把世界模型推向全模态统一，你认为它会在哪些场景最先落地？欢迎留言讨论。\n","permalink":"https://auto-driving-blog.vercel.app/posts/paper-reading/cosmos3-%E4%B8%96%E7%95%8C%E5%9F%BA%E7%A1%80%E6%A8%A1%E5%9E%8B%E7%B2%BE%E8%AF%BB/","summary":"NVIDIA Cosmos 3 通过 Mixture-of-Transformers 架构统一多模态，在 8 项物理 AI 基准上取得开放模型第一，以 OpenMDW-1.1 许可证开源，加速物理 AI 产业落地。","title":"论文精读｜NVIDIA Cosmos 3：全模态世界基础模型开启物理AI新纪元"},{"content":"📄 论文信息 标题：SparseDrive V2: Fully Sparse End-to-End Autonomous Driving 方向：全稀疏（Fully Sparse）端到端自动驾驶 一句话总结：用一组稀疏查询（sparse queries）把检测、跟踪、在线建图、运动预测、规划全部串起来，彻底抛弃稠密 BEV 特征图，在大幅降低计算量的同时把规划性能推到第一梯队。 🤔 要解决什么问题？稠密 BEV 的算力原罪 在 UniAD 之后，显式端到端几乎成了自动驾驶学术界的默认范式。但无论是 UniAD 还是 VAD，它们都建立在一个昂贵的地基上——稠密的 BEV（Bird\u0026rsquo;s Eye View）特征图。\n典型流程是：先把环视多相机图像通过 LSS（Lift-Splat-Shoot）或 BEVFormer 之类的视角变换压成一张俯视图，再用这张稠密俯视图去做检测、建图、预测、规划。这套范式有效，但有个致命缺点：\n痛点 原因 后果 计算量随分辨率平方爆炸 BEV 特征图是 $H \\times W$ 的网格，注意力/卷积都对它做稠密计算 GPU 算力和显存吃紧 大量算力浪费在空白区域 真正的目标（车、人、车道线）只占 BEV 的几个像素，其余是天空/地面/空地 有效信息密度极低 时序融合更重 多帧 BEV 拼接要对齐、堆叠、做时序注意力 延迟进一步上升 上车部署困难 车端 Orin 等芯片跑不动如此重的 BEV backbone 落地受阻 简单说，稠密 BEV 是在用一个 $H \\times W$ 的\u0026quot;地毯式搜索\u0026quot;去寻找本就稀疏的几个目标——这在信息论上就是低效的。\nSparseDrive 系列的核心拷问是：既然路上有意义的东西（车、人、车道、自车轨迹）本来就稀疏，那为什么中间表示非要稠密？能不能从图像到规划，全程只用一组稀疏的 query？\n这就是 全稀疏（Fully Sparse） 范式的出发点。\n🌱 从 SparseDrive V1 到 V2：全稀疏的进化 V1：证明\u0026quot;全稀疏可行\u0026quot; SparseDrive V1 第一次把\u0026quot;全稀疏\u0026quot;做到了端到端全流程。它的贡献是证明可行性：\n用**稀疏实例查询（instance queries）**做检测和跟踪，每个 query 直接从多相机图像特征里\u0026quot;抠\u0026quot;出一个目标，绕开 BEV。 用**稀疏地图查询（map queries）**做在线建图，每个 query 对应一段车道线/边界。 把运动预测和规划做成并行双分支，而不是 UniAD 那种串行接力，让自车轨迹和其他车轨迹同时生成。 引入数据驱动的锚点（data-driven anchors），用聚类得到先验轨迹作为参考，加速收敛。 V1 已经在 nuScenes 和 NAVSIM 上证明了：不用 BEV，精度不降反升，算力却大幅下降。\nV2：把\u0026quot;全稀疏\u0026quot;打磨到工程级 V2 在 V1 的地基上做了一轮系统性打磨，主要进化方向有四条：\n进化点 V1 V2 带来的收益 检测与下游解耦 实例查询直接喂给运动/规划 引入更干净的特征隔离，下游任务从独立特征接口取信息 下游不再被检测噪声拖累 质量感知记忆库 简单的历史 query 缓存 按置信度/质量加权维护跨帧记忆 时序更稳，遮挡/截断鲁棒性提升 前瞻式运动预测 以当前位姿为参考 显式建模\u0026quot;自车未来位姿\u0026quot;作为预测锚点 减少坐标变换误差，轨迹更准 规划安全设计 基本轨迹回归 强化碰撞约束与多模态轨迹选择 碰撞率进一步下降 一句话概括 V2 的定位：V1 是\u0026quot;能不能稀疏\u0026quot;，V2 是\u0026quot;能不能把稀疏做到又准又快又稳\u0026quot;。\n💡 核心思想：一组稀疏查询统一一切 SparseDrive V2 的设计哲学可以浓缩成一句话：\n从图像到规划，全程只用稀疏 query 作为信息载体，永远不构造稠密的 BEV 网格。\n它用两类稀疏查询描述整个驾驶场景：\n实例查询（Instance Queries）：每个 query 代表一个动态智能体（车、人、骑行者），编码它的类别、位置、速度、历史轨迹，并跨帧保持 ID 连续。 地图查询（Map Queries）：每个 query 代表一段静态路网元素（车道线、道路边界、人行横道、停止线），以矢量形式存在。 再加上一个特殊的 自车查询（Ego Query） 代表\u0026quot;我自己这辆车\u0026quot;。这三类 query 构成了对场景的完整稀疏描述：谁在动（实例）、路在哪（地图）、我要怎么开（自车）。\n这与 UniAD/VAD 的本质区别在于：UniAD 的 query 是在稠密 BEV 之上\u0026quot;再叠加\u0026quot;的，而 SparseDrive 的 query 是从图像特征直接\u0026quot;抠\u0026quot;出来的，中间根本没有稠密图这一层。\n🏗️ 整体架构：全稀疏信息通路 V2 的整体流程是一条全程稀疏、全程可微的通路：\n多相机图像 ➜ 图像骨干 + 多尺度特征 ➜ 稀疏实例查询（检测/跟踪） ➜ 稀疏地图查询（建图） ➜ 并行双分支：运动预测 / 规划 ➜ 输出\n关键在于：全流程没有任何一张稠密 BEV 特征图，所有任务都在稀疏 query 之间通过注意力交互。下面逐段拆解。\n第 1 段：稀疏感知——检测与跟踪 负责从多相机图像里检测目标并跨帧跟踪。\n输入：多相机图像特征 + 上一帧的实例查询（带记忆） 机制：每个实例查询通过**可变形注意力（Deformable Attention）**直接从多相机特征图上采样若干参考点，无需先把特征拼成 BEV 输出：当前帧的 3D 检测框 + 更新后的实例查询（保持 ID 连续） 亮点：检测的精度与稠密 BEV 方法相当，但计算量只与 query 数量（≈几百）成正比，与 BEV 分辨率无关 V2 还引入了质量感知的记忆库：不是简单把上一帧 query 全部缓存，而是按置信度和跟踪质量加权，让高质量的实例在时序中占更大权重，遮挡和截断场景下的鲁棒性显著提升。\n第 2 段：稀疏建图 负责实时矢量化建图——检测车道线、道路边界等。\n输入：图像特征 + 地图查询 输出：矢量化的地图元素（每条线用若干有序点表示） 作用：给预测和规划提供结构化道路约束，\u0026ldquo;车该往哪条车道开\u0026rdquo; 地图查询与实例查询是对称的：动态目标 + 静态路网，共同构成场景的稀疏骨架。V2 对地图查询的编码做了增强，使长程车道（如弯道、匝道）的拟合更准。\n第 3 段：运动预测的稀疏设计 这是 SparseDrive 区别于 UniAD 的关键架构差异。UniAD 是\u0026quot;检测 ➜ 预测 ➜ 规划\u0026quot;串行接力；SparseDrive V2 把运动预测和规划做成并行双分支，共享上游特征但各自独立输出。\n运动预测分支对每个实例查询预测未来多模态轨迹：\n输入：实例查询 + 地图查询（通过交叉注意力让\u0026quot;车\u0026quot;知道\u0026quot;自己被哪条车道约束\u0026quot;） 输出：每个智能体的多条候选未来轨迹 + 概率 亮点——前瞻式设计：V2 显式地把\u0026quot;自车未来位姿\u0026quot;纳入预测的坐标系参考，而不是用当前位姿。这减少了预测与规划之间的坐标变换误差，因为规划和预测本来就是在\u0026quot;未来坐标系\u0026quot;里对齐的。 运动预测的稀疏性体现在：只对被检测到的几百个实例做预测，而不像稠密方法那样对整个 BEV 网格的未来占用都算一遍。这是算力节省的大头。\n第 4 段：规划模块 规划分支拿到自车查询 + 实例查询 + 地图查询，输出自车未来轨迹。\n输入：自车查询 + 全部实例/地图查询（通过注意力让自车\u0026quot;看到\u0026quot;所有目标和路网） 输出：自车未来 waypoints 关键设计： 用数据驱动的锚点作为轨迹参考（聚类自数据集），模型只需预测相对偏移，收敛快、分布合理 强化碰撞约束：把规划轨迹与实例预测轨迹、地图边界一起做几何校验，惩罚可能碰撞的方案 多模态轨迹选择：生成多条候选轨迹，结合舒适性、合规性、安全性打分选出最优 值得注意的是，规划分支与运动预测分支共享上游特征但独立输出，这意味着自车轨迹不依赖其他车的轨迹预测结果——避免了\u0026quot;预测错了 ➜ 规划跟着错\u0026quot;的误差级联，两条分支可以并行推理，延迟更低。\n全流程总结 模块 输入 输出 是否稠密 角色 感知（检测/跟踪） 图像特征 + 实例查询 实例查询 全稀疏 \u0026ldquo;周围有谁\u0026rdquo; 建图 图像特征 + 地图查询 地图查询 全稀疏 \u0026ldquo;路怎么走\u0026rdquo; 运动预测 实例 + 地图查询 多模态轨迹 全稀疏 \u0026ldquo;别人会怎么动\u0026rdquo; 规划 自车 + 实例 + 地图查询 自车轨迹 全稀疏 \u0026ldquo;我该怎么开\u0026rdquo; ⚡ 为什么稀疏能赢？算力对比 SparseDrive V2 最大的卖点不是\u0026quot;精度第一\u0026quot;，而是**\u0026ldquo;精度不输甚至更好，算力却低一个数量级\u0026rdquo;**。稀疏取胜的逻辑可以拆成三笔账：\n对比维度 稠密 BEV 方法（UniAD 等） SparseDrive V2 注意力复杂度 与 BEV 像素数 $H \\times W$ 相关（往往上千） 仅与 query 数量相关（≈几百） 时序融合开销 多帧 BEV 对齐拼接，重 只需缓存历史 query，轻 有效信息密度 大量算力花在空区域 算力全部花在有意义的目标上 FLOPs 高（数倍于 V2） 显著更低 推理延迟 难以实时 更接近车端实时部署 显存占用 大 小 更关键的是，稀疏表示的天花板更高：当大家想提升精度时，稠密方法只能堆 BEV 分辨率（算力平方级增长），而 SparseDrive 只需增加少量 query（算力线性增长），扩展性（scaling）天然更优。这一点和 DETR 之于传统检测、大模型里稀疏 MoE 的思路是一脉相承的——用稀疏换效率，用效率换规模。\n📊 实验结果：又准又快 SparseDrive V2 在三大主流基准上全面验证了全稀疏路线。\nnuScenes：规划与感知双优 在 nuScenes 规划任务上，V2 在 L2 误差和**碰撞率（Collision Rate）**两个核心指标上达到第一梯队，碰撞率尤其低，说明安全性出色。同时检测（NDS）、跟踪（AMOTA）等感知指标也保持竞争力，证明全稀疏不损失感知能力。\nNAVSIM：规划专用基准的强表现 NAVSIM 是更接近真实驾驶评分的规划基准（含无碰撞、可行驶方向、舒适性等多维度指标）。V2 在其上表现优异，尤其在符合导航指令、保持车道、平顺性等子项上领先，体现了稀疏地图查询 + 前瞻预测的设计价值。\nOpenLane：车道建图精度提升 V2 在 OpenLane 等车道线检测基准上，凭借增强的地图查询编码，对长程弯道、分叉匝道这类难例的拟合精度较 V1 进一步提升。\n综合对比表 方法 范式 规划精度 计算量 延迟 可部署性 UniAD 稠密 BEV + 串行 高 很高 高 难 VAD 矢量化 + 轻量 较高 中 中 中 SparseDrive V2 全稀疏 + 并行 高 低 低 好 🔗 与 UniAD / VAD / DiffusionDrive 的对比 把 SparseDrive V2 放回整个端到端自动驾驶的脉络里，能更清楚地看到它的位置。\nvs UniAD：从稠密到稀疏 UniAD 是范式的奠基者，确立了\u0026quot;显式端到端 + query 贯通 + 规划导向\u0026quot;的路线，但地基是稠密 BEV，算力沉重。SparseDrive V2 继承了 UniAD 的\u0026quot;query 通路 + 显式表示 + 规划导向\u0026quot;内核，但把表示从稠密换成全稀疏，既延续了 UniAD 的灵魂，又解决了它的算力原罪。可以理解为 \u0026ldquo;UniAD 范式的稀疏化重构\u0026rdquo;。\nvs VAD：都向量化，但 V2 更彻底 VAD 也主张向量化、轻量化，但它仍保留了较重的 BEV 编码环节，只是把后续表示向量化。V2 则连前端编码都稀疏化，彻底去掉稠密 BEV 这一层，效率更优。两者方向一致，V2 走得更远。\nvs DiffusionDrive：稀疏 vs 扩散 DiffusionDrive 是另一条新路线——用扩散模型（Diffusion Model）做规划，擅长生成多模态、分布合理的轨迹，在复杂交互场景下表现亮眼，但扩散过程天然带来多次采样、延迟高的问题。\n维度 SparseDrive V2 DiffusionDrive 核心机制 稀疏 query + 注意力 去噪扩散采样 多模态 锚点驱动的多候选 扩散天然多模态 延迟 低（前向一次） 较高（多步去噪） 优势场景 实时部署、全流程统一 复杂交互下的轨迹多样性 两者其实可以互补：SparseDrive 的稀疏骨架负责实时性与全流程统一，扩散思想可以在规划末端增强多模态质量——未来两者的融合是个值得期待的方向。\n四者一脉相承 工作 核心传承 主要进化 UniAD 范式奠基 显式端到端，规划导向（稠密） VAD 向量化 轻量化、提速（半稀疏） SparseDrive V2 query 通路 + 显式表示 全稀疏、并行、可部署 DiffusionDrive 规划质量 扩散多模态（重规划） 📝 个人思考 读 SparseDrive V2 最让我触动的是它对**\u0026ldquo;表示\u0026quot;的极致较真**。自动驾驶领域过去十年的很多争论，归根到底都是在吵\u0026quot;用什么表示\u0026rdquo;——是稠密栅格、还是矢量、还是 query、还是隐式特征。V2 用一套干净的稀疏 query 把感知到规划全串起来，并且实证了\u0026quot;稀疏不输稠密、甚至更优\u0026quot;，这背后是一个非常深刻的洞见：真实世界的驾驶场景本就是稀疏的，稠密只是历史包袱，不是必需品。这与自然语言处理里\u0026quot;用 token 取代连续向量\u0026quot;、检测里\u0026quot;用 DETR 取代 anchor 地毯式搜索\u0026quot;是同一种思想胜利——让表示的结构去匹配问题的结构。\n第二点启发在并行优于串行。UniAD 的串行接力（检测➜预测➜规划）虽然有信息流清晰的好处，但天然带来误差级联和延迟累积。V2 把运动预测和规划做成并行双分支、共享特征独立输出，既打破了\u0026quot;上游错则下游全错\u0026quot;的链条，又降低了推理延迟。这种**\u0026ldquo;共享上游、解耦下游\u0026rdquo;**的架构思想，在工程上极为实用——任何面临\u0026quot;误差级联 + 实时性\u0026quot;矛盾的系统（不止自动驾驶）都可以借鉴。\n第三点是关于效率与规模的辩证。V2 告诉我们：省下来的算力不一定用来\u0026quot;做得更便宜\u0026quot;，而可以用来\u0026quot;做得更大\u0026quot;。因为稀疏方法的算力是随 query 数线性增长的，未来可以堆更多 query、更长的时序、更丰富的语义，而不会像稠密 BEV 那样指数爆炸。稀疏化本质上是为后续的 scaling 解除封印——这和当前大模型领域\u0026quot;稀疏 MoE 换来万亿参数\u0026quot;的逻辑完全一致。我倾向于认为，端到端自动驾驶的下一个突破，不会来自把 BEV 堆得更密，而会来自把稀疏表示做得更丰富、更长上下文。\n最后一点是对落地价值的体会。一篇端到端论文如果只能在实验室的 A100 上跑、车端 Orin 跑不动，那它离真正改变出行还差十万八千里。V2 把延迟和显存压到接近车端可接受的范围，这种\u0026quot;为部署而设计\u0026quot;的自觉，比纯粹的刷榜更值得尊敬。毕竟，自动驾驶的终极考场不是排行榜，而是真实道路上的每一秒。\nSparseDrive V2 的价值，在于它让\u0026quot;全稀疏端到端\u0026quot;从一个激进的学术想法，变成了一条可工程化、可扩展、可上车的现实路线。\n📖 这是论文精读系列的第 7 篇。全稀疏路线你更看好谁？欢迎留言讨论。\n","permalink":"https://auto-driving-blog.vercel.app/posts/paper-reading/sparsedrive-v2%E7%B2%BE%E8%AF%BB/","summary":"SparseDrive V2 通过全稀疏查询设计统一感知、预测与规划，在大幅降低计算量的同时保持顶尖性能，是端到端自动驾驶走向实时部署的重要一步。","title":"论文精读｜SparseDrive V2：全稀疏端到端自动驾驶框架"},{"content":"📄 论文信息 标题：DiffusionDrive: Real-Time End-to-End Multimodal Trajectory Planning for Autonomous Driving（实时端到端多模态轨迹规划） 团队：华中科技大学 × 理想汽车（Li Auto） 关键词：扩散模型、条件去噪、多模态轨迹、端到端规划、轨迹初始化 一句话总结：把轨迹规划重新定义成一个条件去噪过程，从噪声出发逐步\u0026quot;雕刻\u0026quot;出多条合理轨迹，用轨迹初始化先验和少步采样让扩散真正跑在车端，是生成式端到端驾驶的代表作。 🤔 要解决什么问题？为什么轨迹规划需要多模态？ 绝大多数端到端规划器都采用确定性回归：网络直接输出一条未来轨迹（一串 waypoints）。这条路线简洁高效，却有一个被长期忽视的软肋——轨迹分布本质上是多模态的。\n考虑这样一个场景：前方有静止障碍物，左车道空、右车道也空。 此时合理选择至少有两种——向左变道、向右变道，甚至减速跟停也是合法选项。如果用 L2 回归去拟合人类轨迹，网络会把所有训练样本\u0026quot;平均\u0026quot;起来，结果往往是输出一条压着障碍物正中间走的轨迹。这就是经典的 mode averaging（模态平均） 问题——平均化的轨迹比任何一个合理选择都更危险。\n确定性规划的三类典型困境：\n困境 表现 后果 mode averaging 多条合理轨迹被回归平均 输出落在\u0026quot;无人区\u0026quot;，甚至压障碍物 单点估计 只给一条轨迹，无备选 遇到执行偏差没有回旋余地 难以表达意图 不敢变道还是准备变道？ 行为预测、交互建模无从展开 工业界传统方案（如 EM Planner）其实早就意识到这点——它们显式生成多条候选，再用代价函数挑最优。但端到端回归头丢了这种能力。多候选打分路线（先输出 $K$ 条锚定轨迹再打分）虽然恢复了多选，可候选集是固定锚点，覆盖范围有限，难以生成场景相关的多样化轨迹。\nDiffusionDrive 的核心判断：与其用回归硬挤出一个\u0026quot;平均答案\u0026quot;，不如直接建模轨迹的整个分布，让模型学会\u0026quot;在这种情况下，有哪些合理走法\u0026quot;。这正是生成式模型（扩散、Flow Matching）的强项。\n💡 核心思想：把轨迹规划变成\u0026quot;条件去噪\u0026quot; 扩散模型做轨迹生成的直觉 扩散模型在图像生成里大放异彩，它的本质是两个过程：\n前向过程：把一条干净轨迹 $x_0$ 逐步加高斯噪声，直到变成纯噪声 $x_T \\sim \\mathcal{N}(0, I)$ 反向过程：训练一个网络 $\\epsilon_\\theta$，学会从噪声一步步去噪，还原出合理轨迹 把这个范式搬到轨迹规划上，直觉非常优雅：从一团随机噪声出发，像雕刻一样一点点把噪声去掉，最后\u0026quot;显形\u0026quot;出一条平滑合理的驾驶轨迹。 关键在于，由于去噪是一个随机过程，采样多次会得到不同的合理轨迹——多模态因此天然成立。\n前向加噪可以写成闭式：\n$$q(x_t \\mid x_0) = \\mathcal{N}\\left(x_t;\\ \\sqrt{\\bar{\\alpha}_t}, x_0,\\ (1-\\bar{\\alpha}_t) I\\right)$$\n反向去噪则训练网络预测每一步加入的噪声：\n$$\\mathcal{L}{\\text{diff}} = \\mathbb{E}{x_0,, t,, \\epsilon}\\left[\\big|, \\epsilon - \\epsilon_\\theta(x_t, t, \\mathbf{c}),\\big|^2\\right]$$\n条件扩散：以场景上下文为\u0026quot;指挥棒\u0026quot; 裸扩散只能生成\u0026quot;看起来像轨迹\u0026quot;的东西，但规划要的是在当前场景下合理的轨迹。因此 DiffusionDrive 采用条件扩散：在去噪网络里注入场景条件 $\\mathbf{c}$。\n条件 $\\mathbf{c}$ 通常包含：\n自车状态：位姿、速度、加速度、历史轨迹 周围智能体：从他车检测/跟踪得到的动态目标特征 在线地图：车道线、可行驶区域、道路边界等矢量要素 导航意图：全局路由给的\u0026quot;该往哪走\u0026quot;的提示 注入方式一般是通过 cross-attention（交叉注意力） 或 MLP 拼接，让去噪网络在\u0026quot;雕刻\u0026quot;轨迹的每一步都能\u0026quot;看到\u0026quot;当前场景——这就把一个无条件的\u0026quot;画轨迹\u0026quot;任务，变成了一个听从场景指挥的条件生成任务。\n🏗️ 模型架构：稀疏感知 + 条件扩散规划头 DiffusionDrive 的整体数据流可以概括为\u0026quot;稀疏感知理解场景，扩散头生成轨迹\u0026quot;：\n多相机图像 ➜ 稀疏感知编码器（检测智能体 + 在线建图）➜ 场景条件特征 $\\mathbf{c}$ ➜ 条件扩散规划头（含噪声轨迹 $x_t$ + 时间步 $t$）➜ 多模态轨迹分布\n稀疏感知骨干 它沿用了一条全稀疏的感知路线：不构造密集 BEV 栅格，而是用一组 query 直接检出周围智能体和矢量地图元素。这种设计算力开销小、特征紧凑，非常适合作为扩散头的条件源——把动辄上百万像素的密集特征压缩成几百维的结构化表示。\n关键创新：轨迹初始化（Trajectory Initialization） 这是 DiffusionDrive 最精彩的一笔，也是它能实时运行的命门。\n问题：标准扩散从纯高斯噪声 $\\mathcal{N}(0, I)$ 起步。但真实驾驶轨迹是平滑、有界、强结构化的（几十米范围内、曲率受限、速度连续），和高斯噪声的分布差距极大。弥合这个差距需要很多步去噪（几十到上百步），对车端 10Hz+ 的实时性是灾难。\nDiffusionDrive 的解法：不要从纯噪声起步，而是从一个结构化的轨迹先验起步。具体做法是：\n在训练集上把人类轨迹聚类成一组锚定原型轨迹（anchor trajectories / 基底轨迹） 推理时先从锚定集合里采样一个\u0026quot;粗略合理的起点\u0026quot; 再用少量去噪步在这个起点上做残差式精修 这本质上是把扩散从\u0026quot;噪声 ➜ 数据\u0026quot;压缩成了\u0026quot;粗轨迹 ➜ 精轨迹\u0026quot;，起点已经落在数据流形附近，自然只需极少步数就能收敛。形象地说：标准扩散是从一团泥巴捏车，而 DiffusionDrive 是从一个\u0026quot;半成品的车型\u0026quot;开始精修——后者当然快得多。\n设计 起点分布 所需步数 多样性来源 标准扩散 纯高斯噪声 几十~上百步 噪声随机性 DiffusionDrive 锚定轨迹先验 2~少数步 锚点选择 + 噪声 多步多迭代采样 为了让输出既多样又安全，DiffusionDrive 采用多步、多迭代的采样策略：并行采样多条候选轨迹，再结合下游的代价评估（碰撞、舒适、合规）挑选最优的一条下发控制。这其实和传统规划\u0026quot;生成候选 ➜ 打分 ➜ 选优\u0026quot;的范式在精神上是一致的，只是候选生成方式从规则采样换成了学习到的扩散分布。\n🆚 Flow Matching vs DDPM：轨迹生成用哪个？ 扩散（DDPM）并非连续分布生成的唯一选择，Flow Matching 近两年正快速崛起（详见本博客《Flow Matching 入门详解》）。两者都能建模多模态轨迹分布，但哲学不同。\n维度 DDPM（扩散） Flow Matching（流匹配） 前向路径 弯曲（非线性噪声调度） 直线（线性插值 $x_t=(1-t)x_0+t x_1$） 底层方程 SDE（含随机项） ODE（确定性） 采样步数 较多（需技巧加速） 几步即可 训练目标 预测噪声 $\\epsilon$ 预测速度场 $v$（目标 $x_1-x_0$） 训练稳定性 对噪声调度敏感 通常更平滑 理论关系 Flow Matching 的一个特例 更一般的框架 Flow Matching 的训练目标是让网络学会一个\u0026quot;恒定速度\u0026quot;$u = x_1 - x_0$：\n$$\\mathcal{L}{\\text{FM}} = \\mathbb{E}\\left[\\big|, v\\theta(x_t, t, \\mathbf{c}) - (x_1 - x_0),\\big|^2\\right]$$\n由于路径接近直线，推理时用少量欧拉步积分就能从噪声\u0026quot;流\u0026quot;到数据，天生适合实时。\nDiffusionDrive 为什么选 DDPM 而不是 Flow Matching？ 一个合理推测是：扩散生态更成熟、可调技巧多（如一致性蒸馏、DDIM），且论文的轨迹初始化先把\u0026quot;起点拉到数据附近\u0026quot;，恰恰抵消了扩散\u0026quot;路径弯、步数多\u0026quot;的主要劣势——一旦起点不再远，扩散和 Flow Matching 的速度差距就被抹平了。这也是我认为后续工作完全可能用 Flow Matching 替换 DDPM 头的原因：轨迹初始化这一招对两者都成立。\n🧪 训练策略与 loss 设计 数据来源 DiffusionDrive 的训练数据主要来自大规模人类驾驶数据集：\nnuPlan / OpenScene：当前最主流的闭环/开环规划 benchmark，提供海量带轨迹标注的真实驾驶片段 训练时以人类驾驶轨迹作为 $x_0$（扩散的\u0026quot;干净样本\u0026quot;），场景上下文作为条件 $\\mathbf{c}$ loss 组合 训练目标是多 loss 联合，既有生成式损失，也有安全约束：\nloss 作用 说明 扩散去噪 loss $\\mathcal{L}_{\\text{diff}}$ 主目标 让网络学会在场景条件下逐步去噪 碰撞 loss 安全兜底 惩罚与占用/障碍物重叠的轨迹 边界 loss 合规 约束轨迹不越出可行驶区域 舒适 loss 平顺 限制过大的加速度/急动度（jerk） 一个重要的工程经验是：不能只靠扩散 loss。纯生成目标只关心\u0026quot;分布像不像人类轨迹\u0026quot;，但驾驶是安全攸关任务，必须把碰撞、合规等硬约束作为辅助 loss 显式注入，才能避免模型偶尔采样出\u0026quot;分布内但不安全\u0026quot;的轨迹。这和 UniAD 把碰撞 loss 写进规划头是同一个道理——越是生成式、概率性的系统，越需要确定性安全网兜着。\n⚡ 推理加速：让扩散真正跑上车 扩散模型上车最大的拦路虎是延迟。DiffusionDrive 用了几个组合拳把它压到实时：\n轨迹初始化（见上文）：把起点从纯噪声拉到数据附近，采样步数从几十步骤降到 2 步量级，这是最关键的提速。 缓存矩阵（Cached Matrix）：去噪过程中，场景条件 $\\mathbf{c}$ 是不变的，只有噪声轨迹 $x_t$ 和时间步 $t$ 在变。因此可以把\u0026quot;场景与轨迹交互\u0026quot;的部分预先算好并缓存，避免每个去噪步都重算注意力，大幅省算力。 少步采样：配合 DDIM 等加速采样器，进一步压缩去噪步数。 一致性模型：潜在的进一步加速 除了上述工程技巧，学术界还有一类一致性模型（Consistency Model）思路：把多步去噪蒸馏成一步映射，即\u0026quot;噪声 ➜ 轨迹\u0026quot;一跃而成。这类方法在图像生成里已验证可行，迁移到轨迹规划上，有望把扩散头压到接近单次回归的延迟。DiffusionDrive 的轨迹初始化其实已经隐含了一步生成的影子——当起点足够好时，一两步去噪等价于一个\u0026quot;残差精修\u0026quot;，和一致性蒸馏的精神相通。这指明了后续工作的一个清晰方向。\n⚔️ 与传统优化规划（EM Planner）的对比 传统工业界规划（如百度 Apollo 的 EM Planner）走的是优化路线：在 Frenet 坐标下生成大量候选，用代价函数（碰撞、舒适、合规、效率）打分，再用动态规划 + 二次规划求解最优。DiffusionDrive 走的是学习式生成路线。两者本质不同：\n维度 EM Planner（优化） DiffusionDrive（生成） 候选来源 规则采样（固定模板） 学习到的轨迹分布 多样性 受模板覆盖限制 天然多模态、场景自适应 代价函数 人工设计、显式可调 隐式编码在训练数据里 可解释/可调 强（每项代价可审计） 弱（黑盒分布） 数据依赖 低（靠规则） 高（靠人类驾驶数据） 长尾泛化 受规则覆盖度限制 受数据覆盖度限制 实时性 强（QP 求解快） 需加速技巧才能达标 一个值得玩味的观察：DiffusionDrive 的\u0026quot;采样多条 ➜ 打分选优\u0026ldquo;其实和 EM Planner 的\u0026rdquo;生成候选 ➜ 代价函数选优\u0026ldquo;在流程上惊人地相似——差别只在于候选是用规则生成还是用学习到的分布生成。这暗示两条路线并非对立，而是可以融合：用扩散头生成更聪明的候选，再用可解释的代价函数做最终裁决，既拿到生成式的多样性，又保留优化的可审计性。\n📊 在 NAVSIM / nuPlan 上的性能 DiffusionDrive 主要在 NAVSIM 上评测。NAVSIM 采用 PDMS（Predictive Driver Model Score） 作为核心指标，它由多个子分（如碰撞率、可驾驶区域合规、舒适度、方向正确性等）加权而成，比单纯的 L2 误差更贴近\u0026quot;开得好不好\u0026rdquo;。\n主要结论（定性，具体数值请参照原论文表格）：\nPDMS 领先：发布时在端到端规划器中处于第一梯队，显著优于确定性回归基线，尤其在需要\u0026quot;做选择\u0026quot;的变道/绕行场景上优势明显 多模态优势：在多候选场景下，扩散头能给出更分散、更贴合场景的候选轨迹，mode averaging 问题得到缓解 实时可达：借助轨迹初始化和缓存矩阵，延迟被压到可上车量级，打破了\u0026quot;扩散太慢不能上车\u0026quot;的刻板印象 消融验证：去掉轨迹初始化后采样步数必须大幅增加才能维持质量，反向证明该设计的有效性 在 nuPlan 闭环/开环评测上，该方法同样展现出竞争力，验证了生成式范式不只在小数据集上奏效。\n⚠️ 局限性与未来方向 DiffusionDrive 并非银弹，它也暴露了生成式规划的几条固有软肋：\n延迟仍高于单次回归：哪怕加速到 2 步，扩散头仍比直接回归多几次前向，对极高频控制是负担 硬约束难保证：扩散是软概率约束，无法像优化那样 100% 保证不碰撞、不越界，需依赖辅助 loss 和下游安全校验 错误模态风险：多模态采样偶尔会产生\u0026quot;分布内但不合理\u0026quot;的轨迹，需要可靠的打分/筛选机制兜底 数据依赖重：生成质量受人类驾驶数据覆盖度限制，长尾场景泛化能力存疑 可解释性不足：黑盒分布难以审计，在事故定责、安全认证上仍是障碍 未来方向我看好几条：用 Flow Matching 替换 DDPM 头进一步提速；用一致性蒸馏做到一步生成；与**强化学习（如 Flow-GRPO）**结合，把\u0026quot;模仿出来的分布\u0026quot;对齐到安全舒适的奖励信号；以及最务实的——扩散候选 + 优化裁决的混合范式。\n📝 个人思考 读完 DiffusionDrive，最打动我的是它对\u0026quot;轨迹规划到底该建模什么\u0026ldquo;这个问题的重新发问。长久以来，端到端社区默认\u0026quot;输出一条轨迹\u0026quot;是天经地义的，于是所有人都在 L2 误差上卷。但 DiffusionDrive 把一个被忽视的事实摆上台面：驾驶本质是一个多解问题，同一个场景下合理走法不止一条，强行让网络吐一个\u0026quot;平均答案\u0026quot;反而是错的。把规划建模成分布而非点估计，这个视角的转变，比任何具体的去噪技巧都更深刻——它让我们意识到，确定性只是多模态分布退化后的一种近似，而真实驾驶从来不是单选。\n第二点启发在工程现实主义。扩散模型上车最大的骂名就是\u0026quot;慢\u0026rdquo;，而 DiffusionDrive 用轨迹初始化这一招巧妙化解：既然噪声到数据的距离太远，那就别从噪声起步，从一个\u0026quot;粗略合理\u0026quot;的锚点起步做残差精修。这个思路本质上是\u0026quot;用先验换算力\u0026quot;——你对外部世界的先验越强（聚类出的锚点、场景结构），生成所需的开销就越小。我认为这是个可迁移的通用哲学：在实时性攸关的落地场景里，纯生成式未必最优，生成式 + 强先验才是甜点。这也解释了为什么它和 EM Planner 的\u0026quot;生成候选+打分\u0026quot;流程殊途同归——先验和优化的结合，无论用什么实现，都是工程上的稳赢选择。\n最后一点是对生成式规划与强化学习结合的期待。DiffusionDrive 走的是模仿学习路线，它的分布上限就是人类司机的水平。但要真正超越人类、做到\u0026quot;比人更安全更舒适\u0026quot;，必须引入奖励信号做偏好对齐——而这正是 Flow-GRPO 这类工作的用武之地：用扩散/Flow 头做多模态轨迹采样，用 GRPO 做组内相对优势优化，把\u0026quot;学人类\u0026quot;升级为\u0026quot;学最优策略\u0026quot;。我倾向于认为，生成式规划头 + 强化学习对齐会是端到端驾驶的下一个范式跃迁，而 DiffusionDrive 把生成式这扇门推开，功不可没。\n📖 这是论文精读系列的第 8 篇。扩散模型正让端到端规划从\u0026quot;单选\u0026quot;走向\u0026quot;多选\u0026quot;，你怎么看生成式规划的未来？欢迎留言。\n","permalink":"https://auto-driving-blog.vercel.app/posts/paper-reading/diffusiondrive%E7%B2%BE%E8%AF%BB/","summary":"DiffusionDrive 将扩散模型引入自动驾驶轨迹规划，通过多模态轨迹生成解决确定性规划的局限，是生成式端到端驾驶的代表作。","title":"论文精读｜DiffusionDrive：扩散模型驱动的端到端轨迹规划"},{"content":"📄 论文信息 标题：ReCogDrive: A Reinforced Cognitive Framework for End-to-End Autonomous Driving 来源：华中科技大学 × 小米汽车（Xiaomi EV） arXiv：2506.08052 代码：github.com/xiaomi-research/recogdrive 模型：HuggingFace Collection 一句话总结：VLM 负责\u0026quot;理解与推理\u0026quot;，扩散模型负责\u0026quot;生成轨迹\u0026quot;，DiffGRPO 强化学习负责\u0026quot;安全优化\u0026quot;，三者合一。 🤔 要解决什么问题？ 现有把 VLM 用于自动驾驶的方法有三个致命问题：\n问题 具体表现 后果 领域差距 VLM 在通用互联网数据上预训练，缺乏驾驶领域知识 长尾场景泛化差 模态错配 VLM 输出的是离散文本 token，但驾驶需要连续动作 格式错误、不可行动作、推理慢 模仿学习次优 只靠行为克隆（BC），无法超越专家数据 罕见场景容易出事故 核心矛盾：VLM 会\u0026quot;想\u0026quot;但不会\u0026quot;开\u0026quot;——它能把场景描述得很清楚，但直接让它输出方向盘角度，要么格式不对，要么数值不合理。\n💡 核心思路：三分天下 ReCogDrive 把驾驶拆成三个阶段，各司其职：\n阶段 模块 作用 类比 认知 VLM（自回归） 理解场景、推理决策 人类\u0026quot;想清楚\u0026quot; 规划 扩散规划器 生成连续、平滑的轨迹 人类\u0026quot;打方向盘\u0026quot; 优化 DiffGRPO（强化学习） 超越专家数据，提升安全 人类\u0026quot;练出经验\u0026quot; 这种设计的关键洞察：不要让 VLM 直接输出动作，而是让它输出\u0026quot;认知表征\u0026quot;，再由扩散模型翻译成动作。\n⚙️ 模块一：层级化数据流水线 为了让 VLM 真正\u0026quot;懂驾驶\u0026quot;，作者设计了三阶段数据构建流程：\n阶段 1 — 生成（Generation）：用已有驾驶数据自动生成大规模 VQA（视觉问答）数据\n阶段 2 — 精炼（Refinement）：用更强的模型过滤、修正低质量数据\n阶段 3 — 质量控制（Quality Control）：多维度评估，保留高质量认知标注\n这套流程模拟了人类司机的顺序认知过程：先看到什么 → 分析什么 → 做什么决策。数据不是简单的\u0026quot;图片+轨迹\u0026quot;，而是包含了推理链的丰富标注。\n⚙️ 模块二：认知引导的扩散规划器 这是解决\u0026quot;模态错配\u0026quot;的核心模块。\n问题：VLM 输出的是文本/离散表征，但驾驶需要连续的轨迹点（x, y, heading）。\n解法：用一个扩散规划器把 VLM 的\u0026quot;认知表征\u0026quot;翻译成连续轨迹。\n工作流程：\nVLM 处理多摄像头图像 → 输出认知表征（场景理解 + 驾驶推理） 认知表征作为条件注入扩散规划器 扩散规划器从噪声出发，去噪生成连续、平滑的轨迹 相比直接让 VLM 用文本输出轨迹坐标，扩散规划器生成的轨迹物理上更合理（平滑、可执行），且推理速度提升 7.8 倍。\n⚙️ 模块三：DiffGRPO 强化学习 这是 ReCogDrive 最具创新性的部分——把强化学习引入 VLA 驾驶模型。\n为什么需要 RL？ 纯模仿学习（行为克隆）有三个局限：\n分布偏移：只见过专家轨迹，遇到没见过的情况就崩 因果理解不足：只会模仿\u0026quot;怎么做\u0026quot;，不理解\u0026quot;为什么\u0026quot; 无法超越专家：上限就是专家数据的水平 DiffGRPO 怎么做？ DiffGRPO = Diffusion + Group Relative Policy Optimization\n核心思想是：让扩散规划器在仿真环境中\u0026quot;试错\u0026quot;，用奖励信号引导它找到更安全、更舒适的策略。\n组件 说明 采样一组轨迹 在同一场景下，用扩散模型生成多条候选轨迹 组内相对优势 不需要绝对的价值函数，只用组内相对排名计算优势 奖励函数 安全性（无碰撞）、舒适性（加加速度小）、效率（到达目标） 更新策略 用优势信号更新扩散去噪网络 这种设计巧妙地结合了扩散模型的多模态生成能力和 RL 的探索能力——扩散模型天然适合\u0026quot;生成多个候选\u0026quot;，而 GRPO 天然适合\u0026quot;从候选中挑好的\u0026quot;。\n📊 实验结果 NAVSIM 基准（开环） ReCogDrive 在 NAVSIM 上达到SOTA，PDMS（预测驾驶模型得分）大幅领先：\n方法 PDMS 特点 传统 E2E（UniAD 等） ~80+ 无语言推理 VLM 直接输出轨迹 ~85-88 有推理但动作不稳 ReCogDrive 90+ 推理 + 扩散 + RL Bench2Drive（闭环） 在闭环仿真中，ReCogDrive 同样表现优异，碰撞率显著降低——这正是 DiffGRPO 强化学习的功劳。\nDriveBench / DriveLM（VQA） ReCogDrive 的 VLM 在驾驶问答基准上也超越了开源和闭源模型，证明其认知理解能力强。\n消融实验关键发现 去掉扩散规划器（让 VLM 直接输出轨迹）→ PDMS 大幅下降，证明模态解耦的必要性 去掉 DiffGRPO → 碰撞率上升，证明 RL 优化的价值 去掉认知数据 → 长尾场景性能下降，证明层级化数据的价值 🎯 这篇论文为什么重要 价值 说明 解耦设计 第一次清晰地把\u0026quot;认知\u0026quot;（VLM）和\u0026quot;动作\u0026quot;（扩散）分开，解决了模态错配 RL for VLA 首次将 GRPO 引入 VLA 驾驶模型，证明 RL 能超越模仿学习 产业落地 小米 EV 出品，有明确的车端部署考量（7.8× 加速） 完全开源 代码、模型权重、数据集全部公开 📝 个人思考 对工程实践的启发：ReCogDrive 的\u0026quot;三分天下\u0026quot;设计（认知 → 规划 → 强化）是一个非常好的架构模板。我们自己的工作（如 Flow-GRPO）也在做类似的事——在扩散/流匹配策略上做 RL。ReCogDrive 验证了这条路线的可行性。\nDiffGRPO 的启示：把 GRPO 和扩散模型结合，这个思路可以迁移到很多场景。核心洞察是：扩散模型的\u0026quot;采样多条轨迹\u0026quot;和 GRPO 的\u0026quot;组内相对优势\u0026quot;天然契合。这比在确定性策略上做 PPO 要优雅得多。\n值得关注的后续：ReCogDrive 的 VLM 推理速度仍然是个瓶颈（即使加速了 7.8 倍）。未来如果能把 VLM 也蒸馏成更轻量的模型，或者用快慢双系统（参考 DriveVLM-Dual），实时性可以进一步提升。\n📖 论文精读系列。ReCogDrive 的代码已开源，感兴趣的可以直接跑起来试试。\n","permalink":"https://auto-driving-blog.vercel.app/posts/paper-reading/recogdrive%E7%B2%BE%E8%AF%BB/","summary":"华科×小米EV提出ReCogDrive，将VLM认知推理与扩散规划器统一，通过DiffGRPO强化学习提升安全性，在NAVSIM和Bench2Drive上达到SOTA。","title":"论文精读｜ReCogDrive：小米EV强化认知端到端自动驾驶框架"},{"content":"👨‍💻 Elon 自动驾驶 VLA 工程师（实习），专注视觉-语言-动作模型（VLA）、世界模型与端到端自动驾驶方向。\n目前工作涉及端到端感知决策、基于扩散模型的驾驶策略训练（Flow Matching / GRPO）等。业余时间在这个博客分享自动驾驶前沿论文精读、技术知识点拆解和工程实践。\n📌 关于页和简历会在后续补充完善，目前先专注内容建设。\n🎯 这个博客写什么 栏目 内容 📄 论文精读 自动驾驶领域重要论文的深度解读 💡 知识点拆解 VLA / 世界模型 / 端到端 核心概念讲解 🔧 项目实践 开源项目与工程实践记录 💼 求职面经 自动驾驶岗位面试经验 📰 每周速递 每周值得关注的自动驾驶论文 📫 联系方式 GitHub: qyllll 知乎: （待补充） Email: 14745277512@163.com 如果你也做自动驾驶或对 VLA / 世界模型感兴趣，欢迎交流！\n","permalink":"https://auto-driving-blog.vercel.app/about/","summary":"\u003ch2 id=\"-elon\"\u003e👨‍💻 Elon\u003c/h2\u003e\n\u003cp\u003e自动驾驶 VLA 工程师（实习），专注\u003cstrong\u003e视觉-语言-动作模型（VLA）、世界模型与端到端自动驾驶\u003c/strong\u003e方向。\u003c/p\u003e\n\u003cp\u003e目前工作涉及端到端感知决策、基于扩散模型的驾驶策略训练（Flow Matching / GRPO）等。业余时间在这个博客分享自动驾驶前沿论文精读、技术知识点拆解和工程实践。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e📌 关于页和简历会在后续补充完善，目前先专注内容建设。\u003c/p\u003e\u003c/blockquote\u003e\n\u003chr\u003e\n\u003ch3 id=\"-这个博客写什么\"\u003e🎯 这个博客写什么\u003c/h3\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e栏目\u003c/th\u003e\n          \u003cth\u003e内容\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e📄 论文精读\u003c/td\u003e\n          \u003ctd\u003e自动驾驶领域重要论文的深度解读\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e💡 知识点拆解\u003c/td\u003e\n          \u003ctd\u003eVLA / 世界模型 / 端到端 核心概念讲解\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e🔧 项目实践\u003c/td\u003e\n          \u003ctd\u003e开源项目与工程实践记录\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e💼 求职面经\u003c/td\u003e\n          \u003ctd\u003e自动驾驶岗位面试经验\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e📰 每周速递\u003c/td\u003e\n          \u003ctd\u003e每周值得关注的自动驾驶论文\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003chr\u003e\n\u003ch3 id=\"-联系方式\"\u003e📫 联系方式\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eGitHub\u003c/strong\u003e: \u003ca href=\"https://github.com/qyllll\"\u003eqyllll\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e知乎\u003c/strong\u003e: （待补充）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEmail\u003c/strong\u003e: \u003ca href=\"mailto:14745277512@163.com\"\u003e14745277512@163.com\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cem\u003e如果你也做自动驾驶或对 VLA / 世界模型感兴趣，欢迎交流！\u003c/em\u003e\u003c/p\u003e","title":"关于我"}]