扩散模型基础

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

符号约定

符号 含义
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:高斯中"独立 ⇔ 不相关"

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

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

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


把这些性质对应回的推导

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

各自方差

相加 ,因为独立:

相关推荐
sky_8106135 小时前
深入理解 Claude Code:从 0 到 1 构建 AI 智能体工作台
人工智能
旺财矿工5 小时前
AI 智能体 OpenClaw 2.6.6 Win11 安装与快速上手教程
人工智能·自动化·openclaw·小龙虾·龙虾
0xR3lativ1ty5 小时前
Transformer自注意力为何除以根号dk
人工智能·深度学习·transformer
涛声依旧-底层原理研究所5 小时前
十大经典机器学习算法图解精析
机器学习
无籽西瓜a5 小时前
RAG 中的幻觉是什么?原因分析与防范措施
人工智能·ai·rag
大囚长5 小时前
AI是人类灭绝的前奏
人工智能
小妖同学学AI5 小时前
抛弃传统数据库!Qdrant用Rust重写AI记忆,大模型知识库迎来性能革命!
数据库·人工智能·rust
星爷AG I5 小时前
20-3 长时记忆(AGI基础理论)
人工智能·agi
guslegend5 小时前
第2节:规范驱动开发SDD,让AI永远在轨道上
人工智能·ai编程