也谈Diffusion扩散模型 - 从图像生成到端到端轨迹规划~

点击下方卡片,关注“自动驾驶Daily”公众号

戳我-> 领取近15个自动驾驶方向路线

一、 扩散模型原理

扩散模型Diffusion Models是一种生成式模型,本质是去噪,噪音符合某种特定分布。其原理基于对数据分布的学习和模拟,主要包括正向扩散过程和反向生成过程。

其名字来源于一滴墨水滴进清水,以随机运动的方式弥散到清水乃至于彻底消融。

扩散模型学习这个弥散过程,目的是把融化进清水(纯噪音)里面的墨水(原始数据)恢复出来。

模型训练好后,给定一杯滴了墨水的清水,变魔术一般恢复出原始的墨水。这里的魔术只是某种学习了分布规律的神经网络。

正向扩散过程

从初始数据分布(如真实图像分布)开始,逐步向数据中添加噪声,这个过程遵循一个马尔可夫链。在每一步,根据前一步的状态和一个固定的噪声分布,生成下一个更具噪声的数据点。随着时间步的增加,数据逐渐变得更像噪声,最终达到一个近似纯噪声分布。

反向生成过程

从纯噪声开始,通过学习一个逆过程来逐步去除噪声,以恢复出原始数据。这个逆过程通过神经网络来参数化,网络的目标是根据当前带噪声的数据点和时间步,预测出前一个时间步的更接近原始数据的点。在训练过程中,通过最大化似然估计或其他损失函数来调整神经网络的参数,使得模型能够逐渐学会从噪声中生成真实的数据样本。

扩散模型通过正向扩散过程来定义数据的噪声化过程,然后通过反向生成过程来学习如何从噪声中恢复数据,从而实现对数据分布的建模和生成新的数据样本。

图 正向-反向diffusion过程,图片来自网络

马尔可夫链(Markov Chain)是一种具有马尔可夫性(无记忆性)的随机过程,描述系统在状态空间中随时间转移的规律。其核心特征是:未来状态的概率仅依赖于当前状态,与历史状态无关。所以马尔科夫性这个性质其实是个人为简化。

过程

公式

说明

正向单步

正向多步

累积噪声的线性组合

反向单步

神经网络预测噪声驱动去噪,ϵ′ 为随机噪声

损失函数

最小化预测噪声与真实噪声的均方差

扩散模型扩散过程每一层的概率分布类型通常是一样的,只是参数不一样。

在常见的扩散模型中,比如基于高斯分布假设的扩散模型,每一层(时间步)的条件概率分布通常都被建模为高斯分布。虽然不同层的均值和方差等参数会根据扩散过程而变化,但分布类型保持一致,这样的设定有助于模型的数学推导和计算。当然,也有一些扩散模型可能会采用其他类型的分布,如拉普拉斯分布等,在这种情况下,模型各层也会基于相同类型的分布来构建。

扩散模型(Diffusion Models)通常结合多种类型的神经网络来实现核心功能,包括去噪过程建模、概率分布学习和多尺度特征提取。其最常用的神经网络类型是u-net:

图  U-net架构图,来自网络

U-Net作为最核心架构,其结构特点完全是对称的,直观讲就是两个卷积神经网络尾对尾嫁接在一起。

编码器 - 解码器架构:编码器:通过卷积层逐步降低特征图分辨率,提取高层语义信息(如物体形状、纹理)。

解码器:通过上采样和跳跃连接恢复分辨率,将高层语义与低层细节结合。

跳跃连接:缓解深层网络的梯度消失问题,增强细节恢复能力。

其在扩散模型中的作用是作为去噪核心,功能是输入带噪声的图像和时间步长(表示噪声强度),输出去噪后的图像或预测噪声。

图像生成模型如 DALL-E 2、Stable Diffusion 均以U-Net 为骨干网络。

作为U-net的核心创新的跳跃连接,其思想非常类似resnet的残差链接,直接越过多层叠加。其操作是将编码器特征图Fi和解码器特征图Gj沿通道维度拼接,生成新的特征图 H。示例代码如下:

前沿的更迭速度很快,有没有一个专业的技术社区一直follow学术界的前沿研究和工业界的量产落地?带着这个想法,我们打造了『自动驾驶之心知识星球』。我们为大家准备了大额新人优惠...

