🎯 一句话理解多模态对齐
多模态对齐 = 让’一张狗图’和’a dog’这两个完全不同模态的信号,在同一个语义空间中距离尽可能近。
没有对齐,LLM 看到的图像特征就是"乱码"——视觉 token 和文本 token 不在同一个空间里。
🔗 三种对齐方案
方案一:对比学习(CLIP 式)
粒度:粗(图像↔文本描述) 损失:InfoNCE——拉近 N 个正对,推远 N²-N 个负对
对比学习的核心是构造正负样本对。正对是匹配的图文对,负对是 batch 内所有不匹配的组合。训练目标是让正对的相似度大于所有负对。CLIP 使用的 InfoNCE 损失本质上是 (N-way) softmax 分类——从 N 个候选中选出正确的匹配。
VLA 应用:CLIP/SigLIP 的 ViT 是视觉编码器的事实标准。SigLIP(sigmoid 损失)用逐对 sigmoid 替代 batch softmax,训练更稳定且不依赖大 batch,是当前首选。
方案二:Q-Former 桥接(BLIP-2 式)
粒度:中(query 提取关键区域) 参数量:~188M
Q-Former 的设计哲学是"用少量的可学习参数做信息瓶颈"——32 个 query 必须从 ~256 个 patch 特征中压缩出最重要的信息,这种压缩迫使 Q-Former 学会选择性关注。三阶段训练逐步解锁冻结模块,保证对齐质量。参数量少但效果好,缺点在于推理延迟(Q-Former 串行前向 + 交叉注意力计算)。
方案三:MLP 投影(LLaVA 式)
粒度:中(patch 级) 参数量:~5M(2 层 MLP)
核心洞察:LLM 足够强时,一个简单 MLP 就能把视觉特征"翻译"成 LLM 能理解的格式。这个假设后来被证明基本正确——LLaVA-1.5 仅用 600K 数据训练就能达到 GPT-4V 水平的 90%+ 性能。这是当前 VLA 最主流的对齐方案。
LLaVA 的投影层设计细节:ViT 输出的每个 patch 特征(如 ViT-L/14 输出 257 个 1024 维向量)通过 2 层 MLP 映射到 LLM 的嵌入维度(如 4096),中间层使用 GELU 激活。投影后的视觉 token 序列与文本 token 序列直接拼接送入 LLM,视觉 token 沿用 ViT 的位置编码信息。
三者对比
| 维度 | CLIP 对比 | Q-Former | LLaVA MLP |
|---|---|---|---|
| 粒度 | 粗 | 中 | 中 |
| 参数量 | 0 | ~188M | ~5M |
| 推理延迟 | 最低 | 中 | 低 |
| 驾驶 VLA 使用 | 视觉编码器 | 较少 | 最主流 |
趋势:LLM 越强,对齐模块越简单。CLIP → Q-Former → MLP,路越走越"短"。
🛠️ 指令微调
将模型格式化为 (指令, 图像, 回答) 三元组做 SFT:
驾驶指令数据
驾驶指令数据相比通用 VQA 数据需要更多的因果推理和空间理解:
| 类型 | 示例 | 能力需求 |
|---|---|---|
| 场景描述 | “描述当前交通场景” | 视觉理解 |
| 危险识别 | “有哪些潜在危险?” | 场景+常识 |
| 决策推理 | “你会怎么做?为什么?” | 因果推理 |
| 动作执行 | “输出转向角 0.3” | 视觉-动作映射 |
数据构建策略
| 方法 | 说明 | 适用阶段 |
|---|---|---|
| 已有 VQA 格式化 | 将现有 VQA 数据转为指令格式 | 预训练/通用微调 |
| GPT-4V 蒸馏 | 用强模型生成驾驶 QA 数据 | 驾驶特定数据 |
| 人类标注 | 驾驶专家标注场景 QA | 高质量小规模 |
| Self-Instruct | 模型自己生成问答对 | 数据扩展 |
🚗 VLA 的特殊对齐:图像 → 动作
VLM 终点是文本(LLM 擅长的输出空间),VLA 终点是连续动作(LLM 没见过的输出空间)。这引入了"输出对齐"问题。
策略一:动作 Token 化(Action Tokenization)
把连续动作离散化为 token,复用 LLM 的自回归生成机制。
| 维度 | 说明 |
|---|---|
| 精度 | 中(有量化误差) |
| 速度 | 慢(自回归生成) |
| 训练 | 交叉熵(与文本相同) |
| 代表 | RT-2, OpenVLA |
EMMA(Wayve) 把路线上推到极致:目标框、车道线、轨迹点全部用文本 token 表示,统一感知+预测+规划。
策略二:分离式动作头(Action Head)
LLM 输出特征通过独立的动作头生成连续动作。
| 维度 | 说明 |
|---|---|
| 精度 | 高(连续输出) |
| 速度 | 快(MLP)/ 慢(扩散) |
| 代表 | DiffusionDrive, π0 |
DriveVLM 双头设计:一个 LLM 同时驱动 CoT 文本头和 Waypoint MLP 头,兼顾可解释性和执行精度。这种设计中,CoT 文本头负责输出场景理解过程(可解释),Waypoint 头负责输出精确轨迹坐标(可执行),两者共享 LLM 的中间特征。
EMMA 的统一 token 化路线:Wayve 的 EMMA 把路线推到极致——目标框坐标 (x, y, w, h)、车道线点序列、规划轨迹点全部离散化为文本 token,一个模型用纯文本生成方式输出所有任务结果。这种做法最大的优势是任务间信息共享——planning 的注意力可以 attend 到 detection 的输出 token。
| 维度 | Token 化 | Action Head |
|---|---|---|
| 精度 | 中(量化误差) | 高 |
| 速度 | 慢(自回归) | 快(扩散除外) |
| 多模态 | 弱 | 强 |
| 实现 | 低 | 高 |
🧪 驾驶对齐的特殊挑战
| 维度 | 通用 VLM | 驾驶 VLA |
|---|---|---|
| 输入对齐 | 单图↔文本 | 多视角↔驾驶语义+空间 |
| 输出对齐 | 文本 | 推理+轨迹/转向 |
| 对齐粒度 | 场景级 | 场景+物体+空间 |
关键技术详解
BEV 对齐:多视角图像通过可变形注意力或 IPM 映射到 Bird’s Eye View 空间,在 BEV 中做视觉-语言对齐。代表工作 BEVFormer 展示了 BEV 特征在端到端驾驶中的有效性。
时序对齐:单帧图像缺乏动态信息(前车刹车灯、行人运动趋势)。常见做法是多帧输入 + 时序自注意力 / 3D Conv。DriveVLM 输入前后 2 秒共 6 帧,在视觉层融合时序。
空间对齐:自动驾驶需要精确的 3D 空间位置。一种方案是将 3D 坐标编码为额外 token 输入 LLM;另一种方案是直接在 BEV 特征上进行对齐。
安全对齐:VLA 的动作必须满足安全约束。通过在 RLHF/DPO 阶段加入安全 reward(碰撞惩罚、违反交规惩罚),让模型学会"不安全就不做"。
对齐效果评估
| 指标 | 测量内容 | 典型方法 |
|---|---|---|
| Retrieval R@1 | 图文检索 | CLIP 式对比 |
| VQA 准确率 | 视觉问答 | VQAv2 |
| 碰撞率 | 规划质量 | 仿真回放 |
| CoT 一致性 | 推理与动作是否一致 | BLEU / 人工 |
✅ 小结
- 三种对齐方案:CLIP 对比(粗)、Q-Former 桥接(精)、LLaVA MLP(简),后者当前主流
- 对齐趋势:LLM 越强,对齐模块越简单
- VLA 特殊对齐:输出对齐从"文本"扩展到"动作",有 Token 化和 Action Head 两种策略
- 驾驶对齐需要多视角+时序+空间多维对齐
📖 知识点拆解系列第 13 篇。下一篇:Chain-of-Thought 推理详解。