AutoVLA 代码讲解:把「开车」变成「说动作 token」并用 GRPO 微调

「面向零基础读者逐行拆解 ucla-mobility/AutoVLA(NeurIPS 2025):先把 VLA、动作 codebook、KMeans 聚类、快慢思考、SFT、GRPO/RFT、Qwen2.5-VL、token、规则奖励这些黑话翻译成人话,再厘清仓库边界(基座是 Qwen2.5-VL-3B、核心是动作 token 化 + 两阶段训练),然后逐文件逐函数细讲 build_codebook 的 KMeans 聚类、modeling_auto_vla 如何在 VLM 上挂 action_head、action_head 的动作 token 投影与解码、Stage-1 SFT 模仿学习、Stage-2 RFT/GRPO 拒绝采样微调、run_infer 里慢思考如何被旁路提速,最后串起完整数据流并给出个人思考与本系列其他文章的关系」

2026年7月20日 · 7 分钟 · 1293 字

Diffusion Planner 代码讲解:轨迹级扩散 + 免训练能量引导

「Diffusion Planner 把规划对象从『动作』升级为『整条轨迹』,用 DiT + MLP-Mixer 去噪;亮点是在 DDPM 采样时注入 classifier guidance(碰撞/可行驶区域/运动学能量),无需重新训练就能把轨迹压进可行域,本文顺着官方仓库从名词、架构、逐文件逐函数一直讲到多模态闭环评测,帮零基础读者把『轨迹级扩散 + 免训练能量引导』这条主线彻底打通」

2026年7月20日 · 8 分钟 · 1524 字

Diffusion Policy 代码讲解:用 DDPM 给机器人「生成」一连串动作

「Diffusion Policy 把『给一段观察、出一段动作序列』做成条件扩散生成:噪声动作被 ConditionalUnet1D 逐步去噪,训练是 DDPM 标准损失(预测加到数据上的噪声、MSE),推理是 DDIM 多步采样(20~100 步),归一化必做且推理要 unnormalize 回真实量纲。本文顺着 real-stanford 官方仓库,从名词速查、架构总览、项目结构,到 ConditionalUnet1D / diffusion / diffusion_unet1d_policy / base_dataset / train_diffusion_policy 逐文件逐函数细讲,并穿插『为什么多步动作更稳、为什么扩散天然多模态、为什么归一化是命门』等认知,最后落到它作为 DiffusionDrive / Diffusion Planner / pi0 方法论母体的位置,是一篇面向零基础、超详细、篇幅足够长的工程向代码讲解」

2026年7月20日 · 10 分钟 · 2044 字

pi0 代码讲解:通用 VLA 的「VLM 主干 + Flow Matching 动作专家」

「pi0 用 Google 的 PaliGemma 视觉语言模型当『懂场景、懂语言』的通用感知-语义主干,再并联挂一个独立的 Flow Matching 动作专家,通过 cross-attention 从 VLM 取特征,在 10 步 ODE Euler 积分内把随机噪声动作流到真实连续动作;本文顺着 Physical-Intelligence 官方 openpi 仓库,逐文件逐函数把 pi0.py 总装两塔、paligemma.py 封装主干、action_expert.py 的 Flow Matching 去噪、trainer.py 的向量场 MSE 损失、runtime.py 的 10 步 ODE 生成、transforms 里的动作 tokenize 与冻结策略讲透,并与 AutoVLA / DriveVLA-W0 做对照,最后把本系列九篇串成一条端到端自动驾驶与通用机器人 VLA 的演进线」

2026年7月20日 · 7 分钟 · 1330 字

UniAD 代码讲解:端到端自动驾驶的「全栈 Transformer」是怎么拼起来的

「UniAD 把感知(检测/跟踪/建图/运动预测/占用)和规划全部塞进一条共享 query 的 Transformer 流水线,是 BEV 端到端感知-规划一体化的开山之作(CVPR 2023 Best Paper)。本文顺着 mmdet3d_plugin 的真实代码,逐个 head 讲清输入输出、forward 里到底做了什么,并拆穿两阶段训练为什么非这么干不可,零基础也能顺着数据流读懂整条链路」

2026年7月20日 · 6 分钟 · 1166 字

VAD 代码讲解:把场景「矢量化」后,端到端能有多轻

「VAD 在 UniAD 之后走轻量化路线:把 agent、地图、运动全表示成向量(点和线),去掉占用栅格与分割头,VADv2 进一步把规划做成多模态概率分布,是回归式端到端走向生成式选择的关键过渡」

2026年7月20日 · 8 分钟 · 1587 字

代码讲解:DiffusionDrive 从架构到训练推理的完整闭环

逐行拆解 hustvl/DiffusionDrive 的真实源码,面向零基础读者:从架构图与全局数据流出发,用大白话讲清什么是 anchor、什么是去噪、什么是 cross-attention、什么是 BEV、什么是截断扩散,再逐文件讲清它如何作为 navsim 的 Agent 插件挂载,最后把一次前向传播拆成 7 到 8 步、把训练和推理的差异讲透。一篇把项目挂载方式→数据流→前向传播→训练梯度→推理选轨迹→个人思考全部讲明白的极详细工程向代码讲解。

2026年7月20日 · 9 分钟 · 1856 字

代码讲解:DriveVLA-W0 世界模型如何给 VLA 大模型补上稠密监督

逐行拆解 BraveGroup/DriveVLA-W0 的已开源代码,面向零基础读者:先讲清 VLA、世界模型、MoE、Flow Matching、FAST tokenizer 等黑话,再厘清仓库边界(只开源了 policy_head 与 tokenizer,VLM 主干在外部库),然后逐文件拆解 MoE 动作专家、Flow Matching 解码器、扩散策略头、动作 tokenizer 与世界模型 VQ 编码器,最后把一次前向从图像到轨迹串成 7 步、讲透两阶段训练与推理旁路世界模型的设计。一篇把代码边界到数据流到关键模块到训练梯度到推理选轨迹到个人思考全部讲明白的极详细工程向代码讲解。

2026年7月20日 · 8 分钟 · 1693 字

代码讲解:SparseDriveV2 因子化轨迹词汇表与两级评分的完整闭环

逐行拆解 swc-17/SparseDriveV2 的真实源码:从架构图与全局数据流出发,用最通俗的大白话讲清几何路径乘以速度剖面如何因子化组合成 26 万条轨迹词汇表、两级评分怎么把候选从 26 万粗筛到 200 条再精排、PDM score 蒸馏损失如何用排行榜判分器当老师。一篇把项目挂载方式、数据流、前向传播、训练梯度、推理选轨迹、个人思考全部讲透、面向零基础读者的工程向代码讲解。

2026年7月20日 · 9 分钟 · 1732 字