扩散模型基础

扩散模型属于「生成模型」的一种,通过学习给定的训练样本,生成模型可以学会如何 生成 数据,比如生成图片或者声音。一个好的生成模型能生成一组 样式不同 的输出。这些输出会与训练数据相似,但不是一模一样的副本。

符号约定

符号 含义
q 正向过程的分布(加噪,数据→噪声,是已知的)
反向过程的分布(去噪,噪声→数据,由神经网络学习,模型学习的过程,需要训练)

:加噪过程,是已知的

:"正向加噪过程的反转",即真实的去噪分布。此处不用p,是因为:

| 符号 | 含义 |
| q | 是"真实但不可直接用来采样"的分布,是真相**(但不好用)** |

是训练出来的模型,是近似**(但可用)**

已知: x0 → x1 → ... → xT (q)

要做的:xT → ... → x0 (pθ 来学)

时间步的选取

扩散模型的训练 vs 推理

训练时,每个 batch 中的时间步 t 是随机采样的:

复制代码
t = torch.randint(0, T, (batch_size,))  # 从 [0, T] 均匀随机采样
  • 对同一张图片,这次可能采样 t=200,下次可能采样 t=850
  • 目的是让模型学会处理任意噪声程度,不依赖顺序
  • 每个样本独立地加噪到对应的 t 步( 一步到位)
推理(生成)阶段:按时间递减顺序

推理时是严格有序的,从高噪声到低噪声逐步去噪:

复制代码
x_T(纯噪声) → x_{T-1} → x_{T-2} → ... → x_1 → x_0(生成图像)

即 t:T→T−1→⋯→1→0,每一步都依赖上一步的输出。


为什么训练可以随机、推理必须有序?
训练 推理
输入来源 原始图 直接加噪到任意 t 上一步去噪结果 ​
t 的顺序 随机打乱 严格 T→0
原因 闭合公式(可以用一个直接的数学表达式一步算出结果, 不需要迭代或递推)可跳步加噪,步骤间无依赖 每步去噪依赖前一步,必须串行

训练的核心技巧是:不需要真正做 T步马尔可夫链,可以用:

直接从一步采样出任意 t 时刻的 ,所以各时间步之间训练完全独立、可并行、可随机。

其中 是提前算好的常数。

给定 和 t,代入公式立刻得到 ,完全跳过中间所有步骤。

扩散模型理论依据:随机梯度朗之万动力学(SGLD)

一种用于从复杂概率分布 p(x) 中采样的方法

一、核心思想:

1、结合梯度信息 + 随机噪声 2、构造一个马尔可夫链来逼近目标分布

二、更新公式


马尔可夫链

核心思想:下一个状态只取决于当前状态,与过去的历史无关。

直觉例子:天气

假设天气只有晴/雨两种状态,且转变概率固定:

复制代码
晴 --70%--> 晴
晴 --30%--> 雨
雨 --40%--> 晴  
雨 --60%--> 雨

今天是否下雨,只看昨天的天气 ,不管前天、大前天怎样。

扩散模型里的马尔可夫链

扩散模型的加噪过程正是一条马尔可夫链:

每一步只在上一步的基础上再加一点点高斯噪声 :

ϵ∼N(0,I) 是标准高斯噪声

依赖 ,不直接依赖 符合马尔可夫性质。

正因为每步都是"只看上一步加噪"的马尔可夫结构,叠加之后才能推导出前面说的闭合公式 ------把多步高斯噪声合并成一步。

扩散模型成功的秘诀在于扩散过程的迭代本质。

在每一步中,模型都会估计如何从当前的输入生成完全去噪的结果,早期阶段(预测最终输出实际上非常困难),这个估计中的任何 error 都可以在以后的更新中得到纠正。

训练步骤:

1.从训练数据中加载一些图像

2.添加不同级别的噪声。希望模型在面对添加了极端噪声和几乎没有添加噪声的带噪图像时,都能够很好地估计如何去噪。

3.将带噪数据输入模型

4.评估模型对这些输入去噪的效果,使用此信息更新模型权重

从完全随机的输入开始,反复将其输入模型,每次根据模型预测进行少量更新


高斯分布的性质

一个随机变量如果满足:

表示:均值:μ 方差:σ2

标准高斯:

就是这种标准高斯噪声

关键性质1:线性缩放

如果: 那么

乘一个系数 → 方差变成系数平方

高斯分布在线性变换下仍然是高斯

关键性质2:线性组合仍是高斯

如果 是高斯,那么仍然是高斯

关键性质3:方差计算公式

对于任意随机变量:

特殊情况:独立

如果 X⊥Y(独立)那么

于是:

关键性质4:高斯中"独立 ⇔ 不相关"

对于一般变量:不相关 ≠ 独立

但对于高斯变量: 不相关 = 独立

所以 独立 ⇒ 可以直接加方差


把这些性质对应回的推导

式子本质: 其中:,且独立

各自方差

相加 ,因为独立:

相关推荐
在所不辞兄8 分钟前
为什么在电池供电场景下,不能采用固定电压频率策略,而需要动态调整以最大化 Race-to-Sleep 收益?
人工智能·深度学习·神经网络·机器学习
jianqiang.xue9 分钟前
3倍向量算力:Arm给最小MCU装上本地AI
arm开发·人工智能·单片机
北京迅为18 分钟前
案例分享 | RK182X算力卡:多路视频VLM监控,四路画面AI同时看懂,一句人话说清现场
linux·人工智能·嵌入式·rk3588·算力卡·rk182x
2601_9679873730 分钟前
SVM支持向量机通俗解析:找到机器学习的“最优分界线”
机器学习·svm·分类算法·核函数·最大间隔
墨林陌32 分钟前
AI 热点日报(2026-11-13):黄仁勋辞任英伟达CEO,百度发智能组织,SpaceX斥740亿建算力
人工智能
喵了几个咪1 小时前
GoWind Flow 拆解:一个 Go 工作流引擎与它的双模式设计器
开发语言·人工智能·后端·golang
aneasystone本尊1 小时前
学习大模型训练的 DPO 与 GRPO:偏好对齐的简化与进化
人工智能
BYSJMG1 小时前
计算机毕业设计选题推荐|【基于深度学习的电梯电动车违规进入检测研究】YOLO26m+可视化大屏
人工智能·深度学习·神经网络·目标检测·机器学习·计算机视觉·课程设计