大额新人优惠!欢迎扫码加入~

二、 扩散模型和生成对抗网络的对比

生成对抗网络(Generative Adversarial Networks,GANs) 是一种深度学习模型,由 生成器(Generator)和判别器(Discriminator)组成,通过两者的对抗博弈来学习数据分布并生成新样本。它于2014年由 Ian Goodfellow(就是人工智能花书的作者)等人提出,已广泛应用于图像生成、视频合成、数据增强等领域。

生成对抗网络和扩散模型都存在加噪和去噪过程,目的都是去噪。从输入输出角度看,二者有一定的可替换性。

目前并无文献表明二者谁更优。也有文献使用生成对抗网络来做自动驾驶的长尾场景生成。

生成对抗网络是在生成器的输入中加入噪声,可以使生成器更灵活地探索潜在空间,从而生成更加多样化的样本。

具体实现步骤如下:

  • 在生成器的输入向量 ( z ) 中加入噪声。

  • 噪声通常是从一个简单的分布(如标准正态分布 ( N(0, 1) ) 或均匀分布 ( U(-a, a) ))采样得到的。

图 生成对抗网络的加噪过程,来自网络

生成对抗网络(GAN)在自动驾驶领域的应用几乎和扩散模型重合,主要涵盖数据生成、场景仿真、感知增强和决策优化等方面。比如SurfelGAN(Google)利用激光雷达和摄像头数据生成逼真的相机图像,用于自动驾驶仿真模型训练。

扩散模型像"考古修复"(从碎片还原文物),GAN像"造假大师"(不断改进伪造技术)。

维度

扩散模型

生成对抗网络(GANs)

核心机制

基于正向扩散与逆向去噪的概率建模

基于生成器与判别器的对抗博弈

训练方式

非对抗训练,仅需优化单一神经网络

对抗训练,需同时优化生成器和判别器

稳定性

训练更稳定,不易出现模式崩溃

训练难度高,易因梯度消失或模式崩溃失败

样本质量

生成图像通常更清晰、多样性更强(尤其高分辨率)

早期 GANs 在高分辨率下可能出现模糊,需改进架构(如 StyleGAN)

计算成本

训练和生成需多步迭代,计算复杂度高

生成阶段仅需单次前向传播,速度快

理论基础

基于热力学扩散过程和变分推断

基于博弈论和概率分布匹配

数学工具

随机微分方程(SDE)、马尔可夫链

概率分布散度(如 JS 散度、Wasserstein 距离)

目前看扩散模型似乎比生成对抗网络更受欢迎,一个原因是生成对抗网络需要训练至少两个神经网络:生成器和判别器,计算量很大,训练好的模型体积也大。

但是生成对抗网络也有优势,就是其加噪过程往往融合多种分布类型的噪音,叠加的噪音更复杂;而不像基于马尔可夫链加噪的扩散模型,噪音分布类型在一般情况下不变,只是变化分布参数。

三、 扩散模型在自动驾驶领域的应用

扩散模型由于其去噪的本质,在自动驾驶领域的应用主要集中在数据生成、场景预测、感知增强和路径规划等方面。需要说明,扩散模型不仅可以用来对连续分布噪音进行去噪,也可以对离散分布噪音(和数据)去噪,所以它也可以用于离散问题,比如决策规划。

以下是具体的应用场景和技术优势:

1. 合成数据生成

扩散模型能够生成高度逼真的驾驶场景数据,解决真实数据不足或标注成本高的问题。

罕见场景生成,如极端天气(暴雨、大雾)、突发障碍物(行人横穿、车辆逆行)等,提升模型的泛化能力。

而且这种生成是可控的,通过条件控制(如BEV布局、3D标注)生成特定场景,例如NuScenes和KITTI数据集的扩展。

比如SynDiff-AD,基于潜在扩散模型的数据生成pipeline,显著提升模型在低光照、极端天气等条件下的性能。

2. 场景预测与视频生成

扩散模型可用于预测未来驾驶场景的动态变化,

包括多模态预测,也就是生成可能的交通参与者行为(如车辆变道、行人轨迹),支持决策系统。还有视频生成,比如DriveGenVLM结合视觉语言模型(VLMs)生成真实驾驶视频,用于仿真测试。

3. 感知任务优化

扩散模型在感知任务中可去除噪声并增强数据质量:

