对扩散模型的理论知识补习

简介: 本文深入解析扩散模型(DDPM)在自动驾驶路径规划中的核心优势:不直接预测复杂多模态轨迹,而是通过**分步去噪**将高维生成难题转化为1000个可微、稳健的**数值回归任务**。利用噪声预测等价于轨迹重建的数学本质,实现多模态保持、物理一致性与误差容错的统一。(239字)

1. 使用扩散模型的原因:为什么要学习 “恢复” 而非 “创造”?

在自动驾驶的路径规划中,传统算法往往试图让模型直接给出一个完美的答案 —— 一条精确的轨迹。但人类驾驶的本质是多模态高度非线性的:面对前方的障碍物,向左绕行和向右绕行在概率上可能是等效的。

如果让模型直接预测一个如此复杂的分布,它往往会在多种可能性之间 “取平均”,最终吐出一条撞上障碍物的、平滑却错误的 “折中轨迹”。

DDPM(Denoising Diffusion Probabilistic Models)的核心思想实现了一次降维打击:

与其直接预测那个捉摸不透的复杂分布,不如学习如何一步步从纯粹的混乱(随机噪声)中恢复出有意义的结构。

问: 把原本清晰的专家轨迹变成一团乱码,再费劲变回来,这难道不是多此一举吗?

答: 关键在于 步进式修正” 的难度分级 。在 𝐻 维的状态空间里,直接画出一条完美的曲线极难;但如果我给你一条几乎已经成型的轨迹,让你识别并剔除其中微小的、不符合物理规律的扰动(噪声),这就变成了数值回归问题。通过 𝑇 步微小的去噪,扩散模型将一个复杂的高维生成问题,转化为了一个连续的、可微的梯度下降问题。


2. 为什么扩散模型能让 “生成问题” 转化为 “回归问题”?

在传统的生成模型(如 GAN 或早期的 VAE)中,我们要解决的是一个全局拟合问题:模型必须一次性理解从 “随机噪声” 到 “完美轨迹” 之间极其复杂的非线性映射。这种映射充满了断裂和多模态,数学上极难收敛。

扩散模型通过 “分步采样” 实现了一个巧妙的数学转换:

2.1 局部线性化:将 “大象” 拆成 “原子”

在 DDPM 的 𝑇 步链条中,如果 𝑇 足够大(例如 𝑇 =1000 ),那么相邻两个状态 𝑥𝑡 和 𝑥𝑡−1 之间的差异是极其微小的。

  • 全局看:从纯噪声到轨迹是复杂的非线性分布生成。
  • 局部看:从 𝑥𝑡 恢复 𝑥𝑡−1,由于变化极其微细,这种变换在局部可以被近似看作是加性高斯噪声的去除

2.2 预测目标的降级

当我们把目标从 “预测轨迹” 转变为 “预测这一步注入的噪声 𝜖 ” 时,根据扩散模型的加噪公式:

𝑥𝑡=√¯𝛼𝑡𝑥0+√1−¯𝛼𝑡𝜖

其中 𝑥0 是专家轨迹,𝜖 是我们注入的随机噪声。神经网络 𝜖𝜃(𝑥𝑡,𝑡) 的任务变成了:已知受损的状态 𝑥𝑡,推测出那个被注入的 𝜖。

问: 为什么说这是 “回归”?

答: 因为 𝜖 是从标准正态分布 𝑁(0,𝐼) 中采样出来的。神经网络不再需要去预测一个具有复杂拓扑结构的 “轨迹分布”,它只需要去预测一个连续的数值向量

在训练时,我们的损失函数(Loss Function)极其简单:

𝐿=‖𝜖−𝜖𝜃(𝑥𝑡,𝑡)‖2

这就是最典型的 均方误差回归(MSE Regression)

扩散模型把一个需要 “艺术创作” 的生成难题,拆解成了 1000 个 “找不同” 的回归练习。

  • 不再纠结多模态:在每一个微小的去噪步中,模型只需要根据当前的残缺状态,指明一个 “脱离混沌” 的方向。
  • 误差容忍度:即使某一步回归得不够精确,后续的 999 步迭代依然有反复修正的机会。

这种将 “分布生成” 向 “数值回归” 的降维处理,正是扩散模型在处理复杂车辆动力学约束时,比直接回归轨迹参数(如多项式系数)要稳健得多的根本原因。

3. 为什么局部微小的、看似随机的去噪动作,能产生具有全局一致性和物理逻辑的轨迹?

3.1 采样阶段的特征分级

  • 初期( 𝑡 →𝑇 ):在噪声迷雾中捕捉 “多峰概率质心”

