地平线DiffusionDrive v1和v2的细节对比解读

张开发
2026/4/17 13:41:18 15 分钟阅读

分享文章

地平线DiffusionDrive v1和v2的细节对比解读
点击下方卡片关注“自动驾驶之心”公众号戳我-领取自动驾驶近30个方向学习路线作者 | 三两声知乎编辑 | 自动驾驶之心原文链接https://zhuanlan.zhihu.com/p/2023721669739430016本文只做学术分享如有侵权联系删文自动驾驶前沿信息获取→自动驾驶之心知识星球本文结合DiffusionDrive和DiffusionDriveV2的开源代码进行对比解读希望能进一步加深理解。在阅读本文时如果对两篇论文的整体框架还不清楚欢迎大家参考扩散模型在自动驾驶中的应用——DiffusionDrive, DiffusionDriveV2——扩散模型加强化学习. 为了简洁起见下文使用DD表示DiffusionDrive使用DD2表示DiffusionDriveV2。策略梯度与DiffusionDrive的采样策略梯度的形式表示为在DD和DD2中每一步的去噪都被看做策略。DD和DD2中模型是直接来预测在DD中推理时采用的DDIM的采样方式是确定性采样。在DD2中每次训练时都同时进行多步采样。在DD2中训练时采用的多步采样和DD中DDIM的确定性采样不同在进行DDIM的确定性采样之后作者进行了人为加噪。DDPM和DDIM的采样的统一公式为预测的指向的方向随机噪声其中扩散过程中的累乘系数即。模型预测的噪声。控制采样随机性的超参数。需要注意的是DD和DD2中是直接预测,因此上对公式1进行变形得到预测的指向的方向随机噪声其中在DDPM的采样中1。在DDIM的采样中0完全去掉了随机项。在DD2中RL训练是采样的是DDPM的采样方式不过最后的随机噪声就像文中提到的采取的是横纵乘以随机系数的方式来进行加噪。确定性采样的部分得到那加噪后的轨迹表示为整理之后得到因此上假设采样得到, 进一步可以得到开源出来的代码使用的乘法的方式加噪但是开源出来的代码推导是错的式5才是正确的计算方式。Reward的计算与GRPO的优势函数如论文中提到的reward的采用最终的轨迹进行计算。整个计算过程采用的半闭环的方式。将自车的轨迹转换到全局坐标系然后使用LQR控制器进行轨迹的追踪得到闭环的轨迹。使用闭环轨迹计算轨迹的reward。其中环境信息是开环的是提前缓存好的。代码中采用并行计算的方式一次性将一个batch的轨迹计算其score。在代码中一共计算了6种类型的score分别为NO_COLLISION, DRIVABLE_AREA, PROGRESS, TTC, COMFORTABLE, DRIVING_DIRECTION.整个reward的计算流程为将训练的轨迹进行插值插值后的轨迹进行坐标转换转换到世界坐标系使用LQR进行轨迹的闭环追踪得到闭环轨迹使用闭环轨迹和缓存下来的环境信息计算得到每条轨迹的score为了清晰起见我会详细说明reward的计算逻辑.下图为5条去噪轨迹和原始的GT轨迹。图1 5条去噪轨迹和原始GT轨迹根据自车状态将所有的轨迹转到全局坐标系并且进行插值0.1S进行插值。图2 全局坐标转换和和插值后的轨迹为了进行对比将插值后的轨迹重新转到自车坐标系图3 插值后重新转为自车坐标系使用LQR进行闭环轨迹的追踪闭环的轨迹如下图所示图4 插值后重新转为自车坐标系挑选其中一条预测轨迹和闭环追踪轨迹进行对比图5 预测轨迹和LQR追踪轨迹最后根据闭环轨迹和环境信息计算score最后将score综合起来作为整条轨迹的score.作者引入了GRPO算法避免引入critic网络带来的开销GRPO算法的Loss表示为但是在作者开源出来的代码中并没有使用有些奇怪。结语这是一篇瑕不掩瑜的文章结合开源代码能否加深理解。为DIffusion和RL结合提供了很好的的思路很有启发性。自动驾驶之心求点赞求分享求喜欢

更多文章