☰
潜空间预测与零样本目标条件:自动驾驶端到端规划新思路
2026/10/17 3:59:43 网站建设 项目流程

最近刷到一篇很有意思的新工作:AD-E2E-JEPA,副标题直接点出三件事——压缩潜空间、零样本、目标条件驾驶规划。从事自动驾驶方向的人看到这几个词,第一反应多半是“又来一个端到端”,但仔细拆开看,这套思路和普通的行为克隆式端到端差别非常大。论文的核心不是换一个更大的网络,而是换了一个做预测的地方:不在像素空间或坐标空间里想未来,而是在压缩好的潜空间里想未来。

我会从几个层面把这套设计讲透:它到底在解决什么老问题,压缩潜空间为什么是关键,零样本目标条件规划凭什么能成立,以及如果我想复现一个简化版,需要踩哪些坑。无论你是做端到端规划的工程师,还是想理解世界模型怎么落地到驾驶任务的研究生,这篇都应该能给你一些可以迁移的思路。

1. 为什么端到端驾驶规划要绕到 JEPA 这套架构里

1.1 JEPA 和传统端到端模型的本质差异

JEPA 全称是联合嵌入预测架构(Joint Embedding Predictive Architecture),核心思想是“预测发生在表示空间里,而不是原始输入空间”。传统的变分自编码器逼着模型把潜变量解码回原始画面,扩散模型更是把整张图的重建算力都花在像素上。JEPA 的策略完全反过来:它不要求重建,只要求用一个抽象向量预测另一个抽象向量。

放在自动驾驶语境里,这个差异非常关键。驾驶场景里的信息冗余极大:天空的云、路边的树影、路面的纹理,这些对未来驾驶决策几乎没有影响,如果模型被迫重建它们,就会浪费大量容量和算力。JEPA 天然允许模型把那些“与未来行为无关的信息”直接扔掉,只保留一个压缩、抽象、对预测有用的表示。

AD-E2E-JEPA 明显继承了这套哲学,但往前多走了一步:它不只是做观测之间的预测,还引入了目标条件。也就是说,潜空间里的未来预测不是漫无目的的演进,而是被一个目标向量牵着走。这样一来,潜空间既承担了过去经验的理解,又承担了通往目标的想象。

1.2 行为克隆式端到端为什么会碰壁

前几年很流行的那类端到端模型,本质上是在做行为克隆:输入图像序列,输出未来若干秒的方向盘转角或轨迹坐标,监督信号来自人类驾驶数据。训练阶段看起来收敛得不错,因为数据集里大部分场景都有重复性,模型背下了高频模式。

但到了真实部署或者一个新城市,问题立刻暴露。一个没有见过的路口形态、一个很特殊的施工区域、一段训练数据里几乎不出现的小路,模型只能从记忆里找最像的轨迹套上去,结果往往是方向合理但几何上不可用。行为克隆的根本病灶在于:它让模型直接学“轨迹坐标”,而轨迹坐标是一个高度耦合、多模态、对环境因果不敏感的表达。

AD-E2E-JEPA 的思路是绕开“直接预测轨迹”这条捷径,先让模型在潜空间里理解“这个场景接下来会怎样演化”,再把这种演化转化成轨迹。区别用一个例子很好说明:前者像一个人背下了城市地图,换一个城市就迷路;后者像一个人学会了看路牌和理解交通流,走到陌生的地方也能开车。

1.3 世界模型和驾驶规划的关系

谈到 JEPA,很多人第一反应是“世界模型”。这个关系值得说清楚。世界模型的目标是让机器对环境的动态有内在想象能力:即使看不到未来实况,也能在内部推演出未来大概率发生什么。驾驶本质上高度依赖这种想象能力——你不能等行人走到车前才开始刹车,你得预判他下一步会怎么做。

AD-E2E-JEPA 等于把世界模型和规划决策绑在了一套联合训练框架里。它会学习周围车辆、行人、道路结构之间相互作用的高层规律,然后用这些规律回答一个非常具体的问题:给定目标、给定当前观测,未来状态应该长什么样。当未来状态在潜空间里被构造出来之后,再映射到轨迹上,这就完成了从理解到决策的闭环。

2. 压缩潜空间这一招,妙在哪里

2.1 从计算开销的角度看压缩

直接对高维像素做未来预测在计算上是灾难性的。假设输入是 6 路 1280×720 图像,经过骨干网络得到特征图后,如果要预测未来 8 帧,每一帧都在这样的特征图尺度上推演,显存和算力开销会直接爆炸。压缩潜空间把这个尺度缩小一个甚至两个量级,通常是几十到一百多维的向量,或者尺寸很小的特征图,预测成本立刻变成可以接受的范围。

