资讯动态

AD-E2E-JEPA:潜空间世界模型如何实现零样本目标条件自动驾驶规划

发布时间:2026/10/17 8:11:25 来源:尧图企业网站定制
1. 端到端自动驾驶规划到底卡在哪做自动驾驶规划这块的人这两年应该都有一个共同感受端到端方案的概念很热但真正落到实车上跑问题一大堆。感知模块输出的是稠密BEV特征或者一堆检测框预测模块再输出轨迹分布规划模块最后做轨迹优化整条链路串起来之后误差逐级累积到了规划端已经很难做出真正“聪明”的决策。更麻烦的是每个模块都有自己的训练目标和损失函数联合调优几乎是个噩梦。AD-E2E-JEPA这篇工作的切入点很有意思。它没有去卷感知精度也没有去堆更大的预测网络而是把注意力放在了“规划器到底需要什么样的世界表示”这个问题上。核心思路是与其让规划器直接吃原始传感器数据或者高维特征不如先在一个压缩的潜空间里学一个世界模型让规划器在这个潜空间里做推理和决策。这个思路借鉴了JEPA系列工作的一贯哲学——预测要在表示空间做而不是在像素空间做。标题里的“零样本目标条件”是另一个关键点。传统规划器要换一个目标比如从“跟车”切换到“变道超车”往往需要重新训练或者至少微调。AD-E2E-JEPA的做法是把目标作为条件输入在潜空间里做条件规划这样同一个模型可以处理多种目标不需要针对每个目标单独训练。这对实际部署来说价值很大因为实车场景里目标本来就是动态变化的。这篇文章适合谁看如果你在做自动驾驶规划控制、端到端驾驶模型、或者对JEPA系列的世界模型方法感兴趣这篇内容应该能给你不少启发。我会从整体设计思路、核心模块拆解、实操层面的关键细节、以及常见坑点几个角度展开尽量把论文里没写透的工程细节补上。2. AD-E2E-JEPA的整体设计思路拆解2.1 为什么要在压缩潜空间里做规划先聊一个根本问题为什么非要把规划放到潜空间里做直接在BEV特征上做规划不行吗我试过直接在BEV特征上接规划头效果不能说差但有几个硬伤。第一BEV特征维度太高通常都是H×W×C的稠密张量规划器要在上面做注意力或者卷积计算量随分辨率平方增长。第二BEV特征里包含大量对规划无用的信息比如路面的纹理、远处建筑的细节这些对“下一步该往哪打方向盘”几乎没有帮助但会稀释规划器的注意力。第三高维特征空间里做轨迹优化搜索空间太大容易陷入局部最优。AD-E2E-JEPA的做法是先用一个编码器把观测压缩到一个低维潜空间然后在这个潜空间里学一个动力学模型规划器在这个潜空间里做前向模拟和轨迹评估。压缩带来的好处很直接计算量降下来了无关信息被过滤掉了规划器只需要关注对决策真正重要的因素。但压缩也有代价。压得太狠关键信息丢了规划器会做出危险决策。压得太松又回到了高维空间的老问题。论文里用的压缩比大概是原始BEV特征的1/16到1/32这个比例是经过消融实验验证的。我在类似项目里试过1/8和1/641/8压缩不够规划器还是会被无关信息干扰1/64压得太狠小目标比如远处突然出现的行人在潜空间里几乎消失了。所以1/16到1/32这个区间是有道理的。2.2 JEPA范式在驾驶规划中的适配JEPA的核心思想是不要重建原始输入而是预测输入的表示。放到驾驶场景里就是不要试图重建未来帧的像素而是预测未来帧在潜空间里的表示。这个思路的好处是模型不需要浪费容量去建模像素级的细节可以把全部容量用在建模对决策有用的抽象特征上。AD-E2E-JEPA把这个思路用在了规划上。具体来说它有一个上下文编码器把当前观测和历史观测编码成潜表示有一个目标编码器把未来观测编码成目标潜表示还有一个预测器根据当前潜表示和目标条件预测未来的潜表示序列。规划器则在这个预测出的潜表示序列上做轨迹评估和选择。这里有个关键设计目标条件是怎么注入的。论文里用的是交叉注意力机制把目标编码作为一个query去attend到潜表示序列上。这样规划器可以根据不同目标动态地关注潜空间里不同的部分。比如目标是“保持车道”规划器会更多关注车道线和前车目标是“变道”规划器会更多关注侧后方车辆和相邻车道。2.3 零样本目标条件的实现逻辑零样本目标条件是这个工作最吸引我的地方。传统做法是给每个目标训练一个单独的规划头或者至少要在目标标签上做微调。AD-E2E-JEPA的做法是在训练阶段就把多种目标作为条件输入让模型学会“根据目标调整规划策略”这个元能力。到了推理阶段即使遇到训练时没见过的目标组合模型也能通过组合已有的目标表示来应对。实现上目标被编码成一个向量这个向量和潜表示做交叉注意力。训练时目标向量来自真实的目标标签推理时目标向量可以来自用户的输入也可以来自上层决策模块的输出。论文里做了零样本实验训练时只见过“跟车”和“保持车道”推理时给“变道超车”的目标模型也能生成合理的轨迹。这说明模型确实学到了目标条件规划的一般性能力而不是死记硬背了训练目标。不过这里有个坑零样本能力是有边界的。如果推理时的目标和训练时的目标在语义空间里离得太远比如训练时全是城市道路目标推理时给一个越野目标模型的表现会急剧下降。论文里也提到了这一点建议在实际部署时目标集合要覆盖主要场景零样本能力作为补充而不是替代。3. 核心模块拆解与关键细节3.1 上下文编码器的设计要点上下文编码器负责把当前观测和历史观测压缩成潜表示。论文里用的是Vision Transformer的变体输入是BEV特征序列输出是潜表示序列。这里有几个设计细节值得注意。第一历史观测的长度。论文里用了过去2秒的观测大概对应20帧10Hz。这个长度是权衡的结果太短模型无法捕捉动态信息比如前车的加速度太长计算量上去了而且早期观测对当前决策的贡献很小。我在实际项目里试过1秒和4秒1秒对于城市道路够用但高速场景下前车行为变化快1秒的历史不够4秒又太冗余。2秒是个比较稳妥的选择。第二位置编码。BEV特征是有空间结构的潜表示也要保留空间信息。论文里用的是可学习的2D位置编码而不是正弦位置编码。可学习的好处是模型可以根据数据分布自适应调整位置编码但需要更多数据来训练。如果数据量不够正弦位置编码更稳。第三时间融合。历史观测不是简单堆叠而是用时间注意力做融合。具体来说当前帧的潜表示作为query历史帧的潜表示作为key和value做交叉注意力。这样当前帧可以有选择地吸收历史信息而不是被历史信息淹没。3.2 潜空间动力学模型的训练策略潜空间动力学模型是AD-E2E-JEPA的核心。它的任务是给定当前潜表示和目标条件预测未来的潜表示序列。训练这个模型有几个关键点。首先是预测步长。论文里预测未来3秒的潜表示大概30帧。这个步长要覆盖规划器的规划视野。规划器通常需要至少3秒的视野来做平滑的轨迹规划太短会导致轨迹抖动太长会增加计算量和不确定性。其次是损失函数。论文里用的是潜空间里的L2损失加上一个对比损失来保证潜表示的可区分性。L2损失让预测的潜表示接近真实的未来潜表示对比损失让不同场景的潜表示在空间里分开。对比损失很有必要因为只用L2的话模型可能会把所有潜表示都映射到空间里的同一个点这样预测损失很小但潜表示失去了区分性规划器没法用。第三是训练数据的组织。论文里用的是时间序列采样每个样本包含一段连续的历史观测和对应的未来观测。采样时要保证场景的多样性不能全是直道跟车要有变道、转弯、避让等场景。我在实际项目里发现如果训练数据里90%都是直道跟车模型在变道场景下的表现会非常差即使变道场景在训练集里只占10%也要保证这10%被充分采样。3.3 目标条件注入的具体实现目标条件的注入方式直接影响零样本能力。论文里用的是交叉注意力具体实现是目标编码作为query潜表示序列作为key和value输出一个加权的潜表示序列。这个加权后的序列再输入到规划器里。这里有个细节目标编码的维度要和潜表示的维度匹配。如果目标编码维度太低比如只有8维那它携带的信息量有限无法有效调制潜表示如果太高比如和潜表示一样是256维那交叉注意力的计算量会上去而且容易过拟合。论文里用的是64维这个维度在表达能力和计算效率之间取得了平衡。另一个细节是目标编码的归一化。目标编码在输入交叉注意力之前要做L2归一化。这样不同目标之间的差异主要体现在方向上而不是模长上。如果不做归一化模型可能会学到“目标编码的模长代表目标的重要性”这种虚假关联换一个目标集合就失效了。3.4 规划器的轨迹评估与选择规划器拿到加权后的潜表示序列后要做轨迹评估和选择。论文里的做法是先生成一组候选轨迹然后用潜表示序列对每条轨迹打分选分数最高的。候选轨迹的生成方式有两种一种是基于采样的在控制空间里采样加速度和转向角积分得到轨迹另一种是基于优化的用潜表示序列作为代价函数做梯度下降优化。论文里用的是采样加优化的混合方式先采样一批轨迹选top-K再对top-K做优化。打分函数的设计很关键。论文里用的是潜表示序列和轨迹的交叉注意力输出一个标量分数。这个分数要能反映轨迹的安全性和舒适性。安全性包括碰撞风险、车道保持、交通规则遵守舒适性包括加速度平滑度、转向平滑度。论文里没有明确说怎么平衡这些因素但从实验结果看安全性权重更高。4. 实操层面的关键细节与避坑经验4.1 数据准备与预处理数据这块AD-E2E-JEPA用的是nuScenes和自采数据。nuScenes的好处是公开、标注全但场景偏简单主要是城市道路高速和复杂交互场景少。自采数据场景丰富但标注成本高。预处理有几个关键步骤。第一BEV特征的生成。论文里用的是LSSLift-Splat-Shoot方案把多相机图像投影到BEV空间。LSS的优点是计算效率高缺点是对深度估计的依赖强深度估计不准的话BEV特征会有畸变。我在实际项目里试过BEVFormer和LSSBEVFormer的BEV特征质量更高但计算量也更大。如果算力允许BEVFormer是更好的选择。第二时间对齐。多帧观测要做时间对齐确保每帧的时间戳准确。实车数据里时间戳抖动很常见如果不做对齐时间注意力会学到错误的时间关系。对齐的方法是用插值把不同频率的传感器数据统一到同一个时间基准上。第三数据增强。论文里用了随机裁剪、旋转、颜色抖动。裁剪和旋转要小心不能把关键目标裁掉或者旋转到不合理的位置。颜色抖动对BEV特征的影响不大因为BEV特征主要是几何信息颜色信息在投影过程中已经丢失了。4.2 训练配置与调参经验训练配置这块论文里用的是8卡A100batch size 64训练了大概3天。学习率用的是余弦退火初始学习率1e-4warmup 1000步。优化器是AdamWweight decay 0.05。调参有几个经验。第一学习率不能太大。潜空间动力学模型的训练对学习率很敏感太大容易发散太小收敛慢。1e-4是个比较稳的起点如果loss震荡降到5e-5。第二batch size要够大。对比损失需要足够的负样本batch size太小的话负样本不够对比学习的效果会打折扣。64是个下限有条件的话上128。第三warmup很重要。潜空间动力学模型刚开始训练时预测的潜表示和真实的潜表示差距很大直接上大学习率容易把编码器带偏。warmup让模型先在一个小学习率下适应数据分布再逐步加大学习率。第四梯度裁剪。潜空间动力学模型的梯度有时候会爆炸尤其是预测步长比较长的时候。梯度裁剪阈值设1.0能有效防止梯度爆炸。4.3 推理部署的优化技巧推理部署这块论文里没有详细说但根据我的经验有几个优化点。第一潜表示的缓存。历史观测的潜表示可以缓存不需要每帧都重新计算。这样推理时只需要计算当前帧的潜表示然后和缓存的历史潜表示做融合。缓存的大小取决于历史长度2秒历史大概需要缓存20帧的潜表示。第二候选轨迹的并行评估。规划器要评估多条候选轨迹这些评估可以并行做。用GPU的话可以把候选轨迹组织成batch一次性评估。用CPU的话可以用多线程。第三模型量化。潜空间动力学模型和规划器都可以做INT8量化推理速度能提升2到3倍精度损失在1%以内。量化时要注意潜表示的动态范围可能比较大要做逐通道量化不要用逐层量化。第四目标编码的预计算。如果目标集合是固定的目标编码可以预计算好推理时直接查表。如果目标是动态的比如来自上层决策模块那目标编码要实时计算但目标编码网络通常很小计算量可以忽略。4.4 常见问题与排查技巧实际跑AD-E2E-JEPA我遇到过几个典型问题整理成速查表。问题现象可能原因排查方法解决方案规划轨迹抖动潜表示预测步长太短检查预测步长是否覆盖规划视野增加预测步长到3秒以上变道场景表现差训练数据变道样本不足统计训练集场景分布增加变道场景采样权重零样本目标失效目标编码过拟合训练目标检查目标编码的泛化性增加目标集合多样性加正则推理速度慢潜表示未缓存检查推理流程缓存历史潜表示碰撞风险高安全性权重太低检查打分函数权重提高安全性权重训练loss震荡学习率太大检查loss曲线降低学习率增加warmup潜表示坍缩对比损失权重太低检查潜表示的方差提高对比损失权重这里重点说两个坑。第一个是潜表示坍缩。如果对比损失权重太低模型会把所有潜表示都映射到空间里的同一个点这样预测损失很小但潜表示失去了区分性。排查方法是计算潜表示的方差如果方差接近0说明坍缩了。解决方案是提高对比损失权重或者加一个方差正则项。第二个是零样本目标失效。如果目标编码过拟合了训练目标换一个新目标就失效了。排查方法是把训练目标编码和推理目标编码做余弦相似度如果相似度很低但模型表现还行说明模型没有依赖目标编码如果相似度很低且模型表现很差说明模型过拟合了。解决方案是增加目标集合的多样性或者在目标编码上加dropout。5. 这套方案的实际影响与延展思考AD-E2E-JEPA这套方案的影响范围其实不止于自动驾驶规划。它的核心思想——在压缩潜空间里做条件规划——可以迁移到很多领域。机器人操作是一个直接的应用场景。机械臂抓取任务里目标条件可以是“抓取杯子”或者“抓取方块”潜空间动力学模型可以预测不同抓取动作的后果规划器选择最优动作序列。和驾驶不同的是机器人操作的动力学更复杂潜空间的压缩比要更保守。游戏AI也是一个方向。游戏里的NPC行为规划目标条件可以是“追击玩家”或者“撤退”潜空间动力学模型可以预测不同行为的后果。游戏的好处是数据无限可以大规模训练。工业控制里的流程优化目标条件可以是“最大化产量”或者“最小化能耗”潜空间动力学模型可以预测不同控制策略的效果。工业控制的难点是数据稀缺需要做迁移学习。回到自动驾驶本身AD-E2E-JEPA还有几个可以改进的方向。第一多模态融合。目前只用了视觉没有用激光雷达和毫米波雷达。多模态融合能提升潜表示的质量尤其是在恶劣天气下。第二在线学习。目前是离线训练实车部署后无法在线更新。在线学习能让模型适应新的场景和目标。第三可解释性。潜空间是个黑盒规划器为什么选这条轨迹很难解释。可解释性对功能安全认证很重要。我个人在实际操作中的体会是潜空间方法的核心难点不在模型结构而在潜空间的设计和训练。潜空间要压缩得恰到好处既要过滤无关信息又要保留决策关键信息。这个平衡点很难找需要大量实验。另外零样本能力虽然吸引人但不能过度依赖。实际部署时目标集合还是要尽量覆盖主要场景零样本作为补充。最后分享一个小技巧训练潜空间动力学模型时可以先用一个简单的重建任务做预训练让编码器学会提取有意义的潜表示然后再切换到预测任务做微调。这样收敛更快潜表示的质量也更高。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