Classifier-Free Guidance(CFG)

搜索文档
Diffusion Model扩散模型一文尽览!
自动驾驶之心· 2025-09-13 16:04
扩散模型数学原理 朗之万采样与扩散模型基础 - 扩散模型本质是通过神经网络学习解常微分方程/随机微分方程的过程,核心是从随机噪声逐步生成目标数据分布[3] - 图像生成任务可视为从高维概率分布采样,朗之万采样通过分数函数(概率密度梯度)将随机噪声推向高概率区域[11] - 噪声项在朗之万采样中必不可少:无噪声会导致收敛到局部极大值(模式搜索),有噪声才能确保采样多样性并探索多模态分布[11][14][26] - 网络负责生成宏观结构和方向,噪声提供高频细节和纹理,两者结合产生真实感图像[11][26] 分数匹配与训练目标 - 通过高斯核密度估计(KDE)将离散分布连续化,获得可求梯度的分数函数:∇ₓlog pσ(x) = (μ_w(x) - x)/σ² [41][46][53] - 训练目标分为分数匹配和噪声预测两种等价形式:分数匹配直接预测梯度,噪声预测则估计添加的噪声,关系为 sθ(x_t, t) ≈ -(1/σ_t) · εθ(x_t, t) [64][65][66] - 方差爆炸(VE)和方差保持(VP)是两种主流噪声调度策略:VE让方差随时间递增最终变为高斯噪声,VP保持总方差不变[69][70] Flow Matching 框架 - Flow Matching 直接学习速度场而非分数函数,通过构造确定性流将先验分布传输到数据分布[144][145] - MeanFlow 学习平均速度场而非瞬时速度场,可实现一步生成(1-NFE),推理公式为 z₀ = z₁ - uθ(z₁, 0, 1) [105][107][111] - Rectified Flow 通过重流(reflow)技术拉直轨迹,使ODE可用单步欧拉求解,提升推理效率[94][97][98] - 与扩散模型对比:Flow Matching 不依赖高斯先验和边界分数,支持任意可采样分布[144][145] 分类器自由引导(CFG) - CFG 通过线性组合有条件和无条件预测增强控制效果:ū_t(x|y) = (1-w)u_t(x|∅) + wu_t(x|y),其中 w > 1 为引导尺度[179][183][184] - 训练时以概率 η 替换条件 y 为空集 ∅,统一学习有条件和无条件速度场[184][189] - 推导基于贝叶斯规则:∇log p(x|y) = ∇log p(x) + ∇log p(y|x),引导项放大分类器梯度[177][181][193] 概率流ODE统一框架 - 概率流ODE构建确定性生成路径:dX_t = [f(X_t,t) - ½g(t)²∇log p_t(X_t)] dt,其分布演化与SDE一致[148][158][164] - 分数匹配(SDE/ODE)和Flow Matching属同一家族,前者学分数再转速度,后者直接学速度场[148][151] - 扩散模型依赖高斯先验的原因:线性高斯SDE有闭式解,梯度易计算,且边界分数已知(∇log p₀(x) = -x)[133][134][143] 技术实现与优化 - 实现涉及雅可比向量积(JVP)计算,框架如Jax和Torch提供原生支持[115][122] - 损失函数设计避免EMA和stop_gradient,理论保证收敛性且训练稳定[120][121][125] - 采样效率通过平均速度场和直线轨迹优化,减少推理步数[98][105][111] 注:本文仅涉及扩散模型数学原理及算法框架,未包含风险提示、免责声明、评级规则等无关内容[3]