这不只是一个工程优化,还影响了模型容量分配。计算单元有限,放在潜空间预测上的每一点算力,都在直接服务“场景演化和目标达成”,而不是消耗在像素细节上。

2.2 压到什么程度才算“到位”

潜空间不是压得越小越好,关键是保留的信息纯度。我见过一些类似的实验,潜空间压到 32 维,训练损失也很漂亮,但轨迹输出完全没细节,直行还行,转弯一塌糊涂。原因就是压缩过狠,把必要的几何信息扔掉了。

比较稳妥的设计通常是:潜变量保留一个中等维度,同时通过任务约束来引导压缩方向。也就是说,不是靠一个简单的重建损失来约束潜空间,而是要求这个潜变量能够支持下游任务——预测未来、解码轨迹、判断目标是否可达。当任务本身对信息纯度有要求时,编码器自然会把几何和语义信息留下来。

2.3 为什么说“能想象未来”比“能还原画面”更重要

JEPA 对“要不要重建”的态度非常鲜明:不重建。它只要求在表示空间里做预测,让预测向量和真实未来向量尽量一致。这样做有一个微妙但重要的效果:模型不会去关心那些与预测无关的变化,比如光照波动、树叶晃动、远处无关车辆的颜色变化。

对驾驶来说,这种信息过滤是有益的。规划决策真正关心的是结构化的环境变化:车道走向是否衔接、前方车辆是否减速、行人是否进入可通行区域。把这些关键变化在潜空间里建模,形成一个“动态结构”的预测,再基于这个预测生成轨迹,效率和质量都可能比像素级重建路线高很多。

2.4 压缩潜空间的训练目标通常怎么组合

一个典型的潜空间预测框架,训练时一般会混合几类损失。第一类是潜空间预测损失,让模型预测出来的未来潜状态和编码器提取的真实未来潜状态尽量接近,通常用对比学习或均方误差。第二类是轨迹监督损失,把潜状态解码成轨迹坐标后和人类真实轨迹做对齐,保证潜空间里的好东西真能落到行为上。第三类是目标一致性损失,相同目标下不同起点的预测潜状态应当在一个合理区域内对齐。

这三类损失不是平均加权就完事。实操中我更推荐先把轨迹监督权重拉高,让模型先具备一个基本可用的驾驶能力,再逐步加大潜空间预测损失的权重。否则模型很容易只顾着把潜空间内部关系理清楚,却忘了怎么开车。

3. “零样本”和“目标条件”到底在解决什么问题

3.1 零样本泛化的真正考验是什么

自动驾驶里的零样本,最容易想到的是跨城市。但跨城市这件事其实还可以拆得更细:有的是标线风格的差异,有的是路口拓扑差异,有的是交通流行为习惯差异,更极端一点,还有完全没见过的道路类型。

想要在这些情况下不靠微调直接跑通,模型必须学到比“某个城市的规则”更通用的东西。潜空间方案之所以有潜力,是因为它不直接记住“从 A 到 B 的轨迹”,而是记住“环境状态如何朝着目标状态演化”的一般性结构。城市会变,但“车辆要沿着可通行区域运动”“动态障碍物需要避让”这些规律不会变,它们会被沉淀在潜空间结构里。

3.2 目标条件是“零样本”能够成立的支点

如果没有目标条件,模型只能做自由演化式的未来预测:预测未来可能发生什么,但不能主动选择一个方向去实现。这在驾驶规划里是不够的,因为车辆需要一个明确的意图。

目标条件机制把目标编码成向量,让潜空间预测过程自始至终受目标驱动。更关键的是,目标可以不受限于训练集里的固定类别。只要目标能够被编码器和观测对齐到同一个表示空间,模型就有机会处理从未见过的目标组合。训练时见过“前方路口右转”“左侧变道”,测试时提出“停在那个蓝色货车后面”,虽然没见过一模一样的目标,但目标的核心构成元素——空间位置、相对关系、语义约束——都已经被训练数据覆盖了,于是模型可以零样本地组合出一条合理轨迹。

这与大语言模型能回答没见过的组合问题有一点神似:靠的不是死记组合,而是对构成要素的分布式理解。

3.3 训练数据要做哪些取舍才能支撑泛化

想真正实现零样本,数据的多样性要比数据量更优先。我在项目里见过很多团队把数据总量堆得很大,但场景分布很窄,训练出来的模型在自家测试集上漂亮,一旦放去新城市就崩。零样本训练需要的是刻意制造稀疏覆盖:不同拓扑的交叉口、不同宽度的车道、不同类型的动态障碍物行为,都要在训练集里以一定比例出现。