采样从纯高斯噪声开始。此时 𝑥𝑇 就像一团漫无目的的 “云团”。由于噪声占绝对主导,微观物理细节(如曲率、瞬时加速度)完全被淹没在方差中。

  • 质心定位:对于 PnC 任务(如避障),概率分布 𝑃(𝑥) 天生是多峰(Multi-modal)的。左绕还是右绕?这是两个不同的概率高峰。模型此时通过回归噪声,本质上是在判定:当前这个随机点更靠近哪一个概率 “吸引子”?它确立的是全局语义的质心。
  • 中期( 𝑡 →𝑚𝑖𝑑 ):锁定拓扑结构

随着 𝑇 次回归的累积,轨迹的形状开始显现。模型开始处理中频特征,通过反馈循环将轨迹约束在特定的驾驶流形内。

  • 后期( 𝑡 →0 ):消除毛刺与物理对齐

此时信噪比极高,原本被掩盖的物理信号浮现。神经网络发挥其精细感知能力,微调每一帧之间的位移增量,确保最终输出的 𝑥0 满足执行器的平滑输入要求。

3.2 为什么预测噪声与预测轨迹等价?

在训练扩散模型时,我们最常用的损失函数是 MSE:

min𝜃𝔼𝑥0,𝜖‖𝜖−𝜖𝜃(𝑥𝑡,𝑡)‖2

这里的 𝜖 是我们亲手注入的噪声。看起来我们在训练一个 “猜噪声” 的模型,但由于 𝑥𝑡 =√¯𝛼𝑡𝑥0 +√1−¯𝛼𝑡𝜖,预测噪声和预测原始信号 𝑥0 在数学上是完全等价的。

如果你想求 𝑥0,只需要对上面的线性方程做简单的移项:

𝑥0=𝑥𝑡−√1−¯𝛼𝑡𝜖√¯𝛼𝑡

在一个确定的时刻 𝑡,¯𝛼𝑡 是已知的常数。

  • 如果你知道噪声 𝜖,你就能精准地算出 𝑥0。
  • 反之,如果你知道 𝑥0,你也能精准地推导出当初注入的 𝜖。

3.2.1. √𝛼𝑡 到底是什么?

在扩散模型(如 DDPM)的定义中,为了控制加噪的节奏,我们引入了一组随时间变化的超参数:

  • 𝛽𝑡 ∈(0,1):每一时刻注入的噪声方差比例。
  • 𝛼𝑡 =1 −𝛽𝑡:每一时刻保留的原始信号比例。
  • ¯𝛼𝑡 =∏𝑡𝑖=1𝛼𝑖:这是你在公式里真正看到的那个项。(注:为了书写方便,很多文献直接简写为 $\alpha_t$)。

如果我们想让加噪后的 𝑥𝑡 始终保持一个标准正态分布(均值为 0,方差为 1),那么我们就必须保证系数的平方和等于 1。那么就需要 (√¯𝛼𝑡)2 +(√1−¯𝛼𝑡)2 =¯𝛼𝑡 +1 −¯𝛼𝑡 =1,即为:

𝑥𝑡=√¯𝛼𝑡𝑥0+√1−¯𝛼𝑡𝜖

物理意义:

√¯𝛼𝑡 是一个衰减系数。它决定了经过 𝑡 步后,原始信号 𝑥0 还剩下多少 “浓度”。

  • 当 𝑡 =0 时,¯𝛼0 =1,信号是完美的。
  • 当 𝑡 =𝑇 时,¯𝛼𝑇 ≈0,信号彻底湮灭。

根据高斯分布的性质,我们不需要真的模拟 𝑇 次加噪,可以直接一步到位:

𝑥𝑡=√¯𝛼𝑡𝑥0+√1−¯𝛼𝑡𝜖,𝜖∼N(0,𝐼)

在这个等式里,𝑥𝑡 是我们观测到的(输入),而 𝑥0 (有效信息)和 𝜖 (噪声垃圾)是两个互相牵制的变量。

3.2.2 纯噪声的轨迹如何还原成有意义的轨迹?

在整个高纬空间中,我们希望从初始解出发,逐步的走向 𝑃(𝑥𝑡) 最大的地方。也就是说,我们应该在原来的信号上沿着 𝑃(𝑥𝑡) 的梯度方向走。

这里我们把梯度成为 Score Function (∇log⁡𝑝(𝑥))

为什么要取对数呢?

  • 单调性:对数是单调递增的,不会改变 𝑝(𝑥) 极大值的位置。
  • 消除归一化常数:概率分布通常包含极其复杂的归一化系数(配分函数)$Z$,即 𝑝(𝑥) =1𝑍𝑒−𝑓(𝑥)。对 ln⁡𝑝(𝑥) 求导时,ln⁡𝑍 作为常数项直接消失,我们只需要处理能量函数 𝑓(𝑥) 的导数。
  • 数值稳定性:概率值可能极小(如 $10^{-100}$),取对数后变为线性刻度,更适合神经网络处理。

