扩散模型原理:Score Function、噪声预测与CFG引导采样

TL;DR: 本文推导了扩散模型中Score Function与噪声预测之间的精确数学关系,并解析了Classifier-Free Guidance的工作原理及其在采样过程中的应用。 Score Function与噪声预测的关系推导 我们将推导扩散模型中的score function $\nabla_{\mathbf{x}_t}\log p(\mathbf{x}_t)$与噪声预测 $\epsilon_\theta(\mathbf{x}_t)$ 之间的数学关系。这是一个经典的结论,笔者在阅读 Classifier-Free Guidance 的相关资料时,大多都是跳步处理,应是默认了读者有相关的背景知识。但对于想要刨根究底的读者来说,这样有些不方便,所以笔者决定写一篇笔记,详细推导一下。本文假设读者对 Diffusion 有基本的背景知识,知道前向加噪过程、逆向去噪过程、以及扩散模型的训练目标。 1. 基本前向过程 在扩散模型中,前向加噪过程定义为: $$ \mathbf{x}_t = \sqrt{\bar{\alpha}_t}\mathbf{x}_0 + \sqrt{1-\bar{\alpha}_t}\boldsymbol{\epsilon}, \quad \boldsymbol{\epsilon} \sim \mathcal{N}(0, I) $$ 可以改写噪声项为: $$ \boldsymbol{\epsilon} = \frac{\mathbf{x}_t - \sqrt{\bar{\alpha}_t}\mathbf{x}_0}{\sqrt{1-\bar{\alpha}_t}} $$2. 条件概率分布 从加噪过程可知,给定$\mathbf{x}_0$的条件下,$\mathbf{x}_t$的条件概率分布为: $$ p(\mathbf{x}_t|\mathbf{x}_0) = \mathcal{N}(\mathbf{x}_t; \sqrt{\bar{\alpha}_t}\mathbf{x}_0, (1-\bar{\alpha}_t)I) $$3. Score Function的推导 我们的目标是计算 $\nabla_{\mathbf{x}_t}\log p(\mathbf{x}_t)$。首先使用全概率公式: ...

三月 18, 2025 · 6 分钟 · 1539 字 · Benhao Huang