还有一个容易忽略的点是目标的多样性。如果训练时目标只来自地图导航的终点,那模型对目标的理解会偏向“长距离寻路”。为了撑住零样本,建议在训练时在线随机化目标:随机采样不同距离的位置点、不同语义的驾驶意图、不同相对方位。目标本身的多样性直接决定模型对目标条件的泛化边界。

4. 拆解 AD-E2E-JEPA 的整体链路

4.1 观测编码:几何对齐比强拼接更重要

驾驶规划一般不会只用单张图片。多视角相机、自车惯导、高精度地图特征都会作为输入。把多视角图像特征直接拼在一起送入 Transformer,模型虽然也能学,但会花额外参数去隐式推理“两个视角之间的空间关系”,既浪费又不可靠。

更稳妥的做法是先做几何投影,把多视角特征变换到统一的 BEV 或体素空间,让不同视角的特征在物理坐标上对齐。这样后续的潜空间编码器天然知道“哪个位置的车辆在靠近”,不需要从头学习空间相对位置关系。从工程角度讲,几何对齐也能减少视角遮挡造成的特征冲突,多视角拼接的很多奇怪错误都来自这一步没做干净。

4.2 状态编码和目标编码要不要共用网络

这是设计上很值得纠结的地方。一种方案是观测状态和目标任务分别用两个编码器,彻底独立;另一种方案是用同一个编码器,输入侧拼一个模态标记。

我个人的经验是,前期可以让两个编码器结构相似但参数独立,各自由各自的任务损失驱动。等到模型运行稳定之后,再试验共享部分参数,看看能不能通过参数共享把目标的信息传导到状态编码过程里。这样由松到紧、逐步收紧,比一上来就强制共享更容易排查问题。

4.3 潜空间里的预测到底是怎么进行的

可以把潜空间预测类比成语言模型的 next-token 预测。语言模型根据前文预测下一个 token,这套系统中的模型根据当前观测潜变量和目标潜变量,预测未来第 1 步、第 2 步的潜状态。每一步预测都可以作为下一步的输入,形成一个在潜空间里的滚动预测。

但与语言模型不同的是,这里的潜变量通常是连续的,而且预测过程要考虑多模态性:同一个场景下可能有多种合理未来,比如前车右转或直行。因此预测模块很少用单一确定性输出去拟合所有未来,而是采用多分支或概率分布式的结构。每个分支代表一种可能的未来走向,最后在解码阶段再对应生成不同的候选轨迹。

4.4 从潜状态到驾驶行为:解码头要轻,但要准

潜空间预测完成之后,系统需要把抽象的潜状态变成车辆可以执行的轨迹。解码头通常是一个轻量级 MLP 或 Transformer 解码器,输入潜状态和部分历史信息,输出未来若干秒的轨迹点序列,每个点包含横向偏差、纵向速度或者二维坐标。

这里最忌惮的是把解码头做得太复杂。解码头如果太重型,它自己就会尝试去理解场景,会绕过潜空间里的预测信息,退化成普通的轨迹回归模型。保持解码头尽量轻,才能保证模型真正依赖潜空间预测来生成轨迹。

4.5 多候选轨迹与安全兜底

实际部署中,规划模块很少只输出一条轨迹。常规做法是让模型输出 K 条候选轨迹,覆盖不同的横向偏移和速度策略,然后交给下游的安全检查模块逐一过滤。

AD-E2E-JEPA 天然支持这种多候选输出方式,因为潜空间里的未来预测本身就可以是多分支的。每个分支对应一种场景演化假设,再解码出对应轨迹,安全层只需要挑一条碰撞风险最低、动力学约束可满足的轨迹即可。端到端模型负责“提出聪明的候选”,传统安全逻辑负责“约束底线”,这套组合我在实际项目里认为是目前最务实的落地形态。

5. 复现和工程化时,我踩过的几个坑

5.1 别一上来就跑满配模型

第一次复现这类系统,最容易犯的错误是直接上多视角、多传感器、大分辨率。显存先爆掉,训练一个 epoch 要两天,调参节奏全乱。我现在的做法是先砍到单视角加自车状态,加一张稀疏的语义地图特征,把潜空间预测的核心逻辑跑通。验证思路没问题之后,再往里面加传感器通道。

简化配置下出现的效果提升,往往会比满配更容易分析。如果你的单视角简化版都能看到潜空间预测带来的泛化增益,那说明设计是扎实的,而不是靠大模型硬扛。

5.2 潜空间预测崩溃是很常见的问题

