专题 4:交互意图预测(Interaction & Intention Prediction)——方向级综述¶
本章定位:这是"经典规控范式横切专题层"中**交互意图预测方向**的方向级综述章。它不是某个具体算法的教学章(那些将来会落在
04_移动机器人规控/40_交互意图预测/的正文里),而是站在整个方向的高度,回答四个问题:这个方向解决什么根本问题、它是怎么一步步发展到今天的、有哪些技术流派、它和你已掌握的传统规控与博弈规划是什么关系。与兄弟综述章的分工:同目录下
30_博弈规划.md讲"把他人建成会响应你的决策者、用数值求解博弈均衡"这条**显式建模**主线;本章讲的是另一条互补主线——从数据中学习他人的未来轨迹分布。两者在终点会师:博弈规划的"预测即均衡"与本章的"联合预测-规划(joint prediction-planning)"指向同一个工程目标——让预测和规划不再解耦。读本章时,请把30_博弈规划.md §3.4 / §3.6关于"预测-规划解耦的病(frozen robot problem)"那几段放在手边,本章会反复回到这个病灶,但给出的是"学习派"的药方。为什么单独写一章方向级综述:交互意图预测是过去十年自动驾驶与移动机器人领域**论文产出最密集、范式更迭最快**的方向,没有之一。从 2016 年 Social LSTM 第一次把"社交"塞进神经网络,到 2020 年 VectorNet 用向量化地图取代栅格、到 2022 年 MTR 拿下 Waymo 冠军、到 2023 年 UniAD 把感知-预测-规划焊成一个端到端 Transformer 拿了 CVPR Best Paper、再到 2024–2026 年扩散模型与 VLA(视觉-语言-动作)基础模型涌入——这是一条**节点密、转折锐、流派可辨**的演化河流。把这条史脉讲清楚,比孤立地讲任何一个网络结构都更能帮你建立"方向感"。这正是方向级综述的价值。
本章是综述/导览性质:与博弈综述一样,本章重在"横向打通"与"演化梳理",不含可运行代码与逐行论文精读。本章的笔法接近学术综述(survey),但保留教学文档的认知工具(多视角、对比、本质洞察、陷阱)和循序渐进的展开方式。文中涉及的厂商披露信息(如 Tesla FSD)一律标注"未经同行评审"。
前置自测¶
本章是方向级综述,前置门槛低于专门的预测算法正文。但若以下 5 题答不出 ≥ 3 题,建议先读完同目录
30_博弈规划.md的前置自测与 §3.5(它讲清了"预测-规划解耦"这个本章反复用到的病灶),再回来——综述里会大量复用这些概念。
- (预测-规划解耦的病) 传统自动驾驶管线是"先预测他车轨迹,再把预测当约束规划 ego"。在"密集车流强行汇入"场景里,这个解耦会产生什么著名的失败模式?为什么"把所有可能的他车轨迹都当成障碍"会让机器人**不敢动**?(→
30_博弈规划.md §3.4) - (多模态的本质) 一辆车开到路口,它**既可能**左转**也可能**直行。如果你的预测模型对每辆车只输出**一条**轨迹,并且用均方误差(MSE)去训练它,输出会塌缩成什么?(提示:两条岔路的"平均"是哪里?)这个现象叫什么?
- (序列建模工具) 你已学过的 RNN/LSTM 是怎么处理变长时间序列的?它的隐状态 \(h_t\) 在直觉上"记住了什么"?相比之下,Transformer 的自注意力(self-attention)放弃了循环、改用什么机制让任意两个时刻"直接对话"?(→ 深度学习基础 / 序列建模章)
- (图与关系) 一个路口有 8 辆车、3 个行人、若干条车道。如果要让模型"知道谁和谁有交互、谁该让谁",为什么把这个场景建成一张**图**(节点=智能体/车道,边=空间关系)比把它塞进一个固定大小的向量更自然?图神经网络(GNN)靠什么操作在节点间传递信息?(→ 深度学习基础 / GNN 章)
- (评估指标) 预测模型输出 6 条候选轨迹,真值只有 1 条。如果用"6 条里最接近真值的那条的误差"来打分,这个指标奖励了什么、又**纵容**了什么?(提示:模型可以靠"广撒网"刷分)这正是 minADE/minFDE 这类 "min-over-K" 指标的争议所在。
本章目标¶
读完本章,你应当能够:
- 复述交互意图预测的发展脉络:从 2016 年 Social LSTM 用 social pooling 把"社交"引入神经网络,到 Social GAN(2018)的多模态生成、MultiPath(2019)的 anchor 范式、VectorNet(2020)的向量化地图革命、Scene Transformer / MTR(2022)的 Transformer 统一、UniAD(2023)的端到端融合、再到 2024–2026 的扩散模型与 VLA 浪潮——能说清每个阶段"解决了上一阶段的什么遗留问题"。
- 辨识"意图—轨迹—交互"三个建模层次:能区分**物理感知**(physics-based,纯运动学外推)、机动/意图感知(maneuver/intention-aware,先分类离散意图再回归轨迹)、交互感知(interaction-aware,建模智能体间的相互影响)三类方法的边界、各自的输入输出与适用场景。
- 梳理深度预测模型的四条技术脉络:循环网络(LSTM 系)、图神经网络(GNN 系)、Transformer(注意力系)、生成模型(GAN/CVAE/扩散系)——给定一篇论文或一个开源项目,能判断它的骨干属于哪一脉、该脉的核心思想与典型代表。
- 理解预测与规划耦合的三种范式及其张力:解耦(pipeline)、条件预测(conditional / planning-informed)、联合一体化(joint / game-theoretic / end-to-end)——能说清每种范式如何回应"frozen robot"与"自我实现预言(self-fulfilling prophecy)"两大病灶,以及它们与博弈规划的会师点。
- 掌握主流数据集与评估指标体系:能说清 nuScenes / Argoverse(2) / Waymo Open Motion / nuPlan 的定位差异,理解 minADE / minFDE / Miss Rate / brier-minFDE / mAP 这套 "min-over-K" 指标的含义、各 leaderboard 的排序口径差异,以及它们共同的根本缺陷——开环(open-loop)指标与闭环(closed-loop)部署的错配。
- 说清这个方向尚未解决的开放问题:多模态评估的失真、开环-闭环鸿沟、长尾分布与分布漂移、不确定性的严格量化、交互预测的因果性、以及一个贯穿全章的工程现实——"这是 C++ 代码最少的方向,研究前沿与工业生产之间隔着一条'Python→C++ 部署'的鸿沟"。
知识导航¶
本章按"史—景—器—耦—测—问"六段式展开,比博弈综述多了"景"(全景分类)与"测"(数据集指标)两段,因为预测方向的**方法谱系**和**评估体系**都远比博弈复杂,值得单列:先看它**从哪来**(发展脉络),再俯瞰**意图/轨迹/交互三层全景**(分类地图),然后**纵向梳理深度模型四脉**(建模工具),接着讲**预测如何与规划耦合**(这是本方向的"灵魂问题"),再**横向对比数据集与指标**(怎么评、怎么刷榜、榜单为何会骗人),最后**直面未解之惑**(开放问题)。
| 节 | 标题 | 回答的问题 | 难度 |
|---|---|---|---|
| §4.1 | 发展脉络:六个时代 | 这个方向是怎么一步步演化到今天的? | ⭐⭐ |
| §4.2 | 三层全景:物理 / 机动意图 / 交互感知 | 预测方法一共有哪几大类?如何划界? | ⭐⭐⭐ |
| §4.3 | 深度预测模型四脉:LSTM / GNN / Transformer / 扩散 | 主流网络骨干有哪些路线?各自核心思想? | ⭐⭐⭐ |
| §4.4 | 预测与规划的耦合:解耦 / 条件 / 联合 | 预测和规划该怎么"接线"?三种范式的张力? | ⭐⭐⭐⭐ |
| §4.5 | 数据集与评估指标 | 拿什么数据、用什么指标?榜单为何会骗人? | ⭐⭐⭐ |
| §4.6 | 开放问题与未来方向 | 这个方向还有哪些悬而未决的硬骨头? | ⭐⭐⭐⭐ |
| §4.7 | 本章小结与速查 | 一张表记住整个方向 | ⭐ |
前置知识桥接¶
本章是综述,但要把"预测"讲透,有四块前置概念需要在脑中预热——前两块来自规控,后两块来自深度学习:
-
回顾"预测-规划解耦"的工程现状(来自
30_博弈规划.md §3.4):传统自动驾驶/移动机器人是两段式管线——感知预测模块吐出他车未来轨迹,规划模块把这些轨迹当成动态障碍约束、求 ego 的最优轨迹。这个解耦在弱交互场景(高速跟车)工作良好,但在强交互场景(汇入、抢行、谈判式让行)会产生 frozen robot problem(机器人因为把所有可能轨迹都当障碍而不敢动)。本章 §4.4 的全部张力都围绕"如何修补这个解耦"展开,而修补方式恰好与博弈规划在 §4.4.3 会师。 -
回顾"多模态/不确定性"的必要性(来自
20_不确定性规划.md):未来本质上是**不确定**的——同一个历史轨迹,可以对应多个合理的未来(左转/直行/右转)。预测模型若只输出一条"最可能"的轨迹,本质上是在对一个多峰分布做点估计,必然失真。这一点是理解 §4.2"为什么需要多模态预测"和 §4.3"为什么生成模型适合预测"的基础。 -
回顾序列建模三件套(来自深度学习基础):**RNN/LSTM**用循环隐状态 \(h_t = f(h_{t-1}, x_t)\) 压缩历史,擅长变长序列但有长程依赖衰减与串行计算的痼疾;**Transformer 自注意力**用 \(\text{Attention}(Q,K,V)=\text{softmax}(QK^\top/\sqrt{d})V\) 让任意两个 token 直接交互,天然并行、长程依赖强,但计算量随序列长度平方增长;**位置编码**补回注意力丢失的顺序信息。这三件套是 §4.3 四脉中前三脉的数学地基。
-
回顾图神经网络(来自深度学习基础):把场景建成图 \(G=(V,E)\)(节点=智能体或车道矢量,边=空间/语义关系),用**消息传递(message passing)**\(h_v^{(l+1)}=\text{UPDATE}\big(h_v^{(l)}, \text{AGG}_{u\in\mathcal{N}(v)} \text{MSG}(h_u^{(l)})\big)\) 在邻居间传播信息。图视角是 §4.3 第二脉(GNN 系,VectorNet 是其巅峰)的核心,也是理解"交互建模"的最自然语言。
预计阅读时间:100–130 分钟(综述章,可跳读;建议先通读 §4.1 发展脉络与 §4.7 小结建立框架,再按需深入 §4.4 耦合与 §4.6 开放问题这两节"硬骨头")。
§4.1 发展脉络:交互意图预测的六个时代 ⭐⭐¶
本节解决的问题:交互意图预测不是某一年突然出现的,它是一条跨越十年、节点极密的技术演化河流。本节把它切成六个时代,每个时代回答"上一时代留下了什么问题、这一时代怎么解决、又留下什么新问题"——让你看到整个方向的**因果链**,而不是一堆孤立的论文缩写(Social LSTM、VectorNet、MTR、UniAD……这些名字若不放进时间线,只是一锅字母汤)。
4.1.1 为什么要先讲历史¶
在扎进任何一个具体网络结构(social pooling、polyline subgraph、motion query、扩散去噪)之前,先理解这个方向的演化史有三个不可替代的价值,这与博弈综述 §3.1.1 的论证一脉相承,但在预测方向尤其成立——因为预测方向**范式更迭太快**,不看历史就会把"已被淘汰的旧范式"和"当前 SOTA"混为一谈。
第一,历史揭示动机。VectorNet(2020)为什么要抛弃栅格化(rasterization)、改用向量化(vectorization)表示地图?因为它的前驱们(如把高精地图渲染成 RGB 图、再喂给 CNN 的一系列工作)面临一个尴尬:渲染图的分辨率与感受野互相掣肘,CNN 要堆很深才能"看到"几百米外的目标车道,算力浪费在大片空白像素上。不知道这段历史,你会觉得 VectorNet 的"polyline + 子图"结构莫名其妙;知道这段历史,你会明白它是"为了高效编码稀疏的、本质上是矢量的地图与轨迹而做的、必然的表示革命"。这正是编写规范 R5"先动机后理论"在方向尺度上的体现。
第二,历史揭示流派。今天看到的方法谱系(§4.2 的三层、§4.3 的四脉),不是有人坐下来设计出来的分类,而是历史上不同研究组、为解决不同子问题、沿不同数学工具自然分化出来的。social pooling 这一支源于行人轨迹预测(计算机视觉社区,关心人群);anchor/goal 这一支源于自动驾驶(Waymo,关心车辆受车道强约束);Transformer 这一支源于 NLP 的范式外溢;扩散这一支源于生成式 AI 的浪潮。理解了分化的历史动因,流派分类就不再是死记硬背,而是有逻辑可循。
第三,历史揭示趋势。从"只预测、与规划解耦"(Social LSTM~VectorNet)→"预测时考虑 ego 计划"(条件预测,PRECOG/PiP/M2I)→"预测与规划联合优化"(DIPP/GameFormer)→"感知-预测-规划端到端"(UniAD/VAD)→"语言/基础模型注入"(DriveVLM/VLA),这条主线指向一个清晰的趋势:预测正在从一个"独立的上游模块"逐渐溶解进一个"端到端的、与规划共生的、甚至带语义推理的决策系统"。看清趋势,你才能判断"独立训练一个更准的预测器"这件事的边际价值正在递减(§4.5、§4.6 会用闭环评估的实证数据说明这一点),以及为什么 2024 年后顶会的重心明显从"纯预测"转向"联合"与"端到端"。
对比性思维("读论文记缩写" vs "用史脉填地图"——两种学习姿态):面对这个缩写满天飞(Social LSTM、VectorNet、MTR、UniAD、GameFormer……)的方向,初学者的常见姿态是"挨个记住每个缩写是干嘛的"——这是**点状记忆**,缩写一多就乱成一锅字母汤,且记不住"谁先谁后、谁补谁的漏"。本章倡导的姿态相反——先用 §4.1 的六时代因果链 + "三级跳"主轴搭好一张'地图',再把每个缩写当成'地图上的一个坐标'填进去。这是**结构化记忆**:你记的不是孤立的缩写,而是"它在演化链的哪一环、补了什么漏、在三级跳的哪一级"。两种姿态的差距,在论文越读越多时会指数级放大——点状记忆者越读越乱,填地图者越读地图越完整、越能预判新论文的位置。这也是为什么本章把"史"放在最前面、且反复回到"三级跳"主轴——它不是在讲故事,而是在给你搭一张'终身可用、越填越密'的方向地图。
本质洞察(预测的历史是一条"表示—交互—耦合"三级跳):交互意图预测十年的演化,若要用一句话概括,是三个递进的觉醒。第一级觉醒(表示):怎么把"场景"(轨迹+地图+智能体)喂给网络?答案从栅格图进化到向量集合(Social LSTM→VectorNet)。第二级觉醒(交互):怎么让模型理解"智能体之间相互影响"?答案从手工的 social pooling 进化到图消息传递、再到全局自注意力(Social LSTM→GNN→Transformer)。第三级觉醒(耦合):预测出来要干嘛?答案从"扔给下游规划当障碍"进化到"预测本身就该 condition on ego 的计划、甚至与规划联合求解"(解耦→条件→联合)。把握住这"三级跳",你就握住了整个方向的主轴——后文每介绍一个时代,都会明确指出它在哪一级上前进了一步。
4.1.2 第一时代(2016–2018):社交池化与生成式多模态的萌芽¶
这个时代解决的问题:如何让神经网络在预测一个智能体的未来时,"看到"周围其他智能体的存在与影响?以及,如何承认未来是多模态的、而不是输出一条确定的轨迹?
交互意图预测进入深度学习时代的开山之作,是 Alahi 等人 CVPR 2016 的 Social LSTM。但要理解它的革命性,得先看清它推翻了什么——深度学习之前的手工模型时代。那时行人/车辆轨迹预测主要靠三类手工模型:① 社会力模型(Social Force,Helbing & Molnár 1995)——把行人想象成受"力"驱动的粒子:朝目标的吸引力 + 对他人/障碍的排斥力 + 对同伴的吸引力,合力决定加速度,积分出轨迹。② 高斯过程(GP)——用核函数刻画轨迹的平滑先验,做概率外推。③ 卡尔曼滤波 / 运动学外推——即 §4.2.2 的物理层。
本质洞察(Social Force 为什么"对得优雅却错得致命",从而呼唤深度学习):社会力模型有一种物理学的优雅——它用牛顿力学的语言(力、加速度)统一刻画了"想去哪"和"避开谁",参数少、可解释、无需数据训练。但它有一个致命的结构性缺陷:那些"力"的形式和强度是人手工设定的(排斥力按距离怎么衰减、同伴吸引力多大),而真实人类交互的复杂性远超几个手工势场能捕捉——人会预判、会谈判、会因文化/情境改变行为,这些都无法塞进一个固定的力场公式。Social LSTM 的革命正在于此:它不再手工设定"交互的力",而是用 LSTM + social pooling 从数据里学出交互。这是从"手工指定模型形式"到"从数据学模型形式"的范式跃迁——与控制领域从"手工调 PID"到"学习控制"、与 CV 从"手工设计特征(SIFT)"到"学习特征(CNN)"是同一场深度学习革命在预测方向的投影。理解了 Social Force 的"优雅但僵硬",你才能理解 Social LSTM 为何是开山之作——它不是"又一个预测模型",而是"预测方向进入数据驱动时代"的分水岭。这正是 R5"先动机后理论"在历史尺度上的体现:不知道手工模型的僵硬,就不懂神经预测的必要。
Social LSTM 的范式转变在于:给**每个**行人配一个 LSTM 编码其历史轨迹,然后用一个叫 social pooling 的操作,把空间上邻近的行人的 LSTM 隐状态"汇聚"到一个共享的网格张量里,让每个行人的预测都能"感知"邻居的状态。这是第一次用可学习的神经机制(而非手工势场)来建模社交交互。
多视角理解(social pooling 到底在做什么): - CNN 视角:social pooling 本质上是把"周围邻居的隐状态"按它们的相对位置摆进一个以自我为中心的网格(social grid),再对落在同一格的隐状态求和——这非常像 CNN 里的空间池化,只不过池化的不是像素而是 LSTM 隐状态。像/不像:像在于都用网格聚合空间局部信息;不像在于这里聚合的是高维语义状态而非低维特征。 - 图视角(事后诸葛):今天回看,social pooling 其实是一种**笨拙的、固定半径的、各向同性的图聚合**——它隐含地把"空间近邻"当成图的边,把隐状态求和当成消息聚合。它的笨拙之处正是后来 GNN 系(§4.3 第二脉)要改进的:交互不该只看距离(远处一辆高速逼近的车可能比近处一辆静止的车更重要)。 - 认知视角:social pooling 体现了一个朴素但深刻的假设——"你要去哪,取决于你周围有谁"。这个假设贯穿了之后所有交互预测工作,只是建模工具越来越精巧。
紧随其后的关键工作是 Gupta 等人 CVPR 2018 的 Social GAN。它要修补 Social LSTM 的一个致命假设:确定性输出。Social LSTM 对每个行人只回归一条最可能的轨迹,但人在路口"既可能左也可能右",用 MSE 训练的确定性模型会把多个合理未来"平均"成一条不合理的中间轨迹(直愣愣撞向岔路口中央的隔离带)——这就是著名的 mode averaging(模态平均)/mode collapse 病。Social GAN 引入**生成对抗网络**:生成器从随机噪声采样出多条不同的、社交兼容的轨迹,判别器逼着这些轨迹看起来"像真的人会走的",并用一个 variety loss(只惩罚 K 条样本里最好的一条)显式鼓励多样性。
本质洞察(Social GAN 的真正贡献是"承认未来是分布而非点"):Social LSTM 把预测当成回归(regression)——输入历史,输出一条轨迹。Social GAN 把预测翻转成**采样(sampling)**——输入历史,输出一个可以反复采样的分布。这个翻转的威力在于:它在数学上正确地刻画了"未来不确定"这件事。从此,"预测一条轨迹"被"预测一个轨迹分布、并从中采样出 K 个代表"取代,这成了之后所有方法的默认设定。后文你会看到这个"多模态"诉求以各种形式反复出现:GAN 采样、CVAE 隐变量、anchor/goal 离散化、扩散去噪——它们都是在回答同一个问题"如何表达和生成多模态未来"。
这个时代留下的问题:social pooling 太粗糙(只看距离、各向同性、固定网格丢失精细几何);GAN 训练不稳定、模态覆盖难保证;而且这个时代几乎只关心**行人**(来自 CV 社区),对**车辆受车道/地图强约束**这一自动驾驶核心特征建模不足。"如何精细建模交互"和"如何利用地图结构",成了下一时代的命题。
4.1.3 第二时代(2019–2020):Anchor 范式与向量化地图革命¶
这个时代解决的问题:① 如何更可靠地产生多模态轨迹(GAN 不稳定,能否换个更稳的机制)?② 如何把"高精地图"这一自动驾驶独有的强先验高效地喂给模型?
Anchor/回归范式(MultiPath)。Waymo 的 Chai 等人 CoRL 2019 的 MultiPath 提出了一个比 GAN 稳定得多的多模态方案:预先从训练集聚类出一组**锚轨迹(anchor trajectories)(代表"典型的运动模式",如直行、左转、右转),模型不再从噪声生成,而是**对每个 anchor 预测一个概率 + 一组相对该 anchor 的回归偏移。这把"生成多模态"问题转化成了"分类(选哪个 anchor)+ 回归(微调)"——既稳定又可解释。这个 anchor 范式影响极为深远,后来 TNT、DenseTNT、MTR 的 motion query 都是它的精神后裔。
对比性思维(生成式 vs Anchor 式多模态):不是"用一个网络生成多条轨迹",而是"先放好一组参考模式、再让网络挑选并微调"。前者(GAN/CVAE)灵活但训练难、模态可能塌缩;后者(anchor)稳定可解释但受 anchor 集合质量制约、可能漏掉训练集没覆盖的罕见模式。这条"生成 vs 锚定"的分野贯穿整个预测史——直到 DenseTNT 用 dense goal(密集目标点)试图弥合二者,再到扩散模型(§4.3 第四脉)以另一种方式回归生成式。
本质洞察(anchor 范式是从目标检测"借"来的——一次成功的跨领域思想迁移):MultiPath 的 anchor 思想并非凭空出现,它**直接借鉴了目标检测(object detection)领域的 anchor box**。在检测里,Faster R-CNN/SSD 等不直接回归物体框(太难、不稳),而是预置一堆不同尺寸/长宽比的 anchor box,模型只需"对每个 anchor 分类(有无物体)+ 回归微调(框的偏移)"——把"在连续空间里直接定位"这个难题,转化成"在离散 anchor 上分类 + 局部回归"这个易题。MultiPath 把这套思想原封不动搬到了轨迹预测:anchor box → anchor trajectory,框的分类回归 → 轨迹的分类回归。这次迁移之所以成功,是因为两个问题有同构的难点——都是"在高维连续空间里直接回归一个结构化对象,既难又不稳",而 anchor 把它降维成'离散选择 + 局部微调'。理解这个跨领域迁移,有两重价值:① 它揭示了为什么 anchor 范式天生稳定(它继承了检测领域多年验证的稳定性);② 它示范了一种重要的研究方法论——当一个问题的难点与另一领域已解决的问题同构时,迁移那个领域的解法往往事半功倍。预测方向从 NLP 借 Transformer、从生成式 AI 借扩散、从检测借 anchor,都是这种"同构迁移"的成功案例。
向量化革命(VectorNet)。本时代最具里程碑意义的工作,是 Waymo 的 Gao 等人 CVPR 2020 的 VectorNet。在它之前,主流做法是把高精地图(车道线、人行横道、停止线)和智能体历史轨迹**渲染成一张多通道的鸟瞰图(BEV raster),再用 CNN 提特征。VectorNet 指出这套做法的根本浪费:地图和轨迹本质上是**稀疏的、矢量的几何对象(一条车道就是几个点连成的折线 polyline),把它们渲染成稠密像素再用 CNN 去"重新发现"几何结构,既低效又损失精度。VectorNet 的方案:把每个地图元素和每条轨迹都表示成一组**向量(polyline),先用一个 **polyline subgraph(局部 GNN)把每条折线编码成一个节点特征,再用一个 global interaction graph(全连接 GNN/注意力)建模所有折线节点之间的关系。
本质洞察(VectorNet 是预测方向的"分辨率革命"):VectorNet 解决的不是"预测得更准"这种渐进问题,而是"用什么数据结构表示场景"这种根本问题。它把场景表示从**图像域(稠密像素)搬到了**几何域(稀疏向量)。这个搬迁的意义堪比 NLP 从字符级建模搬到 token 级——它让模型直接在"语义单元"(一整条车道、一整条轨迹)上推理,而不是在像素上重新拼凑语义。从此 vectorized representation 成为预测方向**事实上的标准骨干(de-facto backbone)**,后续几乎所有 SOTA(Scene Transformer、MTR、Wayformer、QCNet)都建立在向量化表示之上。栅格化方法在此后基本退出 SOTA 竞争(仅在某些端到端 BEV 方法里以另一种形式回归)。
这个时代留下的问题:VectorNet 用 GNN 建模交互,但 GNN 的消息传递有"过平滑(over-smoothing)"和感受野受限的问题;同时,预测的**多智能体联合一致性**(multi-agent joint consistency)尚未解决——给每辆车单独预测(marginal prediction)会产生互相矛盾的未来(两辆车的预测轨迹撞在一起)。"如何统一建模、如何输出场景级一致的联合预测",呼唤一个更强的骨干——Transformer 登场。
4.1.4 第三时代(2021–2022):Transformer 统一与场景级联合预测¶
这个时代解决的问题:① 用什么更强的骨干取代 GNN 来建模任意智能体-地图-智能体之间的长程交互?② 如何在 marginal 预测(每个体独立)和 joint 预测(场景级一致)之间统一?
随着 Transformer 在 NLP 和 CV 全面碾压,预测方向自然地把骨干换成了**注意力机制**。这个时代的标志性工作密集涌现:
- Scene Transformer(Waymo,ICLR 2022):用一个统一的 Transformer 架构,通过 masking 策略**同时支持 marginal 预测和 joint 预测**——这是第一次优雅地统一了两种预测模式。它把所有智能体和时间步组织成一个 token 矩阵,用因子化的注意力(沿时间轴、沿智能体轴交替)建模时空交互。
- DenseTNT(ICCV 2021):在 anchor 范式上更进一步,用 dense goal(在车道上密集撒目标点)做 anchor-free 的目标预测,再回归到目标的轨迹,弥合"生成式 vs 锚定式"的分野。
- MTR / Motion Transformer(NeurIPS 2022 oral):本时代的集大成者,拿下了 Waymo Open Motion 挑战赛冠军。它的核心创新是**可学习的 motion query**——把一组可学习的查询向量当成"运动意图原型",通过 Transformer 解码器迭代 refine,既保留了 anchor 的稳定性又获得了 query 的灵活性。MTR 及其后继 MTR++ 长期霸榜,是 §4.3 第三脉的代表作。
多视角理解(为什么 Transformer 比 GNN 更适合交互建模): - 感受野视角:GNN 的消息传递每层只能传一跳,要让"路口对面的车"影响"我",需要堆很多层,且层数一多就过平滑(所有节点特征趋同)。Transformer 的自注意力是**全连接**的——任意两个智能体/地图元素一层就能直接交互。像/不像:像在于二者都是在图上聚合信息;不像在于 GNN 的图是"稀疏、固定"的,Transformer 的"图"是"全连接、注意力权重动态学出来"的。 - 关系建模视角:交互的本质是"谁该关注谁、关注多少"。自注意力的 \(\text{softmax}(QK^\top)\) 恰好就是一个**学出来的、数据驱动的关注权重矩阵**——它能学到"远处高速逼近的车权重高、近处静止的车权重低"这种 social pooling 永远学不到的细微关系。 - 统一性视角:Transformer 的 token 抽象让"轨迹点""地图向量""智能体""时间步"都能统一成 token,于是 marginal/joint、agent-centric/scene-centric 这些原本需要不同架构的设定,都能在一个框架里通过 masking 和 query 设计来统一——这是 Scene Transformer 和后来 Wayformer 简化架构的根基。
本质洞察(Scene Transformer 统一 marginal/joint 的深层意义:它让"边缘"和"联合"成为同一模型的两种'读法'):在 Scene Transformer 之前,做边缘预测(每辆车独立)和做联合预测(场景级一致)往往需要**不同的架构**——这很别扭,因为二者本是同一个场景预测问题的两种粒度。Scene Transformer 的优雅在于:它把所有 (智能体, 时刻) 组织成统一的 token 矩阵,通过 masking 策略(控制哪些 token 在解码时能互相看见)就能在同一个模型里切换两种模式——要边缘预测就让各智能体的预测互相屏蔽(独立解码),要联合预测就让它们互相可见(协同解码)。这背后的本质是:边缘分布与联合分布的区别,在 Transformer 里被还原成了"注意力 mask 让不让它们互相看见"这一个开关。这与 §4.2.4 边缘/联合的概率本质(\(p(\tau_A)p(\tau_B)\) vs \(p(\tau_A,\tau_B)\))完美对应——"看不见对方"就是独立(边缘),"看得见对方"就是耦合(联合)。理解这一点,你就明白为什么 Transformer 能"统一"这两种模式而 GNN/LSTM 做不到——因为只有 Transformer 的全连接注意力 + mask 机制,才能用一个开关在"独立"与"耦合"间自由切换。这是 token 抽象统一性威力的最佳例证。
这个时代留下的问题:纯预测的精度被 Transformer 推到很高,但一个尖锐的质疑浮现:预测得再准,对最终的驾驶安全到底有多大边际贡献? 因为预测此时仍是"独立模块",它不知道 ego 打算怎么走(marginal 预测假设各智能体独立演化),而真实交互中"他车怎么走"恰恰取决于"ego 怎么走"。这个质疑直接催生了下一时代的两大方向:条件/联合预测-规划**与**端到端。
4.1.5 第四时代(2022–2023):条件预测、联合一体化与端到端¶
这个时代解决的问题:如何打破"预测独立于规划"这个根本假设,让预测 condition on ego 的意图、甚至与规划联合优化、乃至感知-预测-规划端到端?
这个时代是本方向的**灵魂转折点**,三条线并行推进(它们对应 §4.4 的三种耦合范式,此处先做历史定位):
条件预测线(Conditional / Planning-informed)。早在 PRECOG(ICCV 2019)就提出"conditional forecasting"——预测他车时把 ego 的计划轨迹作为条件输入。PiP(ECCV 2020)**让预测 condition on ego 的 planned trajectory;**M2I(CVPR 2022)**先用一个 relation predictor 判断"谁是影响者(influencer)、谁是反应者(reactor)",再做条件预测。这条线的核心洞察:**他车的未来不是固定的,它取决于 ego 怎么动——这与博弈规划 §3 的 Stackelberg 视角(ego 是 leader、影响 follower)在精神上完全一致,只是用学习而非数值求解来实现。
联合一体化线(Joint / Game-theoretic)。DIPP(TNNLS 2023)**把一个**可微的非线性优化器**嵌进网络,让 learnable cost(可学习的代价函数)与预测**联合训练——预测和规划在同一个可微管线里端到端优化。GameFormer(ICCV 2023 oral)**用**层级博弈(level-k game theory)**结构组织 Transformer 解码器,迭代地让"预测他车"和"规划 ego"互相 refine,在 nuPlan 上达到领先——这是博弈规划综述 §3.3 流派六(可微博弈/学习混合)的代表作,也是本章与博弈综述的**正式会师点。
本质洞察(条件预测与联合预测共同杀死了"预测-规划解耦"):第一到第三时代,预测和规划是"上下游"关系——预测吐结果,规划被动消费。第四时代的条件/联合范式,把这条单向箭头**变成了双向甚至闭环**:预测要看 ego 的计划,规划要看预测的反应,二者在同一个优化/网络里共生。这正是对前置自测第 1 题"frozen robot problem"的根本性回答——机器人不再因为"把所有可能的他车轨迹都当障碍"而冻住,因为它现在能推理"如果我往前挪,那辆车会让我"。博弈综述用数值求解器实现这一点,本章的学习派用可微优化和注意力实现这一点,殊途同归。
端到端线(End-to-end driving)。本时代最耀眼的工作是上海 AI Lab 的 UniAD(CVPR 2023 Best Paper)。它提出 "planning-oriented" 的理念:把检测、跟踪、建图、运动预测、占据预测、规划**全部用一个端到端 Transformer 串起来**,让所有上游任务都"服务于"最终的规划目标,梯度从规划一路回传到感知。VAD / VADv2(ICCV 2023 / 后续)**走全向量化路线,更轻量。这条线把"预测"彻底溶解成了端到端管线里的一个**中间表示,不再是独立模块。
教学警示(厂商披露,未经同行评审):业界常引用 Tesla FSD v12(2024) "用端到端神经网络替换了约 30 万行 C++ 控制代码"作为"神经网络吞掉 C++ 规控"的标志性事件。但此说法源自 Musk 直播与媒体转述,非同行评审论文,技术细节无法核实。教学中引用此类厂商披露信息,必须明确标注其性质,不可与 UniAD/VAD 这类有论文、有开源、有 benchmark 的工作等量齐观。这一点在 §4.6 开放问题里还会回到——它折射出本方向"研究可复现性"与"工业黑箱"之间的张力。
这个时代留下的问题:端到端虽然惊艳,但**可解释性差、安全验证困难、对长尾场景脆弱**;联合一体化的计算成本高、训练复杂。同时,所有这些方法仍受困于一个评估层面的根本难题——开环指标(在录制数据上算 minADE)与闭环部署(车真的在路上跑)严重错配。这把问题抛给了下一时代和 §4.5、§4.6。
4.1.6 第五至第六时代(2024–2026):扩散模型、基础模型与 VLA¶
这两个时代解决的问题:① 能否用更强的生成模型(扩散)来产生更高质量、更可控的多模态轨迹?② 能否把大语言模型/视觉-语言模型的**常识推理与语义理解**注入预测与规划,处理长尾与可解释性?
扩散模型线(Diffusion)。继 GAN、CVAE 之后,扩散模型(diffusion models)**成为生成多模态轨迹的新宠。**MotionDiffuser 用扩散做可控的多智能体联合预测;**Diffusion Policy(Chi 等,RSS 2023)**成为机器人/驾驶共用的 baseline;**Diffusion-Planner(ICLR 2025 oral)**专做 nuPlan 闭环规划;**DiffusionDrive(CVPR 2025)**把扩散用于端到端驾驶。扩散的吸引力在于:它能稳定地建模复杂多峰分布(避开 GAN 的训练不稳定与模态塌缩),且天然支持引导式采样(guided sampling,可注入约束)。
基础模型 / VLA 线(Foundation models / Vision-Language-Action)。这是最前沿也最不确定的方向。驾驶侧:DriveVLM、LMDrive、DriveGPT4、Senna 等把视觉-语言模型接入驾驶决策,试图用语言模型的常识推理处理罕见场景、并提供可解释的决策理由。机器人侧:RT-2、OpenVLA、π0 / π0.5(Physical Intelligence)、Groot N1、Helix 等 VLA 模型把"像素/语言→连续动作"压进一个网络。其中 π0 / π0.5 用 flow matching(与扩散同源)实现 50 Hz 连续动作输出,是 VLA 与本方向"预测-规划"母题的机器人侧延续。
世界模型线(World Models)——一条与 VLA 并行涌现的前沿。除了"预测轨迹"和"直接出动作",还有第三条思路:学一个能"想象未来"的生成式世界模型——给定当前观测与一个假想动作,模型生成"如果这么做,未来的传感器观测(甚至视频)会长什么样"。驾驶侧的 GAIA 类视频生成世界模型、以及各种 latent world model,本质是把"预测"从"预测他车轨迹"提升到"预测整个未来观测"。它的吸引力在于:① 可作为闭环训练的"神经模拟器"(缓解 §4.5.4 闭环数据稀缺);② 一个会"想象后果"的模型天然支持基于模型的规划(model-based planning)。它的难点是生成长时、物理一致、可控的未来观测极难。
对比性思维(三条前沿路线:显式轨迹 vs VLA 动作 vs 世界模型想象):到第六时代,"预测未来"这件事分化出三种哲学。显式轨迹派(传统主线):明确输出"他车未来轨迹分布",再交规划——模块清晰、可评估、可解释,但需手工定义"预测什么"。VLA 动作派:跳过显式预测,直接"感知/语言→动作"——端到端、用大模型常识,但黑箱、难单独评估。世界模型派:预测"未来的观测/视频",再在想象的未来里规划——能做神经模拟器、支持 model-based planning,但生成一致可控的长时未来极难。三者不是互斥:可以用世界模型做想象、用显式轨迹做安全检查、用 VLA 注入语义。这场"输出什么"的三分,是 §4.2.6 输出形式之争在基础模型时代的升级版——从"输出轨迹还是占据"升级到"输出轨迹、动作、还是整个未来世界"。本方向的未来很可能是三者的某种融合——用 VLA 的语义理解做高层意图推断,用世界模型做反事实想象,用显式轨迹预测做底层安全验证。这一融合判断在 §4.6 还会展开。
对比性思维(VLA 范式与传统预测范式的根本差异):传统预测范式是"显式地输出未来轨迹分布,再交给规划";VLA 范式是"不显式预测,直接从感知/语言映射到动作"。前者模块清晰、可单独评估、可解释;后者端到端、可利用大模型常识、但更黑箱。这不是"谁取代谁",而是两条哲学:显式中间表示 vs 隐式端到端。本方向的未来很可能是二者的融合——用 VLA 的语义理解做高层意图推断,用显式轨迹预测做底层安全验证。这一融合判断在 §4.6 还会展开。
**至此六个时代的因果链**可以一句话串起来:social pooling 把交互引入网络(时代一)→ anchor 与向量化解决了多模态与地图表示(时代二)→ Transformer 统一了骨干与联合预测(时代三)→ 条件/联合/端到端杀死了预测-规划解耦(时代四)→ 扩散与基础模型带来更强生成与语义推理(时代五、六)。每一跳都在修补前一跳的遗留漏洞,这与博弈综述 §3.1 揭示的"补漏链"是同一种技术史规律。
本质洞察(这是 C++ 代码最少的方向——一个贯穿全章的工程现实):与博弈综述揭示的"C++ SOTA 真空"类似,但交互意图预测的情况更极端。本方向几乎**全部研究前沿都在 Python/PyTorch**(UniAD、VAD、MTR、DIPP、GameFormer、PLUTO、Diffusion-Planner 无一例外)。唯一的大规模生产级 C++ 预测栈是 Apollo 的
modules/prediction(详见 §4.3.6 与 §4.6)。这意味着:对于以 C++ 为母语的机器人工程师,本方向存在一条明显的"Python 研究→C++ 部署"鸿沟。理解这条鸿沟,是理解本方向"学术与工业割裂"现状的钥匙——后文每讲到工程落地,都会回到这个现实。
4.1.7 一条暗线:行人预测与车辆预测的分流与合流¶
读完六个时代,还有一条**贯穿其中却容易被时间轴掩盖的暗线**值得单独点破——交互预测其实有**两个起源社区**,它们一度分道扬镳,又在 Transformer 时代合流。理解这条暗线,能解释很多"为什么某方法长成那样"的困惑。
两个社区的不同基因: - 计算机视觉(CV)社区——行人轨迹预测:起源于视频监控、人群分析。关心的是**行人**——运动自由(可朝任意方向走)、强社交(避让、结伴、跟随)、但**不受车道约束**。Social LSTM、Social GAN 都诞生于此(CVPR/ECCV/ICCV)。它们的基因是"社交交互第一,地图无关"——因为行人不在车道上跑。常用数据集是 ETH/UCY(行人)。 - 机器人/自动驾驶(AV)社区——车辆轨迹预测:起源于自动驾驶落地需求。关心的是**车辆**——运动受**车道/地图强约束**(车不能横着开)、受交通规则约束、机动模式相对离散(直行/转向/变道)。MultiPath、VectorNet、TNT 都诞生于此(CoRL/Waymo/Argoverse)。它们的基因是"地图约束第一,机动离散"——因为车被车道和规则牢牢框住。
对比性思维(行人预测 vs 车辆预测——同一问题的两种"方言"):不是"预测就是预测、行人车辆都一样",二者有深刻差异。行人:高自由度、强社交、弱地图约束、模态弥散(可以微微偏一点点,连续多模态)→ 适合**生成式**(GAN/CVAE/扩散,因为模态难枚举)。车辆:低自由度、强地图约束、机动离散、模态清晰(左转/直行/右转可枚举)→ 适合**锚定式**(anchor/goal,因为模态可枚举且地图给了天然的目标候选)。这解释了一个长期现象:为什么 §4.2.3 说"anchor 范式源于自动驾驶、生成式更受行人社区青睐"——根源在两个社区面对的"模态结构"不同(车辆离散可枚举、行人弥散难枚举)。像/不像:像在于都要建交互、都要多模态;不像在于约束强度(地图)与模态结构(离散 vs 弥散)天差地别。
为什么会合流(Transformer 时代):到了 §4.1.4 的 Transformer 时代,两条线开始融合,原因有三:① 统一的 token 抽象**让"行人""车辆""车道"都能当 token 塞进同一个注意力,无需为两类智能体设计不同架构;② **数据集融合——Waymo/Argoverse 等数据集同时包含车辆、行人、自行车(异构智能体),逼着方法统一处理;③ 向量化表示**对两类都适用。于是 Scene Transformer、MTR 等现代方法**不再区分"行人预测器"和"车辆预测器",而是用一个异构图/异构 token 的统一框架处理所有智能体——只是给不同类型的智能体不同的类型嵌入(type embedding)。
本质洞察(合流的深层意义:交互的"社交基因"与"地图基因"被统一进同一个注意力):行人预测贡献了"社交交互建模"的基因(Social LSTM 的 pooling 思想活在了今天的 agent-to-agent 注意力里),车辆预测贡献了"地图约束建模"的基因(VectorNet 的车道 polyline 活在了今天的 agent-to-lane 注意力里)。现代统一框架的本质,是把这两条基因——社交交互与地图约束——统一进同一个注意力机制的不同边类型里(agent↔agent 边管社交,agent↔lane 边管地图约束)。所以当你看到 MTR 同时建模"车-车交互"和"车-道约束"时,你看到的其实是两个社区十年努力的合流。这条暗线也呼应了 §4.1.1 那句"流派是历史分化出来的"——分化于不同社区的不同关切,合流于 Transformer 的统一抽象。
4.1.8 时代脉络速查表¶
| 时代 | 年份 | 代表作 | 解决的核心问题 | 在"三级跳"中的位置 | 留下的问题 |
|---|---|---|---|---|---|
| 一·社交萌芽 | 2016–2018 | Social LSTM, Social GAN | 把交互引入网络;承认未来多模态 | 交互(手工 pooling)+ 多模态萌芽 | pooling 粗糙、GAN 不稳、只关心行人 |
| 二·向量革命 | 2019–2020 | MultiPath, VectorNet | 稳定多模态(anchor);高效编码地图(向量化) | 表示(栅格→向量) | GNN 受限、联合一致性缺失 |
| 三·Transformer | 2021–2022 | Scene Transformer, DenseTNT, MTR | 更强骨干;统一 marginal/joint | 交互(GNN→注意力) | 纯预测的边际价值受质疑 |
| 四·耦合转折 | 2022–2023 | PiP/M2I, DIPP, GameFormer, UniAD/VAD | 打破预测-规划解耦;端到端 | 耦合(解耦→条件→联合→端到端) | 可解释性、安全验证、开环-闭环错配 |
| 五·扩散 | 2024–2025 | MotionDiffuser, Diffusion-Planner, DiffusionDrive | 更强生成式多模态、可控采样 | 多模态(GAN/CVAE→扩散) | 推理速度、约束保证 |
| 六·基础模型/VLA/世界模型 | 2024–2026 | DriveVLM, π0/π0.5, OpenVLA, GAIA 类世界模型 | 注入语义推理、想象反事实、处理长尾、可解释 | 范式(显式预测→隐式端到端/想象 or 融合) | 黑箱、可验证性、算力、生成一致性 |
本节练习(史脉理解,重在"看到因果链"而非记年份): 1. (补漏链复述) 不看表,用自己的话把六个时代串成一条"每代补前代什么漏"的因果链。重点说清:时代二补了时代一的什么漏、时代四补了时代三的什么漏。 2. (三级跳定位) 给定四个关键词——social pooling、向量化、motion query、条件预测——分别说它们在"表示—交互—耦合"三级跳的哪一级上前进了一步,为什么。 3. (两社区合流) 用 §4.1.7 的暗线解释:为什么早期"行人预测"偏爱生成式、"车辆预测"偏爱 anchor?为什么 Transformer 时代二者合流?合流后两个社区各自的"基因"以什么形式活在现代统一框架里? 4. (趋势外推) §4.1.6 列了扩散、VLA、世界模型三条前沿。基于"表示—交互—耦合"主线和"从拟合到决策"的判断(§4.7.8),你预测下一个时代(2027+)最可能的突破方向是什么?说明你的推理(这是开放题,重在论证逻辑)。
过渡到 §4.2:发展脉络给了你"时间轴"上的因果链。但同一时代里往往有多种并行的方法路线,它们沿着一个**正交于时间**的维度分布——这就是"用什么信息、建模到什么层次"的维度。下一节我们换一个切面,把所有预测方法按"物理 / 机动意图 / 交互"三个建模层次重新铺开,给你一张**与时间无关的全景分类地图**。
§4.2 三层全景:物理 / 机动意图 / 交互感知 ⭐⭐⭐¶
本节解决的问题:§4.1 沿时间轴排列了方法,但若有人扔给你一篇 2014 年的卡尔曼滤波预测论文和一篇 2024 年的 Transformer 论文,你怎么用一个**统一的标尺**衡量它们"建模到了什么深度"?本节给出这把标尺——经典的"物理 / 机动意图 / 交互"三层分类法(Lefèvre 等人 2014 年综述确立的框架,至今仍是组织整个预测领域的主轴)。这是一张**与具体网络结构无关、与年代无关**的全景地图:它问的不是"用 LSTM 还是 Transformer",而是"这个模型到底假设了未来由什么决定"。
4.2.1 为什么需要一个正交于"网络结构"的分类轴¶
读 §4.1 时你可能已经隐隐感到一个困惑:Social LSTM 和 Trajectron++ 都用 LSTM,但前者只池化邻居、后者还吃地图和动力学;MultiPath 和 MTR 都做 anchor/query,但一个用 CNN 一个用 Transformer。如果只按"用什么网络"分类,会把建模深度天差地别的方法混为一谈。
所以我们需要第二根轴。这根轴问的是一个更本质的问题:模型把"未来轨迹"看成由哪些因素决定的函数? 答案有三个递进的层次:
- 只由"我自己的运动状态"决定 → 物理感知(physics-based)。未来 = f(我的位置、速度、加速度、转向角)。
- 还由"我打算做什么机动/我的意图"决定 → 机动/意图感知(maneuver/intention-aware)。未来 = f(我的状态, 我的离散意图如"左转")。
- 还由"周围所有人打算怎么动、以及我们如何相互影响"决定 → 交互感知(interaction-aware)。未来 = f(我的状态, 所有智能体的状态与意图, 它们之间的相互响应)。
这三层是**严格递进的包含关系**:交互感知模型内部往往也在做意图推断,意图感知模型内部往往也在做运动学外推。它们不是互斥的三个流派,而是**建模野心的三个刻度**。Lefèvre 等人 2014 年那篇被引数千次的综述(《A survey on motion prediction and risk assessment for intelligent vehicles》)正是用这三层组织了深度学习时代之前的全部工作,而这个框架的生命力在于——深度学习时代的方法**仍然落在这三层里**,只是每一层的实现工具从手工模型换成了神经网络。
本质洞察(三层分类的真正含义是"未来的不确定性来自哪里"):物理层假设不确定性主要来自**传感器噪声与运动学外推误差**——只要状态估计准,短期外推就准。机动层承认还有一层**离散决策的不确定性**——同一状态下司机可能选左转也可能选直行,这是连续运动学无法刻画的"分岔"。交互层再加一层**博弈的不确定性**——我的未来取决于你怎么动、你的未来又取决于我怎么动,这是一个互相纠缠的耦合系统。每往下一层,模型承认的不确定性来源就多一种,能预测的时间跨度就更长,但需要的信息与算力也更多。理解了这一点,你看任何一篇预测论文,都能一眼定位它"承认了几种不确定性"。
下面逐层拆解。每一层我们都回答四个问题:输入是什么、输出是什么、典型方法、适用与失效场景。
4.2.2 第一层:物理感知(physics-based)——把车当成一个会惯性滑行的质点¶
核心假设:智能体会大致沿着其当前运动学状态"惯性地"演化下去。未来轨迹是当前状态在运动学/动力学模型下的外推。
输入:目标智能体自身的运动状态——位置、速度、加速度、航向角、角速度。不看地图、不看邻居、不推断意图。
输出:通常是一条确定性轨迹(或一个随时间发散的高斯不确定性椭圆)。
典型方法: - 恒速/恒加速度模型(CV/CA, Constant Velocity / Constant Acceleration):最朴素的外推。设当前位置 \(\mathbf p_0\)、速度 \(\mathbf v_0\)、加速度 \(\mathbf a_0\),则未来位置 \(\mathbf p(t)=\mathbf p_0 + \mathbf v_0 t + \tfrac12 \mathbf a_0 t^2\)(CV 即令 \(\mathbf a_0=0\))。这是一条直线/抛物线外推。 - 恒转率模型(CTRV / CTRA, Constant Turn Rate and Velocity/Acceleration):考虑车辆转弯时的圆弧运动学。状态含航向 \(\theta\) 与角速度(转率)\(\omega\),外推为 \(\theta(t)=\theta_0+\omega_0 t\),位置沿圆弧演化 \(x(t)=x_0+\tfrac{v_0}{\omega_0}[\sin(\theta_0+\omega_0 t)-\sin\theta_0]\)(\(\omega_0\neq0\))。它比 CV 更贴合弯道——因为它承认"车在转"。 - 卡尔曼滤波(Kalman Filter)及其变体(EKF/UKF):用一个运动学模型做状态预测、用观测做状态更新,输出带协方差的预测分布。它的"预测-更新"两步循环里,预测步把上述运动模型套上去、协方差按过程噪声发散,更新步用新观测收缩协方差。这是物理层的"集大成者",至今仍是工业界短时预测与多目标跟踪的标配。 - 蒙特卡洛/高斯过程外推:用采样或核方法刻画外推的不确定性发散。
多视角理解(物理模型的"不确定性"长什么样):物理层不是只输出一条线——它输出的是一个**随时间发散的不确定性椭圆**。卡尔曼滤波的协方差 \(P(t)\) 随预测时长增长(\(P_{k+1}=F P_k F^\top + Q\),\(Q\) 是过程噪声),几何上就是预测位置周围的"误差椭圆"越往后越大。这是物理层诚实的地方——它明确告诉你"我对 0.5 秒后挺有把握、对 3 秒后几乎没把握"。像/不像:像在于都用高斯刻画不确定性;不像在于物理层的不确定性是**单峰发散**的(一个越来越大的椭圆),而它无法表达"要么左转要么右转"这种**多峰**不确定性——这正是 §4.2.3 意图层要补的。
对比性思维(CV 模型不是"过时的玩具",而是一个被严重低估的强基线):很多人以为物理模型是深度学习碾压前的"史前遗物"。恰恰相反——在自动驾驶预测领域有一个著名的、令研究者尴尬的实证结论:在 Argoverse 等数据集的相当一部分场景上,一个简单的恒速模型(CV)的 minADE 能逼近甚至打平许多复杂的深度网络。Schöller 等人 2020 年那篇《What the Constant Velocity Model Can Teach Us About Pedestrian Motion Prediction》就是专门论证这件事的。原因是:数据集里大量样本是"直行/匀速跟车"这种弱交互、强惯性的平凡场景,物理外推已经够用;深度网络的优势只在少数强交互、需要长时推断的样本上才显现,而这些样本被平均进总指标后被稀释了。这个结论是理解 §4.5"指标为何会骗人"和 §4.6"长尾问题"的第一把钥匙——平均指标掩盖了长尾,而长尾才是真正需要交互建模的地方。
适用场景:极短时预测(<1 秒)、高速公路匀速跟车、多目标跟踪的运动先验、作为更复杂模型的"兜底"和"健全性检查(sanity check)"。
失效场景:任何需要"拐弯抹角"的地方——路口(车要按意图转向,物理外推会把左转车预测成冲出路口)、汇入/变道(需要交互)、长时预测(外推误差随时间平方发散)。一句话:物理模型在"车按惯性走"时无敌,在"车按脑子走"时失效。
本质洞察(物理层在现代系统里的真正角色:不是"主力",而是"地基与守门员"):初学者会问"既然物理层这么多失效场景,深度学习时代还要它干嘛?"答案是——物理层在现代系统里退居幕后,但扮演两个不可替代的角色。① 地基(动力学约束):如 §4.3.2 的 Trajectron++ 把动力学积分焊进输出端——深度模型负责"预测去哪",物理模型负责"保证轨迹开得出来"。② 守门员(兜底与健全性检查):当深度模型在长尾/分布漂移场景输出离谱预测时(§4.6.3),一个简单的物理外推可以作为"健全性下界"——"无论深度模型说什么,至少这辆车不会瞬移、不会反向加速到 200 km/h"。在安全关键系统里,这种"用简单可信的物理模型给复杂黑箱模型兜底"是常见且明智的设计。所以物理层不是被淘汰,而是从'主力预测器'转型为'地基约束 + 安全守门员'——它的可信性(无需训练、行为可预测)恰恰是黑箱深度模型最缺的,于是二者互补。理解这个角色转型,你才不会犯"有了深度学习就抛弃物理模型"的错——恰恰相反,越是安全关键,越需要物理层这个"最后的理智"。
4.2.3 第二层:机动 / 意图感知(maneuver / intention-aware)——先猜"他想干嘛",再画轨迹¶
核心假设:智能体的未来由一个**离散的高层决策(机动/意图)**主导,给定意图后,轨迹才在运动学层面展开。所以预测应当分两步:先推断意图(这是个分类问题),再在意图条件下回归轨迹(这是个回归问题)。
输入:目标自身状态 + 地图/车道结构(意图只有放在车道拓扑里才有意义——"左转"是相对于路口的)。通常还包括一小段历史轨迹(从历史里读出"他正在减速、似乎要变道"的征兆)。
输出:一组**离散意图的概率分布**(如 P(直行)=0.6, P(左转)=0.3, P(右转)=0.1),以及每个意图下的轨迹。这天然就是**多模态**的——一个意图一个模态。
典型方法: - 机动分类 + 轨迹回归(经典两段式):先用一个分类器判断 lane-keeping / lane-change-left / lane-change-right / turn 等机动类别,再用对应的运动模型或回归头生成轨迹。Deo 与 Trivedi 的 Convolutional Social Pooling(CS-LSTM, 2018) 是经典代表——它显式预测 6 类机动(横向 3 类 × 纵向 2 类)的概率。 - 意图作为隐变量/目标点(goal-conditioned):把"意图"具体化为一个**目标点/目标车道**。TNT(Target-driveN Trajectory, CoRL 2020) 先预测一组候选目标点,再 condition 在目标点上回归轨迹、最后打分排序;DenseTNT(§4.1.4) 把候选目标点撒密、做成 anchor-free。这是"意图层"在深度学习时代最主流的化身——目标点就是意图的几何编码。 - anchor 轨迹即意图原型:MultiPath 的 anchor、MTR 的 motion query,本质上都是把"典型机动模式"预置成原型,预测退化为"选原型 + 微调"。
本质洞察(goal-conditioned 的威力在于"先定终点、再连过程"——把难问题分解成两个易问题):TNT 这类"先预测目标点、再回归到目标点的轨迹"的范式,为什么比"直接回归整条多模态轨迹"更稳更准?因为它做了一次关键的**问题分解**:直接预测"一条完整的未来轨迹分布"是个高维、强多模态的难题(轨迹是几十个点,模态弥散);而"预测车未来会到哪个点(goal)"是个**低维得多、且被地图强约束**的子问题(目标点基本落在车道上,候选有限)。一旦目标点定了,"从当前位置连一条到目标点的合理轨迹"就退化成一个**几乎单模态的、good-conditioned 的回归**(给定起点终点,中间路径的不确定性大大降低)。这就是"先定终点、再连过程"的分解威力——把'多模态'这个难点集中到低维的 goal 预测上解决,让高维的轨迹回归变简单。这与 §4.2.3 末"离散决策 + 条件回归治 mode averaging"是同一思想的几何版:用"目标点的离散/多样"承载多模态,用"目标条件下的回归"保证轨迹质量。理解这个分解,你就懂了为什么 goal/anchor 范式在车辆预测里如此主流——它把地图的强约束(目标点必在车道上)用到了极致。
多视角理解("意图"在不同流派里的三副面孔): - 分类视角:意图 = 一个离散标签(直行/左转/右转/变道)。优点是可解释、可枚举;缺点是标签体系需要人定义,遇到"先变道再右转"这类组合机动就笨拙。像/不像:像决策树的分支;不像在于真实意图是连续渐变的,硬切成几类会丢信息。 - 目标点视角:意图 = 一个未来要到达的空间位置(goal)。优点是无需人工定义标签、目标点天然嵌在地图几何里;缺点是"到了哪"不完全等于"想干嘛"(同一个目标点可以有激进或保守两种开法)。这是 TNT/DenseTNT 一脉的世界观。 - 隐变量视角:意图 = 一个学出来的隐编码(latent code),不强求语义可读。优点是最灵活、端到端可学;缺点是黑箱、难以验证。CVAE/扩散模型里的隐变量属于此类。 这三副面孔对应了"意图"从**人定义的符号**到**几何目标**再到**学习的隐编码**的抽象阶梯——抽象度越高越灵活,可解释性越低。
本质洞察(意图层的贡献是把"连续回归"切成了"离散决策 + 条件回归",从而正面治疗了 mode averaging):回顾前置自测第 2 题——纯回归模型用 MSE 训练会把左转和直行平均成一条撞向隔离带的轨迹。意图层的根治办法是:先承认有几个离散模态,给每个模态单独配一条轨迹,再用分类损失管"选哪个"、回归损失管"画多准"。这样一来,"两条岔路的平均"这个病态解在结构上就被排除了——因为模型从不试图用一条轨迹同时拟合两个意图。这是 anchor 范式、goal 范式之所以稳定的根本原因,也是它们战胜早期 GAN 的关键——它们用"结构化的离散化"替代了"采样的多样性"来表达多模态。
适用场景:路口转向预测、变道预测、任何"高层决策主导"的中等时长(3–5 秒)场景。这是自动驾驶预测的主战场。
失效场景:它仍然把每个智能体当成独立决策的个体——它会推断"那辆车想左转",但不会推断"那辆车想左转,但因为我挡在它前面,它会先等我"。一旦未来强烈依赖于智能体之间的相互让行/抢行,意图层就不够了。这把问题推向第三层。
4.2.4 第三层:交互感知(interaction-aware)——承认"你的未来取决于我,我的未来取决于你"¶
核心假设:在密集、强交互的场景里,任何一个智能体的未来都**不能孤立地预测**——它是所有智能体的状态、意图、以及它们之间相互响应共同决定的一个**联合结果**。预测的对象从"单个智能体的边缘分布"升级为"所有智能体的联合分布"。
输入:场景里**所有**智能体的历史状态 + 完整地图 + 智能体间的关系结构(谁靠近谁、谁该让谁、车道的汇聚/分叉拓扑)。
输出:理想情况下是**场景级联合预测(scene-level joint prediction)**——一组互相一致、不打架的多智能体未来(K 个"整个场景的未来快照",而非每辆车各自的 K 条轨迹)。退而求其次是带交互建模的边缘预测。
典型方法(这一层几乎就是 §4.3 整章的内容,此处只点名定位): - 社交池化系:Social LSTM、CS-LSTM(手工的、固定半径的交互聚合)——交互建模的"石器时代"。 - 图神经网络系:Trajectron++、VectorNet、LaneGCN(用消息传递在智能体-智能体、智能体-车道之间传播信息)——把交互显式建成图的边。 - 注意力/Transformer 系:Scene Transformer、Wayformer、MTR、QCNet(用自注意力让任意两个实体动态地、数据驱动地交互)——交互建模的"当前 SOTA 形态"。 - 博弈/联合系:GameFormer、DIPP(把交互建模成博弈或联合优化)——与 §4.4 耦合范式、与博弈综述会师。
对比性思维(边缘预测 vs 联合预测——一个常被初学者忽视的致命区别):不是"给每辆车都预测得很准就等于场景预测得很准"。假设路口有 A、B 两车,模型对 A 输出 K 条轨迹、对 B 也输出 K 条轨迹,每条都很贴合各自真值——这叫**边缘预测(marginal prediction)。但灾难在于:A 的第 1 条最优轨迹和 B 的第 1 条最优轨迹**可能在时空上撞在一起(两车都预测自己先过路口)!因为它们是独立预测的,没人保证它们"在同一个未来里能自洽"。联合预测(joint prediction) 则强制输出 K 个"整体场景未来",每个未来里所有车的轨迹都互相兼容(A 过则 B 让)。这个区别在 Waymo Open Motion 数据集里被正式区分为 marginal track 与 interactive/joint track 两条赛道,评估指标也不同。理解这个区别,是理解 §4.1.4"Scene Transformer 为何要统一 marginal/joint"和 §4.5 评估口径的关键。
一个具体的碰撞反例(把"边缘准、联合错"钉死)。无信号灯十字路口,A 从南向北、B 从西向东,几乎同时抵达路口中心。真实世界里二者必有一方先行(设真值是 A 先过、B 减速)。一个边缘预测器可能这样输出: - 对 A:最高概率模态"匀速直行先过"(概率 0.7)——与真值一致,A 的 minADE 很低。 - 对 B:最高概率模态"匀速直行先过"(概率 0.6)——B 单独看也合理(B 确实可能抢行),B 的 minADE 也不高。
于是**两车各自的 minADE 都很漂亮**。但把两个"最高概率模态"拼在同一个未来里:A 匀速过 + B 匀速过 → 二者在路口中心**精确相撞**!这是一个物理上不可能、却被边缘预测"各自最优"地预测出来的未来。下游规划器若取两车的 top-1 预测,会看到一个"必然相撞"的幻象,要么吓得 frozen、要么做出诡异规避。**联合预测**则永远不会输出这个组合——它的每个场景模态都自洽(模态1:A过B让;模态2:B过A让),绝不会让两个"我先过"同时成立。
本质洞察(边缘 vs 联合的差异,数学上是"边缘分布之积 ≠ 联合分布"):这个反例的根,是概率论的一个基本事实——边缘分布的乘积不等于联合分布,除非二者独立。边缘预测器给出 \(p(\tau_A)\) 和 \(p(\tau_B)\),若你把它们当独立的、取 \(p(\tau_A)\cdot p(\tau_B)\) 的高概率组合,就默认了"A、B 的未来相互独立"——但交互场景里 A、B 的未来**强烈相关**(一个过另一个就得让),独立假设严重错误。联合预测器直接建模 \(p(\tau_A, \tau_B)\) 这个**联合分布**,把"A 过则 B 让"的相关性编码进去,于是不会产生独立假设下的碰撞幻象。所以"边缘 vs 联合"不是工程口味,而是"有没有正确建模智能体未来之间的相关性"这个概率论硬问题——这也是 §4.5 为什么要为联合预测单设指标的根本原因。
本质洞察(交互感知的终极形态,必然滑向"预测与规划不可分"):把交互层的逻辑推到极致,会得到一个深刻的结论:如果"他车的未来取决于 ego 怎么动",那么孤立地预测他车在数学上就是不良定义的(ill-posed)——除非你先固定 ego 的计划。 这正是 §4.4 条件预测/联合预测的出发点,也是博弈综述反复强调的"预测即均衡"。换句话说,交互层做到尽头,"预测模块"和"规划模块"之间的墙就必然倒塌——这不是工程选择,而是问题结构的内在要求。你将在 §4.4 看到这堵墙是如何被一步步拆掉的。
4.2.5 三层并非互斥:现代方法是"分层嵌套"的¶
必须澄清一个常见误解:这三层不是三个互斥的阵营,而是嵌套的能力层级。 一个现代 SOTA 模型(如 MTR、QCNet)同时具备三层能力:
- 它在**物理层**保证输出轨迹动力学可行(Trajectron++ 甚至显式集成了一个动力学积分器,确保预测轨迹满足车辆运动学约束,不会画出物理上开不出来的轨迹);
- 它在**意图层**用 motion query / goal 表达离散多模态;
- 它在**交互层**用注意力建模智能体间的相互影响。
所以当你读论文时,正确的姿势不是问"它属于哪一层",而是问"它在每一层分别做了什么、哪一层是它的创新点"。比如 VectorNet 的创新主要在"如何表示场景以服务交互建模"(介于表示与交互之间),MTR 的创新在"如何用 query 统一意图与交互",而 Trajectron++ 的特色在"把物理层的动力学可行性显式焊进了交互层的 CVAE 里"。
理论-工程桥接(三层分类如何指导你选型):假设你是个机器人工程师,要为一个具体场景选预测方案—— - 仓储 AGV、低速结构化环境、智能体稀疏 → 物理层(卡尔曼滤波)足矣,上深度网络是杀鸡用牛刀,且部署成本(Python→C++)不划算。 - 高速公路 ADAS、变道/跟车为主 → 意图层(机动分类 + 回归)性价比最高,模态少、可解释、易验证。 - 城区路口、汇入、人车混行、强交互 → 必须上交互层(图/Transformer),且要认真考虑 §4.4 的预测-规划耦合,否则会撞上 frozen robot。 这个"按交互强度选层"的决策,比盲目追 SOTA 网络结构重要得多——这正是 R6 工具 D(理论-工程桥接)的要义。
4.2.6 另两根正交分类轴:输入表示与输出形式¶
"三层建模野心"是组织预测方法最主要的纵轴,但一个完整的分类地图还需要另两根**正交的轴**——输入怎么表示**和**输出长什么样。同一个交互层模型,可以用栅格输入也可以用向量输入、可以输出确定轨迹也可以输出占据栅格。这两根轴与三层野心、四脉骨干都正交,理解它们才能精确描述一个方法。这也是近年综述(如多维分类框架类工作)一致强调的两个维度。
输入表示(input representation)——场景信息怎么喂进网络:
- 栅格化(rasterized / BEV image):把地图、智能体历史渲染成多通道鸟瞰图(bird's-eye-view),用 CNN 处理。优点:直接复用成熟的 CNN、能融合任意栅格信息(语义、占据);缺点:§4.1.3 已剖析——分辨率与感受野互相掣肘、算力浪费在空白像素、几何精度损失。这是 VectorNet 之前的主流,现仅在某些 BEV 端到端方法里以变体存活。
- 向量化(vectorized / polyline):把每条车道、每条轨迹表示成折线(点序列),用 GNN/Transformer 处理。优点:稀疏高效、几何精确、直接在语义单元上推理(§4.1.3 的向量化革命)。这是当前主流。
- 图(graph):节点 + 边的显式关系结构(LaneGCN 的四种关系图)。与向量化常常融合——向量化的 polyline 节点 + 关系边就是一张图。
- 点云/原始传感器(point cloud / raw sensor):端到端方法(UniAD)里,输入甚至可以是更原始的传感器数据,让网络自己学表示。
输出形式(output representation)——预测结果长什么样:
- 确定性单轨迹(deterministic):一条轨迹。最简单,但有 mode averaging 病(§4.2.3),仅物理层/弱交互可用。
- 多模态轨迹集 + 概率(multimodal trajectory set):K 条带概率的轨迹。**当前最主流**的输出形式,minADE/minFDE 正是为它设计的评估(§4.5.3)。
- 概率分布参数(distribution parameters):直接输出高斯/GMM 的均值协方差(Trajectron++ 输出 GMM)。能解析地表达不确定性。
- 占据/流场(occupancy / flow):不预测离散智能体的轨迹,而预测整个空间的"未来占据概率"或"运动流场"(Waymo 的 Occupancy Flow 任务)。优点:天然处理"智能体数目不定"、对下游规划友好(规划本就要查"某处未来会不会被占");缺点:丢失了个体身份。
- 目标点 + 轨迹(goal + trajectory):先输出目标点再回归轨迹(TNT/DenseTNT),是意图层的典型输出。
对比性思维(输出形式的选择,决定了你能用什么指标、对接什么规划器):不是"输出什么都一样、反正都是预测"。输出形式深刻地约束了下游——多模态轨迹集**配 minADE/minFDE、对接基于轨迹的规划器(把每条当障碍);**占据/流场**配占据类指标、对接基于栅格的规划器(直接查占据);**分布参数**配似然类指标、对接概率规划(如 chance-constrained MPC)。所以选输出形式不是孤立决策,而要与"用什么指标评、对接什么规划器"通盘考虑。这正是 §4.4 耦合与 §4.5 评估的伏笔——输出形式是预测与规划、预测与评估的**接口契约。
本质洞察(三根正交轴共同定位一个方法:野心 × 工具 × 接口):到此你手里有了三根正交轴——建模野心(物理/意图/交互,§4.2)、骨干工具(四脉,§4.3 将讲)、输入输出接口(本小节)。任何一个预测方法,都是这三根轴上的一个点。VectorNet =(交互层野心 × GNN 工具 × 向量输入/多模态轨迹输出);UniAD =(交互层 × Transformer × 原始传感器输入/端到端中间表示)。用三坐标描述一个方法,远比给它贴一个单一标签精确。 这套"三轴坐标系"是本章交付的核心分析工具——它让你面对任何新论文都能快速、结构化地定位,而非陷入缩写的汪洋。后续每张速查表、每道练习,都在训练你熟练使用这套坐标系。
4.2.7 三层全景速查表¶
| 层次 | 核心假设 | 输入 | 输出 | 承认的不确定性 | 典型方法 | 失效场景 |
|---|---|---|---|---|---|---|
| 物理感知 | 按运动学惯性演化 | 自身运动状态 | 一条轨迹 + 协方差 | 传感器噪声、外推误差 | CV/CA/CTRV、卡尔曼滤波 | 路口转向、长时、任何交互 |
| 机动/意图感知 | 离散高层决策主导 | 自身状态 + 地图 | 意图概率 + 各意图轨迹 | + 离散决策分岔 | CS-LSTM、TNT/DenseTNT、anchor | 强交互让行/抢行 |
| 交互感知 | 联合耦合、相互响应 | 全场景 + 地图 + 关系 | 场景级联合多模态 | + 博弈耦合 | Trajectron++、VectorNet、MTR、GameFormer | 长尾、分布漂移(见 §4.6) |
本节常见陷阱(覆盖概念混淆类、评估类、选型类):
陷阱一:把"用了 Transformer/GNN"等同于"交互感知"。 现象:看到论文用了图或注意力就断定它建模了交互。根本原因:混淆了"网络结构"和"建模层次"这两根正交的轴——你完全可以用 Transformer 编码单个智能体的历史(纯物理/意图层),不涉及任何智能体间交互。正确做法:判断交互层与否,要看**信息是否在不同智能体之间流动**(有没有 agent-to-agent 的边/注意力),而非看用了什么算子。
陷阱二:以为"层次越高越好,永远该上交互层"。 现象:不管什么场景都堆最复杂的交互模型。根本原因:忽视了高层模型的代价——数据需求、算力、部署难度、过拟合风险都随层次上升而激增,而弱交互场景根本用不上。后果:仓储 AGV 上跑一个 MTR,既浪费算力又难以 C++ 部署,预测精度还未必比卡尔曼滤波高(因为场景平凡)。正确做法:按 §4.2.5 的"交互强度"选层。
陷阱三:把"边缘预测准"误当成"联合预测准"。 现象:报告每辆车的 minADE 很低就宣称场景预测很好。根本原因:不理解 §4.2.4 边缘/联合的区别——独立预测的多车轨迹可能互相碰撞。后果:下游规划拿到一组自相矛盾的他车轨迹,要么被吓得不敢动(frozen robot),要么基于错误的"碰撞预测"做出诡异决策。正确做法:强交互场景要用联合预测指标(如 Waymo interactive track 的 joint 指标)评估。
本节练习: 1. (分层判断) 给定一个模型描述:"它编码每辆车过去 2 秒的轨迹得到一个特征,再用车道地图约束生成 3 条候选目标车道,分别回归轨迹并打分,但每辆车的预测彼此独立、不交换信息。" 请判断它落在哪一层?它做了意图建模吗?做了交互建模吗?为什么? 2. (强基线反思) 解释为什么"恒速模型在 Argoverse 上 minADE 接近深度网络"这一现象,既不能**说明深度网络无用,**也不能**说明物理模型够用。从"长尾"和"平均指标"两个角度论证。(提示:这道题的答案会在 §4.5、§4.6 展开,先自己想一遍。) 3. **(联合一致性) 设计一个最简单的反例场景(两辆车 + 一个路口),说明"两个边缘预测都正确"但"组合起来物理上不可能同时成立"。再说明联合预测如何避免这个问题。 4. (开放) 物理层承认 1 种不确定性、意图层 2 种、交互层 3 种。你能想象"第四种不确定性"吗?(提示:如果连"地图/规则本身"都不确定呢?比如施工改道、临时交警手势。这指向 §4.6 的长尾与基础模型方向。) 5. (三轴坐标) 用 §4.2.6 的"建模野心 × 骨干工具 × 输入输出接口"三轴,为以下两个方法各写一组三坐标:(a) "把地图渲染成 BEV 图、用 CNN 编码、输出一条确定性轨迹";(b) "把车道与轨迹向量化、用注意力建模车车与车道交互、输出 6 条带概率轨迹"。再说明 (a) 为何有 mode averaging 风险而 (b) 没有。 6. (输出形式与下游) §4.2.6 说"输出形式是预测与规划的接口契约"。请分别说明:若预测输出"多模态轨迹集"、"占据/流场"、"分布参数",下游规划器各自最自然的形态是什么(基于轨迹的 / 基于栅格的 / 概率约束的)?这对"选输出形式时要不要先想好对接什么规划器"有什么启示? 7. (物理层守门) §4.2.2 说物理层在现代系统里当"安全守门员"。请设计一个具体的"守门规则":给定深度模型输出的一条他车预测轨迹,你用什么简单的物理检查来判断它"是否离谱到该被否决/降权"?(提示:速度上限、加速度上限、转向率上限、是否瞬移。)
过渡到 §4.3:§4.2 给了你一根"建模到什么层次"的纵轴,但它没回答"用什么神经网络工具去实现这些层次"。同样是交互层,可以用 LSTM 池化、可以用 GNN 消息传递、可以用 Transformer 注意力、可以用扩散去噪——这是另一根正交的轴:骨干网络的技术脉络。下一节我们就沿这根轴,把深度预测模型切成四脉,逐脉讲清它的数学内核、代表作、以及它如何承载 §4.2 的三层能力。
§4.3 深度预测模型四脉:LSTM / GNN / Transformer / 扩散 ⭐⭐⭐¶
本节解决的问题:§4.2 的三层是"建模野心"的纵轴,本节是"实现工具"的横轴。一篇预测论文的骨干网络,几乎总能归入四条技术脉络之一:循环网络(LSTM 系)、图神经网络(GNN 系)、Transformer(注意力系)、生成模型(GAN/CVAE/扩散系)。本节逐脉拆解——它的数学内核是什么、它天然擅长建模什么、它的代表作、它被下一脉取代的原因。读完你应能拿到任意一篇预测论文,一眼定位它的骨干血统,并预判它的优缺点。
4.3.1 四脉总览:一张"工具→擅长什么→被谁取代"的地图¶
在深入每一脉之前,先建立全局框架。四脉不是平行无关的四个选项,而是一条**互相取代、能力叠加**的演化链——后一脉往往是为了解决前一脉的结构性缺陷而兴起,但前一脉的思想常被吸收进后一脉。
| 脉络 | 数学内核 | 天然擅长 | 结构性短板 | 代表作 | 兴起年代 |
|---|---|---|---|---|---|
| LSTM 系 | 循环隐状态 \(h_t=f(h_{t-1},x_t)\) | 编码变长时序、捕捉运动节律 | 串行慢、长程衰减、交互靠手工池化 | Social LSTM、CS-LSTM、Trajectron++ | 2016– |
| GNN 系 | 消息传递 \(h_v^{(l+1)}=\text{UPD}(h_v,\text{AGG}_u\text{MSG}(h_u))\) | 显式建模关系/拓扑、归纳偏置强 | 过平滑、感受野受限、固定图结构 | VectorNet、LaneGCN | 2019– |
| Transformer 系 | 自注意力 \(\text{softmax}(QK^\top/\sqrt d)V\) | 全连接长程交互、统一 token 抽象 | 算力随实体数平方、需大数据 | Scene Transformer、MTR、Wayformer、QCNet | 2021– |
| 生成系(GAN/CVAE/扩散) | 从分布采样而非回归 | 表达多峰分布、生成多样样本 | GAN 不稳、扩散推理慢 | Social GAN、Trajectron++(CVAE)、MotionDiffuser | 2018– |
本质洞察(四脉其实在回答两个正交的问题,而非一个):初学者容易把四脉当成"四选一的骨干",但它们实际回答的是两个不同维度的问题。前三脉(LSTM/GNN/Transformer)回答"如何编码场景、如何建模交互"——这是**表示与关系**的问题;第四脉(生成系)回答"如何表达和生成多模态输出"——这是**输出分布**的问题。这两个维度正交!所以一个真实模型往往是"两脉的乘积":Trajectron++ = LSTM(编码)× CVAE(生成),MotionDiffuser = Transformer(编码)× 扩散(生成)。理解这个"编码脉 × 生成脉"的笛卡尔积,你就不会再纠结"Trajectron++ 到底算 LSTM 系还是生成系"——它两者都是,因为这是两个轴。后文讲第四脉时会反复强调:生成系是"输出端的换头",可以嫁接到任意编码骨干上。
下面逐脉展开。每一脉我们讲:数学内核 → 如何承载三层能力 → 代表作剖析 → 结构性短板 → 如何被下一脉修补。
对比性思维(四脉的"取代"为何只发生在编码这条轴上,而生成这条轴是"并存"):这是一个易被忽略却很重要的不对称。编码脉(前三脉)是'取代式'演化——Transformer 来了,新工作基本不再用 LSTM/纯 GNN 做主干(因为注意力在表示与交互上全面更优)。但生成脉(第四脉)是'并存式'共生——GAN 基本被弃用(不稳),但 anchor/query(判别式)、CVAE、扩散至今**并存**,因为它们各有适用场景(anchor 适合模态可枚举的车辆、扩散适合复杂多峰、CVAE 训练稳)。为什么两条轴的命运不同?因为**编码是"谁更强"的问题(有明确优劣),生成是"谁更适合这个分布形状"的问题(依场景而定)**。理解这个不对称,你读论文时就会有不同的预期:看到主干你预期"越新越好"(编码取代),看到输出头你预期"看场景选"(生成并存)。这也精炼了 §4.3 的选型逻辑——主干跟着 SOTA 走问题不大,输出头则要按"你的多模态长什么样"来选。
4.3.2 第一脉:循环网络(LSTM 系)——用隐状态把历史"卷"成一个向量¶
数学内核。循环神经网络(RNN)及其改良版长短期记忆网络(LSTM)处理时序的方式是:维护一个隐状态 \(h_t\),每读入一个新观测 \(x_t\) 就更新它——
LSTM 在普通 RNN 之上加了**门控机制**(遗忘门、输入门、输出门)和一条**细胞状态 \(c_t\)** 的"信息高速公路",缓解了普通 RNN 的梯度消失,使它能记住更长的历史。完整的 LSTM 更新(理解后文"门控决定记什么"的基础)为:
其中 \(\sigma\) 是 sigmoid(输出 0–1 的门控权重)、\(\odot\) 是逐元素相乘、\([\cdot,\cdot]\) 是向量拼接。关键在那条 \(c_t = f_t\odot c_{t-1} + i_t\odot\tilde c_t\)——它是一条**加性**的更新(而非普通 RNN 的连乘),梯度沿这条"高速公路"反传时不会因连乘而指数衰减,这正是 LSTM 缓解梯度消失、能记更长历史的数学原因。直觉上,\(h_t\) 是"把从开头到 \(t\) 时刻的整段历史**压缩**成的一个定长向量"——它"记住了"这个智能体过去的运动节律(在加速?在转弯?刚变道完?),而三个门控决定了"哪些历史值得记、记多久、何时调用"。
本质洞察(门控的本质是"可学习的、随输入变化的记忆读写策略"):普通 RNN 的问题是"无脑地把所有历史等权混进隐状态",于是远的被近的冲淡(梯度消失)。LSTM 的门控把"记什么、忘什么"变成**数据驱动、随当前输入动态调整**的决策——遇到"刚刚发生一次急刹"这样的关键事件,输入门会大开把它写进细胞状态、遗忘门会保护它不被冲掉,于是这个关键事件能影响很久之后的预测。这与卡尔曼滤波"用固定的过程模型混合新旧信息"形成对比:LSTM 的"混合策略"本身是学出来的、非线性的、随情境变化的。这个"可学习的记忆管理"思想,是 LSTM 相对物理层(§4.2.2 卡尔曼)的本质进步,也是它在序列建模统治多年的核心。
多视角理解(LSTM 隐状态 \(h_t\) 到底"记住了什么"): - 压缩视角:\(h_t\) 是历史序列的有损压缩——把变长的过去压成定长向量,必然丢信息,门控决定丢哪些、留哪些。像/不像:像视频的关键帧摘要;不像在于它是连续向量而非离散帧,且压缩规则是学出来的。 - 状态机视角:\(h_t\) 是一个"运动状态机"的内部状态——它隐式编码了"该车当前处于什么运动模式"。这与卡尔曼滤波的状态有神似之处,区别是 LSTM 的状态转移 \(f\) 是神经网络学出来的、非线性的,而卡尔曼是手工设定的线性高斯模型。这正是 LSTM 相对物理层(§4.2.2)的进步:用数据学出运动模型,而非手工设定。 - 瓶颈视角:\(h_t\) 是一个信息瓶颈——所有未来预测都必须通过这一个定长向量来获取历史信息。这个瓶颈在长序列下会成为短板(早期信息被后期覆盖),这正是注意力机制(第三脉)要打破的——注意力让解码时可以"回看"任意历史时刻,绕过瓶颈。
如何承载三层能力。LSTM 本身只是个时序编码器,对应不上任何一层——它需要"配件"才能爬层: - 物理层:单独一个 LSTM 编码自身历史、解码自身未来,就是"用神经网络做的运动学外推"。 - 意图层:在 LSTM 编码后接一个分类头预测机动类别(CS-LSTM 的做法),或接 goal 预测。 - 交互层:这是 LSTM 系的痛点——LSTM 天生只处理"一个序列",要建模"多个智能体的相互影响",必须额外发明一个**跨智能体的信息聚合机制**。Social LSTM 的答案是 social pooling(§4.1.2,把邻居隐状态按空间位置摆进网格再聚合),CS-LSTM 的答案是 convolutional social pooling(用卷积层处理这个 social 网格,比直接求和保留更多空间结构)。
对比性思维(social pooling 的"手工"本质——它为什么注定被取代):social pooling 不是"学出来的交互",而是"手工设计的交互聚合规则"——它预先规定了"交互 = 把固定半径内、按相对位置排进网格的邻居隐状态求和/卷积"。这套规则有三个写死的假设:① 交互范围由固定网格半径决定(远处高速逼近的车被排除在网格外);② 各向同性(正前方的车和正侧方的车按同样规则聚合,不区分"谁更威胁我");③ 聚合方式是求和/卷积(无法学出"该重点关注谁")。这三个写死的假设,正是 GNN(可学习的边)和 Transformer(可学习的注意力权重)要逐一解放的——这就是为什么交互建模会从 pooling 演化到消息传递再到注意力。 不是 LSTM 本身不行,而是"手工池化"这个交互配件不行。
代表作剖析:
- Social LSTM(CVPR 2016):第一个把"社交"塞进神经网络的工作(§4.1.2 已详述),social pooling 的鼻祖。历史地位 > 现实性能。
- Convolutional Social Pooling / CS-LSTM(Deo & Trivedi, CVPRW 2018):把 social grid 用卷积处理,同时显式输出 6 类机动(横向 3 × 纵向 2)的概率——是"意图层 + 交互层"在 LSTM 框架下的经典融合,长期是高速公路预测(NGSIM 数据集)的标准基线。
- Trajectron++(ECCV 2020):LSTM 系的**集大成与天花板**,值得展开。
Trajectron++ 深剖(LSTM × CVAE × 动力学积分的三合一)。Trajectron++ 是一个"模块化、图结构的循环模型",它把三脉的思想优雅地缝在一起,是理解"编码脉 × 生成脉"笛卡尔积的最佳范例:
- 编码(LSTM 系):给每个智能体一个 LSTM 编码其历史。关键创新在**如何编码交互**——它不再用 Social LSTM 的网格池化,而是把场景建成图:对每个智能体,先按"语义类别"(车/人/自行车)分组聚合邻居的边特征,每类边用一个权重共享的 LSTM 编码,再用一个**加性注意力(additive attention)** 把不同类型的边编码融合。这已经带有 GNN(按边聚合)和注意力(加权融合)的雏形——Trajectron++ 站在了从 LSTM 池化向 GNN/注意力过渡的节点上。
- 生成(CVAE 系):它不是确定性回归,而是用**条件变分自编码器(CVAE)——引入一个**离散隐变量 \(z\)(可解释为"高层意图/模态"),从 \(p(z|\text{历史})\) 采样不同的 \(z\) 就生成不同的未来轨迹。输出是一个**高斯混合模型(GMM)** 的位置分布。这正是它表达多模态的方式——离散隐变量天然对应多模态,且比 GAN 稳定。
- 动力学积分(物理层焊接):这是 Trajectron++ 最独特的贡献——它不直接回归位置,而是**回归控制量(加速度、转向率),再通过一个可微的动力学积分器(车辆用自行车模型/单车模型,行人用单积分器)把控制量积分成轨迹**。这保证了输出轨迹**动力学可行(dynamically feasible)**——绝不会画出物理上开不出来的轨迹(如车辆瞬间横移)。这是把 §4.2.2 物理层的运动学约束**硬编码进**了网络输出端。
对比性思维("回归位置"vs"回归控制量再积分"——一个深刻的输出端设计选择):不是"反正都输出轨迹,怎么输出无所谓"。直接回归位置:网络输出每个时刻的 (x,y),自由度极大——但这个自由度是"有害的",因为没有任何约束阻止网络输出物理上不可能的轨迹(相邻两点距离超过车辆极限速度、横向瞬移、急转超过转向极限)。回归控制量再积分:网络只输出加速度/转向率,再用车辆运动学模型积分出位置——于是输出**天然满足动力学约束**(因为它是被一个真实的运动学模型"积"出来的,而非凭空"画"出来的)。这个选择的代价是网络要学的是控制量(间接),好处是输出永远可行。像/不像:像在于二者最终都给出轨迹;不像在于前者把"可行性"交给网络去隐式学习(常学不好),后者把"可行性"硬编码进积分器(保证满足)。这与 §4.3.4-bis 的"榨取对称性"是同一种哲学——把已知的物理结构(运动学)作为约束硬编码进架构,而非让网络从数据里苦学。对要上车的工程师,这个"输出可行轨迹"的保证极其宝贵——它意味着预测器永远不会给规划器一条"开不出来"的他车轨迹去白白避让。
本质洞察(Trajectron++ 揭示了"好的预测模型是三层能力的乘积,而非某一层的极致"):Trajectron++ 同时在三层发力——物理层(动力学积分保证可行)、意图层(离散隐变量 \(z\) 表达多模态)、交互层(图结构 + 注意力聚合邻居)。它的成功不是因为某个组件特别强,而是因为它**把三层正确地组合起来**,且每个组件都选了"恰到好处"的实现(交互不用最复杂的全注意力,多模态不用最难训的 GAN,可行性用最直接的积分器)。这呼应了 §4.2.5 的判断——现代 SOTA 都是分层嵌套的。Trajectron++ 至今仍是 nuScenes 预测任务的常用强基线,正是因为这种"均衡的工程美学"。
结构性短板:① 串行计算——隐状态必须一步步递推,无法并行,长序列下训练/推理慢;② 长程依赖衰减——尽管 LSTM 缓解了梯度消失,几十步以上的依赖仍会衰减;③ 交互靠外挂——核心短板,交互建模必须靠 pooling/图等额外配件,且这些配件(尤其 pooling)有写死的假设。这三点把接力棒交给了下一脉。
过渡:LSTM 系的最大痛点是"交互建模靠手工外挂"。如果交互的本质是"智能体之间的关系",那为什么不直接用一种**天生为关系而生**的网络结构呢?这就是图神经网络——它把"谁和谁有关系"显式建成图的边,让信息沿边自然流动。
4.3.3 第二脉:图神经网络(GNN 系)——把"交互"显式建成图的边¶
数学内核。图神经网络(GNN)处理的对象是图 \(G=(V,E)\)——节点 \(V\)(智能体、车道段)、边 \(E\)(空间/语义关系)。它的核心操作是**消息传递(message passing)**:每个节点反复地"收集邻居发来的消息、更新自己的状态"——
其中 MESSAGE 决定"邻居 \(u\) 给 \(v\) 发什么"、AGGREGATE 决定"\(v\) 怎么汇总多个邻居的消息"(求和/均值/最大/注意力加权)、UPDATE 决定"\(v\) 怎么用汇总消息更新自己"。堆叠 \(L\) 层消息传递,信息就能传播 \(L\) 跳——第 1 层只看直接邻居,第 2 层看到邻居的邻居,以此类推。
多视角理解(消息传递 vs social pooling——同一件事的"可学习版"): - 泛化视角:social pooling 其实是消息传递的一个**写死的特例**——它的"图"是"固定半径内的空间近邻",它的 AGGREGATE 是"按网格位置求和",它的 MESSAGE 是"直接传隐状态"。GNN 把这三者都变成**可学习/可设计**的:边可以按语义(同车道/相邻车道)而非仅按距离定义,AGGREGATE 可以是注意力加权,MESSAGE 可以是一个 MLP。像/不像:像在于都是"聚合邻居信息";不像在于 GNN 的"邻居关系"和"聚合方式"都从数据/设计中来,而非写死。 - 关系归纳偏置视角:GNN 的核心优势是**强归纳偏置(inductive bias)——它把"交互沿关系结构传播"这个先验直接编码进了架构。对于交通这种"本质上是图"的场景(智能体在车道图上运动、相互之间有明确的让行关系),这个归纳偏置极其契合,使 GNN 比 LSTM 池化数据效率更高、泛化更好。 - **置换不变视角:GNN 对节点顺序天然不敏感(AGGREGATE 用对称函数)——这正确反映了"邻居没有固定顺序"的物理事实。而 LSTM 池化要把邻居排进固定网格,引入了人为的顺序/位置假设。
如何承载三层能力。GNN 是为交互层量身定制的,但它也能覆盖另外两层: - 交互层(主场):节点=智能体,边=交互关系,消息传递天然建模"谁影响谁"。这是 GNN 的核心价值。 - 表示层(VectorNet 的关键拓展):GNN 不仅能建模"智能体-智能体"交互,还能把**地图本身**建成图——把每条车道折线(polyline)的每个向量段当节点,用 GNN 编码地图几何。这是 VectorNet 的核心思想(§4.1.3)。 - 意图层:在 GNN 输出的节点特征上接 goal/anchor 预测头。
代表作剖析:
- VectorNet(CVPR 2020):§4.1.3 已详述其历史地位(向量化革命)。从骨干血统看,它是**两级 GNN**:第一级 polyline subgraph(局部 GNN)把每条折线(一条车道、一条轨迹)内部的向量段聚合成一个 polyline-level 节点特征;第二级 global interaction graph(全连接 GNN,实为自注意力)建模所有 polyline 节点之间的关系。VectorNet 是 GNN 系向 Transformer 系过渡的关键节点——它的第二级"全连接图"实际上已经是注意力了。
本质洞察(VectorNet 的"两级层次"是一种深刻的'分而治之',被后续几乎所有方法继承):为什么 VectorNet 要分两级,而不是把所有向量段一股脑塞进一个大图?因为这对应了场景的**天然层次结构**——"向量段"组成"折线(一条车道/一条轨迹)","折线"再组成"场景"。第一级 polyline subgraph 在**局部**(一条折线内部)聚合,回答"这条车道/轨迹整体长什么样";第二级 global graph 在**全局**(折线之间)聚合,回答"这些车道和轨迹如何相互关系"。这种"先局部编码成语义单元、再全局建模单元间关系"的两级结构,是一种极其通用的分而治之——它把"几百个向量段两两交互"(算力爆炸)降维成"先各折线内部聚合(局部、便宜)、再几十个折线节点间交互(全局、可承受)"。后续方法几乎都继承了这个层次:MTR、Wayformer 等都是"先把每个 agent/polyline 编码成一个 token,再让 token 间注意力"。理解这个两级层次,你就理解了为什么向量化方法既高效又能建模长程交互——它用层次结构同时驯服了算力与关系建模。这也呼应 §4.3.4-bis 查询中心"每元素编码一次"的可复用思想——都是在对抗"实体两两交互的平方爆炸"。 - LaneGCN(Liang 等, ECCV 2020):另一个里程碑,把"车道图"建模做到极致。它构建了四种关系图——actor-to-lane(车看路)、lane-to-lane(车道拓扑:前驱/后继/左邻/右邻)、lane-to-actor(路影响车)、actor-to-actor(车车交互),用专门的图卷积在这四种关系上传播信息。LaneGCN 证明了**精细的车道拓扑建模**能大幅提升预测精度,是 Argoverse 早期榜单的强者。
多视角理解(LaneGCN 的四种关系图——一次"把领域知识翻译成图结构"的范例):LaneGCN 的四种图不是随意设计,每一种都编码了一条**交通领域常识**: - lane-to-lane(车道拓扑):编码"车道之间如何连接"——这条车道的后继是哪条、左邻是哪条。这让模型一上来就懂"车只能沿连通的车道走、变道只能去相邻车道",无需从数据里苦学路网结构。 - actor-to-lane(车看路):编码"每辆车在哪条车道上、离车道中心多远"——把车"绑定"到它所在的车道几何,使模型理解"这辆车受哪条车道约束"。 - lane-to-actor(路影响车):把车道的几何信息(曲率、走向)传回给车,影响它的预测——"前方车道要左弯,所以这辆车大概率也要左转"。 - actor-to-actor(车车交互):才是传统意义的"社交交互"——建模车与车的相互影响。 本质洞察在于:LaneGCN 把"交互建模"从"只有车车交互"(Social LSTM 时代)扩展成了"车-车、车-道、道-道、道-车四种关系的协同"——它认识到**车辆预测里,'车与地图的交互'和'车与车的交互'同等重要**(因为车被车道牢牢约束,§4.1.7 行人 vs 车辆的差异)。这种"把领域知识显式翻译成不同边类型"的设计哲学,正是 GNN 系"重先验"世界观(§4.3.3 本质洞察)的最佳体现,也活在了今天 Transformer 的"异构边类型注意力"里(§4.1.7 合流)。
对比性思维(VectorNet/LaneGCN 的"把地图建成图" vs 早期的"把地图渲染成图像"):不是"用 CNN 看一张地图图片",而是"把地图的每条车道当成图的节点直接推理"。前者(栅格化 + CNN)要让 CNN 从像素里"重新发现"车道的连接关系,浪费在空白像素上,且分辨率与感受野互相掣肘(§4.1.3);后者(向量化 + GNN)直接把"这条车道连着那条车道"作为图的边喂进去,模型一上来就知道拓扑。这是"让模型重新发现结构" vs "把结构作为先验喂进去"的根本分野——GNN 系选择了后者,这正是它数据效率高的原因。
本质洞察(GNN 系的核心信念是"交通的本质是图,就该用图来建模"):GNN 系不是"恰好用了图",而是持有一个明确的世界观——交通场景在本质上就是一张图:智能体是节点、车道是节点、它们之间的空间与拓扑关系是边。这个世界观的力量在于把大量领域先验(车道连接、让行关系、可达性)直接编码进了架构,而不依赖网络从数据里苦苦学习。这与"万物皆 token、让注意力自己学关系"的 Transformer 世界观形成鲜明对比(下一脉)——前者重**先验**,后者重**容量**。理解这场"先验 vs 容量"之争,是理解 GNN 为何在小数据上常胜、在大数据上被 Transformer 反超的关键。
结构性短板:① 过平滑(over-smoothing)——堆太多层消息传递后,所有节点特征会趋同(因为反复平均邻居),导致"路口对面的车"虽然能传到信息但特征已被抹平,无法有效建模长程交互;② 感受野与深度的矛盾——要建模 \(L\) 跳外的交互就得堆 \(L\) 层,但层数一多就过平滑,于是 GNN 的有效感受野受限;③ 图结构需预定义——边怎么连(多大半径算邻居、车道怎么算相邻)需要人工设计,不够灵活。这三点——尤其是"长程交互"的瓶颈——正是 Transformer 的全连接注意力要解决的。
多视角理解("过平滑"为何是 GNN 绕不开的诅咒——一个直觉解释):过平滑听起来抽象,但直觉很清晰。消息传递每一层的核心动作是"用邻居特征更新自己",常含一个**平均/聚合**操作。反复平均的数学后果,是让所有节点趋向同一个值——就像把一杯热水和一杯冷水反复倒来倒去,最终温度必然趋同。堆 \(L\) 层消息传递,相当于做 \(L\) 轮平均,节点特征逐渐失去区分度,最后"路口这边的车"和"路口对面的车"的特征糊成一团,模型再也分不清谁是谁。这就制造了一个两难:要建模"路口对面"这种远距离交互,就得堆很多层(让信息传那么多跳);但层一多就过平滑、特征糊掉,等于信息传到了却"认不出"。GNN 因此被卡在"传得到"与"分得清"的矛盾里。Transformer 的全连接注意力为什么能破局?因为它**一层就能让任意两节点直接交互**(无需堆层传多跳),从根上避开了"为了传远而堆层、堆层导致过平滑"的恶性循环。理解过平滑这个诅咒,你就理解了为什么"长程交互"成了 GNN 让位给 Transformer 的决定性短板——不是 GNN 不想建模长程,而是它一建模长程就把自己'平滑'瞎了。
过渡:GNN 用"边"显式建模了关系,但"边怎么连"要预定义,且堆层建模长程交互会过平滑。如果我们想要"任意两个实体一步就能交互、且交互权重完全由数据学出来",该怎么办?答案是把图变成**全连接**、把边权变成**学出来的注意力**——这就是 Transformer。它不再问"谁和谁有边",而是让所有实体两两计算"该关注彼此多少"。
4.3.4 第三脉:Transformer(注意力系)——让任意两个实体"直接对话"¶
数学内核。Transformer 的核心是**自注意力(self-attention)**。把场景里每个实体(一个智能体、一个时刻、一条车道向量)都表示成一个 token,每个 token 生成查询(Query)、键(Key)、值(Value)三个向量,然后——
直觉上,\(QK^\top\) 计算"每个 token 对其他每个 token 的相关性分数",softmax 把它归一化成"注意力权重"(该关注谁、关注多少),再用这个权重对 V 加权求和——于是每个 token 的新表示,是它"按相关性从所有其他 token 那里聚合来的信息"。多头注意力(multi-head) 并行跑多组 Q/K/V,让模型从多个子空间同时建模不同类型的关系(一头管"谁在我前方"、一头管"谁在变道")。
本质洞察(两个常被忽略的设计细节——\(\sqrt d\) 缩放与多头——为何不可或缺):自注意力公式里有两个看似不起眼、实则关键的设计: - \(\sqrt d\) 缩放:为什么要除以 \(\sqrt d\)(\(d\) 是 Key 的维度)?因为当维度 \(d\) 很大时,\(QK^\top\) 的内积值会变得很大(随 \(d\) 增长),导致 softmax 进入**饱和区**——梯度几乎为零,训练停滞。除以 \(\sqrt d\) 把内积的方差归一化回 \(O(1)\),让 softmax 工作在敏感区、梯度健康。这是一个'让深层注意力能训起来'的稳定性技巧,没有它 Transformer 难以训练。 - 多头的必要性:单头注意力只能学一种"关注模式"——但交互是多面的(既要关注"谁在前方"管纵向、又要关注"谁在变道"管横向、还要关注"哪条车道约束我")。多头让模型在不同子空间并行学多种关注模式,再拼接。这与 §4.3.3 LaneGCN 用多种边类型建模多种关系是同一个诉求——交互不是单一关系,需要多个'通道'分别建模。区别是 LaneGCN 的边类型是人手工定义的,多头注意力的'关注模式'是数据里自动学出来的(又一次"先验 vs 容量"的体现)。理解这两个细节,你才算真正读懂了自注意力为何能在交互建模上碾压 social pooling——它不仅全连接,还能多通道、可稳定训练地学习关系。
多视角理解(自注意力作为"全连接、可学权重的图聚合"): - GNN 视角(最关键):自注意力**就是**一种特殊的图神经网络——它的图是**全连接图**(每个 token 连所有 token),它的边权是**当场算出来的注意力 \(\text{softmax}(QK^\top)\)(而非 GNN 那样预定义或简单聚合)。像/不像:像在于都是"按权重聚合其他节点的信息";不像在于 GNN 的边是稀疏+预定义、权重相对简单,而注意力是稠密全连接+权重动态学出。**所以"GNN→Transformer"不是范式断裂,而是"把稀疏固定图升级为稠密学习图"的连续演进。 这是理解第二脉到第三脉的钥匙。 - 检索视角:Q/K/V 借自信息检索——Query 是"我想找什么",Key 是"每个候选的标签",Value 是"每个候选的内容"。注意力 = "用我的 query 去匹配所有 key,按匹配度取回 value 的加权和"。这个视角解释了为什么注意力能绕过 LSTM 的信息瓶颈——解码时可以用 query 直接"检索"任意历史/任意智能体,而非依赖一个压缩的隐状态。 - 关系建模视角:交互的本质是"谁该关注谁、关注多少",而 \(\text{softmax}(QK^\top)\) 恰好就是一个数据驱动学出来的"关注权重矩阵"。它能学到 social pooling 和简单 GNN 都学不到的细微关系——比如"远处高速逼近的车权重高、近处静止的车权重低"这种依赖速度而非仅依赖距离的关注模式。
如何承载三层能力——Transformer 的杀手锏是**用统一的 token 抽象同时覆盖三层**: - 表示 + 交互层:把智能体 token、时刻 token、车道 token 全扔进同一个注意力,让它们自由交互——智能体↔智能体(交互层)、智能体↔车道(地图约束)、时刻↔时刻(时序,物理层)一网打尽。 - 意图层:用**可学习的查询向量(learnable query)** 当"意图原型"——这是 MTR 的 motion query 的精髓,每个 query 解码出一个模态。 - marginal/joint 统一:通过 masking 策略(屏蔽哪些 token 能互相看见)和 query 设计,同一个 Transformer 既能做边缘预测又能做联合预测——这正是 §4.1.4 Scene Transformer 的核心贡献。
代表作剖析:
- Scene Transformer(Waymo, ICLR 2022):用一个统一 Transformer,靠 masking 同时支持 marginal 和 joint 预测(§4.1.4)。它把所有 (智能体, 时刻) 组织成 token 矩阵,用**因子化注意力(factorized attention)**——沿时间轴和沿智能体轴交替做注意力,避免对整个矩阵做全注意力的算力爆炸。这是"如何让注意力在时空二维上既高效又充分"的经典设计。
- MTR / Motion Transformer(NeurIPS 2022 oral):§4.1.4 已点名其历史地位(Waymo 冠军)。骨干血统看,它的核心是**可学习 motion query + 迭代 refine 的解码器**——一组可学习查询向量代表"运动意图原型",通过 Transformer 解码器多轮迭代,每轮都让 query 重新注意场景、refine 自己的轨迹预测。它把 anchor 范式(§4.2.3,稳定)与 query 范式(灵活)的优点合一:query 初始化时带 anchor 的先验,迭代中获得 query 的灵活性。MTR++ 进一步支持多智能体并行查询。
- Wayformer(Waymo, 2022):一篇"做减法"的重要工作——它系统研究了"融合多模态输入(智能体、地图、交通灯)的注意力该怎么设计",提出 early/late/hierarchical fusion 的对比,并用简洁的注意力 + latent query 达到 SOTA。它的价值在于证明了**架构可以更简单**——不需要 LaneGCN 那样精心设计的多种图,让注意力自己学关系即可。这是"容量 > 先验"路线的有力论据。
- QCNet(Query-Centric, CVPR 2023):当前 Argoverse 2 榜单的强者之一。核心创新是 query-centric 的参考框架——为每个场景元素建立局部坐标系,使表示对全局平移/旋转不变(roto-translation invariant),且支持流式(streaming)增量编码。它解决了一个工程痛点:场景每帧都在变,全局坐标系下要反复重算,query-centric 的局部参考框架让历史编码可复用。
多视角理解(MTR 的"motion query"为何是 anchor 与生成式的完美调和):motion query 是预测方向一个极优雅的设计,值得从三个角度看清它"调和了什么": - anchor 视角:每个 query 初始化时绑定一个 anchor(典型运动模式,如"左转""直行"),所以它继承了 anchor 范式(§4.2.3)的**稳定性与模态覆盖**——不会塌缩、不会漏掉常见模态。 - query/注意力视角:query 不是固定的 anchor,而是可学习、可迭代 refine 的向量——每轮解码它都重新 attend 到场景(他车、车道),按当前场景调整自己。所以它又获得了**灵活性**——同一个"左转"query 会根据"前方有没有车挡着"refine 出不同的左转轨迹。 - 调和视角:纯 anchor 太死(轨迹被 anchor 集合钉死),纯生成式太难训(GAN 不稳、模态难控);motion query = "anchor 给初始化与稳定性 + query 迭代给灵活性"。它本质上是在'判别式离散化(anchor)'与'生成式采样(GAN/CVAE)'这两极之间,找到的第三条路——用"可学习且带先验初始化的查询"同时拿到两边的好处。这正是它能在 Waymo 夺冠、且被后续工作广泛继承的原因。理解 motion query,就理解了"如何表达多模态"这个核心问题的当前最优解之一。
本质洞察(Transformer 系的胜利是"容量战胜先验",但代价是吃数据与吃算力):GNN 系(§4.3.3)的世界观是"把交通的图结构作为先验喂进架构";Transformer 系的世界观相反——"别预设结构,给足容量和数据,让注意力自己从数据里学出谁该关注谁"。在大规模数据集(Waymo Open Motion 有几十万场景)上,后者赢了——因为数据足够多时,学出来的关系比手工设计的先验更精细、更无偏。但这个胜利有明确的前提与代价:① 吃数据——小数据上 Transformer 容易过拟合,GNN 的强先验反而更稳;② 吃算力——全注意力的复杂度随 token 数(智能体数 × 时刻数 × 地图段数)平方增长,这是它部署到车载芯片(尤其 C++ 实时栈)的最大障碍,也催生了因子化注意力、latent query、稀疏注意力等一系列"给注意力瘦身"的工作。这个"容量 vs 先验、精度 vs 算力"的权衡,是你为具体项目选骨干时必须算的账。
结构性短板:① 平方复杂度——token 多时算力爆炸,是车载部署的硬伤;② 数据饥渴——需要大规模数据才能发挥,小数据上不如 GNN;③ 可解释性——注意力权重虽可视化,但"为什么这么关注"仍是黑箱;④ 它解决的是"编码与交互",没解决"如何表达多模态输出"——这把问题留给了第四脉(生成系),所以现代 SOTA 几乎都是"Transformer 编码 × 生成式输出头"。
一个被忽视但至关重要的正交设计轴:参考框架(reference frame)。讲完三脉编码骨干,必须插入一个横切所有骨干的设计维度——用什么坐标系表示场景。这个看似琐碎的选择,深刻影响精度、算力与工程可用性,是 QCNet 等近期工作的核心创新点所在,也是初学者最容易忽略的"隐性架构决策"。
- 场景中心(scene-centric):选一个全局原点(如地图某点或 ego 当前位置),所有智能体和地图都在这个统一坐标系下表示。优点:只需编码一次、所有实体共享坐标系;缺点:对全局平移/旋转不具不变性——同一个交互几何(两车并排)在场景不同位置/朝向出现时,坐标值天差地别,模型要为每个位置/朝向重新学习一遍,数据效率低。
- 智能体中心(agent-centric):为**每个**待预测智能体单独建立以它为原点、以它朝向为轴的局部坐标系,把场景旋转平移到这个智能体的视角下再编码。优点:对该智能体而言平移/旋转不变,交互几何无论在地图哪里都长一样,数据效率高、精度好——这是 MTR 等高精度模型的常用做法;缺点:算力爆炸——有 \(N\) 个待预测智能体就要把整个场景编码 \(N\) 次(每个视角一次),多智能体场景下重复计算严重。
- 查询中心(query-centric,QCNet 的创新):为**每个场景元素**(每个智能体、每条车道)建立各自的局部参考框架,元素之间的相对关系用相对位姿编码(相对位置 + 相对朝向)来表达。优点:兼得不变性与可复用性——每个元素只编码一次(不像 agent-centric 要 \(N\) 次),且天然平移旋转不变;还**支持流式(streaming)增量编码**——新一帧来了只需编码新增部分、复用历史编码,对实时车载极友好。这是当前的先进范式。
对比性思维(参考框架的演化是一部"如何用最小算力换取最大不变性"的优化史):不是"随便选个坐标系",而是一个有明确权衡的设计阶梯。场景中心:编码一次(省算力)但无不变性(费数据、精度差);智能体中心:有不变性(精度好)但编码 \(N\) 次(费算力);查询中心:用"每元素局部框架 + 相对位姿"同时拿到不变性和单次编码(兼得),还附赠流式能力。这条"不变性 vs 算力"的权衡线,与 §4.3.4 那条"容量 vs 先验"的权衡线**正交**——它们是两个独立的设计旋钮。理解这一点的实践意义在于:选骨干不只是选 LSTM/GNN/Transformer,还要选参考框架——后者对车载部署的算力影响,常常比前者更大。 这是读懂 QCNet 之类近期工作"为什么快又准"的钥匙,也是一个极易被初学者漏掉的隐性架构决策。
本质洞察(不变性是预测模型的"免费午餐",谁把不变性榨得越干净谁就越强):贯穿参考框架演化的主线,是对**对称性/不变性(invariance)** 的逐步榨取。交通场景有一个物理事实——交互的本质与它在地图上的绝对位置、绝对朝向无关(两车并排汇入,在城东和城西、朝南和朝北,本质是同一个交互)。一个不利用这个对称性的模型(场景中心),被迫为每个位置朝向重学一遍,等于在浪费容量和数据去学习本应"免费"得到的不变性。从场景中心到查询中心的进步,本质是把这个对称性越来越彻底地"硬编码"进架构(而非让模型从数据里苦学)。这与 §4.3.3 GNN 的置换不变性、Trajectron++ 把动力学约束硬编码进输出(§4.3.2),是同一种深刻的设计哲学——把已知的物理结构作为归纳偏置注入架构,把宝贵的模型容量留给真正需要学习的部分。这条"榨取对称性"的主线,是理解整个深度预测架构演化的元视角。
过渡:前三脉(LSTM/GNN/Transformer)都在解决"如何编码场景、如何建模交互"这个**输入端**问题。但还有一个正交的**输出端**问题始终悬而未决——给定编码好的场景,如何生成和表达多模态的未来分布? anchor/query 是一种离散化的答案,但生成式模型(GAN→CVAE→扩散)提供了另一条更"分布原生"的路线。这就是第四脉。
4.3.5 第四脉:生成模型(GAN / CVAE / 扩散)——把预测当"采样"而非"回归"¶
这一脉与前三脉正交(回顾 §4.3.1 的本质洞察):前三脉是"编码骨干",这一脉是"输出端的生成机制",二者相乘构成完整模型。它统一回答一个问题——未来是多峰分布,如何表达并从中生成 K 个代表样本?
回顾 §4.1.2 的本质洞察:预测的范式从"回归一条轨迹"翻转为"从分布采样 K 条"。生成式三件套就是这个"采样"的三种实现,按时间顺序是 GAN → CVAE → 扩散,每一代都在修补上一代的缺陷。
(1) GAN(生成对抗网络)系。代表是 Social GAN(CVPR 2018,§4.1.2)。机制:生成器从随机噪声 + 历史编码生成轨迹,判别器逼它"像真的",variety loss(只惩罚 K 条样本里最好的一条)鼓励多样性。 - 优点:能生成清晰、逼真的样本(不像 MSE 回归那样"糊")。 - 致命短板:训练不稳定(生成器与判别器的对抗易振荡/崩溃)、模态塌缩(mode collapse)——生成器可能偷懒只生成几种"安全"的轨迹,覆盖不全真实的模态多样性。这正是它逐渐被 CVAE 和扩散取代的原因。
(2) CVAE(条件变分自编码器)系。代表是 Trajectron++(§4.3.2) 和 DESIRE(CVPR 2017)。机制:引入隐变量 \(z\),学一个编码器 \(q(z|\text{未来,历史})\) 和解码器 \(p(\text{未来}|z,\text{历史})\),训练时最大化证据下界(ELBO);推理时从先验 \(p(z|\text{历史})\) 采样不同 \(z\) 生成不同未来。 - 优点:训练比 GAN 稳定得多(最大化似然而非对抗);隐变量 \(z\) 若设成离散的,天然对应离散模态(Trajectron++ 的做法),可解释。 - 短板:后验塌缩(posterior collapse)——解码器太强时会忽略 \(z\),导致多样性丧失;生成样本可能偏"糊"(VAE 的固有问题);表达复杂多峰分布的能力不如扩散。
对比性思维(GAN vs CVAE vs anchor——三种表达多模态的哲学):回到 §4.2.3 的"生成 vs 锚定"分野,现在可以三方对照。GAN/CVAE(生成式):用连续隐变量/噪声采样多样性,灵活但训练难、模态不可控;anchor/query(判别式离散化):预置离散模态原型,稳定可解释但受原型集合制约;扩散(下一段):用迭代去噪逼近任意复杂分布,兼顾质量与多样性但推理慢。这三条路线是"如何表达多模态"这一核心问题的三种答案,没有绝对优劣——anchor 适合模态清晰可枚举的车辆预测,生成式适合模态弥散的行人/复杂场景。
(3) 扩散模型(diffusion)系——当前(2024–2026)的新宠。机制:扩散模型分两个过程——**前向过程**逐步往真实轨迹加高斯噪声直到变成纯噪声;**反向过程**训练一个网络从纯噪声出发、逐步去噪、还原出轨迹。生成时从随机噪声出发反复去噪 \(T\) 步得到样本。形式上,前向过程把一条干净轨迹 \(\tau_0\) 逐步加噪:
经过 \(T\) 步后 \(\tau_T\) 近似纯高斯噪声。反向过程训练一个网络 \(\epsilon_\theta(\tau_t, t, c)\)(\(c\) 是条件,如历史轨迹与地图)去**预测每一步加入的噪声**,训练目标极其简洁——就是一个去噪的均方误差:
生成时从 \(\tau_T\sim\mathcal N(0,\mathbf I)\) 出发,反复用 \(\epsilon_\theta\) 去噪 \(T\) 步还原出 \(\tau_0\)。
- 数学直觉:扩散把"一步生成复杂分布"这个难题,拆成"很多步、每步只去一点噪声"的简单子问题——每一步只需学"如何让样本稍微更真实一点",累积起来就能逼近任意复杂的多峰分布。这是它比 GAN 稳定、比 CVAE 表达力强的根本原因。
- 为什么比 CVAE 表达力强(数学上):CVAE 用**单一**隐变量 \(z\) 一步映射到轨迹分布,其表达力受限于解码器和先验 \(p(z)\) 的形状(通常是简单高斯);扩散用 \(T\) 步**逐步细化**,相当于把一个复杂分布的生成分解成 \(T\) 个简单条件高斯的链式组合——更多的"步数"换来了更强的分布表达力。这也解释了它的短板(推理要跑 \(T\) 步)正是它表达力的来源——表达力与推理步数是同一枚硬币。
- 为什么比 GAN 稳定(训练上):GAN 的训练目标是对抗的极小极大博弈(易振荡);扩散的训练目标是上面那个**简单的去噪 MSE**(一个标准的回归损失,稳定收敛)。把"生成"这个难题转化成"去噪回归"这个易题,是扩散稳定性的根源。
- 代表作(§4.1.6 已点名,此处定位骨干角色):MotionDiffuser 用扩散做可控的多智能体联合预测(去噪过程可注入约束,如"不许碰撞");Diffusion Policy(RSS 2023) 把扩散用作机器人/驾驶的动作生成 baseline;Diffusion-Planner(ICLR 2025 oral) 专做 nuPlan 闭环规划;DiffusionDrive(CVPR 2025) 用扩散做端到端驾驶。
- 优点:稳定(无对抗)、表达力强(逼近任意多峰分布)、可控(去噪每步可注入引导/约束,即 guided sampling——这对"生成满足安全约束的轨迹"极有价值,是它相对 GAN/CVAE 的独特优势)。
- 短板:推理慢——要迭代去噪几十上百步,对实时性(车载 10–50 Hz)是挑战。这催生了一系列加速工作(DDIM、consistency models、flow matching)。π0/π0.5 用的 flow matching 就是扩散的"加速近亲",能 50 Hz 输出连续动作(§4.1.6)。
多视角理解(扩散的"引导式采样"为何是安全关键场景的杀手锏):guided sampling 是扩散相对 GAN/CVAE 一个常被低估的独特优势,值得从三个角度看清它在预测里的价值: - 机制视角:扩散是"逐步去噪"的迭代过程,于是可以在**每一步**往去噪方向里注入一个"引导梯度"(如"远离碰撞"的梯度、"贴合车道"的梯度),把生成的轨迹"推"向满足约束的区域。GAN/CVAE 是"一步生成",没有这个可以反复施加约束的迭代过程。 - 安全视角(最关键):传统做法是"先生成轨迹、再事后检查/过滤违反约束的"——但若生成的 K 条全都违规,就无轨迹可用。引导式采样把约束**前置**到生成过程里——生成出来的轨迹"天生"就倾向于满足约束(不碰撞、在路面内、动力学可行)。对安全关键的预测-规划,这意味着可以把'安全约束'直接编码进生成,而非寄望于事后补救——这与 §4.4 的安全兜底、§4.6.4 的安全决策一脉相承。 - 可控视角:同一个训练好的扩散模型,推理时换不同的引导,就能生成"满足不同约束"的轨迹(这次要保守、那次要激进),无需重训。像/不像:像在于都从噪声生成;不像在于扩散能在生成途中被"操控",GAN/CVAE 生成完就定了。这种'训练一次、推理时灵活注入约束'的能力,是扩散在预测-规划方向越来越受青睐的深层原因——它天然契合"安全约束需要在部署时灵活施加"的工程现实。
本质洞察(生成系的演化 GAN→CVAE→扩散,是一部"如何稳定地表达复杂多峰分布"的进步史):三代生成模型在解决同一个问题——多峰分布的高质量、稳定生成。GAN 质量高但训练不稳、模态会塌;CVAE 训练稳但样本糊、表达力受限;扩散兼得稳定与表达力,代价是推理慢。这条线与前三脉(编码骨干的演化)是**正交且并行**的两条进步轴——你可以把任意一代生成头嫁接到任意一代编码骨干上(Social GAN = LSTM × GAN,Trajectron++ = LSTM × CVAE,MotionDiffuser = Transformer × 扩散)。所以判断一篇预测论文的完整血统,要同时报出它的"编码脉 × 生成脉"两个坐标——这是本节最重要的方法论收获。
4.3.6 工程现实:四脉都在 Python,唯一的生产级 C++ 预测栈是 Apollo¶
讲完四脉的学术血统,必须把视角拉回工程地面——这正是本章 §4.1.6 那条"C++ 真空"洞察的具体落点。
残酷的事实:上述四脉的所有代表作——Social LSTM、Trajectron++、VectorNet、LaneGCN、Scene Transformer、MTR、Wayformer、QCNet、MotionDiffuser、Diffusion-Planner——无一例外全部以 Python/PyTorch 实现。它们是研究产物,优化目标是 leaderboard 指标与论文创新,不是车载实时部署。
唯一的大规模生产级、开源、C++ 实现的预测栈,是百度 Apollo 的 modules/prediction。它的设计哲学与学术 SOTA 截然不同,恰好折射出"研究 vs 工业"的鸿沟:
- 架构:Apollo prediction 采用经典的**多阶段管线**——Container(管理障碍物历史)→ Scenario(场景识别)→ Evaluator(用模型给候选轨迹/意图打分)→ Predictor(生成最终预测轨迹)。
- 模型选择:它确实用了学习模型(如基于 MLP/语义地图/RNN 的 evaluator),但**刻意保持轻量**,且大量保留**基于规则与车道序列(lane sequence)的预测**——因为车载实时性(毫秒级)和可验证性(安全关键)压倒了"再涨几个点 minADE"的学术诉求。
- 与学术 SOTA 的差距:Apollo 的预测精度在学术 benchmark 上远不如 MTR/QCNet,但它**能在车上以 C++ 实时跑、能被安全工程师审查、能在量产车上验证**——这是任何 PyTorch SOTA 都暂时做不到的。
本质洞察(预测方向的"学术-工业割裂"比博弈方向更剧烈,根源在部署门槛):博弈综述揭示了"C++ SOTA 真空",但预测方向的割裂更极端,原因有三:① 模型更重——Transformer/扩散的算力远超博弈的数值优化器,车载部署更难;② 黑箱更深——端到端模型的安全验证比数值方法更棘手,工业界不敢轻易上车;③ 数据闭环依赖——学术 SOTA 依赖大规模标注数据,而工业界的痛点在长尾与闭环(§4.6),开环 benchmark 的高分不直接转化为路上的安全。这三点共同造成了"研究在 Python 里狂奔、生产在 C++ 里保守"的现状。对 C++ 母语的机器人工程师,这既是鸿沟也是机会——把学术 SOTA 工程化、C++ 化、实时化、可验证化,正是当前最有价值、最稀缺的工作之一。这也是本教程把"预测"放进规控体系、而非纯深度学习体系的深层理由。
4.3.7 四脉横向综合:真实 SOTA 是如何"组装"四脉的¶
讲完四脉的纵向血统,本小节做一次横向综合——这正是综述区别于单篇论文解读的价值所在:不孤立地看每一脉,而是看它们如何在真实模型里被组合、取舍、嫁接。
组合维度一:编码脉 × 生成脉的笛卡尔积(再强调)。前文反复强调的核心方法论,这里用一张"组装表"落实——把代表作拆成"编码脉 + 生成/输出脉"两个零件看:
| 模型 | 编码脉(如何理解场景) | 生成/输出脉(如何产生多模态) | 参考框架 |
|---|---|---|---|
| Social LSTM | LSTM + social pooling | 确定性回归(无多模态,故有 mode averaging) | 场景中心 |
| Social GAN | LSTM + pooling | GAN 采样 | 场景中心 |
| Trajectron++ | LSTM + 图聚合 + 注意力 | CVAE(离散隐变量)+ 动力学积分 | 智能体中心 |
| VectorNet | GNN(两级 polyline 子图 + 全局图) | 回归 + 多头(早期多模态弱) | 场景/智能体中心 |
| MultiPath | CNN | anchor 分类 + 回归偏移 | 智能体中心 |
| MTR | Transformer + motion query | anchor-like query 迭代 refine | 智能体中心 |
| QCNet | Transformer | anchor-free + refine | 查询中心 |
| MotionDiffuser | Transformer | **扩散**去噪 | 场景中心 |
本质洞察(看懂这张组装表,等于拿到了"拆解任何预测论文"的通用扳手):这张表传递的不是八个孤立事实,而是一个**通用的拆解协议**——拿到任何一篇预测论文,问它三个零件:(1) 用什么编码场景与交互(编码脉)?(2) 用什么产生多模态输出(生成脉/anchor/query)?(3) 用什么坐标系(参考框架)? 这三个零件几乎完全刻画了一个模型的骨架。剩下的论文创新,往往只是在某个零件上做改良(换更好的 query 初始化、换更稳的扩散加速、换更省算力的参考框架)。有了这个三零件协议,你读论文时就不会被花哨的命名和缩写淹没,而能迅速看穿"它到底在哪个零件上动了刀"。 这是本节、也是 §4.3 整章想交付给你的最实用能力。
组合维度二:四脉的"取代"不是淘汰,而是吸收。一个常见误解是"Transformer 来了,LSTM/GNN 就过时了"。真相更微妙——后一脉往往把前一脉的核心思想吸收进自己:
- Transformer 的自注意力**就是**全连接、可学权重的 GNN(§4.3.4 多视角理解第一条)——它没"淘汰"GNN,而是把 GNN 推广到了极致。
- 许多现代模型仍在局部用 GNN(编码 polyline 内部)、在全局用 Transformer(建模 polyline 间交互)——VectorNet 的两级结构正是这种"局部 GNN + 全局注意力"混合的鼻祖。
- LSTM 在某些轻量/流式场景仍有一席之地(串行恰好契合流式输入),且 GRU 等循环单元常被用作 Transformer 解码器内部的轨迹生成器。
对比性思维("取代"vs"吸收"——技术史的两种叙事):流行叙事爱讲"X 取代了 Y"(Transformer 取代 RNN),这种叙事简单但失真。更准确的叙事是"X 吸收并推广了 Y 的核心思想,同时解放了 Y 的约束"——注意力吸收了 GNN 的"按权聚合"、解放了它的"稀疏固定图";GNN 吸收了 pooling 的"聚合邻居"、解放了它的"固定半径各向同性"。理解"吸收"而非"取代",你才能看出技术演化的**连续性**——每一脉都站在前一脉的肩膀上,而非推倒重来。这也意味着:学透前一脉(哪怕"过时")不是浪费,因为它的思想活在后一脉里。
组合维度三:算力-精度-可验证的三角权衡。把四脉 × 参考框架放进工程约束,得到一张"该选什么"的权衡总结——这是 §4.7.4 选型表的理论依据:
- 要极致精度、有大数据大算力(如离线预测、云端):Transformer(智能体中心)+ 扩散/query。MTR、QCNet 路线。
- 要数据效率、中等算力(如中等规模项目):GNN + anchor。VectorNet、LaneGCN 路线。
- 要轻量、实时、易部署(如车载 C++、嵌入式):轻量 LSTM/小 GNN + anchor,或参考 Apollo 的规则+轻模型混合。
- 要可验证、安全关键(如需认证):尽量保留显式结构(anchor 可解释、动力学积分保可行、可微优化保留显式 cost),避免纯黑箱扩散/端到端。
4.3.8 四脉速查表¶
| 脉络 | 内核操作 | 角色(编码/生成) | 代表作 | 核心优势 | 结构性短板 |
|---|---|---|---|---|---|
| LSTM 系 | 循环隐状态递推 | 编码 | Social LSTM, CS-LSTM, Trajectron++ | 编码时序、学运动模型 | 串行慢、长程衰减、交互靠外挂 |
| GNN 系 | 消息传递(稀疏图) | 编码 | VectorNet, LaneGCN | 强关系先验、数据高效 | 过平滑、感受野受限、图需预定义 |
| Transformer 系 | 自注意力(全连接图) | 编码 | Scene Transformer, MTR, Wayformer, QCNet | 全连接长程、统一 token、容量大 | 平方算力、吃数据、车载部署难 |
| 生成系 | 从分布采样 | 生成(输出头) | Social GAN, Trajectron++(CVAE), MotionDiffuser | 表达多峰分布 | GAN 不稳/塌缩、扩散推理慢 |
| 参考框架(正交轴) | 局部/全局坐标 | 表示方式 | 场景中心 / 智能体中心 / 查询中心(QCNet) | 榨取平移旋转不变性 | 不变性 vs 算力的权衡 |
本节常见陷阱(覆盖血统混淆类、选型类、工程类):
陷阱一:把"编码脉"和"生成脉"混为一谈,非要给模型贴单一标签。 现象:争论"Trajectron++ 到底是 LSTM 方法还是生成方法"。根本原因:没意识到这是两根正交的轴(§4.3.1、§4.3.5)。正确做法:用"编码脉 × 生成脉"两个坐标描述——Trajectron++ 是 LSTM(编码)× CVAE(生成)。
陷阱二:以为 Transformer 永远优于 GNN/LSTM。 现象:不看数据规模就无脑选 Transformer。根本原因:忽视"容量 vs 先验"的权衡(§4.3.4 本质洞察)——小数据上 Transformer 易过拟合,GNN 的强先验更稳;车载算力受限时全注意力的平方复杂度是硬伤。正确做法:按数据规模和算力预算选骨干。
陷阱三:把"开源 SOTA 代码"直接当成"可部署方案"。 现象:看到 MTR 开源就以为能上车。根本原因:不理解 §4.3.6 的学术-工业鸿沟——PyTorch SOTA 距离 C++ 实时、可验证的生产栈隔着巨大工程量。后果:低估部署成本,项目延期。正确做法:评估时把"工程化/C++ 化/实时化/可验证化"的成本算进去,或参考 Apollo 的轻量化哲学。
陷阱四:用了扩散就以为能实时。 现象:在车载 50 Hz 场景上直接用标准扩散。根本原因:忽视扩散的推理慢短板(几十步去噪)。正确做法:用 DDIM/consistency/flow matching 等加速变体(如 π0 的 flow matching),或评估时序裕度。
本节练习: 1. (血统定位) 给定一篇论文:"用 Transformer 编码所有智能体和车道 token,建模交互;输出端用扩散去噪生成多智能体联合轨迹,去噪过程注入碰撞约束。" 请写出它的"编码脉 × 生成脉"双坐标,并指出它的多模态来自哪个机制、它如何保证联合一致性。 2. (取代逻辑) 用一句话分别说清:为什么 GNN 取代了 LSTM 的"social pooling"?为什么 Transformer 取代了 GNN 的"消息传递"?这两次取代的共同模式是什么?(提示:从"写死的假设"逐步解放的角度。) 3. (选型实战) 你要为一个城区路口预测系统选骨干,已知:训练数据仅 5000 个场景、车载芯片算力有限、需要 20 Hz 实时、且安全团队要求可解释。在四脉中你会怎么组合?说明理由,并指出每个选择放弃了什么。 4. (开放) §4.3.6 说"把学术 SOTA 工程化、C++ 化是最有价值的稀缺工作"。请设想:若要把 MTR 部署到 C++ 实时栈,你预计会遇到哪三个最大的工程障碍?(提示:算子支持、平方复杂度、动态 shape。这道题没有标准答案,重在工程直觉。) 5. (参考框架推算) 一个场景有 \(N=20\) 个待预测智能体。分别估算"场景中心"(编码 1 次)、"智能体中心"(编码 \(N\) 次)、"查询中心"(编码 1 次但带相对位姿)三种参考框架的相对编码开销。再说明:为什么查询中心既有智能体中心的不变性、又只需 1 次编码?(提示:§4.3.4-bis。) 6. (取代 vs 吸收) §4.3.8 区分了"编码脉是取代式、生成脉是并存式"。请用这个区分预测:未来若出现一种比 Transformer 更强的新编码骨干,你预期它会"取代"Transformer 还是"并存"?而若出现一种新的多模态生成机制,你预期"取代"还是"并存"?说明判断依据。 7. (扩散权衡) §4.3.5 指出"扩散的表达力与推理步数是同一枚硬币"。请论证:为什么单纯减少去噪步数(为了实时)可能损失多模态表达力?consistency models / flow matching 试图怎样"既少步又不太损表达力"?(这道题指向扩散加速的前沿,重在理解权衡而非细节。)
过渡到 §4.4:§4.2 给了"建模层次"的纵轴,§4.3 给了"骨干工具"的横轴——你现在能定位任何一个预测模型在这两根轴上的位置了。但还有一个更深的问题尚未触及,它是本方向真正的"灵魂问题":预测出来到底要干嘛?预测和规划该怎么接线? §4.1.5 已经预告,第四时代的转折正是"打破预测-规划解耦"。下一节我们就专门解剖这条"耦合"主线——它把本章和博弈综述正式焊在一起,也是 frozen robot 这个病灶的最终疗法所在。
§4.4 预测与规划的耦合:解耦 / 条件 / 联合 ⭐⭐⭐⭐¶
本节解决的问题:前两节我们把"预测"当成一个独立任务来剖析——怎么建模、用什么骨干。但一个尖锐的问题被刻意推迟到了这里:预测出来的轨迹,最终是要喂给规划器去开车的。预测和规划之间这根"接线"该怎么接? 这看似是个工程接口问题,实则是本方向最深的理论张力所在——它牵出 frozen robot、self-fulfilling prophecy 两大病灶,并最终与博弈综述 §3 正式会师。本节把"接线方式"切成三种递进范式(解耦→条件→联合),逐一剖析它们如何回应这两大病灶。这是全章难度最高、也最能体现"方向感"的一节。
4.4.1 为什么"接线方式"是本方向的灵魂问题¶
回顾 §4.2.4 末尾那个本质洞察:如果"他车的未来取决于 ego 怎么动",那么孤立地预测他车在数学上就是不良定义的。 这句话把"预测"和"规划"的命运绑死了——你不可能在不知道 ego 计划的情况下"客观地"预测他车,因为他车会对 ego 做出反应。
本质洞察("接线方式"为何配得上"灵魂问题"这个分量):在大多数工程领域,"模块如何接口"是个二等问题——把模块各自做好,接口清晰即可。但在预测-规划这里,接口方式**反而是一等问题,甚至比模块内部的精度更决定系统成败**。原因在于:预测与规划之间存在一个**循环依赖**——预测他车要知道 ego 计划,规划 ego 要知道他车预测,这是一个"鸡生蛋"的闭环。面对循环依赖,'怎么接线'就不再是工程细节,而是'如何打破或求解这个循环'的根本问题:解耦是"强行切断循环、假设 ego 不影响他车"(于是患病),条件是"迭代地走这个循环一两遍",联合是"直接求解这个循环的不动点(均衡)"。所以本节讨论的三范式,本质上是**对付'预测-规划循环依赖'的三种数学策略**——这正是它配得上"灵魂问题"的原因:它触及的不是接口规范,而是这个方向最核心的问题结构(耦合的、有反馈的决策)。理解这一点,你就不会把 §4.4 当成"讲怎么连模块的工程章节",而会把它当成"这个方向的核心数学问题"来读。
这就引出了本方向的灵魂问题:预测和规划,到底是"先后两段"还是"同一件事"? 答案的演化,正是 §4.1.5 第四时代"耦合转折"的核心,也是过去几年顶会重心从"纯预测"转向"联合/端到端"的根本动因。我们把这个演化切成三种范式:
| 范式 | 接线方式 | 一句话刻画 | 病灶应对 | 对应时代/代表作 |
|---|---|---|---|---|
| 解耦(pipeline) | 预测 → 规划(单向) | 预测吐结果,规划被动消费 | 两病皆患 | 时代一~三的工业标配 |
| 条件(conditional) | 规划假设 → 预测 → 规划 | 预测要看 ego 的计划 | 缓解 frozen robot | PRECOG, PiP, M2I |
| 联合(joint) | 预测 ⇄ 规划(耦合求解) | 预测与规划在同一优化里共生 | 根治两病 | DIPP, GameFormer, UniAD |
三种范式不是"谁对谁错",而是"耦合程度递增"的光谱——耦合越深,越能正确处理交互,但工程复杂度、算力、训练难度也越高。下面逐一解剖。
多视角理解(三范式可以从三个角度看,每个角度都加深一层理解): - 信息流视角:解耦是单向箭头(预测→规划);条件是带反馈的单向(规划假设→预测→规划,但 ego 假设是"先猜的");联合是双向耦合(预测⇄规划,无先后)。这是最直观的"线怎么接"。 - 概率视角:解耦预测的是边缘分布 \(p(\tau_{\text{他车}}\mid \text{历史})\);条件预测的是条件分布 \(p(\tau_{\text{他车}}\mid \text{历史}, \tau_{\text{ego}})\)(多了 ego 计划这个条件);联合预测的是联合分布 \(p(\tau_{\text{他车}}, \tau_{\text{ego}}\mid \text{历史})\)(ego 与他车同时建模)。这个概率视角最深刻——它把"耦合深度"精确地翻译成了"建模哪个概率对象",并与 §4.2.4 边缘/联合、§4.5 联合指标完全打通。 - 博弈视角:解耦无博弈(他车是死障碍);条件是 Stackelberg(ego 领导、他车跟随);联合是 Nash(对等博弈)。这是与博弈综述会师的接口(§4.4.7)。 三个视角描述的是同一条"耦合深度"光谱,只是分别用"信息流/概率/博弈"三种语言。能在三种语言间自由切换,你才算真正吃透了这一节——后续每个子范式,我们都会在这三种语言间穿梭。
本质洞察("耦合深度"这根轴,与 §4.2 的"建模野心"轴并不是一回事):初学者容易把"上交互层(§4.2.4)"和"用联合范式(§4.4.4)"混为一谈,但它们是两根不同的轴。§4.2 的轴问"预测时建模了几种不确定性/交互",§4.4 的轴问"预测与规划如何接线"。一个模型完全可以"在交互层(建模了车车交互)但仍是解耦范式(预测出来扔给规划当障碍)"——事实上时代一到三的绝大多数工作正是如此(VectorNet、MTR 都建模交互,但部署时仍解耦)。正是这个"交互建模很强、但仍解耦"的组合,造就了第三时代末'预测很准却治不了 frozen robot'的尖锐质疑(§4.1.4),从而催生第四时代的耦合转折。看清这两根轴的独立性,你就理解了为什么"把交互预测做到 SOTA"和"解决 frozen robot"是两件不同的事——前者在 §4.2 轴上,后者在 §4.4 轴上。
4.4.2 范式一:解耦(pipeline)——两段式管线及其两大病灶¶
机制。这是传统自动驾驶/移动机器人的标准架构,也是 §4.1.5 反复要"杀死"的对象:感知-预测模块吐出他车的未来轨迹(通常是 marginal 多模态),规划模块**把这些预测轨迹当成动态障碍约束**,求解 ego 的最优轨迹。信息**单向流动**:预测 → 规划,规划的结果**不反馈**给预测。
为什么工业界长期用它:模块解耦带来工程上的巨大便利——预测团队和规划团队可以独立开发、独立测试、独立替换;接口清晰(一组带概率的轨迹);每个模块可单独验证。在弱交互场景(高速跟车、空旷道路)它工作得很好。
但它患两个深刻的病——这两个病是理解整节乃至整章的核心,必须讲透:
病灶一:frozen robot problem(机器人冻结问题)。这是前置自测第 1 题的核心。在"密集车流强行汇入"这类强交互场景里,预测模块会输出他车的多模态未来——包括"他车继续直行、不让我"这条悲观分支。规划模块把**所有**这些可能轨迹(包括悲观分支)都当成必须避开的障碍,于是发现"无论怎么动都可能撞上某条预测轨迹",最优解退化为**原地不动(freeze)**。
本质洞察(frozen robot 的病根是"预测假装 ego 不存在"):解耦范式里,预测模块在预测他车时**完全没有把 ego 的意图纳入考虑**——它假设他车的未来与 ego 怎么动无关(marginal 预测的独立性假设)。于是它会预测"他车会一直直行(不管你 ego 想不想汇入)"。但现实中,如果 ego 果断地、有意图地往前挪,那辆车大概率会减速让行——这个"让行"的可能性,被独立预测彻底忽略了。规划器拿到一个"他车绝不让步"的悲观预测,自然不敢动。所以 frozen robot 的根源不在规划器太胆小,而在**预测器太"客观"——它客观到忘了自己的预测对象会对 ego 做出反应**。这正是 §4.2.4"孤立预测他车是 ill-posed"的工程恶果。
病灶二:self-fulfilling prophecy(自我实现预言)。这是 frozen robot 的"镜像孪生病",更微妙。它指的是:预测的结果反过来"造成"了它所预测的现实,形成恶性循环。 例子:ego 因为预测"他车不会让"而选择不汇入(保守等待),他车因此真的得以一直直行——于是"他车不让"这个预测**被 ego 自己的退让"实现"了**。预测看起来"很准"(他车果然没让),但这个"准"是 ego 用放弃汇入换来的,是一种**虚假的、自证的准确**。
对比性思维(frozen robot vs self-fulfilling prophecy——一枚硬币的两面):这两个病常被混淆,但角度不同。frozen robot 是"行为后果"——机器人因悲观预测而不敢动;self-fulfilling prophecy 是"认知陷阱"——悲观预测因机器人退让而"成真",从而强化了悲观预测的"正确性",使系统永远学不会"其实可以更果断"。不是"预测错了导致冻结",而是"预测在解耦架构下结构性地偏悲观,且这种悲观会自我证实"。两病同源(预测无视 ego 对他车的影响),但一个谈行为、一个谈认知闭环。理解这对孪生病,是理解为什么"提升预测精度"治不了它们的关键——因为病不在精度,而在**架构的单向性**。
教学警示(提升预测精度并不能治这两个病):一个极常见的误解是"frozen robot 是因为预测不够准,把预测做得更准就好了"。错。 即使预测器在开环指标上做到完美(minADE → 0),只要架构是解耦的、预测无视 ego 的影响,它就仍会输出"他车不让"这条悲观分支(因为在"ego 不汇入"的前提下,他车确实不让,预测确实是对的!)。病不在预测的精度,而在**预测的条件**——它 condition 在了一个错误的前提(ego 被动)上。这把问题直接推向范式二:让预测 condition on ego 的主动计划。
4.4.3 范式二:条件预测(conditional / planning-informed)——预测要看 ego 的计划¶
机制。条件预测打破单向箭头的第一步:预测他车时,把 ego 的计划轨迹(或意图)作为条件输入。形式上,从预测边缘分布 \(p(\text{他车未来} \mid \text{历史})\) 升级为预测条件分布 \(p(\text{他车未来} \mid \text{历史}, \text{ego 计划})\)。这样模型就能学到"如果 ego 果断汇入,他车会减速让行"这种**反应性(reactive)** 行为,直接缓解 frozen robot——因为现在预测器知道 ego 不是被动的。
典型方法(§4.1.5 已点名,此处剖析其耦合机制): - PRECOG(ICCV 2019):最早系统提出 "conditional forecasting" 概念之一——把 ego 的目标/计划作为条件,预测其余智能体如何反应。 - PiP(Planning-informed Prediction, ECCV 2020):让预测显式 condition on ego 的 planned trajectory——枚举/采样 ego 的候选计划,对每个计划预测他车的反应,从而评估每个 ego 计划的"社会后果"。 - M2I(CVPR 2022):更精巧——它先用一个 relation predictor 判断成对智能体中"谁是影响者(influencer)、谁是反应者(reactor)",再让 reactor 的预测 condition on influencer 的(已预测或已知的)轨迹。这把"条件"从"只 condition on ego"推广到"在所有智能体间建立因果序"。
多视角理解(三个条件预测方法,其实在回答"condition on 什么"这个递进问题):把 PRECOG/PiP/M2I 并排,会看到"条件"的对象在逐步精细化: - PRECOG:condition on ego 的目标/计划——最早承认"预测要看 ego 想干嘛"。它的贡献是概念性的:第一次把"conditional forecasting"作为明确范式提出。 - PiP:condition on ego 的完整 planned trajectory,且**枚举多个候选计划**分别预测——它不只问"他车会怎么反应我的计划",还把这变成一个评估工具:"我的哪个候选计划引发的社会后果最好?"。这已经隐含了"用预测来反向评价 ego 计划"的规划思想。 - M2I:condition 的对象从"只 ego"推广到**任意 influencer**,并先学一个 relation predictor 来**决定谁 condition on 谁**——它认识到"不是只有 ego 影响他车,他车之间也有影响者-反应者关系"。 递进的本质是"因果序的精细化":PRECOG/PiP 假设了一个固定的因果序(ego 是 leader),M2I 则学习每对智能体的因果序。这条递进直接通向它的局限(§4.4.3 末)——当双方是**对等谈判**(互相试探的并线,没有明确的 leader-follower)时,"必须定一个因果序"本身就是错的假设,于是需要范式三的"对等联合求解"(Nash 而非 Stackelberg)。所以条件预测这一范式内部的演化,也是一部'因果序假设逐步松绑'的小补漏史——与 §4.1 的大补漏链同构。
本质洞察(条件预测的精神内核就是博弈论的 Stackelberg 领导者):这是本章与博弈综述的**第一个会师点**。博弈综述 §3 讲 Stackelberg 博弈——ego 作为 leader 先承诺一个策略,他车作为 follower 观察后做出最优反应。条件预测做的是同一件事:ego 先给出计划(leader 承诺),预测器算出他车的反应(follower 的最优响应)。区别仅在实现手段:博弈综述用**显式的数值博弈求解**(解 follower 的最优化问题)得到反应,条件预测用**学习的神经网络**(从数据里学 \(p(\text{他车}\mid\text{ego 计划})\))得到反应。一个是"求解派",一个是"学习派",但世界观完全一致——承认 ego 的行动会引发他车的反应,并据此推理。理解这个会师,你就明白为什么说"博弈规划和交互预测在终点相遇"。
条件预测的代价与局限:① 计算开销——要对多个 ego 候选计划分别做预测,算力翻倍;② 它仍是"两段",只是加了反馈——ego 先定计划、再看反应、再调计划,本质上是迭代的两段式,不是真正的"同时求解";③ 谁先谁后的鸡生蛋问题——M2I 要先判断 influencer/reactor,但有些场景里双方是对等谈判(互相试探的并线),强行定因果序会失真。这把问题推向范式三:让预测和规划**真正同时、联合**求解。
4.4.4 范式三:联合一体化(joint / game-theoretic / end-to-end)——预测与规划共生¶
机制。联合范式彻底拆掉预测与规划之间的墙:预测和规划在同一个优化问题/同一个网络里共同求解,没有先后,互为条件。这又分两条技术路线:
路线 A:可微联合优化(differentiable joint optimization)。代表是 DIPP(Differentiable Integrated Prediction and Planning, TNNLS 2023)。它把一个**可微的非线性轨迹优化器**嵌进神经网络:预测网络输出他车轨迹与一个**可学习的代价函数(learnable cost),规划器用这个 cost 求解 ego 的最优轨迹,而整个管线(预测 + 优化器)端到端可微——梯度能从"最终规划质量"一路回传到预测网络。于是预测不再是孤立训练的,而是**为了让下游规划更好而被训练。
多视角理解(DIPP 的"可微优化器嵌入"在做什么): - 端到端视角:传统是"预测单独训、规划单独调参";DIPP 让"预测 + 规划"成为一个端到端可微函数,用最终驾驶质量这一个目标统一优化两者。像/不像:像把两个独立工序焊成一条流水线;不像在于焊接处(优化器)本身可微,梯度能穿过它。 - 学习 cost 视角:规划器的代价函数(多看重安全/舒适/效率)传统上靠人工调参;DIPP 让这个 cost 从数据里学出来(模仿人类驾驶)。这与博弈综述里"逆最优控制/逆博弈学代价"的思路会师。 - 可微性视角:把优化器变可微是关键技术——用隐函数定理对优化的 KKT 条件求导,使"求解最优轨迹"这一步也能传梯度。这是 §4.3 之外的一类重要工具(可微优化层),是连接"学习"与"优化"两个世界的桥。
本质洞察(DIPP 路线的深层价值:它在"全黑箱端到端"与"全手工优化"之间,保住了可验证的优化器):DIPP 这类"可微优化嵌入"常被低估,但它代表了一种极有工程智慧的中间路线。两个极端各有致命伤:全手工优化(传统规划)——可验证但 cost 靠人调、难处理复杂场景;全黑箱端到端(UniAD)——能学复杂场景但不可验证、不可解释。DIPP 的精妙在于:它把"该学的"(预测他车、cost 的参数)交给神经网络,把"该保证的"(约束满足、最优性结构)交给一个显式的、可验证的优化器,再用可微性把两者端到端连起来。这样既获得了学习的表达力,又保住了优化器的可解释性与约束保证(输出轨迹一定满足你写进优化器的硬约束,如不碰撞、动力学可行)。对安全关键系统,这种"学习提供软知识、优化器保证硬约束"的分工,往往比纯端到端更可落地——因为安全团队能审查那个显式优化器。这与 §4.6.6 的"安全层"、§4.2.2 的"物理层守门"、博弈综述的"优化保证"是同一种贯穿全教程的安全工程哲学:把可信赖性建立在可审查的显式结构上,而非寄望于黑箱学到了正确行为。
路线 B:博弈式联合(game-theoretic)。代表是 GameFormer(ICCV 2023 oral)——本章与博弈综述的**最强会师点**。它用 level-k 博弈论(认知层级博弈:level-0 是不考虑他人的朴素行为,level-1 是假设他人是 level-0 后的最优反应,level-2 是假设他人是 level-1……)的结构来组织 Transformer 解码器:解码器迭代地、交替地 refine "预测他车"和"规划 ego"——第 \(k\) 层让每个智能体(含 ego)基于"对其他智能体第 \(k{-}1\) 层预测"做出反应,逐层逼近一个博弈均衡。它在 nuPlan 闭环上达到领先。
多视角理解(level-k 的"认知层级"到底在建模什么): - 认知博弈视角:level-k 来自行为博弈论,刻画"我对你的推理深度"。level-0 = "我不考虑别人,按自己习惯走";level-1 = "我假设别人是 level-0(按习惯走),我对此做最优反应";level-2 = "我假设别人是 level-1(会反应我),我再对此反应"……每加一层,推理嵌套就深一层。真实人类司机大多停在 level-1 或 level-2(不会无限递归"我想你想我想你……"),这也是 GameFormer 通常只迭代少数几层的原因。 - 迭代细化视角:把 level-k 映射到 Transformer 解码器的 \(k\) 轮迭代——第 1 轮每个智能体给出"朴素预测"(level-0/1),第 2 轮每个智能体看到"上一轮所有人的预测"再修正自己(level-2),如此迭代。这恰好就是博弈综述里"迭代最佳响应(iterated best response)"的神经网络版——用解码器层数模拟博弈的推理轮数。像/不像:像在于都是"反复让各方基于对方上一轮决策更新自己";不像在于博弈综述每轮解一个优化问题,GameFormer 每轮过一层注意力。 - 收敛视角:随着 \(k\) 增加,若迭代收敛,各智能体的预测就趋于一个互相一致、互为最优的不动点——这正是博弈均衡(近似 Nash)。GameFormer 用有限层数逼近这个不动点。
对比性思维(level-k 博弈 vs 求精确 Nash 均衡——为什么"有限层"反而更贴合现实):博弈综述里求精确 Nash 均衡(如 ALGAMES)假设所有智能体都是"完全理性、无限推理深度"的;level-k 反而**故意只推理有限层**。这不是 level-k 的缺陷,而是它的**优点**——真实人类司机就是有限理性的(没人在路口做无限层"我想你想我……"的递归),level-k 的有限层数恰好建模了这种有限理性,比"假设对手完全理性"的精确 Nash 更贴合真实人类行为。这是行为博弈论相对经典博弈论的洞察,也是 GameFormer 等"学习派博弈"相对"求解派精确均衡"的一个微妙但重要的优势——它建模的是人真实怎么想,而非人理论上该怎么想。
本质洞察(联合范式与博弈规划是"同一枚硬币"——这是本章最重要的会师宣告):这是本章与博弈综述 §3 的**正式、彻底的会师**。博弈综述把交互建成"会响应你的决策者",用**数值方法求解博弈均衡**(迭代最佳响应、ALGAMES、iLQGames 等);本章的联合范式把交互建成"可微网络/学习模块",用**梯度下降逼近博弈均衡**(GameFormer 的 level-k 解码、DIPP 的可微优化)。两者在数学上指向同一个对象——一个所有智能体策略互相最优的均衡点,只是一个用"求解器"逼近、一个用"学习器"逼近。GameFormer 的名字本身就是宣言:Game(博弈)+ Former(Transformer)= 用 Transformer 学博弈。回到 §4.1.1 的"三级跳"——第三级"耦合"的觉醒,到联合范式这里抵达终点:预测与规划不再是两件事,它们是同一个博弈均衡问题的两个名字。 这就是为什么本教程把"交互预测"和"博弈规划"作为一对孪生综述并列编写——它们是从"学习"和"求解"两侧攀登同一座山峰。
路线 C:感知-预测-规划端到端(end-to-end driving)。代表是 UniAD(CVPR 2023 Best Paper)——它把联合范式推到极致:连感知都一起联合。检测、跟踪、建图、运动预测、占据预测、规划全部串进一个端到端 Transformer,所有上游任务"服务于"最终规划目标,梯度从规划一路回传到感知(§4.1.5 的 "planning-oriented" 理念)。VAD/VADv2 走全向量化路线更轻量。在这条线里,"预测"彻底溶解成端到端管线的一个**中间表示(intermediate representation)**,不再是可单独拎出来评估的独立模块。
本质洞察(UniAD 的 "planning-oriented" 不是"更大的网络",而是"目标对齐"的范式宣言):UniAD 容易被误读成"把所有模块拼成一个大网络",但它的真正贡献是一个**目标对齐(goal alignment)** 的理念转变。传统管线里,每个模块各自优化各自的目标——检测优化 mAP、预测优化 minADE、规划优化轨迹质量——这些局部目标的最优,未必导向全局(驾驶安全)的最优(一个 minADE 极低的预测,可能对最终规划毫无帮助,§4.4.5)。UniAD 的 "planning-oriented" 说的是:让所有模块的目标都向'最终规划质量'对齐,梯度从规划回传,逼着上游'为了让车开得好'而学习,而非'为了自己的指标好看'而学习。这与 §4.4 整节的主旨完全一致——它把"目标对齐"从"预测↔规划"两个模块推广到了"感知→预测→规划"整条链。理解这一点,你就明白为什么它能拿 Best Paper:它不是工程上的"拼装",而是认识论上的"把局部指标的暴政,换成全局目标的统一"——这正是对 §4.5.3"刷局部开环指标 ≠ 全局有用"那个原罪的架构级回应。但代价也在此:目标对齐换来了端到端的不可分解,于是各模块无法单独评估、单独验证,黑箱风险陡增——这是它"上限最高但最难验证"的根。
对比性思维(联合范式的三条路线——可微优化 vs 博弈 vs 端到端):三条路线都"打破了墙",但拆法不同。可微优化(DIPP) 保留了显式的优化器和可解释的 cost,把学习用在"提供预测和 cost"上——最保守、最可验证;博弈(GameFormer) 把博弈结构作为归纳偏置注入网络,介于显式与隐式之间——最贴合交互的数学本质;端到端(UniAD) 完全溶解模块边界,让梯度自由流动——最激进、最黑箱、上限最高但最难验证。这条"保守↔激进"光谱上的取舍,对应着"可解释性/可验证性"与"性能上限"的永恒权衡,也呼应了 §4.1.6 VLA 那条"显式 vs 隐式"的哲学分野。
4.4.5 三范式如何回应两大病灶:一张对照表¶
把 §4.4.2 的两大病灶(frozen robot、self-fulfilling prophecy)和三范式交叉,得到本节的核心对照——这张表是判断"一个系统是否真正解决了交互"的诊断工具:
| 范式 | 对 frozen robot | 对 self-fulfilling prophecy | 根本原因 | 代价 |
|---|---|---|---|---|
| 解耦 | ❌ 患病(预测无视 ego,悲观分支吓住规划) | ❌ 患病(退让使悲观预测自证) | 信息单向、预测假设 ego 被动 | 工程最简单 |
| 条件 | ✅ 缓解(预测知道 ego 会主动,能预测"他车让行") | ⚠️ 部分缓解(仍可能因 ego 计划保守而自证) | 预测 condition on ego 计划 | 算力翻倍、仍是迭代两段 |
| 联合 | ✅ 根治(预测与规划共求均衡,ego 主动性内生) | ✅ 根治(均衡解里 ego 的果断与他车的让行互相一致) | 同一优化里共生、逼近博弈均衡 | 训练复杂、算力高、难验证 |
本质洞察(治这两个病的不是"更准的预测",而是"更深的耦合"):这是本节、乃至本章 §4.4 想钉死的一个认知。回顾 §4.4.2 的教学警示——开环指标上完美的预测器也治不了 frozen robot。真正的药方在"耦合深度"这根轴上,而不在"预测精度"这根轴上。 解耦→条件→联合,每深一步,对两病的疗效就强一档。这解释了一个看似矛盾的现象(§4.5 会用闭环数据印证):为什么独立提升预测器的开环精度,对最终闭环驾驶安全的边际贡献越来越小——因为瓶颈早就从"预测准不准"转移到了"预测和规划耦合得够不够深"。看懂这一点,你就理解了 2024 年后顶会重心为何坚决地从"纯预测涨点"转向"联合/端到端"——研究者们集体意识到,再在解耦架构里把 minADE 刷低,是在错误的轴上努力。
4.4.6 一个贯穿三范式的具体场景:密集车流强行汇入¶
抽象的范式对照容易记成口号,本小节用**一个具体场景**把三范式走一遍,让你"看见"耦合深度如何改变行为。这也是 R6 工具 A(多视角理解)在叙事层面的应用——同一场景,三种系统三种活法。
场景设定:ego 在匝道末端,要汇入主路车流。主路上 B 车正以稳定速度逼近汇入点,二者大致同时到达。物理上存在两种自洽的未来:(甲) ego 先汇、B 减速让行;(乙) B 先过、ego 等待。这是一个典型的"二选一谈判"——没有交互建模,无法确定走哪个。
解耦范式怎么走(患病): 1. 预测模块独立预测 B 的未来。由于它**不知道 ego 想汇入**(marginal 假设 B 独立演化),它基于"B 当前匀速"预测出"B 继续直行、不减速"这条主导轨迹(这在"ego 不汇入"的隐含前提下确实是 B 最可能的行为)。 2. 规划模块拿到"B 不让"的预测,把 B 的轨迹当成硬障碍。它发现:现在汇入会与 B 的预测轨迹冲突 → 不安全 → 最优解是**等待**。 3. ego 等待,B 果然直行通过。预测"准"了,但 ego 错失了汇入时机——若车流密集,ego 可能永远等不到"主路自己空出来",于是 frozen(§4.4.2 病灶一)。更糟的是,"B 不让"这个预测被 ego 的等待**自我实现**了(§4.4.2 病灶二)——系统由此"学到""汇入很难、还是等吧",陷入越来越保守的认知闭环。
条件范式怎么走(缓解): 1. 规划模块先提出一个**候选计划**:"ego 果断汇入"。 2. 预测模块 condition on 这个计划预测 B:现在它知道"ego 正在果断切入我前方",于是预测出"B 减速让行"(因为数据里见过无数次'有车果断切入时,理性司机会让')。 3. 规划模块看到"若我果断汇入,B 会让",于是判断汇入安全 → 执行汇入。frozen 被打破——因为预测不再假设 ego 被动(§4.4.3)。 4. 局限:这里 ego 是"先猜一个计划、再验证 B 反应",本质是迭代两段式。若候选计划生成得保守(只敢提"缓慢试探"),仍可能不够果断;且对每个候选计划都要重算一次 B 的反应预测,算力翻倍。
联合范式怎么走(根治): 1. 不分先后——预测与规划在同一个优化/网络里**共同求解**一个一致的联合未来。 2. 求解过程(无论是 GameFormer 的 level-k 迭代还是 DIPP 的可微优化)会收敛到一个**博弈均衡**:在均衡里,"ego 果断汇入"和"B 减速让行"互为最优、互相一致——ego 因为预期 B 会让而敢汇,B 因为看到 ego 在汇而让。这正是物理上自洽的未来(甲)。 3. 输出的 ego 计划与 B 预测**天然兼容**(不像解耦那样一个要冲一个不让地打架),frozen robot 与 self-fulfilling prophecy 都被根治——因为系统直接求解了"双方都最优"的联合结果,而非"假设对方不动"的悲观单边解。 4. 代价:求解/训练复杂,算力高,且这个"博弈均衡"在多车、多模态下可能不唯一(选哪个均衡本身是难题),验证也更难。
本质洞察(同一场景三种活法,本质是"对 B 的反应性建模了几分"):把三范式在这个场景里并列,会看到一条清晰的递进——解耦把 B 当成"不会对我反应的死障碍",条件把 B 当成"会对我的既定计划反应的 follower",联合把 B 当成"和我同时博弈、互相反应的对等玩家"。对 B 反应性的建模从"零"到"单向"到"双向耦合",恰好就是耦合深度的三档。这个场景因此是整节的"缩影"——你日后判断任何一个系统的耦合深度,都可以套这个问题:它把他车当成死障碍、单向 follower、还是对等博弈方? 答案就是它的范式归属。这也再次印证了 §4.2.4 那句"交互做到尽头,预测与规划的墙必然倒塌"——因为只有联合范式才真正建模了"双向反应"这个交互的本质。
对比性思维(人类司机其实天生用联合范式):一个熟练的人类司机汇入时,绝不会"先独立猜主路车会不会让、再决定汇不汇"(解耦),而是**一边用车头姿态向主路车"释放汇入意图"、一边观察对方是否松油门,在零点几秒内完成一次心照不宣的博弈谈判**——这就是联合范式的人类版。新手司机之所以在汇入/环岛"frozen",恰恰是因为他们退化到了解耦思维("我先看清楚再动"),而老司机用的是联合思维("我动起来,用我的动作和对方谈判")。这个类比的边界:人类的"谈判"靠的是常识与社会默契(眼神、车头微动),当前的联合算法靠的是数值均衡或学习——像在"双向反应"的结构,不像在"实现手段"。这个类比也预告了 §4.6.6——VLA/基础模型想注入的,正是人类这种"社会默契常识"。
4.4.7 与博弈综述的会师全景:两条路、一座山¶
本节多次提到"会师",这里做一个总结性的全景——这是理解本章在整个规控体系中位置的关键。
博弈规划综述(30_博弈规划.md)走的是"求解派"路线:把他人显式建模成有自己代价函数、会做最优反应的决策者,用数值优化(迭代最佳响应、iLQGames、ALGAMES、可微博弈)求解 Nash/Stackelberg 均衡。它的优势是**数学严格、可解释、有理论保证**;劣势是**对代价函数和模型假设敏感、难以处理高维感知输入、计算可能不实时**。
本章交互预测综述走的是"学习派"路线:从大规模数据中学习他人的行为分布,用神经网络(LSTM/GNN/Transformer/扩散)逼近预测,再通过条件/联合范式与规划耦合。它的优势是**能吃原始感知、能处理复杂场景、数据驱动**;劣势是**黑箱、难验证、依赖数据分布、长尾脆弱**。
两条路在三个点会师: 1. 条件预测 ↔ Stackelberg 博弈(§4.4.3):ego 作 leader 承诺计划,他车作 follower 反应——求解派用优化算反应,学习派用网络学反应。 2. 联合范式 ↔ Nash 均衡求解(§4.4.4):预测与规划共求"互相最优"的均衡——GameFormer 的 level-k 学习 ≈ 博弈综述的迭代最佳响应。 3. 可学习 cost ↔ 逆博弈/逆最优控制(§4.4.4 路线 A):DIPP 从数据学规划 cost ≈ 博弈综述从演示反推他人代价函数。
本质洞察("求解 vs 学习"不是竞争,而是互补,未来必然融合):很多初学者把博弈规划和学习预测看成对立的两派,要分个高下。这是误解。它们是攀登"交互决策"这座同一座山的**两条互补路线**——求解派提供**严格性与可验证性**(安全关键场景的刚需),学习派提供**表达力与可扩展性**(复杂真实世界的刚需)。当前最前沿的工作(GameFormer、DIPP、以及博弈综述流派六"可微博弈/学习混合")正是二者的融合:用学习处理感知与建模、用博弈/优化保证交互的结构与安全。这个融合判断,是本对孪生综述(
30_博弈规划.md+ 本章)想共同传递的最高层结论——也是你作为机器人工程师,在"纯优化"和"纯学习"之外应当瞄准的第三条路。
4.4.8 本节速查表¶
| 维度 | 解耦 | 条件 | 联合 |
|---|---|---|---|
| 信息流 | 预测→规划(单向) | 规划假设→预测→规划 | 预测⇄规划(耦合) |
| 数学刻画 | \(p(\text{他车}\mid\text{历史})\) | \(p(\text{他车}\mid\text{历史},\text{ego 计划})\) | 联合均衡求解 |
| 博弈对应 | 无 | Stackelberg(leader-follower) | Nash(共求均衡) |
| frozen robot | 患病 | 缓解 | 根治 |
| 代表作 | 工业标配管线 | PRECOG, PiP, M2I | DIPP, GameFormer, UniAD/VAD |
| 与博弈综述会师 | — | §4.4.3 | §4.4.4 / §4.4.7 |
本节常见陷阱(覆盖概念混淆类、因果误判类、评估误导类、选型类):
陷阱一:以为"把预测做得更准就能解决 frozen robot"。 现象:团队把资源全投在刷预测精度上,却发现机器人在汇入场景还是不敢动。根本原因:不理解 §4.4.2 教学警示——病在架构的单向性,不在精度。正确做法:往"耦合深度"轴上走(上条件或联合范式),而非死磕开环精度。
陷阱二:混淆 frozen robot 与 self-fulfilling prophecy。 现象:把两者当成一个病或随意互换。根本原因:没区分"行为后果(不敢动)"与"认知闭环(悲观预测自证)"。正确做法:记住它们同源但一个谈行为、一个谈认知(§4.4.2 对比性思维)。
陷阱三:把"条件预测"误当成"联合优化"。 现象:实现了 condition on ego 计划就宣称"做了联合规划-预测"。根本原因:没意识到条件范式仍是迭代两段式,不是同一优化里共生(§4.4.3 局限)。后果:低估了真正联合范式的训练复杂度。正确做法:分清"加了反馈的两段"与"真正同时求解的一体"。
陷阱四:把端到端的高开环分当成"解决了耦合"。 现象:UniAD/VAD 类模型开环指标漂亮就以为闭环驾驶也好。根本原因:忽视开环-闭环鸿沟(§4.5 详述)——端到端模型同样受此困扰,甚至因黑箱更难诊断。正确做法:用闭环 benchmark(nuPlan CLS)评估,别只信开环数。
陷阱五:把博弈规划和学习预测看成互斥对立。 现象:争论"该用博弈求解还是该用神经网络预测"。根本原因:没看到 §4.4.7 的会师与互补。正确做法:理解二者是同一座山的两条路,前沿在于融合。
本节练习: 1. (病灶诊断) 描述一个你生活中见过的"人类司机版 frozen robot"场景(如新手在环岛迟迟不敢汇入)。分析:如果给这个新手装上"条件预测"的能力(即"我果断一点,对方多半会让"),他的行为会怎么变?这对应本节哪个范式跃迁? 2. (自我实现预言) 解释为什么一个"永远保守等待"的自动驾驶系统,会让它的预测器在数据上看起来"越来越准",却永远学不会果断。这个反馈闭环如何阻碍系统进步?(提示:从训练数据的分布被系统自身行为污染的角度思考。) 3. (会师论证) 用自己的话论证"条件预测 ≈ Stackelberg 博弈"。明确指出:谁是 leader、谁是 follower、求解派和学习派分别如何得到 follower 的反应、二者的世界观为何一致。 4. (范式选型) 你要为三个场景各选一种耦合范式并说明理由:(a) 高速公路定速巡航;(b) 城区无保护左转穿越对向车流;(c) 安全关键、需通过功能安全认证的园区低速接驳。指出每个选择在"性能/可验证性/算力"上的取舍。 5. (开放·融合) §4.4.7 说未来在于"求解派与学习派融合"。请设计一个融合方案的草图:哪部分用学习(如感知、行为分布)、哪部分用博弈/优化(如安全约束、均衡求解)、它们如何接口。这道题没有标准答案,重在体现你对两条路线优劣的理解。 6. (概率视角) 用 §4.4.1 多视角理解里的"概率语言",把解耦/条件/联合三范式分别写成它们建模的概率对象(\(p(\tau_{\text{他}})\) / \(p(\tau_{\text{他}}\mid\tau_{\text{ego}})\) / \(p(\tau_{\text{他}},\tau_{\text{ego}})\))。再解释:为什么"独立假设 \(p(\tau_{\text{他}},\tau_{\text{ego}})\approx p(\tau_{\text{他}})p(\tau_{\text{ego}})\)"在强交互场景是错的?它与 §4.2.4 的碰撞反例如何对应? 7. (循环依赖) §4.4.1 说预测-规划是"鸡生蛋的循环依赖"。请论证:为什么"循环依赖"这个视角能统一解释三范式(解耦=切断循环、条件=走一两遍循环、联合=求循环的不动点)?再举一个你熟悉的其他工程领域里"循环依赖"的例子,说明人们一般怎么打破它。 8. (场景推演) 把 §4.4.6 的汇入场景改成"四岔路口四车同时到达"。分析:解耦范式下会发生什么(提示:所有车互相把对方当障碍)?联合范式要求解一个什么样的均衡?为什么车数增多会让"选哪个均衡"变难(提示:均衡可能不唯一)?这道题指向多智能体博弈的均衡选择难题。
过渡到 §4.5:§4.4 反复提到一个幽灵——"开环指标与闭环部署的错配"。我们说"提升开环精度治不了 frozen robot""端到端开环分高不代表闭环好",但还没正面讲清楚:到底用什么数据、什么指标来评估预测和规划?这些指标为什么会骗人? 下一节就专门解剖评估体系——数据集的定位差异、minADE/minFDE 这套 min-over-K 指标的含义与争议、各 leaderboard 的排序口径,以及那条贯穿全章的根本裂缝:开环与闭环的鸿沟。
§4.5 数据集与评估指标 ⭐⭐⭐¶
本节解决的问题:一个方向的进步是被它的"标尺"塑造的——你用什么指标评判,研究者就往什么方向优化。交互预测方向的标尺由两部分组成:数据集(拿什么场景训练和测试)和**评估指标**(用什么数来打分)。本节先横向对比四大主流数据集的定位差异,再深挖 minADE/minFDE 这套 "min-over-K" 指标的精确含义与内在争议,最后正面解剖贯穿全章的根本裂缝——开环指标与闭环部署的错配。读完你应能看懂任何一篇预测论文的实验表、判断它在哪个榜单上、用什么口径排名,并对"榜单高分"保持清醒的怀疑。
4.5.1 为什么"评估"值得单列一节¶
在很多技术方向,评估只是附属——做出方法,跑个指标,报个数。但在交互预测方向,评估本身就是一个充满陷阱、甚至左右了整个方向走向的核心议题,理由有三:
第一,多模态使评估天然困难。预测输出的是一个"轨迹分布的 K 个样本",而真值只有一条(数据里只录到了实际发生的那一个未来)。用"一条真值"评判"K 个预测分布样本",本身就是不良定义的——你怎么知道那些没发生的模态是对是错?这逼出了 min-over-K 这类"取最优样本"的指标,而它们带着深刻的副作用(§4.5.3)。
第二,开环-闭环鸿沟使"高分"可能误导。绝大多数预测指标是**开环(open-loop)** 的——在录制好的固定数据上,比较预测轨迹与真值轨迹的距离。但真实部署是**闭环(closed-loop)** 的——车的每个动作都会改变后续场景。一个开环指标极高的模型,闭环开起来可能很差(§4.5.4)。这个鸿沟是 §4.4 反复提及的幽灵,本节正面捉它。
第三,榜单口径差异塞满了魔鬼细节。nuScenes、Argoverse、Waymo、nuPlan 各自的排序主指标、K 值、时间跨度、marginal/joint 口径都不同,不理解这些,读论文实验表时会张冠李戴、错误对比。
本质洞察(指标即激励——你度量什么,就会得到什么,连同它的副作用):评估指标不是中立的"温度计",而是塑造整个方向的"激励函数"。当 minADE 成为主榜指标,研究者就会优化"K 条里最好那条的精度",于是催生了"广撒网刷分"(§4.5.3);当 nuPlan 用闭环分,研究重心就转向闭环鲁棒性。理解一个方向,很大程度上就是理解它的指标在奖励什么、纵容什么。 这一节教你的不只是"有哪些指标",而是"每个指标在悄悄激励什么扭曲行为"——这是读懂整个方向研究动态的元能力。
对比性思维(这正是 Goodhart 定律在预测方向的活体标本):经济学有一条 Goodhart 定律——"当一个度量成为目标,它就不再是好的度量"(because people will game it)。交互预测方向是这条定律的完美标本:minADE 本想度量"预测得好不好",但一旦它成为 leaderboard 的目标,研究者就会优化它本身(广撒网、对数据集偏置过拟合),于是 minADE 越刷越低、却越来越偏离"对驾驶有用"这个真实目标。这不是研究者不诚实,而是激励结构的必然——你用什么排名,人就优化什么,连同它的漏洞。理解 Goodhart 定律,你对一切"刷榜进步"都会多一层清醒:进步可能是真的(模型真变好),也可能是 Goodhart 式的(只是更会刷这个特定指标)。区分这两者的唯一办法,是看它在'没被当成目标优化过'的新指标/闭环上是否也好——这正是闭环评估(§4.5.4)、任务驱动评估(§4.5.6)的价值:它们更难被直接 game。这条定律也是 §4.6 那些开放问题的元背景——很多"开放问题"本质是"我们还没有一个难以被 game 的好指标"。
4.5.2 四大数据集的定位差异¶
交互预测/运动规划方向有四个绕不开的大型数据集,它们不是"同一件事的不同版本",而是**定位、规模、评估哲学各不相同**的四块基石。理解它们的差异,是读懂"某方法在哪个榜上 SOTA"的前提。
(1) nuScenes(2019,Motional/nuTonomy)。全栈自动驾驶数据集(含 3D 检测、跟踪、预测、建图等多任务),预测子任务用 6 秒 预测跨度,排序主指标是 minADE₅(K=5)。它规模相对小、但多模态传感器齐全(相机+激光+毫米波),是早期预测研究的常用台子。定位:多任务全栈、中等规模、预测是其中一环。
(2) Argoverse 1 / Argoverse 2(2019 / 2021,Argo AI)。专为运动预测设计**的数据集。Argoverse 1 用 **3 秒 预测跨度(给 2 秒历史预测 3 秒未来);Argoverse 2 扩展到更长跨度(6 秒)、更多场景类型与更丰富的地图。排序主指标是 brier-minFDE(K=6)——注意它不是单纯的 minFDE,而是把"最优那条的终点误差"乘上一个与"该条预测概率"相关的 Brier 惩罚项(预测越自信却越偏,罚得越重)。定位:预测专用、大规模、地图丰富、是纯预测方法的主战场。
(3) Waymo Open Motion Dataset / WOMD(2021,Waymo)。规模最大、交互最密集的预测数据集之一。它给 1 秒历史,在 3、5、8 秒 三个时间点评估(最长跨度,对长时预测最严苛)。排序主指标是跨时间平均的 Soft mAP(mean Average Precision 的软化版,把预测当成"检测"问题来评 precision-recall)。关键特色:它**明确区分 marginal 赛道和 interactive/joint 赛道**(§4.2.4 的边缘 vs 联合在这里被正式制度化)——interactive 赛道要求输出成对智能体的联合一致预测。定位:最大规模、最长跨度、首个正式区分联合预测、MTR 等称霸于此。
(4) nuPlan(2021,Motional)。第一个大规模闭环规划 benchmark——这是它与上述三者的根本区别。前三者都是**开环预测**数据集(比预测轨迹与真值的距离),nuPlan 是**闭环规划**台子:它提供一个轻量级闭环模拟器,让你的规划器实际"开"起来,用驾驶结果(是否碰撞、是否偏离、是否舒适)评分。它的三个核心指标:OLS(开环分)、CLS-NR(非反应式闭环分)、CLS-R(反应式闭环分)——后两者的区别是周围交通智能体是否会对 ego 做出反应。定位:唯一的大规模闭环台子,是检验 §4.4 耦合范式真实效果的地方。
对比性思维(开环预测台 vs 闭环规划台——不是规模之差,是哲学之差):nuScenes/Argoverse/Waymo 与 nuPlan 的区别,不是"小数据集 vs 大数据集",而是"开环 vs 闭环"这一根本的评估哲学之差。前三者问"你预测的轨迹离真值有多近"——这是一个**静态的、一次性的**比较,车不会真的动。nuPlan 问"你开起来安不安全"——这是一个**动态的、累积的**评判,每个决策都改变后续场景。这个差别决定了:在前三者上 SOTA 的预测器,未必能在 nuPlan 上开好(§4.5.4)。理解这层哲学之差,比记住"哪个数据集多大"重要一百倍。
本质洞察(数据集的演化本身就是一部"补漏史",与 §4.1 的方法补漏链同构):把四个数据集按时间排开,会看到它们也在层层补前者的漏,与 §4.1 的方法演化是同一种规律。ETH/UCY(行人,早期):只有行人、无地图——漏了车辆与地图。nuScenes(2019):补了多传感器与地图,但规模小、预测只是多任务之一——漏了大规模专用预测数据。Argoverse(2019):补了大规模、地图丰富的专用预测数据,但跨度短(3s)、只评边缘——漏了长时与联合。Waymo WOMD(2021):补了最大规模、最长跨度(8s)、首次正式区分联合预测——但仍是开环,漏了"评估与部署的错配"。nuPlan(2021):补上了闭环这一最大的漏——但闭环模拟的反应智能体不够真,又漏了"模拟的真实性",于是 2025 年 SMART 等反应智能体来补(§4.5.4)。这条数据集补漏链揭示一个深刻的事实:每个新数据集都是对'上一代数据集让研究者优化错了方向'的纠偏——Argoverse 让大家刷边缘 minADE,Waymo 说"还要管联合",nuPlan 说"开环根本不对,要闭环"。数据集不是中立的容器,而是和指标一样(§4.5.1),是塑造整个方向走向的'激励函数'。看懂这条链,你就明白为什么"在哪个数据集上 SOTA"本身就携带了"被引导往哪个方向优化"的信息。
四大数据集速查:
| 数据集 | 年份 | 类型 | 历史/预测跨度 | 排序主指标 | K | marginal/joint | 定位 |
|---|---|---|---|---|---|---|---|
| nuScenes | 2019 | 开环预测(多任务) | 预测 6s | minADE₅ | 5 | marginal | 多任务全栈、中等规模 |
| Argoverse 1 | 2019 | 开环预测(专用) | 2s→3s | brier-minFDE | 6 | marginal | 纯预测主战场 |
| Argoverse 2 | 2021 | 开环预测(专用) | →6s | brier-minFDE | 6 | marginal | 更长跨度、更丰富地图 |
| Waymo WOMD | 2021 | 开环预测(专用) | 1s→3/5/8s | Soft mAP(跨时平均) | 6 | 两赛道分立 | 最大规模、首个正式联合 |
| nuPlan | 2021 | 闭环规划 | 闭环模拟 | OLS / CLS-NR / CLS-R | — | — | 唯一大规模闭环台 |
多视角理解(nuPlan 三个指标 OLS / CLS-NR / CLS-R 的微妙递进——它本身就是一部"鸿沟教学"):nuPlan 同时报三个分,不是冗余,而是**故意让你看到从开环到闭环的鸿沟有多大**: - OLS(Open-Loop Score):开环分——让规划器在录制数据上输出轨迹、比与人类真值的相似度。这是"模仿得像不像"。 - CLS-NR(Closed-Loop Score, Non-Reactive):非反应式闭环分——规划器实际驾驶,但**背景车按录制的轨迹回放、不对 ego 反应**。这暴露了 §4.5.4 原因一、二(误差累积、因果混淆),但还没暴露交互。 - CLS-R(Closed-Loop Score, Reactive):反应式闭环分——背景车会对 ego 做出反应(早期用 IDM 跟车模型)。这才暴露了 §4.5.4 原因三(交互的反应性)。 关键的教学价值在于:一个模型在这三个分上的**落差**,恰好量化了它在"模仿"与"驾驶"之间掉了多少、在"无交互"与"有交互"之间掉了多少。常见现象是 OLS 高但 CLS 低(模仿得像但开不好),以及 CLS-NR 还行但 CLS-R 退化(不会处理交互)。所以读 nuPlan 结果时,别只看一个分,要看三个分的落差——落差本身就是诊断信息,告诉你模型的弱点在"序贯稳定性"还是"交互处理"。这是 §4.5.4 开环-闭环鸿沟在指标设计上的精巧体现。
4.5.3 minADE / minFDE 家族:min-over-K 指标的含义与争议¶
预测方向的开环指标,绝大多数是 min-over-K 家族。逐个讲清它们的定义与争议——这是读懂任何预测实验表的基本功。
基本定义。模型对一个智能体输出 \(K\) 条候选轨迹(通常 K=6),真值轨迹只有一条。设第 \(k\) 条预测在时刻 \(t\) 的位置为 \(\hat{p}^{(k)}_t\),真值为 \(p_t\),预测时长 \(T\):
- ADE(Average Displacement Error,平均位移误差):单条轨迹在所有时刻与真值的平均欧氏距离,\(\text{ADE}^{(k)}=\frac{1}{T}\sum_{t=1}^{T}\|\hat{p}^{(k)}_t - p_t\|\)。
- FDE(Final Displacement Error,终点位移误差):只看**终点**时刻的误差,\(\text{FDE}^{(k)}=\|\hat{p}^{(k)}_T - p_T\|\)。FDE 比 ADE 更严苛地考察"长时方向是否对"——因为误差在终点累积最大。
- minADE / minFDE(min-over-K):在 \(K\) 条预测里,**取与真值最接近的那一条**的 ADE/FDE,\(\text{minADE}=\min_{k}\text{ADE}^{(k)}\)。这是 K 条里的"最优样本"得分。
对比性思维(ADE 与 FDE 各偏袒什么——为什么要同时报两个):ADE 和 FDE 不是冗余,它们考察轨迹的不同侧面。ADE(全程平均) 看重"整条轨迹是否贴合"——一条全程小偏差的轨迹 ADE 低,但它对"终点偏多少"不敏感(因为被全程平均稀释)。FDE(只看终点) 看重"长时方向对不对"——它专门盯着误差累积最大的终点,因此对"模态选对没有"(左转还是直行,终点天差地别)极其敏感。一个常见的现象是:两车都直行但速度估计略偏,ADE 和 FDE 都低;而一辆该左转的车被预测成直行,ADE 可能还行(前半段都对)但 FDE 巨大(终点完全跑偏)。所以 FDE 更能暴露"模态/意图判断错误"这类致命问题,ADE 更能反映"全程平滑度"。同时报两者,是为了既看'贴不贴合'又看'方向对不对'——这也是为什么 Argoverse 用 FDE 系(brier-minFDE)做主排序:在自动驾驶里,"终点(意图)对不对"比"全程平均误差"更关乎安全。
为什么要 min-over-K:回到 §4.5.1 第一个理由——未来是多模态的,但数据里只录到一个真值。如果模型预测了"左转、直行、右转"三条,而真值是左转,用"平均所有 K 条的误差"显然不公平(会惩罚那些其实合理但没发生的右转预测)。min-over-K 的逻辑是:只要 K 条里有一条命中了真实发生的模态,就算模型"想到了"这个未来。这是对多模态的一种妥协性度量。
其他家族成员: - Miss Rate(MR,未命中率):K 条里最优那条的终点误差若超过某阈值(如 2 米),就算"miss",统计 miss 的比例。它考察"K 条里有没有一条足够接近"。 - brier-minFDE(Argoverse 主指标):minFDE 加上一个 Brier 惩罚 \((1-\pi_{k^*})^2\),其中 \(\pi_{k^*}\) 是最优那条预测的概率。它惩罚"猜对了但不自信"或"自信地猜了别的"——逼模型不仅要预测准,还要给对的模态赋高概率。这是对纯 minFDE "只看几何不看概率"缺陷的修补。 - mAP / Soft mAP(Waymo 主指标):把预测当成"检测"问题——每条预测带一个置信度,按置信度排序后算 precision-recall 曲线下面积。它能综合考量"准确性 + 概率校准 + 不重复刷模态"。
一个手算的数值例子(把抽象定义落地)。设预测时长 \(T=3\) 步(简化),某车真值轨迹终点 \(p_T=(10,0)\)。模型输出 \(K=3\) 条带概率的预测,三条的终点分别为:
| 预测 \(k\) | 终点 \(\hat p_T^{(k)}\) | 概率 \(\pi_k\) | FDE\(^{(k)}=\|\hat p_T^{(k)}-p_T\|\) |
|---|---|---|---|
| 1(直行) | \((9.2, 0.6)\) | 0.5 | \(\sqrt{0.8^2+0.6^2}=1.0\) |
| 2(左偏) | \((7, 5)\) | 0.3 | \(\sqrt{3^2+5^2}\approx 5.83\) |
| 3(右偏) | \((8, -4)\) | 0.2 | \(\sqrt{2^2+4^2}\approx 4.47\) |
- minFDE \(=\min_k\text{FDE}^{(k)}=1.0\)(预测 1 最接近真值)。
- Miss Rate(阈值 2 米):最优那条 FDE=1.0 < 2,故**未 miss**(该样本 MR 贡献 0)。
- brier-minFDE \(=\text{minFDE}+(1-\pi_{k^*})^2\),其中 \(k^*=1\) 是最优那条,\(\pi_{k^*}=0.5\)。故 \(=1.0+(1-0.5)^2=1.0+0.25=1.25\)。
多视角理解(这个数值例子揭示了三个指标的"性格"): - minFDE(1.0)的性格:只问"K 条里有没有一条够近",完全不看你给这条多少概率。它**宽容**——哪怕你给对的模态只赋 1% 概率,只要几何上接近就拿满分。这正是"广撒网"漏洞的根源。 - Miss Rate(0)的性格:比 minFDE 更"二元"——只关心"过没过阈值线",不区分"刚好压线"和"完美命中"。它适合统计"系统性失败率"。 - brier-minFDE(1.25)的性格:在 minFDE 上加了 0.25 的"不自信罚款"。如果模型把直行的概率从 0.5 提到 0.9,罚款会降到 \((1-0.9)^2=0.01\),brier-minFDE 降到 1.01。它逼模型不仅猜中、还要自信地猜中——这堵住了"广撒网但不敢给高概率"的部分漏洞。像/不像:像在于都以最优那条的几何误差为基;不像在于 brier 额外考核了"概率校准"这一维。
本质洞察(min-over-K 指标的根本争议:它奖励"想到了",却纵容"广撒网"):这是前置自测第 5 题的核心,也是整个开环评估体系的"原罪"。min-over-K 只看"K 条里最好的那条",这带来一个致命的可被利用的漏洞——模型可以靠"广撒网"刷分:与其精心预测几条高质量轨迹,不如撒出 K 条尽量分散、覆盖所有可能方向的轨迹,总有一条会蒙中真值,minADE 自然低。但这样的"预测"对下游规划毫无价值——规划器拿到 6 条乱撒的轨迹,等于拿到"什么都可能",反而更容易 frozen(§4.4.2)!所以 minADE 低 ≠ 预测有用。这正是 brier-minFDE(加概率惩罚)、mAP(看校准与 precision)试图修补的方向——但它们都是打补丁,没有根治"用一条真值评 K 个样本"的不良定义本质。理解这个原罪,你就明白为什么 §4.4.5 说"刷开环精度对闭环安全边际贡献递减"——因为开环高分里掺了大量"广撒网"的水分。
教学警示(不要被实验表里 0.01 的 minADE 差异唬住):读预测论文时常见"我们的 minADE 从 0.72 降到 0.69,SOTA!"。请保持清醒:① 这 0.03 的提升可能完全来自"广撒网"或对数据集特定偏置的过拟合;② 开环 0.03 的提升几乎不可能转化为可感知的闭环驾驶改善(§4.5.4);③ 不同论文若用了不同的 K、不同的预测跨度、不同的 marginal/joint 口径,数字根本不可直接比。学术 SOTA 的小数点后第二位,对工程部署的意义往往为零。 这是 R6 工具 B(对比性思维)和工程理性的体现。
多智能体场景的指标变体。上面的 minADE/minFDE 是针对**单个**待预测智能体的。当场景里有多个智能体要同时预测(multi-agent / scene-level),指标要相应推广,这里点清三个常见变体,避免读多智能体论文时困惑: - avgMinADE / avgMinFDE:把场景里所有待预测智能体各自的 minADE/minFDE 求平均。注意它仍是"先各自取 min、再平均"——所以它评的是**边缘**质量的平均,不强制联合一致性。 - actorMR:场景里所有智能体的 Miss Rate 的聚合——衡量"平均而言有多少智能体被 miss"。 - 联合(joint)指标:Waymo interactive 赛道的真正联合口径——要求输出 K 个**整体场景**预测,对每个场景预测里**所有**智能体都算误差,取场景级最优的那一个。这与"各自取 min 再平均"有本质区别(§4.2.4 边缘 vs 联合):联合指标里,一辆车选了第 3 模态,同一场景预测里的其他车也必须用与之兼容的模态,不能各取所需。
对比性思维(avgMinADE vs 真联合指标——又一个"边缘 vs 联合"的化身):不是"把每辆车的 min 平均一下就等于评了场景"。avgMinADE 允许"A 车用它的第 1 模态拿低分、B 车用它的第 5 模态拿低分",二者可能属于互不兼容的两个未来——它评的是"每辆车单独看最好能多准"。真联合指标则强制"A、B 必须在同一个场景未来里都还不错",它评的是"作为一个整体场景预测得多准"。前者宽松、刷分易;后者严苛、更贴合下游规划真正需要的"自洽的场景未来"。这个区别再次印证 §4.2.4 的本质洞察——边缘准 ≠ 联合准,连指标层面都要把这两件事分开评。
4.5.4 开环-闭环鸿沟:本方向最深的评估裂缝¶
现在正面捉住那个贯穿全章的幽灵——开环(open-loop)评估与闭环(closed-loop)部署的根本错配。
什么是开环 vs 闭环: - 开环评估:在一段**录制好的、固定的**真实数据上,让模型预测/规划,比较输出与"数据里实际发生的"真值的距离(minADE、L2 距离等)。车的预测不影响后续场景——因为场景是录死的回放。 - 闭环评估:让模型在一个**模拟器**里实际"驾驶",它的每个决策都改变车的位置、进而改变后续看到的场景、进而影响后续决策。误差会累积、会反馈。
为什么二者会严重错配——三个层层递进的原因:
原因一:误差累积(compounding error / covariate shift)。开环里每一步都用"真值历史"作为输入(teacher forcing),模型只需预测下一步;闭环里模型用"自己之前的(带误差的)输出"作为后续输入,误差会滚雪球般累积,把车带到训练分布之外的状态(covariate shift),那里模型从没见过、表现崩坏。这是模仿学习的经典顽疾——开环只考一步、闭环考整条轨迹的稳定性。
原因二:分布漂移与因果混淆。开环数据是"人类司机实际开出来的",模型可能学到**虚假相关**而非因果——经典例子是"刹车灯亮 → 减速"的因果被模型学反成"减速 → 推断该亮刹车灯",开环上对(因为数据里二者总同时出现),闭环上灾难(车不会因为自己想减速就让前车亮灯)。开环评估**无法暴露这类因果错误**,闭环立刻暴露。
原因三:交互的反应性在开环里被冻结。这是与 §4.4 最直接的连接——开环回放里,其他车的轨迹是录死的,绝不会对 ego 的新决策做出反应。于是开环评估**结构性地无法考察 frozen robot 和 self-fulfilling prophecy**——因为它根本不让"ego 影响他车"这件事发生。一个在开环上完美的预测器,可能在闭环里一汇入就冻死。
本质洞察(开环-闭环鸿沟,是把"预测"和"驾驶"误当成一回事的代价):开环指标度量的是"预测能力"——给定历史,复现未来有多准。闭环指标度量的是"驾驶能力"——在动态反馈中安全到达。这两件事的相关性远比直觉弱。nuPlan 论文自己的实证结论就是一句重锤:开环预测质量与闭环驾驶表现只有微弱相关。这从评估层面给了 §4.4.5 那个判断最硬的证据——为什么提升开环精度对闭环安全边际递减?因为它们度量的根本不是一回事。这也解释了 §4.1.5 之后整个方向的转向:从"在开环榜上刷 minADE"转向"在闭环 nuPlan 上提 CLS",从"独立预测器"转向"联合/端到端"。看懂这条鸿沟,你就拿到了评判这个方向一切'SOTA 宣称'的终极标尺。
前沿进展(2024–2025):让闭环更真实。即便 nuPlan 这样的闭环台也有局限——它的"反应式"背景智能体早期较简单(用规则跟车模型 IDM),不够像真人。2025 年的研究(如《When Planners Meet Reality: How Learned, Reactive Traffic Agents Shift nuPlan Benchmarks》)把**学习式反应智能体(如 SMART)** 接入 nuPlan,建立更真实的闭环。一个发人深省的结论:在这种更真实的高密度交互闭环下,多数规划器随交互复杂度上升而性能恶化——连 PLUTO、Diffusion-Planner、CaRL 这些 SOTA 也只在中等密度受益、高密度退化。这印证了 §4.6 将讲的"长尾与强交互才是真正的硬骨头",也说明**闭环评估本身也在不断逼近真实、不断抬高门槛**。
鸿沟的理论根:模仿学习的 covariate shift。把开环-闭环鸿沟追到底,会落到一个机器学习的经典理论问题上——模仿学习(imitation learning)的复合误差(compounding error)。监督学习假设训练和测试是**独立同分布(i.i.d.)** 的,但模仿驾驶违反了这个假设:训练时模型见到的是"人类司机访问过的状态分布",部署时模型访问的是"它自己(带误差地)开出来的状态分布"——一旦犯一个小错把车带偏一点,就进入了一个人类司机从没去过、训练数据没覆盖的状态,模型在那里更容易犯更大的错,误差像滚雪球。理论上,若每步误差为 \(\epsilon\),朴素行为克隆(behavior cloning)的闭环误差会随时间步 \(H\) 以 \(O(\epsilon H^2)\) 增长(而非 i.i.d. 期望的 \(O(\epsilon H)\))——这个**二次方**的恶化,正是开环低误差无法保证闭环安全的理论根源。
理论-工程桥接(缓解 covariate shift 的三条工程路线):理解了理论根,就理解了工业界为什么这样做—— - DAgger 类(数据聚合):让模型先开,把它开偏到的状态收集回来、请专家标注正确动作、加进训练集、重训,迭代缩小"训练分布"与"部署分布"的差距。本质是"哪里会犯错就补哪里的数据"。 - 闭环训练 / RL 微调:直接在闭环模拟里训练(而非开环监督),让模型在自己的状态分布上学习——CaRL 等用强化学习做闭环训练正属此类。代价是需要可微或可采样的模拟器。 - 加显式安全兜底:在学习策略之外套一层规则/优化的安全层(如可达性分析、控制屏障函数),把车"拉回"安全状态分布,不让它滚到崩坏区。这与 §4.6.6 的"安全层"和博弈综述的安全保证呼应。 这三条路线的共性是"想办法让模型在它真实会遇到的状态分布上变好",而非只在录制数据上变好——这正是从开环思维转向闭环思维的工程落点。
本质洞察(开环-闭环鸿沟不是"评估方法不好",而是"任务本质是序贯决策"):很多人把开环-闭环鸿沟当成"评估指标设计缺陷",以为换个更好的开环指标就能弥合。这是误判。鸿沟的根,是驾驶/预测-规划本质上是一个序贯决策(sequential decision making)问题——当前决策改变未来状态分布——而开环评估把它错误地当成了一个静态的、i.i.d. 的监督学习问题来评。 任务的本质(序贯、有反馈)与评估的假设(静态、无反馈)之间的错配,才是鸿沟的真正来源。这就是为什么 §4.4 的耦合、§4.5 的闭环、§4.6 的因果,本质上是同一个"序贯决策有反馈"在不同侧面的投影——它们共同指向一个判断:这个方向的终极正确框架,是序贯决策(决策论/强化学习/博弈论)的框架,而非静态监督学习的框架。这也是本教程把"预测"放进"规控(决策)"体系、而非"感知(监督学习)"体系的最根本理由。
4.5.5 本节速查表¶
| 概念 | 一句话 | 关键点/争议 |
|---|---|---|
| ADE/FDE | 预测与真值的平均/终点距离 | FDE 更严苛(终点误差最大) |
| minADE/minFDE | K 条里最优那条的 ADE/FDE | 奖励"想到了",纵容"广撒网" |
| Miss Rate | 最优那条终点是否超阈值 | 看"有没有一条够近" |
| brier-minFDE | minFDE + 概率 Brier 惩罚 | Argoverse 主指标,逼概率校准 |
| Soft mAP | 把预测当检测算 PR-AUC | Waymo 主指标,综合准确+校准 |
| marginal vs joint | 各自独立 vs 场景级一致 | Waymo 分两赛道(§4.2.4) |
| 开环 OLS | 录制数据上比预测距离 | 与闭环弱相关,会骗人 |
| 闭环 CLS | 模拟器里实际开 | nuPlan 核心,暴露 frozen/因果错 |
本节常见陷阱(覆盖指标误读类、跨论文对比类、开闭环混淆类):
陷阱一:把 minADE 低直接当成"预测好/有用"。 现象:看到 minADE 低就认可一个模型。根本原因:不懂 min-over-K 的"广撒网"漏洞(§4.5.3 本质洞察)。后果:选了一个会撒一堆无用轨迹、反而加剧 frozen robot 的模型。正确做法:同时看概率校准指标(brier、mAP)和闭环表现。
陷阱二:跨论文直接比 minADE 数字。 现象:把 A 论文的 0.69 和 B 论文的 0.71 直接比高下。根本原因:忽视 K 值、预测跨度、数据集、marginal/joint 口径的差异(§4.5.2 速查表)。后果:错误结论。正确做法:确认两者在**完全相同的 benchmark 设定**下,否则不可比。
陷阱三:用开环高分推断闭环安全。 现象:开环 SOTA 就宣称"能安全上路"。根本原因:无视开环-闭环鸿沟三大原因(§4.5.4)。后果:模型一上车/上闭环模拟就崩。正确做法:闭环验证(nuPlan CLS)是安全宣称的必要条件。
陷阱四:以为闭环模拟就等于真实。 现象:nuPlan CLS 高就以为路上没问题。根本原因:闭环模拟的背景智能体可能不够真实(§4.5.4 前沿进展)。正确做法:关注模拟器的反应式智能体真实度,警惕高密度长尾下的退化。
本节练习: 1. (广撒网实验设计) 设计一个"作弊"预测器,它不真正理解场景,但能在 minADE₆ 上拿到很低的分。说明它怎么撒这 6 条轨迹。再说明:换成 brier-minFDE 或 mAP 后,这个作弊器为什么会失分? 2. (因果混淆构造) 除了"刹车灯"的例子,再自己构造一个"开环对、闭环错"的因果混淆场景(如转向灯、跟车距离)。说明开环评估为何抓不到它、闭环为何能。 3. (口径辨析) 给定两篇论文:A 在 Argoverse 2 报 brier-minFDE=1.8(K=6, 6s),B 在 nuScenes 报 minADE=1.2(K=5, 6s)。能说"B 比 A 准"吗?逐项列出二者不可直接比较的原因。 4. (开放·指标设计) 如果让你设计一个比 minADE 更能反映"预测对下游规划有用程度"的指标,你会怎么设计?(提示:可以考虑"把预测喂给一个固定规划器、看规划质量"的 task-driven 评估,即闭环思想。)这道题指向当前研究前沿,无标准答案。 5. (手算 brier) 沿用 §4.5.3 的数值例子,若模型把直行(最优那条)的概率从 0.5 提高到 0.85、其余两条概率相应降低,重新计算 brier-minFDE。说明这个变化体现了 brier 在奖励什么。再问:minFDE 会变吗?为什么? 6. (Goodhart 辨析) §4.5.1 提到 Goodhart 定律。请举一个本章之外、你熟悉领域里的 Goodhart 现象(如"以代码行数考核程序员""以论文数考核科研")。再类比说明:为什么"闭环/任务驱动评估"比"开环 minADE"更难被 game?(提示:从"指标离真实目标有多近"思考。) 7. (口径侦探) 你读到一篇论文宣称"在 nuScenes 上 minADE 远超所有方法"。在相信它之前,你会追问哪 4 个问题来排除"它其实只是换了个有利于自己的评估口径或测试集划分"?(提示:K 值、时间跨度、是否用了额外数据/预训练、marginal vs joint。)
4.5.6 评估的演进方向:从"几何相似"到"任务驱动"¶
把 §4.5 的所有张力收束成一个前瞻判断——预测评估正在从"几何相似度"向"任务有用性"迁移,这是理解评估这条线未来走向的钥匙,也是 §4.5 通向 §4.6 的桥。
三代评估范式(与方法演化平行的另一条演进线): - 第一代·几何相似(geometric):minADE/minFDE——比预测轨迹与真值的几何距离。简单、可微(能当损失)、但与"有用性"脱节(§4.5.3 广撒网原罪)。 - 第二代·概率校准(probabilistic):brier-minFDE/mAP——在几何之上加"概率给得准不准"。修补了一部分原罪,但仍是开环、仍不直接度量"对规划有没有用"。 - 第三代·任务驱动(task-driven / closed-loop):直接问"用这个预测,车开得好不好"——nuPlan CLS 是其制度化形态;研究层面的 task-driven 指标(如把预测喂给固定规划器、看规划质量/安全性)是其轻量形态。它最贴合"有用性",但实现复杂、不可微、依赖规划器。
本质洞察(评估范式的迁移,本质是 §4.7.8 那条"从拟合到决策"主线在评估上的投影):三代评估的迁移方向高度一致——从"预测得像不像"(拟合视角)走向"预测得有没有用"(决策视角)。几何相似度是纯拟合论的(把预测当回归任务评);任务驱动/闭环是决策论的(把预测当决策系统的一环评)。这与 §4.4 的耦合演化(解耦→联合)、§4.5.4 的开环→闭环、§4.7.8 的"拟合→决策"是**同一场认识论迁移在评估维度的显形**。所以"该用什么指标"这个看似技术性的问题,背后是"你把预测当成什么问题"的根本立场——而本章反复论证的答案是:当成决策问题,于是评估也该是决策导向(任务驱动/闭环)的。这个判断指引你:做研究时,与其在开环 minADE 上抠小数点,不如设计能反映任务有用性的评估——这才是与方向演进同频的努力。
理论-工程桥接(任务驱动评估的工程代价与折中):任务驱动评估虽好,但有现实代价——它需要一个规划器(评估结果会依赖于用哪个规划器)、不可微(不能直接当训练损失)、计算重(每个预测都要跑一遍闭环)。工程上的折中是分层使用:训练时用可微的几何/概率损失(minADE/NLL)做梯度优化,模型选择与最终验收用任务驱动/闭环指标把关。这与 §4.5.4 缓解 covariate shift 的思路一致——用易优化的代理目标训练、用贴近真实的目标验收。理解这个折中,你就不会陷入"非此即彼"(要么纯几何要么纯闭环),而能在管线的不同环节用对的指标。
过渡到 §4.6:前五节我们梳理了历史(§4.1)、全景(§4.2)、骨干(§4.3)、耦合(§4.4)、评估(§4.5)——你已经掌握了这个方向的"已知地图"。但任何一个活跃的方向,真正的魅力在于它"未知的边疆"。最后一节,我们直面这个方向悬而未决的硬骨头:多模态评估的失真、开环-闭环鸿沟的弥合、长尾与分布漂移、不确定性的严格量化、交互的因果性,以及那条贯穿全章的工程现实——"Python 研究→C++ 部署"的鸿沟。这些开放问题,正是你未来可能投身其中的地方。
§4.6 开放问题与未来方向 ⭐⭐⭐⭐¶
本节解决的问题:综述的价值不仅在于"梳理已知",更在于"标定未知边疆"——告诉你这个方向还有哪些硬骨头没啃下来,从而帮你判断"值得投身哪里"。本节列出六个贯穿全章、至今悬而未决的开放问题。它们不是孤立的技术细节,而是从前五节的张力中自然生长出来的——每个开放问题,我们都指明它的根源、当前的尝试、以及为什么"还没解决"。这是难度最高、也最能体现研究品味的一节。
4.6.1 开放问题一:多模态评估的失真——我们到底该怎么评一个"分布"?¶
问题的根。§4.5.3 已揭示 min-over-K 的原罪:用"一条真值"评判"K 个分布样本"是不良定义的,min-over-K 奖励"想到了"却纵容"广撒网"。brier-minFDE、mAP 是补丁,但**没有任何一个指标真正解决了"如何评估一个预测分布与真实分布的接近程度"**——因为我们手里永远只有真实分布的一个采样(实际发生的那个未来),拿不到真实分布本身。
当前尝试:① 分布层面的指标(如用核密度估计逼近、算分布散度),但需要假设或多次采样,实践中难用;② task-driven 评估(§4.5.4 练习 4)——把预测喂给固定规划器,用规划质量反推预测质量,本质是用闭环替代开环;③ 概率校准指标(看模型给对的模态的概率是否准)。
为什么没解决:根本矛盾是**数据稀缺性**——你永远只观测到多模态未来的一个实现,无法直接监督"分布对不对"。这是一个数据生成机制的固有限制,不是换个指标能绕过的。它与 §4.6.2 的开环-闭环鸿沟、§4.6.4 的不确定性量化都纠缠在一起。
多视角理解("评估一个分布"难在哪——一个思想实验):设想你训练了一个完美的多模态预测器,它对某路口正确输出"左转 0.5 / 直行 0.3 / 右转 0.2"。现在来了一个测试样本,真值是"右转"。请问:你的预测器**对还是错**? - 若用 minADE/minFDE 评:只要右转那条轨迹几何上接近,就算"对"——但这等于说"只要你想到了右转就行",完全不考核你给右转的概率只有 0.2(偏低)。 - 若用似然评:右转的预测概率 0.2,似然不高,看起来"不太对"——但这冤枉了模型,因为它的分布其实是对的(这个路口真的左转更多),只是这**一次**恰好抽到了小概率的右转。 - 症结:用**单次实现**评判**分布**,无论怎么评都会偏——要么纵容(min-over-K),要么冤枉(单点似然)。唯一公正的评法是"拿很多个相同初始条件的实现来估真实分布、再比分布",但现实里**相同初始条件的场景几乎不会精确重复**(每个交通场景都是独一无二的),所以拿不到这些重复实现。这个思想实验暴露了多模态评估的认识论死结——它不是工程难题,而是"从单次观测推断分布"这一统计学根本困难在评估上的显形。这也是为什么本质洞察说它与开环-闭环、不确定性、因果性同根(§4.6.5 本质洞察)。
4.6.2 开放问题二:开环-闭环鸿沟的弥合——如何让"评估"逼近"真实部署"?¶
问题的根。§4.5.4 详述了这条裂缝:开环指标度量"预测能力"、闭环度量"驾驶能力",二者弱相关(nuPlan 实证)。这意味着**整个方向用开环榜单驱动了多年的"进步",其中相当部分对真实部署无效**——这是一个令人不安、但越来越被正视的事实。
当前尝试:① 建闭环 benchmark(nuPlan 是里程碑);② 让闭环更真实——把学习式反应智能体(SMART)接入模拟(§4.5.4 前沿进展),但随之暴露"多数规划器在高密度交互下退化";③ 真实世界路测(工业界),但成本高、不可复现、有安全风险。
为什么没解决:闭环模拟面临一个**鸡生蛋的困境**——要逼真地模拟"他车如何反应 ego",本身就需要一个完美的交互预测模型,而这恰恰是我们要评估的东西!用一个不完美的反应模型去评估另一个预测模型,评估结果本身就带偏。此外,长尾场景(§4.6.3)在模拟里难以充分覆盖。这个困境使"评估的真实性"成为一个可能永远只能逼近、无法彻底闭合的目标。
本质洞察(开环-闭环鸿沟与多模态评估失真,本质是同一个"我们没有真值分布"问题的两副面孔):把 §4.6.1 和 §4.6.2 放一起看,会发现它们同根——我们能观测的只是真实世界的一次采样(一条真值轨迹、一段真实路测),而我们想评估的是一个分布/一个反事实空间(所有可能的未来、所有可能的 ego 决策会引发的所有场景)。多模态评估失真是"未来分布的真值缺失",开环-闭环鸿沟是"反事实场景的真值缺失"(ego 若那样开,他车会怎样?数据里没有)。两者都是**反事实推断(counterfactual inference)** 的难题在评估上的投影。这把我们直接引向 §4.6.5 的因果性——交互预测的深层困难,归根结底是因果与反事实的困难。
4.6.3 开放问题三:长尾分布与分布漂移——99% 的平凡掩盖了 1% 的致命¶
问题的根。回顾 §4.2.2 那个"恒速模型在 Argoverse 上接近深度网络"的尴尬现象——它的解释正是长尾:数据集里绝大多数样本是平凡的直行/匀速跟车,物理外推就够用;真正需要交互建模的强交互、罕见场景只占极小比例,被平均进总指标后被稀释了。于是平均指标(minADE)系统性地**掩盖了长尾**,而长尾恰恰是安全的命门——致命事故几乎都发生在长尾(罕见的抢行、突然横穿、施工改道、极端天气)。
两个相关但不同的子问题: - 长尾(long-tail):训练分布内的罕见但重要事件——模型见过类似的,但样本太少学不好。 - 分布漂移(distribution shift / OOD):部署时遇到训练分布**之外**的情况——换了城市、换了天气、换了车辆类型,模型从没见过。
当前尝试:① 数据增强、罕见场景挖掘与重采样;② 专门的长尾 benchmark(如 Shifts Challenge 专测分布漂移);③ 仿真生成罕见场景(但仿真到现实又有 sim2real 鸿沟);④ 用基础模型/大模型的常识泛化处理没见过的场景(§4.6.6)。
为什么没解决:长尾的本质是**"重要性"与"频率"的错配**——最重要的样本恰恰最罕见,而数据驱动方法天生偏向高频。你无法靠"收集更多数据"解决(长尾永远在尾部),也无法靠"加大模型"解决(模型仍按频率分配容量)。这是数据驱动范式的**结构性软肋**,也是工业界最头疼、与学术 benchmark 差距最大的地方。
本质洞察(一个量化直觉:为什么平均指标对长尾"无感"):设想数据集 99% 是平凡场景(模型 ADE=0.3)、1% 是危险长尾(模型 ADE=3.0,差十倍)。平均 ADE = \(0.99\times0.3 + 0.01\times3.0 = 0.297+0.03=0.327\)——长尾那 1% 把平均只抬高了不到 10%!换言之,一个在最危险场景上烂到十倍的模型,平均指标几乎看不出来。更糟的是:如果你把长尾的 ADE 从 3.0 改善到 1.5(巨大进步!),平均 ADE 只从 0.327 降到 0.312——在 leaderboard 上几乎不可见,于是没人有动力去做这件最该做的事。这就是平均指标的"长尾麻木症"——它在数学上系统性地奖励"在常见场景上抠小数点"、惩罚"在罕见场景上下苦功"。理解这个量化直觉,你就彻底看穿了为什么 §4.6.3 的长尾问题和 §4.5.3 的指标原罪是一体两面,也理解了工业界为何要抛开平均指标、专门构建"长尾场景库"来单独考核。
理论-工程桥接(工业界的"数据引擎"应对——以及它的局限):面对长尾,工业界的主流应对是**数据引擎(data engine)闭环——部署车队持续回传数据,用自动化手段挖掘"模型表现差/不确定性高/与人类接管点相关"的罕见场景,标注后加进训练集,重训、再部署,循环往复(特斯拉、Waymo 等都有类似闭环)。这本质是 §4.5.4 讲的 DAgger 思想在数据规模上的工业化。**但它有结构性局限:① 长尾"挖之不尽"——补了一批罕见场景,总有更罕见的在等着(重尾分布没有"尾巴尽头");② 真正致命的场景往往**太罕见以至于车队多年都遇不到几次**(如特定的多车连环异常博弈),靠遇到再学根本来不及;③ 这正是为什么 §4.6.6 寄望于基础模型的"零样本常识泛化"——人类不需要见过某个特定危险才会避险,靠的是常识外推,而这恰是数据引擎补不出来的。这条"数据引擎 vs 常识泛化"的张力,是长尾问题通向基础模型方向的桥。
对比性思维(学术 benchmark 的"平均思维" vs 工业部署的"最坏思维"):学术界优化的是**平均指标**(minADE、平均 CLS)——这奖励"在常见场景上锦上添花";工业界关心的是**最坏情况**(worst-case,长尾上的致命失败率)——这要求"在罕见场景上不出大事"。这是两种根本不同的价值函数。一个 minADE 极低但在某类罕见路口偶尔预测灾难性错误的模型,学术上是 SOTA,工业上是禁止上路的。理解这个"平均 vs 最坏"的价值错位,是理解 §4.1.6/§4.3.6'学术-工业割裂'最深层原因的钥匙——割裂不只在工具(Python vs C++),更在价值函数(平均 vs 最坏)。
4.6.4 开放问题四:不确定性的严格量化——模型说"我不确定"时,可信吗?¶
问题的根。安全关键系统需要的不只是"预测什么",更是"对这个预测有多确定、这个确定性可不可信"。如果模型能可靠地说"这个路口我没把握",下游规划就能更保守、更安全。但现实是:绝大多数预测模型要么不输出不确定性,要么输出的不确定性没有校准(calibration)——它说的 90% 置信,实际命中率可能只有 60%。
两类不确定性(必须区分): - 偶然不确定性(aleatoric):来自世界本身的随机性(未来本就多模态、他人意图本就不可知)——这是不可消除的,再多数据也无法消除。 - 认知不确定性(epistemic):来自模型知识的不足(训练数据没覆盖、模型容量不够)——这是可以靠更多数据/更好模型消除的,且它正是检测分布漂移(§4.6.3)的关键信号。
当前尝试:① 直接建模分布(输出高斯/GMM 参数);② 集成(ensemble,多个模型的分歧度作为不确定性);③ 保形预测(conformal prediction)——一个有严格统计保证的框架,能给出"包含真值概率 ≥ 1−α"的预测集合。2024–2025 的前沿工作(如 CUQDS, AAAI 2025)把保形预测与分布漂移结合,在线校准不确定性。
为什么没解决:① 区分偶然与认知不确定性本身就难(二者在数据上纠缠);② 校准在分布漂移下会失效(训练时校准好的,部署到新分布就不准了);③ 严格的统计保证(如保形预测)往往以"预测集合过大"为代价,对实时决策不友好。不确定性量化是连接"预测"与"安全规划"的关键桥,也是当前最活跃的研究子方向之一。
本质洞察(区分两类不确定性,为什么对规划是"生死攸关"的):偶然与认知不确定性的区分不是学术洁癖,它直接决定下游规划该如何反应——而这两种反应**截然相反**: - 面对**高偶然不确定性**("这个路口本来就难说,他车可能左也可能右"):规划的正确反应是**为多种可能都留出安全裕度**(如降速、保持更大间距、准备好应对任一分支)——这是"世界本就难料,我谨慎应对"。 - 面对**高认知不确定性**("这个场景模型从没见过,我的预测可能完全是瞎猜"):规划的正确反应是**触发降级/接管/极端保守**——因为此时模型的输出根本不可信,不能基于它做精细决策,而应退到"最小风险策略"(如靠边停车、请求人类接管)。这是"我不知道我不知道什么,赶紧退出自动驾驶"。 致命的错误是把两者搞混:若把"模型没见过"(认知)误当成"世界本就随机"(偶然),规划会以为"留点裕度就行",继续基于瞎猜的预测开下去——这正是分布漂移下事故的典型成因。所以不确定性量化的终极价值,不在于报一个数字,而在于让系统能区分"难"与"不会",从而在'谨慎应对'与'退出兜底'之间做出正确选择。这把不确定性量化与 §4.6.6 的安全兜底、§4.5.4 的人类接管点直接连了起来——它是安全决策的认知前提。
4.6.5 开放问题五:交互预测的因果性——是真懂交互,还是记住了相关?¶
问题的根。§4.5.4 的"刹车灯"例子已点破:数据驱动模型容易学到**虚假相关**而非**因果**。在交互预测里这尤其危险——模型可能学到"A 车减速时 B 车也减速"的相关,但不知道是"A 让 B"还是"B 让 A"还是"二者都在让第三方 C"。一旦部署到因果结构不同的新场景,相关性失效,预测崩坏。这与 §4.4 的 frozen robot/self-fulfilling prophecy 深层同源——它们都是"没搞懂谁导致谁"的恶果。
当前尝试:① M2I 式的 influencer/reactor 关系预测(§4.4.3)显式建因果序;② 因果表示学习、反事实数据增强;③ 博弈论的结构化建模(§4.4.7)——博弈均衡天然刻画"谁响应谁"的因果耦合,这是求解派相对纯学习派的一个潜在优势。
为什么没解决:因果推断需要**干预(intervention)或反事实**数据——"如果 ego 那样开,他车会怎样",但观测数据里只有"ego 实际那样开、他车实际那样反应"的一条,没有反事实。这又回到 §4.6.2 的反事实困境。从纯观测数据学因果,在一般情况下是不可识别的(除非有强假设或干预数据)。这是交互预测**最深、最哲学**的开放问题。
多视角理解(一个交互因果混淆的具体场景,看清"相关 ≠ 因果"在预测里多致命):设想数据里反复出现这样的模式——"路口处,A 车减速的同时 B 车也减速"。一个纯相关的模型会学到"A 减速 ⟺ B 减速",但这背后可能有三种**因果结构完全不同**的解释: - (甲) A 让 B:A 看到 B 要抢行,A 减速避让 → 因果方向是 B 影响 A。 - (乙) B 让 A:B 看到 A 先到,B 减速避让 → 因果方向是 A 影响 B。 - (丙) 共同原因:前方有行人横穿,A、B 都为行人减速 → A、B 之间无直接因果,是行人这个"共同原因"导致二者都减速。 三种结构在观测数据里长得一模一样(都是"A、B 同时减速"),但部署到新场景时行为天差地别:若真相是(丙)而模型误学成(甲),那么在一个没有行人、A 主动减速的新场景里,模型会错误预测"B 也会减速让 A"——而实际上 B 没有理由让(因为原来让的是行人不是 A)。这个例子钉死了为什么纯观测学习在交互预测里危险:同样的相关数据兼容多种因果结构,模型学到哪个全凭运气与归纳偏置,而错误的因果在分布漂移时直接致命。这也正是 §4.4 frozen robot/self-fulfilling prophecy 的因果根——它们都是"没搞懂谁导致谁",把"我退让导致对方通过"误读成"对方本来就要通过"。
本质洞察(六个开放问题里,有四个的共同根是"反事实/因果的真值缺失"):纵观本节——多模态评估失真(§4.6.1)、开环-闭环鸿沟(§4.6.2)、不确定性量化里的认知不确定性(§4.6.4)、交互因果性(§4.6.5)——它们看似不同,根却相通:我们只能观测到现实的一次实现,却想推断它背后的分布、反事实和因果结构。这是统计学习的根本边界在自动驾驶这个安全关键场景里的集中爆发。理解这一点,你会对这个方向产生一种"敬畏"——它的难,不是工程难度,而是**认识论难度**:我们想让机器理解一个它(和我们)都只能片面观测的世界。这也解释了为什么 §4.6.6 的"基础模型/常识"被寄予厚望——人类靠的正是超越当前观测的常识与因果直觉,而非纯粹的数据拟合。
4.6.6 开放问题六:基础模型与 VLA——语义常识能否补上数据驱动的短板?¶
问题的根。前五个开放问题的很多困难(长尾、分布漂移、因果、反事实),人类司机却能轻松应对——因为人有**常识与因果直觉**:看到球滚出来会预判有小孩追出来(即便从没见过这个特定场景),看到施工标志知道改道(即便地图没更新)。这种"超越当前观测的泛化",正是纯数据驱动模型最缺的。能否把大语言模型/视觉-语言模型的常识注入预测与规划?
当前尝试(§4.1.6 已点名,此处定位其在"补短板"中的角色): - 驾驶侧 VLM/VLA:DriveVLM、LMDrive、DriveGPT4、Senna——用语言模型的常识推理处理罕见场景、并输出可解释的决策理由("我减速是因为前方有儿童")。这直接瞄准长尾(§4.6.3)和可解释性。 - 机器人侧 VLA:RT-2、OpenVLA、π0/π0.5(flow matching, 50 Hz)、Groot N1、Helix——把"像素/语言→动作"压进一个网络,试图获得跨任务、跨场景的泛化。 - 世界模型(§4.1.6 世界模型线):用生成式世界模型"想象"反事实未来——这直接瞄准 §4.6.1/§4.6.2/§4.6.5 那个"反事实真值缺失"的共同根:既然观测数据里没有反事实,那就**学一个能生成反事实的模型**("如果 ego 那样开,未来观测会怎样")。这是用"生成想象"绕过"数据里没有反事实"困境的一条潜在路径,但前提是世界模型本身得够准、够一致——否则想象出的反事实是错的,反而误导决策。
本质洞察(基础模型/世界模型的吸引力,恰好对准了 §4.6 那个"反事实真值缺失"的共同根):回看 §4.6.5 的本质洞察——六个开放问题里四个同根于"我们只能观测一次实现,却想推断分布/反事实/因果"。而基础模型与世界模型的诱人之处,正是它们提供了两条可能绕过这个根的路:① 基础模型**用"预训练得来的世界常识"补足"观测数据没覆盖"的部分——人类不靠见过某个特定危险才会避险,靠的是常识外推,基础模型试图复制这种能力;② **世界模型**用"生成式想象"补足"数据里没有反事实"的部分——直接学一个能回答"如果……会怎样"的生成器。换言之,这两条前沿不是随便赶时髦,而是**精准地瞄准了本章诊断出的最深病根。这也是为什么尽管它们充满争议(黑箱、幻觉、算力),整个领域仍对它们投入巨大——因为传统数据驱动范式在那个认识论病根面前确实碰了壁,而这两条路至少在原理上提供了绕过的可能。能否真正兑现,是这个方向未来五到十年最大的悬念。
为什么没解决(也充满争议):① 黑箱更深——大模型的可验证性比传统预测器更差,安全关键场景不敢轻易信;② 幻觉与可靠性——语言模型会"一本正经地胡说",在安全场景是致命的;③ 算力与实时性——大模型推理慢,车载实时是巨大挑战;④ 常识是否真的被用对——模型可能只是在"复述训练语料里的驾驶常识文本",而非真正理解物理因果。这是最前沿、也最不确定的方向,乐观者视之为 AGI 级别的突破口,怀疑者视之为又一轮过度炒作。
对比性思维(基础模型路线的希望与陷阱——它可能补短板,也可能引入更深的黑箱):不是"大模型一来就解决一切",而是一场**用一种短板换另一种短板**的豪赌。传统数据驱动预测器的短板是"长尾、因果、泛化",但它**可单独评估、相对可控**;基础模型/VLA 可能补上常识泛化,但引入了**幻觉、黑箱、算力、不可验证**的新短板。这呼应 §4.1.6 那条"显式预测 vs 隐式端到端"的哲学分野——本方向的未来很可能不是某一派单赢,而是**融合**:用 VLA 的语义常识做高层意图推断与长尾处理,用显式轨迹预测 + 博弈/优化(§4.4.7 求解派)做底层安全验证与兜底。这个"语义层 + 安全层"的双层架构判断,是本章对未来最具体的展望,也与博弈综述"求解+学习融合"的结论在更高层会合。
4.6.7 贯穿全章的工程现实:Python 研究与 C++ 部署的鸿沟¶
最后,把 §4.1.6、§4.3.6 反复强调的那条工程现实,作为本节的收束——因为它不只是一个"现状",更是一个**对你(C++ 母语的机器人工程师)最具行动指导意义的开放问题**。
现状复述:本方向几乎全部研究前沿在 Python/PyTorch(UniAD、VAD、MTR、DIPP、GameFormer、PLUTO、Diffusion-Planner 无一例外),唯一的大规模生产级 C++ 预测栈是 Apollo 的 modules/prediction,且它刻意轻量、保守。学术 SOTA 与工业生产之间,隔着一条"Python 研究→C++ 部署"的鸿沟。
这条鸿沟的三重根源(综合全章):① 工具鸿沟——PyTorch 的灵活算子 vs C++ 实时栈的有限算子支持,模型导出(ONNX/TensorRT)常卡在不支持的算子上;② 算力鸿沟——Transformer/扩散的平方复杂度与多步去噪 vs 车载芯片的算力与时延预算(§4.3.4、§4.3.5);③ 价值鸿沟(最深)——学术优化平均开环指标 vs 工业要求最坏情况闭环安全与可验证性(§4.6.3 对比性思维)。
算力鸿沟值得单独深挖——它本身就是一个一等开放问题:实时性约束。车载预测必须在严格的时延预算内完成(典型 10–100 ms,对应 10–100 Hz 的决策频率),且要同时预测场景里**几十个**智能体、覆盖**多模态**。这给学术 SOTA 出了几道硬题: - Transformer 的平方复杂度:token 数 = 智能体数 × 时刻数 × 地图段数,全注意力随其平方增长。一个城区路口几十个智能体 + 上百条车道段,token 轻松上千,全注意力的计算与显存都吃紧。缓解手段(§4.3.4):因子化注意力、latent query(把多 token 压成少量 latent)、稀疏/局部注意力、查询中心的可复用编码(§4.3.4-bis 的 QCNet)。 - 扩散的多步去噪:标准扩散要迭代几十上百步,每步一次网络前向,时延难以接受。缓解手段(§4.3.5):DDIM 减步、consistency models 一步生成、flow matching(π0 用它做到 50 Hz)。 - 多智能体的重复计算:智能体中心表示要为每个智能体重编码一次场景(§4.3.4-bis),\(N\) 个智能体 \(N\) 倍算力。缓解手段:查询中心的共享编码、批量并行。
本质洞察(实时性不是"工程细节",而是塑造了整个 SOTA 演化方向的隐形之手):很多学术工作把实时性当成"部署时再优化的工程细节",但回看 §4.3 的演化,会发现**实时性其实一直在暗中塑造架构设计**——Wayformer 的"做减法"、QCNet 的查询中心可复用编码、flow matching 对扩散的加速,本质上都是"在不太损精度的前提下把算力压下来"的努力。换句话说,这个方向的架构演化,除了'精度'这条明线,还有'算力/实时'这条与之拉锯的暗线。一个只盯着 leaderboard 精度、无视算力的研究者,会错过半部演化史;而对你这个要把东西真正跑在车上的工程师,算力这条暗线甚至比精度明线更重要。这也是为什么 §4.7.4 选型表把"算力预算"与"精度"并列为两个一等约束。
一个具体的"把 MTR 搬上车"会撞到什么的清单(让鸿沟从抽象变具体)。假设你要把一个 PyTorch 的 MTR 部署到车载 C++ 实时栈,会依次撞到: - 算子鸿沟:MTR 用了大量灵活的 PyTorch 操作(动态索引、自定义注意力、可变长度的智能体/地图集合)。导出到 ONNX/TensorRT 时,总有几个算子不被支持或不被优化——你得手写 CUDA 算子、或改模型结构来规避,每一个都是耗时的硬骨头。 - 动态 shape 鸿沟:场景里智能体数、车道数每帧都在变(动态 shape),但车载推理引擎偏爱**固定 shape**(为了预分配显存、优化 kernel)。你得做 padding + masking,或分桶(bucketing),既增加复杂度又浪费算力。 - 平方复杂度鸿沟:拥挤路口 token 数激增,全注意力的平方算力与显存可能直接超出车载芯片预算。你得换因子化/稀疏注意力,但这可能掉精度,又得重新验证。 - 数值一致性鸿沟:PyTorch(float32/训练)与车载推理(常用 float16/int8 量化)的数值不完全一致,量化后精度可能掉、甚至偶发异常输出——安全关键场景必须逐一排查。 - 可验证性鸿沟(最难):即便上述都解决了、模型在车上实时跑起来了,安全团队会问"你怎么证明它在长尾场景不会输出灾难性预测"——而这正是 §4.6.3 的开放问题,没有现成答案。这往往是整个部署里最卡的一关。
理论-工程桥接(这条鸿沟对你意味着什么——危机即机会):对绝大多数追 SOTA 的研究者,这条鸿沟是"别人的事";但对你——一个以 C++ 为母语、立志做机器人与 AI 交叉的工程师——这条鸿沟恰恰是最稀缺、最有价值的战场。把一个学术 SOTA(如 MTR、Diffusion-Planner)真正工程化、C++ 化、实时化、可验证化,需要同时懂:预测的算法本质(本章)、规控的工程约束(本教程其余章节)、深度学习的部署技术(量化、剪枝、算子优化、TensorRT)、以及安全验证方法。这种"全栈交叉"的能力,正是当前工业界最缺、最贵的。 本教程把"交互预测"放进规控体系而非纯 DL 体系,正是为了培养这种能力——不让你停留在"会调 PyTorch 刷榜",而是让你能"把研究前沿落到能上车的 C++ 实时栈"。这是本章留给你的最具行动性的结语。
4.6.8 开放问题速查表¶
| 开放问题 | 根源 | 当前尝试 | 为何没解决 |
|---|---|---|---|
| 多模态评估失真 | 一条真值评 K 个样本(§4.5.3) | brier/mAP/task-driven | 真值分布不可得 |
| 开环-闭环鸿沟 | 预测能力≠驾驶能力(§4.5.4) | nuPlan/反应式闭环 | 反事实真值缺失、鸡生蛋 |
| 长尾与分布漂移 | 重要性与频率错配(§4.2.2) | 重采样/仿真/OOD benchmark | 长尾永在尾部、数据驱动偏高频 |
| 不确定性量化 | 校准在漂移下失效 | 集成/保形预测(CUQDS) | 偶然/认知难分、保证vs可用 |
| 交互因果性 | 学到相关非因果(§4.5.4) | 关系预测/博弈结构/反事实增强 | 观测数据因果不可识别 |
| 基础模型/VLA | 数据驱动缺常识泛化 | DriveVLM/π0/OpenVLA | 黑箱/幻觉/算力/不可验证 |
| Python→C++ 鸿沟 | 工具+算力+价值三重鸿沟 | Apollo 轻量栈/模型导出 | 学术-工业价值函数错位 |
本节常见陷阱(覆盖研究品味类、过度乐观类、价值错位类):
陷阱一:把"刷低开环指标"当成科研进步的全部。 现象:把研究精力全投在 minADE 涨点。根本原因:没看清开环-闭环鸿沟与长尾掩盖(§4.6.2、§4.6.3)。后果:发了论文却对真实部署无贡献。正确做法:关注闭环、长尾、不确定性、可验证性这些"真问题"。
陷阱二:对基础模型/VLA 过度乐观或过度悲观。 现象:要么神化大模型能解决一切,要么斥之为纯炒作。根本原因:没看清它"用一种短板换另一种短板"的本质(§4.6.6 对比性思维)。正确做法:理解它的希望(常识泛化)与陷阱(黑箱幻觉)并存,未来在融合。
陷阱三:忽视"平均 vs 最坏"的价值错位。 现象:用学术平均指标评判一个安全关键系统。根本原因:不懂工业界的最坏情况思维(§4.6.3 对比性思维)。后果:一个平均优秀但长尾偶尔致命的系统被误判为合格。正确做法:安全系统必须看 worst-case 与长尾失败率。
陷阱四:把"会用 Python 跑通 SOTA"当成"能部署"。 现象:跑通了开源 SOTA 就以为能上车。根本原因:低估 Python→C++ 鸿沟的三重根源(§4.6.7)。正确做法:把工程化/C++化/可验证化的成本认真算进项目。
本节练习: 1. (反事实困境) 用自己的话解释:为什么"多模态评估失真"和"开环-闭环鸿沟"和"交互因果性"这三个看似不同的开放问题,根上是同一个"反事实/分布真值缺失"问题?(这道题考察你是否真正吃透了 §4.6.5 的本质洞察。) 2. (长尾选题) 假设你要做一个交互预测的研究课题,且想做"真问题"而非"刷榜"。从本节六个开放问题里选一个,描述你会怎么设计一个能体现真实进步(而非开环涨点)的实验。 3. (不确定性应用) 解释:如果一个预测模型能可靠地区分偶然不确定性和认知不确定性,下游规划能分别如何利用这两种信息做出更安全的决策?(提示:偶然不确定性→该保守多少;认知不确定性→是否进入了没见过的危险区。) 4. (VLA 双层架构) 把 §4.6.6 末尾的"语义层 + 安全层"双层架构画成一个数据流图:VLM/VLA 在哪一层、显式预测器在哪一层、博弈/优化在哪一层、它们如何接口、谁有最终否决权。说明为什么"安全层有否决权"对安全关键系统至关重要。 5. (开放·职业) 结合 §4.6.7,写下你认为"把一个具体的学术 SOTA 预测器部署到 C++ 实时栈"这件事,需要补齐哪些知识/技能(至少列 4 项),以及本教程的哪些章节可能帮到你。这道题是为你自己的学习路径做规划。 6. (因果结构辨析) 沿用 §4.6.5 的"A、B 同时减速"三种因果结构(A 让 B / B 让 A / 共同原因)。请各设计一个"探针动作"——如果你能让 ego 主动做一个动作来观察反应,你会怎么做才能区分这三种结构?(提示:这正是"干预/实验"为何能识别因果而"纯观测"不能的直觉。) 7. (世界模型的双刃) §4.6.6 说世界模型能"想象反事实"来绕过"数据无反事实"的困境。但反过来想:如果世界模型本身不够准,它想象出的反事实会怎样误导下游决策?请举一个"基于错误想象做出危险决策"的具体场景,说明为什么"用世界模型做规划"必须配一个对世界模型可信度的判断。 8. (综合·六问归一) 用你自己的话,把 §4.6 的六个开放问题归并到尽可能少的"元问题"上(提示:本节本质洞察指出四个同根于'反事实/真值缺失')。哪些是认识论困难(原理上难)、哪些是工程困难(原理可解但难做)?这个区分对"该把研究精力投向哪里"有什么启示?
过渡到 §4.7:六个开放问题标定了边疆,也呼应了全章的每一处张力。最后一节,我们用一组速查表把整个方向"压缩"成可随时回看的框架——发展脉络、三层全景、四脉骨干、三种耦合、评估体系、开放问题——让你合上这一章时,脑中留下一张完整的、可复述的"交互意图预测全景图"。
§4.7 本章小结与速查 ⭐¶
本节定位:综述章的"地图册"。前六节是详细的"游记",本节把它们压缩成几张可随时翻回的"地图"。如果你只想快速回忆这个方向的骨架,读本节即可;如果某张表勾起了细节疑问,回到对应小节深读。
4.7.1 一句话总纲:整个方向在解决什么¶
本质洞察(用一句话概括交互意图预测):交互意图预测,就是"用数据学习他人的未来轨迹分布,并让这个预测与自己的规划深度耦合,从而在多智能体相互影响的世界里安全决策"的技术方向。 它的十年史,是"表示—交互—耦合"三级跳(§4.1);它的方法谱,是"物理/意图/交互"三层野心(§4.2)× "LSTM/GNN/Transformer/扩散"四脉工具(§4.3);它的灵魂,是"解耦→条件→联合"的耦合演化(§4.4),并在终点与博弈规划会师为"求解派与学习派攀登同一座山";它的标尺,是充满陷阱的开环/闭环评估(§4.5);它的边疆,是反事实真值缺失带来的六大开放问题(§4.6)。记住这一句,你就握住了全章主轴。
多视角理解(如果只能带走三句话):若把全章再压缩,给不同人各留一句—— - 给初学者的一句:"别记缩写,记主轴——表示、交互、耦合三级跳,每个新方法都是这三级跳上的一步。" - 给工程师的一句:"按交互强度和算力预算选层选骨干选耦合,而非追 SOTA;安全关键处用显式结构兜底黑箱。" - 给研究者的一句:"开环 minADE 涨点多半是 Goodhart 式假进步;真问题在闭环、长尾、因果、耦合——它们同根于'反事实真值缺失',而这个方向的归宿是决策论而非监督学习。"
4.7.2 六维全景速查表(把全章压成一张表)¶
| 维度 | 核心框架 | 关键节点 | 一句话本质 |
|---|---|---|---|
| 史(§4.1) | 六个时代 | Social LSTM→VectorNet→MTR→UniAD→扩散→VLA | 表示—交互—耦合"三级跳" |
| 景(§4.2) | 三层全景 | 物理 / 机动意图 / 交互感知 | 承认几种不确定性,就在第几层 |
| 器(§4.3) | 四脉骨干 | LSTM / GNN / Transformer / 生成 | 编码脉 × 生成脉的笛卡尔积 |
| 耦(§4.4) | 三种耦合 | 解耦 / 条件 / 联合 | 治 frozen robot 靠耦合深度,非精度 |
| 测(§4.5) | 评估体系 | minADE家族 / 四数据集 / 开环-闭环 | 指标即激励,开环会骗人 |
| 问(§4.6) | 六大开放 | 评估失真/开闭环/长尾/不确定性/因果/VLA | 根在反事实真值缺失 |
4.7.3 关键人物-论文-年代脉络图(文字版时间线)¶
把全章出现的标志性工作按时间和"三级跳"位置串成一条线,便于建立"论文坐标系":
2016 Social LSTM ────────── 交互引入网络(手工 social pooling) [交互·萌芽]
2017 DESIRE ──────────────── CVAE 多模态(IOC ranking) [多模态]
2018 Social GAN ──────────── 生成式多模态(承认未来是分布) [多模态]
CS-LSTM ──────────────── 卷积社交池化 + 6类机动 [交互+意图]
2019 MultiPath ────────────── anchor 范式(稳定多模态) [多模态·锚定]
PRECOG ──────────────── 条件预测概念萌芽 [耦合·条件]
2020 VectorNet ───────────── 向量化革命(栅格→向量) [表示·革命]
LaneGCN ──────────────── 精细车道图建模 [表示+交互]
Trajectron++ ─────────── LSTM×CVAE×动力学积分(三层集成) [全栈集成]
PiP / TNT ────────────── 条件预测 / 目标驱动 [耦合 / 意图]
2021 DenseTNT ─────────────── dense goal(弥合生成vs锚定) [意图]
Argoverse2/WOMD/nuPlan ─ 数据集与闭环 benchmark 成熟 [评估]
2022 Scene Transformer ───── Transformer 统一 marginal/joint [交互·注意力]
MTR ─────────────────── motion query(Waymo 冠军) [交互·注意力]
Wayformer ────────────── 注意力做减法(容量>先验) [交互·注意力]
M2I ─────────────────── influencer/reactor 因果序 [耦合·条件]
2023 QCNet ────────────────── query-centric 流式编码 [交互·注意力]
DIPP ─────────────────── 可微联合预测-规划 [耦合·联合]
GameFormer ───────────── level-k 博弈 Transformer [耦合·联合·会师]
UniAD ────────────────── 端到端(CVPR Best Paper) [耦合·端到端]
VAD/VADv2 ────────────── 全向量化端到端 [耦合·端到端]
Diffusion Policy ─────── 扩散动作生成 baseline [多模态·扩散]
2024- DriveVLM/LMDrive/Senna ─ 驾驶侧 VLM 注入常识 [范式·VLA]
2025 Diffusion-Planner ────── 扩散闭环规划(nuPlan) [多模态·扩散]
DiffusionDrive ───────── 扩散端到端 [多模态·扩散]
PLUTO/CaRL ───────────── nuPlan 闭环 SOTA [耦合·闭环]
π0/π0.5/OpenVLA ──────── 机器人 VLA(flow matching, 50Hz) [范式·VLA]
GAIA 类世界模型 ───────── 生成式世界模型(想象反事实未来) [范式·世界模型]
多视角理解(如何使用这条时间线): - 纵向读(按年代):看到方向"加速演化"的节奏——2016–2020 一年一个里程碑,2022 后一年涌现多个,反映领域热度与投入的指数增长。 - 横向读(按"三级跳"标签):把同一标签的工作连起来,看某条主线如何独立演化——如把所有 [多模态] 标签连起来,就是 GAN→CVAE→anchor→dense goal→扩散 这条"如何表达多模态"的完整副线。 - 会师点([会师]标签):GameFormer 是与博弈综述的正式焊点,建议读完本章后回到
30_博弈规划.md对照其流派六。
4.7.4 选型决策速查:给定场景,怎么选¶
把 §4.2.5、§4.3.7、§4.4.8 的选型逻辑汇总成一张"决策速查表"——这是本章最具工程行动性的产出:
| 场景特征 | 建模层(§4.2) | 骨干(§4.3) | 耦合(§4.4) | 理由 |
|---|---|---|---|---|
| 仓储 AGV、稀疏、低速 | 物理层 | 卡尔曼滤波 | 解耦 | 交互弱,杀鸡不用牛刀,易 C++ 部署 |
| 高速公路 ADAS、跟车变道 | 意图层 | LSTM/小 GNN | 解耦/条件 | 模态少、可解释、易验证 |
| 城区路口、人车混行、强交互 | 交互层 | Transformer/GNN | 条件/联合 | 必须建交互,否则 frozen robot |
| 无保护左转、汇入、谈判 | 交互层 | Transformer + 博弈 | 联合 | 强博弈,需均衡求解 |
| 安全关键、需认证 | 意图/交互层 | 轻量 + 可微优化 | 联合(DIPP式) | 可验证性优先,保留显式优化器 |
| 长尾、罕见、需常识 | 交互层 + 语义 | VLA + 显式兜底 | 联合(双层) | 用语义补长尾,用显式保安全 |
理论-工程桥接(这张表比追 SOTA 更重要):初学者的通病是"哪个网络 minADE 最低就用哪个"。本表传递的核心工程理性是——先按交互强度、算力预算、可验证性要求定位需求,再选最匹配的组合,而非盲目追榜单 SOTA。一个仓储 AGV 用卡尔曼滤波,比硬上 MTR 更专业;一个需认证的系统用 DIPP 式可微优化保留显式 cost,比上 UniAD 黑箱更负责。这正是 R6 工具 D(理论-工程桥接)贯穿本章的落点。
4.7.5 与博弈规划综述的关系速查(孪生章对照)¶
| 维度 | 交互预测(本章) | 博弈规划(30_博弈规划.md) |
关系 |
|---|---|---|---|
| 路线 | 学习派(从数据学行为分布) | 求解派(数值求解博弈均衡) | 互补 |
| 核心工具 | LSTM/GNN/Transformer/扩散 | iLQGames/ALGAMES/迭代最佳响应 | 不同手段 |
| 处理 frozen robot | 条件/联合耦合(§4.4) | 博弈均衡内生反应 | 同一病灶 |
| 条件预测 | 学网络得他车反应 | Stackelberg 求解 follower 反应 | 会师点1 |
| 联合范式 | GameFormer/DIPP | Nash 均衡求解 | 会师点2 |
| 可学习 cost | DIPP 学规划 cost | 逆博弈/逆最优控制 | 会师点3 |
| 优势 | 吃感知、处理复杂场景 | 严格、可解释、有保证 | 互补 |
| 劣势 | 黑箱、长尾脆弱、难验证 | 对模型假设敏感、可能不实时 | 互补 |
| 未来 | 融合:学习+博弈/优化 | 融合:学习+博弈/优化 | 殊途同归 |
本质洞察(读完本章,请务必回看博弈综述的会师段):本章与
30_博弈规划.md是刻意编写的一对孪生综述——它们从"学习"和"求解"两侧攀登"交互决策"这同一座山。单读任一章只见半壁,合读才见全貌。建议的阅读闭环是:读完本章 §4.4.7,回到博弈综述 §3.3 流派六(可微博弈/学习混合)与 §3.6(预测-规划耦合),对照 GameFormer/DIPP 在两章里的不同切入,你会对"求解与学习如何融合"获得立体的理解。这个"孪生对照"本身就是本教程在方法论上的一个设计——避免你掉进"唯学习论"或"唯优化论"的单一视角。
4.7.6 知识点总表(带难度与出处)¶
| 知识点 | 难度 | 出处 | 一句话 |
|---|---|---|---|
| 表示—交互—耦合三级跳 | ⭐⭐ | §4.1.1 | 全章演化主轴 |
| 六个时代因果链 | ⭐⭐ | §4.1.2–4.1.6 | 每代补前代漏洞 |
| 物理/意图/交互三层 | ⭐⭐⭐ | §4.2 | 承认几种不确定性 |
| mode averaging 病 | ⭐⭐ | §4.2.3 | MSE 把多模态平均成无效轨迹 |
| 边缘 vs 联合预测 | ⭐⭐⭐ | §4.2.4 | 独立准≠组合一致 |
| 编码脉 × 生成脉笛卡尔积 | ⭐⭐⭐ | §4.3.1/4.3.5 | 双坐标定位模型血统 |
| social pooling 的手工本质 | ⭐⭐ | §4.3.2 | 写死的交互假设 |
| 消息传递 = 可学习池化 | ⭐⭐⭐ | §4.3.3 | GNN 解放 pooling 的写死假设 |
| 自注意力 = 全连接学习图 | ⭐⭐⭐ | §4.3.4 | Transformer 解放 GNN 的稀疏固定图 |
| 容量 vs 先验 | ⭐⭐⭐ | §4.3.4 | Transformer vs GNN 之争 |
| 向量化革命 | ⭐⭐⭐ | §4.1.3/4.3.3 | 栅格→向量,分辨率革命 |
| GAN→CVAE→扩散 | ⭐⭐⭐ | §4.3.5 | 稳定表达多峰分布的进步史 |
| frozen robot | ⭐⭐⭐⭐ | §4.4.2 | 预测假装 ego 不存在 |
| self-fulfilling prophecy | ⭐⭐⭐⭐ | §4.4.2 | 退让使悲观预测自证 |
| 解耦/条件/联合 | ⭐⭐⭐⭐ | §4.4 | 耦合深度治病,非精度 |
| 条件预测 ≈ Stackelberg | ⭐⭐⭐⭐ | §4.4.3 | 学习派 vs 求解派会师1 |
| 联合 ≈ Nash 均衡 | ⭐⭐⭐⭐ | §4.4.4 | 会师2,GameFormer |
| min-over-K 原罪 | ⭐⭐⭐ | §4.5.3 | 奖励"想到了"纵容"广撒网" |
| 四数据集定位 | ⭐⭐⭐ | §4.5.2 | 开环预测台 vs 闭环规划台 |
| 开环-闭环鸿沟 | ⭐⭐⭐ | §4.5.4 | 预测能力≠驾驶能力 |
| 长尾掩盖 | ⭐⭐⭐⭐ | §4.6.3 | 平均指标稀释长尾 |
| 反事实真值缺失 | ⭐⭐⭐⭐ | §4.6.5 | 四大开放问题共同根 |
| Python→C++ 鸿沟 | ⭐⭐⭐ | §4.6.7 | 工具+算力+价值三重 |
4.7.7 给不同读者的阅读建议¶
多视角理解(同一章,不同读法): - 想建立方向感的初学者:精读 §4.1(史)+ §4.7(速查),通览 §4.2(景),其余按需。目标是脑中有一张演化地图和三层/四脉框架。 - 要选型做项目的工程师:直奔 §4.2.5、§4.3.6、§4.4.8、§4.7.4(选型决策表),重点是"按需求选组合,而非追 SOTA"。 - 要做研究的准博士生:精读 §4.4(耦合)+ §4.6(开放问题),这两节是"真问题"的富矿;再回看博弈综述会师段,思考"求解+学习融合"的课题。 - 关心部署落地的人:§4.3.6(Apollo C++ 栈)+ §4.5.4(闭环)+ §4.6.7(鸿沟)是你的主线,理解"为什么学术 SOTA 难上车"。 - 要评审论文/判断 SOTA 真伪的人:§4.5(评估,尤其 §4.5.3 原罪、§4.5.4 开闭环、§4.5.6 任务驱动)+ §4.5.1 的 Goodhart 定律是你的"测谎仪",配合"本章常见误解汇总"四类认知病,能让你对一切'刷榜 SOTA'保持恰当的怀疑。
使用本章的元建议:无论哪种读者,第一遍都先把 §4.1 的"三级跳"主轴和 §4.7 的速查表读熟,搭好地图;之后每读一篇新论文/接触一个新方法,都回到本章用"六时代 × 三层 × 四脉(编码×生成)× 三耦合 × 评估口径"这套坐标系给它定位。坚持这样做,本章就从一篇"读过的综述"变成一张"终身使用、越填越密的方向地图"——这正是方向级综述区别于普通论文笔记的价值所在。
4.7.8 一条贯穿全章的认识论主线:从"拟合"到"决策"¶
合上全章前,最后串一条把所有 ⭐⭐⭐⭐ 本质洞察都穿起来的主线——它比任何速查表都更接近这个方向的"内核"。
回看全章散落的本质洞察,会发现它们指向同一个深层判断。这个方向十年的所有进步与所有未解难题,本质都是一场从"把预测当静态拟合问题"到"把预测当序贯决策问题"的认识论迁移,而这场迁移尚未完成。
把证据串起来: - §4.2 的三层野心,按"承认几种不确定性"递进——而最深的交互层不确定性(博弈耦合),本质是决策论的,不是拟合论的。 - §4.3 的四脉骨干演化,明线是"如何拟合得更好",但 §4.3.6 揭示真正的瓶颈不在拟合精度,而在"拟合出来能否支撑可验证的决策"。 - §4.4 的耦合三范式,整节就是在论证"预测不能孤立于决策"——frozen robot 之所以治不了,正因为把它当成了"拟合不够准"(拟合论)而非"决策架构不对"(决策论)。 - §4.5 的开环-闭环鸿沟,§4.5.4 的终极本质洞察一针见血:鸿沟的根是"任务本质是序贯决策,而开环评估把它当成静态 i.i.d. 监督学习"。 - §4.6 的六大开放问题,§4.6.5 揭示其中四个同根于"反事实真值缺失"——而反事实正是决策("如果我那样做会怎样")的语言,不是拟合("数据长什么样")的语言。
本质洞察(这个方向正确的母框架是决策论/博弈论,而非监督学习——这是全章的最高判断):交互意图预测**看起来**像一个监督学习问题(给历史、拟合未来),整个领域早期也确实是这么做的(刷 minADE)。但它**本质上**是一个序贯决策问题——预测服务于决策、决策改变未来、未来又是要预测的对象,这是一个闭环的、有反馈的、博弈耦合的决策系统。领域十年的演化,正是逐步认清"我们一直用拟合的框架在做一件本质是决策的事"的过程:从解耦到联合(§4.4)是认清"预测必须耦合决策",从开环到闭环(§4.5)是认清"必须在决策反馈里评估",从纯学习到学习+博弈融合(§4.4.7)是认清"决策的结构(博弈)不能丢"。这场认识论迁移远未完成——绝大多数论文仍在用拟合的框架(开环 minADE)做决策的事,这正是 §4.6 那些开放问题久拖不决的元原因。看清这条主线,你就站到了比"会调哪个网络""刷哪个榜"高得多的位置——你理解了这个方向**该往哪个框架收敛**。而这,恰恰是本教程把"交互预测"放进"规控(决策)"体系、与"博弈规划"结对编写的最根本理由:因为预测的归宿是决策,而决策的语言是规控与博弈,不是监督学习。
对比性思维("感知派"读法 vs "决策派"读法):同一个交互预测方向,两类读者会读出两种东西。感知派(从深度学习/CV 来)倾向把它读成"又一个序列建模任务",关注网络结构、数据集、刷榜——这是把它归入"拟合"。决策派(从规控/机器人来,本教程的视角)把它读成"决策系统的一个耦合环节",关注它如何接入规划、如何在闭环里表现、如何保证安全——这是把它归入"决策"。本章自始至终采用决策派读法——这不是任意选择,而是 §4.7.8 论证的"方向本质是决策问题"的必然要求。如果你之前用感知派的眼光看预测,本章最大的价值或许就是帮你完成这次视角切换:别再问"这个预测器准不准",要问"这个预测器能不能让整个决策系统更安全"。
4.7.9 合上本章前的自测清单¶
读完全章,用以下 8 问自测——若每问都能不看书答出,你就真正建立了这个方向的"方向感"(答不出的指向对应小节复习):
- 不看表,复述"表示—交互—耦合"三级跳,并各举一个代表性跃迁(→ §4.1)。
- 给一个预测方法,能否用"三层野心 × 四脉骨干(编码×生成)× 输入输出接口"给它定位?(→ §4.2、§4.3)
- 说清 frozen robot 与 self-fulfilling prophecy 的区别,以及为什么"提升预测精度"治不了它们(→ §4.4.2)。
- 论证"条件预测 ≈ Stackelberg、联合 ≈ Nash",说清本章与博弈综述的会师(→ §4.4.7)。
- 解释 min-over-K 的原罪(奖励什么、纵容什么),以及 brier/mAP 怎么打补丁(→ §4.5.3)。
- 说清开环-闭环鸿沟的三个原因,以及为什么它本质是"序贯决策被当成静态拟合"(→ §4.5.4、§4.7.8)。
- 列出 §4.6 六大开放问题,指出哪四个同根于"反事实真值缺失"(→ §4.6)。
- 用一句话说清"为什么这个方向的归宿是决策论而非监督学习",以及它对你(C++ 工程师)意味着什么机会(→ §4.7.8、§4.6.7)。
本质洞察(自测清单的真正用途):这 8 问不是考记忆,而是考**结构**——它们恰好对应本章六段(史/景/器/耦/测/问)的主轴与最高判断。如果你能流畅答出,说明你脑中已不是一堆零散缩写,而是一张有主轴、有坐标系、有最高判断的"方向地图"。带着这张地图,你读任何一篇交互预测的新论文都不会迷路——这正是方向级综述存在的全部意义。
本章常见误解汇总¶
下表汇总全章散落各节的高频误解,集中呈现以便复习。每条给出"误解—真相—出处",是合上书前的最后一遍校准。
| # | 常见误解 | 真相 | 出处 |
|---|---|---|---|
| 1 | 预测就是"输出一条最可能的未来轨迹" | 未来是多模态分布,输出一条会触发 mode averaging(平均成无效轨迹) | §4.1.2 / §4.2.3 |
| 2 | 用了 Transformer/GNN 就等于"建模了交互" | 交互层与否看信息是否在智能体间流动,而非用了什么算子;可以用 Transformer 只编码单体历史 | §4.2.7 陷阱一 |
| 3 | 建模层次越高越好,永远该上交互层 | 高层模型吃数据、吃算力、难部署;弱交互场景卡尔曼滤波就够,且更易 C++ 化 | §4.2.7 陷阱二 |
| 4 | 每辆车都预测准 = 场景预测准 | 边缘预测独立准,组合起来可能互相碰撞;联合预测才保证场景级一致 | §4.2.4 / §4.2.7 陷阱三 |
| 5 | 一个模型要么是 LSTM 系要么是生成系,二选一 | 编码脉与生成脉正交,是笛卡尔积;Trajectron++ = LSTM × CVAE | §4.3.1 / §4.3.5 |
| 6 | Transformer 永远优于 GNN/LSTM | 小数据上 Transformer 易过拟合,GNN 强先验更稳;车载算力下平方复杂度是硬伤(容量 vs 先验) | §4.3.4 / §4.3.8 陷阱二 |
| 7 | 开源 SOTA 代码 = 可部署方案 | PyTorch SOTA 距 C++ 实时、可验证生产栈隔着巨大工程量(Apollo 哲学截然不同) | §4.3.6 / §4.3.8 陷阱三 |
| 8 | 把预测做得更准就能解决 frozen robot | 病在架构单向性不在精度;开环完美的预测器照样冻死。药在耦合深度 | §4.4.2 教学警示 / §4.4.5 |
| 9 | frozen robot 和 self-fulfilling prophecy 是一回事 | 同源但一谈行为(不敢动)、一谈认知闭环(悲观自证) | §4.4.2 对比性思维 |
| 10 | 实现了 condition on ego 就是"联合规划-预测" | 条件范式仍是迭代两段式,不是同一优化里共生 | §4.4.3 / §4.4.8 陷阱三 |
| 11 | minADE 低 = 预测好/有用 | min-over-K 纵容"广撒网";撒一堆无用轨迹也能刷低 minADE,反而加剧 frozen robot | §4.5.3 本质洞察 |
| 12 | 跨论文可以直接比 minADE 数字 | K 值、跨度、数据集、marginal/joint 口径不同则不可比 | §4.5.5 陷阱二 |
| 13 | 开环高分 = 闭环安全 | 二者弱相关(nuPlan 实证);开环结构性地无法暴露 frozen robot 与因果错误 | §4.5.4 本质洞察 |
| 14 | 平均指标好 = 系统安全 | 长尾被平均稀释;致命事故都在长尾。工业看 worst-case,学术看 average | §4.6.3 对比性思维 |
| 15 | 大模型/VLA 一来就解决一切(或纯属炒作) | 它用一种短板(长尾/因果)换另一种短板(黑箱/幻觉/算力);未来在融合 | §4.6.6 对比性思维 |
| 16 | 博弈规划和学习预测是互斥对立的两派 | 是攀登同一座山的两条互补路线(求解 vs 学习),前沿在融合 | §4.4.7 / §4.7.5 |
本质洞察(这 16 条误解,可归为四类"认知病"):回看上表,会发现它们不是随机的 16 个错误,而是聚成四簇:① 多模态认知病(#1、#4、#11——不理解"未来是分布、要联合一致、不能广撒网");② 工具崇拜病(#2、#3、#5、#6、#7——把"用了什么网络/SOTA"当成能力本身,忽视层次、先验、部署);③ 精度迷信病(#8、#10、#13、#14——以为"更准"能解决一切,忽视耦合、闭环、长尾);④ 范式站队病(#15、#16——非此即彼地站队,看不到融合)。这四类病,恰好对应本章想根治的四种认知偏差。如果你能对每一类说出"为什么是病、药在哪",就真正读懂了这一章。
跨章综合练习¶
本章是综述,练习侧重"打通"与"判断",不要求推导或编码。以下题目跨越本章多节并连接前置章节(博弈规划、不确定性规划、深度学习基础),是检验"方向感"是否建立的综合考题。建议至少完成 3 道,其中第 5、6 题为研究级开放题。
-
(贯通史—景—器) 给定三篇论文的一句话描述:(a)"用 LSTM 编码行人历史 + social pooling 聚合邻居 + MSE 回归一条轨迹";(b)"向量化地图与轨迹 + 两级 GNN + 预测 6 个目标点再回归打分";(c)"Transformer 编码全场景 token + motion query 解码 + 输出 6 条带概率轨迹"。请为每篇定位:属于哪个时代(§4.1)、哪个建模层(§4.2)、编码脉×生成脉血统(§4.3)、有无 mode averaging 风险。
-
(贯通耦合—评估) 一个团队报告:"我们的预测器在 Argoverse 2 上 brier-minFDE 达到 SOTA,但接入闭环规划后,在密集汇入场景仍频繁 frozen。" 请用本章知识诊断:问题最可能出在哪?(提示:从耦合范式 §4.4 和开环-闭环鸿沟 §4.5.4 两个角度,论证"开环 SOTA 与闭环 frozen 并不矛盾"。)并给出至少两条改进方向。
-
(连接博弈综述) 回到
30_博弈规划.md,找到它讲 Stackelberg 博弈与"预测即均衡"的段落。请论证:本章的 M2I(influencer/reactor 条件预测)与博弈综述的 Stackelberg leader-follower,在数学结构上是同一件事。明确指出:谁是 leader、谁是 follower、求解派如何得到 follower 反应、学习派如何得到、二者各自的优劣。 -
(连接不确定性规划) 回顾
20_不确定性规划.md关于不确定性的处理。请对照本章 §4.6.4,论证:为什么"区分偶然不确定性与认知不确定性"对下游规划至关重要?设计一个决策规则——给定预测的两类不确定性,规划器分别应如何调整保守程度? -
(研究级·选题) 从 §4.6 六个开放问题中选一个,写一份半页的"研究提案草图":问题是什么、为什么现有方法没解决、你的切入角度、你会用什么数据集和**闭环**评估(而非只刷开环 minADE)来验证真实进步。要求体现你对"开环涨点≠真进步"的理解。
-
(研究级·融合架构) 综合 §4.4.7(求解+学习融合)与 §4.6.6(VLA 双层架构),设计一个"语义层(VLA)+ 预测层(显式轨迹)+ 安全层(博弈/优化兜底)"的三层决策系统。画出数据流、指明每层用什么技术、它们如何接口、谁有最终安全否决权。讨论:这个架构如何同时利用学习的泛化、显式预测的可评估、优化的可验证?它的主要工程风险是什么?
延伸阅读¶
综述章的延伸阅读按"主题分组",而非简单罗列。每组给出代表性工作与一句话定位,便于按兴趣深入。注意:本章涉及的所有具体算法,未来会在
04_移动机器人规控/40_交互意图预测/的正文里逐一精读,此处仅作方向导览。
A. 综述与分类框架(先读这些建立全局) - Lefèvre, Vasquez, Laugier, A survey on motion prediction and risk assessment for intelligent vehicles, ROBOMECH Journal, 2014 —— 物理/机动/交互三层分类法的源头,本章 §4.2 的框架来源。 - 近年(2024–2025)多篇 arXiv 综述系统梳理了深度学习轨迹预测的"表示—建模—学习"三视角,以及涵盖扩散与大模型的多维分类框架,可作为本章的延展与更新。 - Deployable and Generalizable Motion Prediction: Taxonomy, Open Challenges and Future Directions(2025)—— 聚焦"可部署、可泛化",与本章 §4.6 开放问题高度呼应。
B. 四脉骨干的奠基作(按 §4.3 血统选读) - LSTM 系:Social LSTM(CVPR 2016)、Convolutional Social Pooling/CS-LSTM(CVPRW 2018)、Trajectron++(ECCV 2020)。 - GNN 系:VectorNet(CVPR 2020)、LaneGCN(ECCV 2020)。 - Transformer 系:Scene Transformer(ICLR 2022)、MTR(NeurIPS 2022)、Wayformer(2022)、QCNet(CVPR 2023)。 - 生成系:Social GAN(CVPR 2018)、DESIRE(CVPR 2017)、MotionDiffuser、Diffusion Policy(RSS 2023)。
C. 预测-规划耦合与端到端(§4.4 的核心文献) - 条件预测:PRECOG(ICCV 2019)、PiP(ECCV 2020)、M2I(CVPR 2022)。 - 联合一体化:DIPP(TNNLS 2023)、GameFormer(ICCV 2023)。 - 端到端:UniAD(CVPR 2023 Best Paper)、VAD/VADv2(ICCV 2023)。 - 闭环规划 SOTA:PLUTO、Diffusion-Planner(ICLR 2025)、CaRL(2025)。
D. 评估与 benchmark(§4.5 的支撑) - 数据集:nuScenes(2019)、Argoverse 1/2(2019/2021)、Waymo Open Motion(2021)、nuPlan(2021)。 - 闭环评估的反思:nuPlan 原始论文(arXiv 2106.11810)关于"开环弱相关闭环"的实证;When Planners Meet Reality: How Learned, Reactive Traffic Agents Shift nuPlan Benchmarks(2025)关于反应式智能体抬高门槛。 - 强基线反思:Schöller et al., What the Constant Velocity Model Can Teach Us About Pedestrian Motion Prediction(2020)—— 理解 §4.2.2 与 §4.6.3 长尾问题的必读。
E. 开放问题前沿(§4.6 的延展) - 不确定性:CUQDS(AAAI 2025,保形预测 + 分布漂移);NeurIPS Shifts Challenge(分布漂移 benchmark)。 - 基础模型/VLA:DriveVLM、LMDrive、Senna(驾驶侧);RT-2、OpenVLA、π0/π0.5、Groot N1(机器人侧)。
F. 工程落地(§4.3.6、§4.6.7 的实战)
- 百度 Apollo modules/prediction 源码 —— 唯一的大规模生产级 C++ 预测栈,是理解"学术-工业鸿沟"的活教材,也是 C++ 工程师最该读的代码。
本质洞察(读文献的顺序建议):不要按时间顺序硬啃所有论文。先读 A 组(综述)建立地图,再按你的目标选读:建立方向感读 B 组奠基作各一篇;做研究读 C 组(耦合是真问题富矿)+ E 组(开放问题);做部署读 D 组(评估反思)+ F 组(Apollo)。读每一篇时,用本章的坐标系给它定位——它在六个时代的哪一格、三层的哪一层、四脉的哪一脉、三种耦合的哪一种、用什么数据集什么指标。有了坐标系,读论文就从"记忆缩写"变成"填充地图"。
累积项目衔接¶
本章是方向级综述,不含可运行代码,因此不直接产出累积项目模块。但它为后续
04_移动机器人规控/40_交互意图预测/正文里的累积项目**奠定了选型与评估的认知地基**。这里说明衔接关系,让你知道"读完综述后,动手时该带着什么框架"。
交互意图预测方向的累积项目(将在正文章节展开)大致会沿这样一条路径推进,而本综述为每一步预装了"判断力":
- 基线搭建(物理层):先实现一个卡尔曼滤波/恒速预测器作为基线——本章 §4.2.2 已让你理解"为什么这个'简单'基线其实是个被低估的强对手",动手时你就不会轻视它,而会把它当作衡量后续复杂模型增量价值的标尺。
- 意图层升级:加入机动分类/目标点预测——本章 §4.2.3 的"意图三副面孔"和 mode averaging 病,让你动手时清楚"为什么要离散化、离散化解决了什么"。
- 交互层骨干:实现一个 GNN 或轻量 Transformer 编码器——本章 §4.3 的四脉剖析和"编码脉×生成脉"框架,让你能有意识地选择骨干、而非照抄某篇论文。
- 耦合实验:把预测接入一个简单规划器,亲手复现 frozen robot,再用条件预测缓解它——本章 §4.4 的三范式与两病灶,是这一步的理论剧本。
- 评估闭环:用 minADE/minFDE 做开环评估,再搭一个微型闭环测试观察开环-闭环差异——本章 §4.5 让你预先知道"开环高分可能骗人",从而主动设计闭环验证。
理论-工程桥接(综述与累积项目的分工):综述给"判断力"(该选什么、为什么、坑在哪),正文累积项目给"动手力"(怎么实现、怎么调、怎么验证)。先有判断力再动手,能避免"照着论文复现却不知道为什么、一遇到 frozen robot 就懵"的困境。 这正是本教程把方向级综述独立成章、置于正文之前的设计意图——让你带着地图进山,而非进山后才发现没带地图。
后续章节关系¶
本章在整个 04_移动机器人规控 体系中的位置与连接:
向上承接(本章依赖的前置):
- 30_博弈规划.md(孪生综述)—— 本章的"求解派对照系"。frozen robot 病灶、Stackelberg/Nash 会师点、"求解+学习融合"的最高结论,都建立在与博弈综述的对照之上。强烈建议两章合读。
- 20_不确定性规划.md —— 本章"多模态/不确定性"诉求的前置。§4.6.4 不确定性量化直接延续其讨论。
- 深度学习基础(序列建模、GNN、生成模型、Transformer)—— 本章 §4.3 四脉的数学地基,前置知识桥接已做预热。
向下铺垫(本章为之奠基的后续):
- 04_移动机器人规控/40_交互意图预测/(正文系列)—— 本章是其"导览图"。正文会逐一精读本章点名的算法(Social LSTM、VectorNet、Trajectron++、MTR、GameFormer、UniAD 等),并配可运行代码与逐行源码走读。本章建立的"六时代/三层/四脉/三耦合/评估/开放问题"坐标系,是阅读那些正文的索引。
- 端到端自动驾驶相关章节 —— 本章 §4.1.5、§4.4.4 的端到端线(UniAD/VAD)会在那里深入。
- 部署与工程化章节 —— 本章 §4.3.6、§4.6.7 反复强调的"Python→C++ 鸿沟",是部署章节要正面攻克的工程课题(模型导出、量化、TensorRT、实时化、可验证化)。
横向关联(平行的兄弟方向): - 经典规控(MPC、最优控制、采样规划)—— 本章 §4.4 的"联合范式"里,规划侧仍可能用 MPC/可微优化,与经典规控章节互通。 - 强化学习决策 —— 本章 §4.6.6 的 VLA、§4.5.4 的闭环训练,与 RL 方向有交叉。
本质洞察(综述章的"枢纽"地位):本章不是一个孤立的知识点章,而是一个**枢纽(hub)**——它向上把博弈、不确定性、深度学习三股前置知识汇流,向下把交互预测正文系列、端到端、部署三条后续路径分发。读懂这个枢纽,你就拿到了在
04_移动机器人规控体系里"学习派决策"这一大片版图的导航总图。
🔧 故障排查手册
综述章无代码,故"故障"对应的是**认知/选型/评估/读论文环节最常见的"判断失误"**——它们在工程实践中造成的代价(选错方案、误判进展、部署翻车)不亚于代码 bug。下表把全章的高频判断失误整理成"症状→可能原因→排查步骤→相关章节"的结构化排查表,是你日后做预测相关决策时的"诊断手册"。
| 症状 | 可能原因 | 排查步骤 | 相关章节 |
|---|---|---|---|
| 机器人在汇入/路口"不敢动"(frozen) | 预测-规划解耦,预测无视 ego 影响、输出悲观分支 | 1.确认架构是否解耦(信息是否单向)2.检查预测是否 condition on ego 计划 3.评估升级到条件/联合范式的成本 4.亲手在闭环里复现以确认非随机现象 | §4.4.2 / §4.4.3 |
| 死磕预测精度但 frozen 不改善 | 误把"精度问题"当病根,实为"架构单向性" | 1.明确病在耦合深度不在精度(即便 minADE→0 也治不了)2.停止单纯刷开环精度 3.转向条件/联合耦合 | §4.4.2 教学警示 / §4.4.5 |
| 开环 minADE SOTA,闭环却很差 | 开环-闭环鸿沟:误差累积、因果混淆、交互在回放里被冻结 | 1.检查是否只用开环指标 2.搭闭环测试(nuPlan 风格)3.排查 covariate shift 与虚假因果(如刹车灯)4.关注长尾场景表现 | §4.5.4 |
| 跨论文比 minADE 得出矛盾结论 | K 值/预测跨度/数据集/marginal-joint 口径不一致 | 1.核对两者的 benchmark 设定是否完全相同 2.对齐 K、跨度、数据集、赛道 3.不同设定下拒绝直接比较 | §4.5.2 / §4.5.5 |
| 多车预测各自准但组合起来碰撞 | 用了边缘预测(marginal),缺联合一致性 | 1.确认是 marginal 还是 joint 预测 2.强交互场景改用联合预测/联合指标 3.检查下游规划是否被矛盾预测误导 | §4.2.4 |
| 选了复杂模型但精度不升、部署困难 | 场景交互弱却硬上交互层/大模型(杀鸡用牛刀) | 1.评估场景真实交互强度 2.按 §4.7.4 选型表降维到合适层 3.弱交互场景退回卡尔曼/轻量模型 | §4.2.5 / §4.7.4 |
| 开源 SOTA 跑通了却无法上车 | 低估 Python→C++ 鸿沟(算子/算力/可验证) | 1.列出模型依赖的算子,检查 C++/TensorRT 支持 2.评估平方复杂度/去噪步数的时延 3.对标 Apollo 轻量化哲学 4.把工程化成本计入排期 | §4.3.6 / §4.6.7 |
| 模型给的置信度不可信(说 90% 实际 60%) | 不确定性未校准,或分布漂移使校准失效 | 1.做校准曲线检查 2.区分偶然/认知不确定性 3.引入集成或保形预测(CUQDS)4.监控 OOD 信号 | §4.6.4 |
| 系统平均表现好但偶发致命错误 | 长尾被平均指标稀释,用了"平均思维"评安全系统 | 1.改用 worst-case/长尾失败率评估 2.挖掘并重采样罕见场景 3.对安全关键路径加显式兜底 | §4.6.3 |
| 误判 VLA/大模型能否解决问题 | 过度乐观(神化)或过度悲观(斥为炒作) | 1.认清"用一种短板换另一种短板"2.评估黑箱/幻觉/算力对安全的影响 3.考虑"语义层+安全层"融合而非单押 | §4.6.6 |
本质洞察(这些"故障"的共性诊断法):上表十个"判断失误",绝大多数的根治第一步都是同一个动作——先分清自己站在"开环/解耦/平均/精度"的旧思维里,还是"闭环/耦合/最坏/架构"的新思维里。本章从头到尾在做的,就是把你的默认思维从前者升级到后者。所以这张排查表的"元排查步骤"是:遇到任何预测相关的困惑,先问自己四个问题——(1) 我是在开环还是闭环里评判?(2) 我的预测和规划耦合了吗?(3) 我看的是平均还是最坏?(4) 我的瓶颈在精度还是在架构? 答对这四问,大多数判断失误会自动现形。这是本章留给你的、可迁移到任何新方法新论文的"诊断元能力"。
全章结语:交互意图预测,是过去十年机器人与自动驾驶领域范式更迭最快、论文最密、也最能体现"学习"与"求解"两种哲学碰撞的方向。本章用"史—景—器—耦—测—问"六段,把这条湍急的演化河流梳理成了一张可复述的地图:它的主轴是"表示—交互—耦合"三级跳,它的方法谱是"三层野心 × 四脉工具",它的灵魂是"解耦→条件→联合"并与博弈规划会师,它的标尺充满"开环会骗人"的陷阱,它的边疆扎根于"反事实真值缺失"的认识论难题,它的工程现实是一条"Python 研究→C++ 部署"的鸿沟——而这条鸿沟,恰恰是你这样的 C++ 母语机器人工程师最值得投身的战场。合上这一章时,愿你脑中留下的不是一锅论文缩写的字母汤,而是一张能给任何新论文、新方法定位的坐标系,和一套能识破"SOTA 宣称"水分的诊断元能力。带着这张地图,去
40_交互意图预测/的正文里动手吧。