那么怎么得到这个梯度呢?

我们首先人为地给专家轨迹 𝑥0 注入混乱。(我们先令 𝜎2 =1 −¯𝛼𝑡 )

𝑥𝑡=√¯𝛼𝑡𝑥0+𝜎𝜖

这意味着,给定 𝑥0,观测值 𝑥𝑡 的概率密度函数是一个均值为 √¯𝛼𝑡𝑥0 的正态分布:

𝑝(𝑥𝑡|𝑥0)=1√2𝜋𝜎exp⁡(−‖𝑥𝑡−√¯𝛼𝑡𝑥0‖22𝜎2)

取对数,求导,有:

∇𝑥𝑡ln⁡𝑝(𝑥𝑡|𝑥0)=∇𝑥𝑡(−‖𝑥𝑡−√¯𝛼𝑡𝑥0‖22𝜎2+const)

∇𝑥𝑡ln⁡𝑝(𝑥𝑡|𝑥0)=−𝑥𝑡−√¯𝛼𝑡𝑥0𝜎2=−𝜖𝜎

也就是说,噪声其实就是一个梯度方向的向量。这就解释了为什么我们减去噪声,就能让轨迹向着真实的轨迹靠近。

3.2.3 没有 𝑥0 怎么得到预测的噪声呢?

我们的神经网络学习的时候是给他 ( 𝑥0,𝜖,𝑡 ) 这样一个三元组的。

但是推理去噪点时候我们可以有逐步减小的 t,但是没有 𝑥0 啊,怎么让模型去预测 𝜖 呢?我要是有 𝑥0 干嘛还要做预测,直接用不就完了吗,这不成鸡生蛋蛋生鸡了。

推理(Inference/Sampling)阶段的本质是盲人摸象。

在训练的时候,我们庞大的数据可能对应着一系列的模态 𝑥(1)0,𝑥(2)0,...。

在自动驾驶中他可能是左转、直行、右转的专家轨迹,在图像生成中可能是猫猫狗狗的照片。

当你把模型部署到车上,给它一个纯噪声 𝑥𝑇 时,根本没有所谓的 “ 𝑥0 ”。

我们想要推断,只能靠贝叶斯定理提供的后验概率

𝑝(𝑥0|𝑥𝑡)=𝑝(𝑥𝑡|𝑥0)𝑝(𝑥0)𝑝(𝑥𝑡)

而 MSE 在统计学上有一个特性:它的最优解是所有可能结果的 “条件期望”。这意味着模型输出的噪声预测值 𝜖𝜃 实际上等价于:

𝜖𝜃(𝑥𝑡,𝑡)≈∫𝜖(𝑥𝑡,𝑥0)𝑝(𝑥0|𝑥𝑡)𝑑𝑥0

在这种无 $x_0$ 的条件下

∇𝑥𝑡ln⁡𝑝(𝑥𝑡)=−𝔼[𝜖|𝑥𝑡]𝜎≈−𝜖𝜃(𝑥𝑡,𝑡)𝜎

接下来,我们知道

𝑥𝑡=√¯𝛼𝑡𝑥0+𝜎𝜖⇒𝜖=𝑥𝑡−√¯𝛼𝑡𝑥0𝜎

在推理时,对于一个确定的观测值 𝑥𝑡,变量是 𝑥0 和 𝜖。我们对等式两边同时取关于 𝑥0 的后验期望 𝔼[ ⋅|𝑥𝑡]:

𝔼[𝜖|𝑥𝑡]=𝔼[𝑥𝑡−√¯𝛼𝑡𝑥0𝜎∣𝑥𝑡]

由于 𝑥𝑡、√¯𝛼𝑡 和 𝜎 在给定时刻 𝑡 时都是观测到的常数,根据期望的线性性质

𝔼[𝜖|𝑥𝑡]=𝑥𝑡−√¯𝛼𝑡𝔼[𝑥0|𝑥𝑡]𝜎

此时代入就有

∇𝑥𝑡ln⁡𝑝(𝑥𝑡)=−1𝜎⋅(𝑥𝑡−√¯𝛼𝑡𝔼[𝑥0|𝑥𝑡]𝜎)

∇𝑥𝑡ln⁡𝑝(𝑥𝑡)=−𝑥𝑡−√¯𝛼𝑡𝔼[𝑥0|𝑥𝑡]𝜎2

它不需要知道具体的 𝑥0 是哪一个。它只需要根据当前的 𝑥𝑡,计算出在它记忆的所有专家经验中,最可能的回归方向。

3.3 为什么不会像直接对所有轨迹取平均一样直接从几条轨迹的中间走 —— 多模态坍缩

我们其实有多种不同的专家轨迹 𝑥(1)0,𝑥(2)0,…,在采样初期( 𝑡 很大),𝔼[𝑥0|𝑥𝑡] 确实是所有模态的加权。