BEV去噪:利用扩散模型清理鸟瞰图(BEV)中的噪声,提升目标检测精度。

多传感器融合:生成一致的雷达与摄像头数据,改善感知鲁棒性。

4. 路径规划与决策

扩散模型通过概率建模支持多模态路径生成:

Diffusion Planner:清华AIR团队提出的规划算法,利用扩散模型的引导机制适应复杂路况,提升安全性和泛化能力。

实时端到端控制:DiffusionDrive通过截断扩散步骤实现实时决策,直接从人类驾驶数据学习。

其中所谓截断扩散就是跳跃性地去噪,本来去噪要像加噪过程一样经过多步打磨,现在则是直接越过几步,去噪时通过采样来模拟多步加噪的叠加分布,至于越过几步为好则是调参的艺术。

5. 端到端自动驾驶

扩散模型直接学习驾驶策略,简化传统模块化流程。

比如动作分布建模,也就是处理多模式驾驶行为(如避障或变道),避免传统方法的单一输出限制。

6. 小众应用

除了直接用于自动驾驶的扩散模型,还可以用于优化算法(也就是求最大或最小值),从而间接服务于自动驾驶。

自动驾驶有许多最小化优化问题,比如最小能量消耗路径,在商用车重卡领域用的非常多。其目标函数是:

其中F函数式车辆在速度vi下的单位距离能耗。

而Diffusion-ES(Diffusion Evolution Strategy) 是一种将扩散模型(Diffusion Model)与进化策略(Evolution Strategy, ES)相结合的优化算法,旨在利用扩散模型强大的生成能力和进化策略的全局搜索能力,高效求解复杂优化问题,比如上面的最小能量消耗路径求解。

技术优势总结

应用方向

技术优势

典型案例

合成数据生成

解决数据稀缺,支持可控生成

SynDiff-AD 、ControlNet

场景预测

多模态未来帧生成,动态适应性

DriveGenVLM

感知优化

BEV去噪、多传感器一致性

BEV-Guided Diffusion

路径规划

多模态路径生成,高泛化能力

Diffusion Planner

端到端控制

实时性高,直接学习人类策略

DiffusionDrive

四、总结

扩散模型在自动驾驶中的应用仍处于快速发展阶段,未来可能与BEV、大语言模型(LLMs)进一步结合,推动全栈技术革新。

业界和学术多有基于扩散模型的技术方案,本文更偏重企业方案,列举三个:

毫末智行在2025 年 1 月 28 日,毫末智行联合清华大学 AIR 智能产业研究院等机构在 ICLR 2025 上发布了 Diffusion Planner。该算法基于 Diffusion Transformer,能高效处理复杂场景输入,联合建模周车运动预测与自车规划中的多模态驾驶行为。通过扩散模型强大的数据分布拟合能力,精准捕捉复杂场景中周车与自车的多模态驾驶行为,实现周车预测与自车规划的联合建模。在大规模真实数据集 nuPlan 的闭环评估中取得 SOTA 级表现,大幅降低了对后处理的依赖,并在 200 小时物流小车数据上验证了多种驾驶风格下的鲁棒性和迁移能力。目前,毫末团队已进入实车测试阶段,率先实现端到端方案在末端物流自动配送场景的应用落地。

地平线与香港大学等团队提出了 HE - Drive,这是首个以类人驾驶为核心的端到端自动驾驶系统。该系统利用稀疏感知技术生成三维空间表示,作为条件输入到基于条件去噪扩散概率模型(DDPM)的运动规划器中,生成具备时间一致性的多模态轨迹。然后,基于视觉语言模型引导的轨迹评分器从候选轨迹中选择最舒适的轨迹来控制车辆。HE - Drive 在 nuScenes 和 OpenScene 数据集上实现了 SOTA 性能和效率,同时在真实世界数据中提供了更舒适的驾驶体验。

理想汽车在 2025 年推出的下一代自动驾驶架构 MindVLA,整合了空间智能、语言智能和行为智能。该技术基于端到端和 VLM 双系统架构,通过 3D 空间编码器和逻辑推理生成合理的驾驶决策,并利用扩散模型优化驾驶轨迹。MindVLA 采用 3D 高斯作为中间表征,利用海量数据进行自监督训练,其 LLM 基座模型采用 MoE 混合专家架构和稀疏注意力技术。通过 Diffusion 模型将动作词元解码为优化轨迹,并结合自车行为生成和他车轨迹预测,提升复杂交通环境中的博弈能力。

