开发者生态
morning
扩散蒸馏的悖论 (2024)
2026-09-04
1 阅读
约4分钟阅读
peter_d_sherman
字号:
扩散模型将从高维分布生成数据的艰巨任务分解为许多去噪任务,每个任务都变得更加容易。我们训练他们一次只解决其中一项任务。为了进行采样,我们按顺序做出许多预测。这种迭代的改进就是他们的力量的来源。 ……或者是吗?最近许多关于扩散模型的论文都侧重于减少所需的采样步骤数量;有些工作甚至旨在实现单步采样。这似乎有悖常理,因为将事情分成许多更简单的步骤被认为是这些模型首先表现良好的原因!在这篇博文中,让我们仔细看看可以减少从扩散模型获得良好结果所需的采样步骤数量的各种方法。我们将特别关注各种形式的蒸馏:这是通过用另一个模型(教师)的预测来监督新模型(学生)的训练实践。扩散模型的各种蒸馏方法已经产生了极其引人注目的结果。当我开始写作时,我的本意是相对较高层次的,但由于扩散模型的蒸馏是一个有点小众的主题,我无法避免详细解释某些事情,所以它变成了深入研究。下面是一个目录。单击可直接跳至本文的特定部分。扩散采样:小心行事!有目的地穿过输入空间 扩散蒸馏 但是“没有免费的午餐”呢?我们真的需要老师吗?绘制数据和噪声之间的迷宫结束思考致谢参考文献扩散采样:小心行事!首先,为什么扩散模型需要很多步骤才能得到好的结果?值得对此进行更深入的了解,以便了解各种方法如何能够在不影响输出质量的情况下减少这种情况——或者至少不影响太多。扩散模型中的采样步骤包括: 预测输入空间中我们应该移动以消除噪声的方向,或者等效地,使输入在数据分布下更有可能;朝这个方向迈出一小步。根据采样算法,您可能会添加一些噪声,或者使用更高级的机制来计算更新方向。我们只迈出了一小步,因为这个预测方向仅在局部有意义:它指向输入空间的数据分布下的可能性很高的区域,而不是特别指向任何特定的数据点。因此,如果我们要迈出一大步,我们最终会到达该高似然区域的质心,这不一定是数据分布的代表性样本。将其视为粗略估计。如果您觉得这不直观,那么您并不孤单!高维空间中的概率分布通常表现得不直观,我过去曾写过一篇深入的博客文章。具体来说,在图像域中,如果输入中有大量噪声,则在预测方向上迈出一大步往往会产生模糊的图像。这是因为它基本上对应于许多看似合理的图像的平均值。 (为了便于讨论,我故意忽略了可能作为采样算法的一部分添加回来的任何噪声。)另一种看待它的方式是,噪声掩盖了高频信息,这对应于尖锐的特征和细粒度的细节(我之前也写过)。这种高频信息的不确定性产生了将所有可能性混合在一起的预测,从而导致完全缺乏高频信息。预测方向的局部有效性意味着我们应该只采取无穷小的步骤,然后重新评估模型以确定新的方向。当然,这是不切实际的,所以我们采取有限但小的步骤。这与机器学习模型在参数空间中基于梯度的优化工作方式非常相似,但这里我们是在输入空间中操作。就像模型训练一样,如果我们采取的步骤太大,最终结果的质量就会受到影响。下图表示二维输入空间。 \(\mathbf{x}_t\) 表示时间步 \(t\) 的噪声输入,我们在这里通过向从数据分布绘制的干净图像 \(\mathbf{x}_0\) 添加噪声来构造它。还显示了我们应该移动以使输入更有可能的方向(由扩散模型预测)。这指向 \(\hat{\mathbf{x}}_0\),即高似然区域的质心,以粉红色阴影显示。该图显示输入空间中的高似然区域,以及扩散模型预测的方向,该方向指向该区域的质心。 (请参阅我之前关于扩散引导几何形状的博客文章的第一部分,了解一些注意事项
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