就行我们对 x 轴 y 轴两条线取平均的话,他就沿着 45 度的 y=x 直线去走了。

但随着采样迭代( 𝑡 →0 ),𝑥𝑡 会因为采样中的随机性(噪声注入)稍微偏向某一个模态。模型在每一个微小的 𝑑𝑡 步都在求期望,一旦偏离平衡点,贝叶斯后验 𝑝(𝑥0|𝑥𝑡) 就会发生正反馈效应,让期望值迅速向某一个具体的模态 “坍缩”。随着 𝑡 →0,噪声变小,后验分布 𝑝(𝑥0|𝑥𝑡) 会迅速坍缩(变得非常尖锐),最终锁定在某一个具体的 𝑥(𝑛)0 上。

相关文章
|
5天前
|
人工智能 安全 API
CoPaw:5分钟部署你的 AI助理
源自阿里巴巴开源生态的个人 AI 助理——CoPaw。作为阿里倾力打造的开源力作,CoPaw 完美打通钉钉、飞书、Discord 等多平台对话通道,支持定时任务自动化。内置 PDF/Office 深度处理、新闻摘要等强大技能,更开放自定义扩展接口。坚持数据全程私有化部署,绝不上传云端,让每一位用户都能在大厂技术加持下,拥有安全、专属的智能助手。
|
8天前
|
人工智能 自然语言处理 JavaScript
2026年Windows+Ollama本地部署OpenClaw保姆级教程:本地AI Agent+阿里云上快速搭建
2026年OpenClaw凭借本地部署、私有化运行的特性,成为打造个人智能体的核心工具,而Ollama作为轻量级本地大模型管理工具,能让OpenClaw摆脱对云端大模型的依赖,实现**本地推理、数据不泄露、全流程私有化**的智能体验。本文基于Windows 11系统,从硬件环境准备、Ollama安装与模型定制、OpenClaw部署配置、技能扩展到常见问题排查,打造保姆级本地部署教程,同时补充阿里云OpenClaw(Clawdbot)快速部署步骤,兼顾本地私有化需求与云端7×24小时运行需求,文中所有代码命令均可直接复制执行,确保零基础用户也能快速搭建属于自己的本地智能体。
9109 73
|
5天前
|
人工智能 安全 JavaScript
阿里云上+本地部署OpenClaw(小龙虾)新手攻略:解锁10大必备Skills,零基础也能玩转AI助手
2026年,开源AI代理工具OpenClaw(昵称“小龙虾”)凭借“能实际做事”的核心优势,在GitHub斩获25万+星标,成为现象级AI工具。它最强大的魅力在于可扩展的Skills(技能包)系统——通过ClawHub插件市场的数百个技能,能让AI助手从简单聊天升级为处理办公、学习、日常事务的全能帮手。
4403 9
|
6天前
|
人工智能 自然语言处理 机器人
保姆级教程:Mac本地搭建OpenClaw及阿里云上1分钟部署OpenClaw+飞书集成实战指南
OpenClaw(曾用名Clawdbot、Moltbot)作为2026年最热门的开源个人AI助手平台,以“自然语言驱动自动化”为核心,支持对接飞书、Telegram等主流通讯工具,可替代人工完成文件操作、日历管理、邮件处理等重复性工作。其模块化架构适配多系统环境,既可以在Mac上本地化部署打造私人助手,也能通过阿里云实现7×24小时稳定运行,完美兼顾隐私性与便捷性。
4506 9
|
8天前
|
人工智能 JSON JavaScript
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
手把手教你用 OpenClaw(v2026.2.22-2)+ 飞书,10分钟零代码搭建专属AI机器人!内置飞书插件,无需额外安装;支持Claude等主流模型,命令行一键配置。告别复杂开发,像聊同事一样自然对话。
4893 13
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
|
7天前
|
人工智能 监控 机器人
2026年零门槛部署 OpenClaw(Clawdbot)接入A股数据,实现24小时股票分析保姆级教程
在AI赋能金融分析的浪潮中,OpenClaw(原Clawdbot/Moltbot)凭借开源灵活的架构,成为个人投资者打造专属智能分析助手的首选。通过接入A股实时数据,它能实现24小时市场监控、涨跌预警、潜力股推荐等核心功能,彻底解放人工盯盘的繁琐。而阿里云的稳定部署环境,更让这套系统实现全天候不间断运行,成为真正的“金融AI助手”。 本文基于OpenClaw v2026.1.25稳定版与QVeris免费A股数据接口,详细拆解阿里云OpenClaw部署步骤、A股数据接入流程、高级分析功能配置及多平台联动技巧,所有代码命令均可直接复制复用,即使无技术基础也能在1小时内完成从部署到实战的全流程。
3461 11
|
3天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
1924 6