潜空间预测头会在训练中偷懒。它可能学成一个只依赖目标的常数输出,完全忽略观测;也可能学成一个过于平滑的平均状态,把所有未来场景都压成同一个表征。这两种情况都会导致解码出来的轨迹看起来还可以,但没有任何场景针对性。

我的排查办法是盯住潜变量的方差和互信息。每过一个阶段,统计潜变量在不同场景下的分布是否拉开,如果分布几乎重合,那说明观测信息没有被有效利用。修复的办法是调整损失权重,给轨迹监督更高的优先权,同时给潜空间预测加一项对比损失,强制模型在不同场景下产生可区分的潜状态。

5.3 目标条件在推理时也要做几何约束

训练时目标向量生成得很随意,但推理时用户给的目标可能落在障碍物内、可能在车后方、可能与车辆动力学完全冲突。如果不做预处理,模型经常会把不合理目标当成有效目标,产生很怪的轨迹。

我现在会在目标进入编码器之前,套一层简单的几何校验:目标是否在地图可通行区域内、是否与自车朝向角度差太大、是否被动态障碍物直接占据。这些信息不一定要硬性拒绝,但可以作为约束标志和目标向量一起进入模型,让模型知道哪些可以用、哪些需要特别处理。

5.4 长短距离目标要分开评估

零样本目标条件规划如果只用一个平均指标评估,很容易被表面数字欺骗。长距离目标误差天然偏大,短距离目标又有更高的碰撞敏感性,混在一起统计会掩盖模型在两个方向上的真实短板。

我把评估目标按距离切三段:0 到 20 米、20 到 60 米、60 米以上,分别统计任务完成率和碰撞率。这个习惯帮我发现过不少有意思的问题,比如模型在长距离目标上容易丢失目标朝向信息,在短距离目标上又容易过于激进。分开统计之后,才知道该调潜变量里的哪个维度。

5.5 安全兜底层不是可有可无

无论潜空间方案听起来多优雅,直接让一个端到端模型输出刹车踏板开度都是一件高风险的事。我在实际系统里一定会保留一层规则兜底:基础碰撞检测、车道边界约束、车辆运动学合理性校验。

这并不和论文思想冲突。论文解决的是生成高质量候选,规则解决的是保证绝对底线。前者可以出彩,后者必须正确。两者配合,才是一个能进真实道路的系统。

6. 从论文里能迁走的三个通用灵感

6.1 预测位置从“坐标回归”换成“潜空间抽象”

这个思路不只用在自动驾驶,也可以用在机器人操作、无人机路径规划、甚至游戏 AI 的决策里。只要任务是“面对高维输入做未来规划”,都可以试着先把输入压成一个任务相关的潜状态,再在潜空间里推演未来。相比直接在行动空间里回归,潜空间预测更容易保留场景因果结构。

6.2 目标条件可以作为泛化的结构性杠杆

很多泛化问题不是模型容量不够,而是训练时没有把“目标任务”动态化。把目标作为条件输入、训练时不断随机化目标,实际上是在逼迫模型理解目标和场景状态的联合关系,而不是记住固定路线。这个思路迁移到任何“需要泛化到新目标”的任务里,都能带来明显提升。

6.3 自监督的时序信息是零样本的燃料

零样本泛化本质上要求模型学过足够丰富的关于世界如何变化的知识。人工标注给不了这种知识,行为克隆给不了这种知识,但大量的无标签时序数据可以。JEPA 式的潜空间预训练正好可以从连续视频序列里抽取“物体如何运动、布局如何演化”的常识。这也是我认为这类方法后续最大的想象空间:把海量无标注驾驶视频,变成潜空间里的世界知识。

7. 我对这套思路的最终看法

回看 AD-E2E-JEPA 的设计,最有价值的点不是某个网络结构的细节,而是它把驾驶规划最昂贵的思考过程,从对外部场景的像素级重建,转移到了对一个压缩潜空间的结构化理解。这让我想到一个这些年逐渐被验证的道理:能准确预测未来的系统,不一定非得看见每一片树叶怎么动;它只需要知道路在哪里、谁在靠近、目标在何方。

在实际操作中,我的体会是这类模型真正难的是潜空间的设计和损失组合,而不是网络有多深。能在小规模简化数据上把潜空间预测的增益验证清楚,再往真实场景扩展,路径要比盲目堆参数稳妥得多。

如果后续想继续扩展,我会关注两个方向。一个是把自然语言目标接进来,让模型理解“前方第二辆车后面停下来”这类混合语义和空间的目标表达;另一个是把地图先验从潜空间预测里解耦出来,让模型在有地图和无地图两种模式下都能工作。从工程的角度看,这两条路都建立在同一个前提上:先把压缩潜空间这个底座做扎实,后面的扩展才有地方落脚。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询