最后,本文列举一个有代表意义的学术方案。

在2024年机器人顶会 CoRL 上,《One Model to Drift Them All: Physics-Informed Conditional Diffusion Model for Driving at the Limits》一文的作者们Franck Djeumou等提出利用包含多种车辆在多样环境下行驶轨迹的未标记数据集,训练一个高性能车辆控制的条件扩散模型。条件扩散模型(Conditional Diffusion Models, CDMs)是一类基于扩散过程的生成模型,在生成过程中引入了额外的条件信息,从而能够生成更为符合特定需求的样本,例如生成符合特定文本描述、类别标签或其他先验信息的图像。

这里的drift就是头文字D里面的飘移,在极限情况下的飘移动作(横向滑动),该模型能通过基于物理信息的数据驱动动态模型的参数多模态分布,捕捉复杂数据集中的轨迹分布。通过将在线测量数据作为生成过程的条件,将扩散模型融入实时模型预测控制框架中,用于极限驾驶。据报道,在丰田 Supra 和雷克萨斯 LC 500 上的实验表明,单一扩散模型可使两辆车在不同路况下使用不同轮胎时实现可靠的自动漂移,在对未知条件的泛化方面优于专家模型。

### 关于 Mamba 和 Diffusion 技术的介绍 Mamba 是一种基于状态空间模型(State Space Model, SSM)的技术框架,主要用于强化学习中的动作控制和策略优化。其核心思想是通过高效的建模方式来捕捉系统的动态特性[^1]。具体来说,Mamba 提供了一个灵活的状态表示形式,能够适应不同规模的动作序列。 Diffusion 模型是一种生成式模型,在图像生成、音频合成等领域表现出色。近年来,这种技术也被引入到强化学习领域中,用于改进策略的学习过程。例如,DiSPo 就是一个结合了扩散模型和状态空间模型的方法,旨在解决从粗到细的动作离散化问题[^2]。 --- ### 如何使用 Mamba 和 Diffusion 相关项目? #### 1. **安装环境** 对于 Graph Mamba 和 Causal Conv1D 等项目的运行,建议先配置 Python 虚拟环境并安装必要的依赖项。以下是常见的依赖库列表: ```bash pip install torch torchvision torchaudio --upgrade pip install git+https://github.com/state-spaces/mamba.git pip install deepspeed ``` 如果遇到 CUDA 版本不匹配的问题,可以参考 PyTorch 官方文档调整安装命令。 #### 2. **代码结构解析** 以 `mamba` 库为例,主要模块包括但不限于以下部分: - 数据预处理脚本:负责将原始数据转换为适合输入的形式。 - 核心算法实现:定义了状态空间模型的核心逻辑以及训练流程。 - 测试与验证工具:提供了多种评估指标以便分析性能差异。 下面展示一段简单的初始化代码片段: ```python from mamba.models import StateSpaceModel model = StateSpaceModel(input_dim=10, hidden_dim=50, output_dim=2) print(model) ``` #### 3. **常见错误及其解决方案** ##### (a) GPU 加速失败 当尝试启用 DeepSpeed 进行分布式训练时,可能会因为硬件资源不足而导致报错。此时可以通过修改配置文件降低显存占用率或者减少批量大小。 ##### (b) 数据加载异常 某些情况下,自定义 Dataset 类可能未正确覆盖抽象方法 `_getitem_()` 和 `_len_()` ,从而引发 TypeError 。确保遵循标准接口设计原则即可修复该类 bug 。 --- ### 实验案例分享 假设我们需要在一个机器人抓取任务上应用 DiSPo 方法,则完整的实验步骤如下: 1. 准备好高质量的示范轨迹作为监督信号; 2. 构造适配器网络连接连续观测向量至离散潜变量分布; 3. 利用变分推断机制估计条件概率密度函数 p(z|x,y),其中 z 表征潜在编码 y 对应目标位置 x 描述当前场景特征; 4. 基于重参数化技巧采样得到新的候选解集 {z_i} 并计算相应奖励值 r(y,z); 5. 更新整个端到端架构直至收敛为止。 上述过程中涉及的关键超参调节需依据实际情况灵活调整。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值