Workflow
DiffusionDriveV2
icon
搜索文档
以DiffusionDriveV2为例,解析自动驾驶中强化学习的使用
自动驾驶之心· 2026-01-20 17:03
文章核心观点 - 强化学习是解决端到端自动驾驶中模仿学习无法处理问题(如居中驾驶)的关键技术 [1] - 文章以DiffusionDriveV2为例,深入解读了PPO和GRPO等强化学习算法在自动驾驶轨迹生成中的应用与改进 [2][5][6] 强化学习在自动驾驶中的重要性 - 自动驾驶进入端到端阶段后,需要强化学习来解决模仿学习无法处理的问题,例如车辆居中行驶 [1] - 强化学习是后训练不可或缺的一部分,其热度因大模型发展而提升 [1] 主流强化学习算法:PPO与GRPO - PPO CLIP是最经典的PPO算法,其损失函数通过裁剪策略比例来稳定训练 [2][3] - 在自动驾驶中,对动作的评价是针对整个轨迹的质量,而非单个路径点 [3] - 优势函数A反映了当前决策相对于平均预期奖励的好坏,比单纯使用奖励更稳定,能避免不同场景间奖励方差过大的问题 [4] - GRPO的主要改进在于使用当前策略生成多个轨迹的平均奖励来估计价值函数V,而非使用Critic模型 [4][9] DiffusionDriveV2的强化学习损失函数 - 损失函数由三部分组成:DiffusionDrive的多个锚点设计、GRPO的组设计以及扩散模型的去噪过程 [9] - 锚点设计是DiffusionDrive V1的核心,用于生成多样化的轨迹 [9] - GRPO的组概念被修改,每个锚点拥有独立的组,以避免不同驾驶行为的数据相互压制 [11][12] - 组内优势的计算方式为:某个轨迹的奖励减去组内所有轨迹奖励的均值,再除以组内奖励的标准差 [12] - 引入了锚点间GRPO,对不同锚点的优势进行进一步优化,以避免优化方向坍塌 [13][14] DiffusionDriveV2的其他技术改进 - 轨迹加噪采用横向和纵向分别设定尺度的方法,以确保加噪后的轨迹保持正常 [15] - 新版本终于包含了模型选择器 [15] 当前挑战与未来展望 - 目前量产应用中,强化学习训练多为单步且作用于整个轨迹,因为端到端的闭环仿真在生成效率和质量上尚不足以支撑训练 [3] - 自动驾驶中的强化学习技术远未成熟,单步约束与模仿学习的区别有限,期待未来闭环仿真技术的进步带来更深入的强化学习应用 [15]
DiffusionDriveV2核心代码解析
自动驾驶之心· 2025-12-28 17:23
DiffusionDriveV2模型整体架构 - 模型是一个用于端到端自动驾驶的强化学习约束截断扩散模型,整体架构包括环境编码、轨迹规划、模式选择等模块 [3] - 环境编码部分融合了来自摄像头和激光雷达的BEV特征以及自车状态信息,其中BEV特征经过上采样和下采样处理,自车状态通过编码器处理,两者拼接后作为后续处理的键值对 [5][6] - 解码部分参考了目标检测中的DETR思想,使用查询机制,输出被分割为轨迹查询和智能体查询,用于后续的轨迹规划和交互 [7] 轨迹规划模块核心技术 - 轨迹规划模块利用多尺度BEV特征,通过上采样和特征拼接,增强空间信息的利用 [8] - 采用基于锚点的扩散模型进行轨迹生成,首先通过K-Means聚类从真实轨迹数据中生成一系列轨迹锚点,然后在锚点上加入经过设计的高斯噪声以启动扩散过程 [9][10][11] - 将带噪声的轨迹锚点通过位置编码转换为查询向量,并与时间编码、BEV特征、智能体查询特征以及自车查询特征进行多轮交叉注意力计算,以融合多源信息 [12][13][14][15][16][17] - 融合后的轨迹特征通过一个前馈网络,并利用时间特征进行尺度和偏移调制,最终预测出分类分数和去噪后的轨迹偏移量,该偏移量与原始噪声轨迹相加得到最终预测轨迹 [18][19][20][21][22] 模式选择与轨迹评估机制 - 模型包含一个模式选择器,用于从多个生成的轨迹模态中做出最终决策 [23] - 在轨迹生成(反向去噪)过程中,记录网络所有中间去噪结果以及最终输出 [25] - 使用一个综合评分器对生成的所有模态轨迹进行评估,评分维度包括安全性、舒适性、规则遵守、进度和物理可行性,并通过加权平均计算综合分数 [27] - 安全性检查包括碰撞检测和驶出道路判断,舒适性评估加速度和曲率连续性,规则遵守评估交通灯和车道保持,进度评估是否到达目标,物理可行性检查动力学约束 [27] 强化学习训练与优化策略 - 提出锚点内GRPO强化学习优化方法,在每个轨迹锚点对应的组内进行策略优化,以保持多模态能力同时提升轨迹质量,其损失函数涉及对去噪过程概率的对数求和与优势函数的加权 [28] - 优势函数通过计算组内奖励的相对均值和标准差进行估计,无需额外价值模型,并且通过只保留优于真实轨迹的样本进行对比学习来定义“好”的轨迹 [28][29] - 对优势函数进行截断处理,将所有负优势设为0,并对发生碰撞的轨迹施加-1的强惩罚,以提供清晰一致的学习信号 [30] - 在训练损失中结合了强化学习损失和模仿学习损失,以防止过拟合并保证通用驾驶能力 [39] 噪声设计与损失函数 - 针对轨迹近端与远端尺度不一致的问题,创新性地提出使用乘性高斯噪声替代传统的加性噪声,通过一个纵向和一个横向的乘法噪声因子来调整轨迹点,从而保持探索轨迹的平滑性和结构完整性 [33] - 在训练阶段引入探索噪声,在验证阶段使用确定性推理,并详细计算了每一步噪声对应的对数概率 [37][38] - 总体训练损失由轨迹恢复损失和分类置信度损失两部分组成,通过权重系数进行平衡 [42] - 轨迹恢复损失采用L1损失函数,分类损失使用带权重的焦点损失函数 [41][43]
DiffusionDriveV2核心代码解析
自动驾驶之心· 2025-12-22 11:23
DiffusionDriveV2模型架构 - 整体架构基于截断扩散模型,并引入强化学习约束,用于端到端自动驾驶 [3] - 环境编码部分融合了BEV特征和自车状态特征,BEV特征通过骨干网络从相机和激光雷达特征中提取并下采样,自车状态通过独立编码器处理,两者拼接后加入位置嵌入 [5][6] - 解码部分采用类似DETR的查询机制,将查询输出分割为轨迹查询和智能体查询,用于后续规划 [7] 轨迹规划模块 - 利用多尺度BEV特征进行轨迹规划,通过上采样和拼接操作融合不同层级的特征,然后进行投影变换 [8] - 规划过程以预定义的轨迹锚点为基础,锚点通过K-Means聚类从真值轨迹中获取,在训练时对锚点进行归一化、加噪和反归一化处理 [9][10][11] - 将加噪后的轨迹锚点通过正弦位置编码转换为查询向量,并与时间编码、BEV特征、智能体查询、自车查询进行交叉注意力计算,最终预测轨迹分类分数和去噪后的轨迹偏移量 [12][13][14][15][16][17][18][19][20][21] - 最终轨迹由预测的轨迹偏移量与加噪的原始轨迹锚点相加得到,并对航向角进行限制 [22] 模态选择与轨迹生成 - 采用模态选择器从多个候选轨迹中选取最终输出 [23] - 在推理(反向去噪)阶段,对规划锚点进行归一化和加噪,然后通过多步迭代的去噪过程生成轨迹,每一步都使用扩散模型解码器预测轨迹并利用调度器进行去噪更新 [25][26][27] - 使用PDM评分器对生成的所有模态轨迹及真值轨迹进行多维度综合评估,评估维度包括安全性、舒适性、规则遵守、进度和物理可行性,并计算加权总分 [27] 强化学习优化与损失函数 - 提出锚点内GRPO方法,在每个锚点对应的轨迹组内执行组相对策略优化,通过计算组内相对优势来更新策略,避免模式崩溃 [27][28] - 对强化学习优势函数进行改进,将所有负优势截断为0,并对发生碰撞的轨迹施加-1的强惩罚,同时引入时间折扣因子,降低未来时间步的奖励权重 [29][30][31][32] - 在扩散过程中创新性地使用尺度自适应的乘性噪声(纵向和横向)替代传统的加性噪声,以保持轨迹的平滑性和结构完整性,避免产生锯齿状路径 [33][35] - 总损失函数结合了强化学习损失和模仿学习损失,以防止过拟合并保持通用驾驶能力 [39] - 训练监督包含真值匹配,将最接近真值的锚点轨迹作为正样本,其余作为负样本,总损失由轨迹恢复损失和分类置信度损失两部分构成 [40][41][42][43]
时隔一年DiffusionDrive升级到v2,创下了新纪录!
自动驾驶之心· 2025-12-11 11:35
核心观点 - 华科王兴刚教授团队提出DiffusionDriveV2,通过引入强化学习解决了其前代模型DiffusionDrive在端到端自动驾驶轨迹规划中面临的“多样性与持续高质量”两难困境 [1][3] - 该方法创新性地结合了锚点内GRPO、锚点间截断GRPO与尺度自适应乘法探索噪声,在保留多模态生成能力的同时,显著提升了轨迹的整体输出质量与安全性 [4][12] - 在NAVSIM v1和v2数据集的闭环评估中,DiffusionDriveV2结合ResNet-34主干网络取得了当前最优性能,PDMS分别达到91.2和85.5,创下新纪录 [4][33] 技术背景与问题 - 端到端自动驾驶(E2E-AD)直接从原始传感器输入学习驾驶策略,是当前发展浪潮 [5] - 传统单模态规划器仅回归单一轨迹,无法提供备选方案;基于选择的方法使用静态候选轨迹库,灵活性有限 [5] - 原始扩散模型应用于轨迹生成时面临模式崩溃(mode collapse)问题,倾向于生成保守且单一的轨迹,无法捕捉未来多样性 [5][13] - DiffusionDrive通过预定义轨迹锚点构建高斯混合模型先验,将生成空间划分为对应不同驾驶意图的子空间,从而促进多样化行为生成 [5][13] - 但DiffusionDrive依赖模仿学习,其训练目标仅优化与专家轨迹最接近的“正模式”,对占样本绝大多数的“负模式”缺乏约束,导致生成大量低质量甚至碰撞的轨迹,无法保证持续高质量 [8][17][18] DiffusionDriveV2核心方法 - **整体架构**:采用DiffusionDrive作为预训练的轨迹生成器进行冷启动,引入强化学习目标对所有生成模式施加约束并推动探索 [19][21] - **尺度自适应乘法探索噪声**:为解决轨迹近端与远端尺度不一致问题,采用纵向与横向乘法高斯噪声替代加法噪声,生成的探索路径更平滑,保留了轨迹连贯性 [24] - **锚点内GRPO**:为避免不同驾驶意图(如直行与转弯)间不当的优势比较导致模式崩溃,仅在每个锚点内部生成的轨迹变体组内执行GRPO策略更新 [9][24] - **锚点间截断GRPO**:为解决锚点内GRPO优势估计丧失全局可比性的问题,修改优势估计,将所有负优势截断为0,并对发生碰撞的轨迹施加-1的强惩罚,原则是“奖励相对改进,仅惩罚绝对失败” [27][28] - **模式选择器**:采用两阶段“粗到细”评分器,结合二元交叉熵损失和Margin-Rank损失,从多模态预测中选择最优轨迹 [29] 实验结果与性能 - **基准测试成绩**:在NAVSIM v1测试集上,PDMS达到91.2,相比DiffusionDrive提升3.1;在NAVSIM v2测试集上,EPDMS达到85.5 [4][33] - **模型效率**:仅使用2180万参数的ResNet-34主干网络,性能优于基于9690万参数V2-99主干网络的对比方法(如GoalFlow和Hydra-MDP) [33] - **多样性与质量权衡**: - 原始扩散方法(如TransfuserTD)多样性得分仅0.1,质量稳定但缺乏多样性 [37] - DiffusionDrive多样性得分高达42.3,但质量无法保证(PDMS@10为75.3) [37] - DiffusionDriveV2多样性得分30.3,在多样性与质量间实现最优权衡,其PDMS@1为94.9(提高上限),PDMS@10为84.4(提高下限) [37][38] - **消融实验验证**: - 乘法探索噪声优于加法噪声,PDMS从89.7提升至90.1 [40] - 使用锚点内GRPO使PDMS从89.2提升至90.1 [41] - 使用锚点间截断GRPO使PDMS从89.5提升至90.1 [42] 研究意义与贡献 - 据研究者所知,DiffusionDriveV2是首个直接面对并解决截断扩散模型在轨迹生成中“多样性与持续高质量”两难困境的工作 [12] - 是首个成功将GRPO方法迁移到基于锚点的截断扩散模型的工作 [12] - 该方法证明了强化学习的“探索-约束”范式能有效提高模型性能下限与上限,为端到端自动驾驶规划提供了新思路 [8][38]