Universal Guidance for Diffusion Models 论文阅读

date
Feb 23, 2023
Last edited time
Mar 27, 2023 08:36 AM
status
Published
slug
Universal_Guidance_for_Diffusion_Models论文阅读
tags
DL
DDPM
summary
type
Post
Field
Plat
notion image
notion image
 

Abstract

  • Problem
    • 经过训练,典型的扩散模型可以接受特定形式的调节(Condition),最常见的是文本。如果以其他形式为条件,就需要重新训练才能够使用。
  • Solution
    • 我们提出了一种通用的指导算法,使扩散模型能够由任意指导模态控制,而无需重新训练特定组件。

Introduce

扩散模型是创建数字艺术和图形的强大工具。它们的成功很大程度上来自于我们能够精确控制它们的输出,为每个用户的个人需求定制结果。今天大多数模型都是通过 conditioning 控制的。通过 conditioning,扩散模型从底层开始构建,接受用户的特定输入模式,如描述性文本、分割地图、分类标签等。虽然 conditioning 是一种强大的工具,但它会导致模型被束缚在单一的调节模式中。如果需要另一种模式,则需要训练新模型,通常是从头开始。不幸的是,高昂的培训成本使大多数用户望而却步。

Classifier Guidance

在这种方法中,扩散模型充当通用图像生成器,不需要理解用户的指令。用户将此模型与衡量是否满足某些标准的 guidance function 相结合。例如,可以引导模型最小化生成的图像和用户选择的文本描述之间的 CLIP 分数。在每次图像创建的迭代中,通过引导函数的梯度微调迭代,从而使最终生成的图像满足用户的要求。
考虑一个可微的引导函数 ,例如 CLIP 特征提取器或分割网络。当应用于一幅图像时,我们得到一个向量 。另一个函数 ,用于衡量两个向量 的接近程度。这个特定的向量 ,我们称之为提示(prompt),相应的约束形式化为 ,并且我们的目标是生成满足约束条件的图像样本
在本文中,我们研究了 Guidance 方法,使得任何现成的模型或损失函数都可以用作扩散的指导。由于可以在不重新训练或修改的情况下使用指导函数,这种形式的指导是通用的,因为它使扩散模型适应于几乎任何目的。

Classifier Free Guidance

使用 Guidance 方法的困难在于扩散采样过程中使用的噪声图像与引导模型训练的清晰图像之间存在域漂移。只有当这个差距被缩小后,才能成功进行引导。
例如,Nichol等人(2021年)成功地使用CLIP模型作为引导。但条件是使用带噪声的输入重新训练CLIP。虽然噪声重新训练可以缩小域差距,但代价非常高昂。
因此,我们提出的采样器仅在去噪图像而不是嘈杂的潜在状态上评估指导模型。这样做缩小了困扰标准指导方法的领域差距。

Background

💡
这里列出几个重要的公式:

Universal Guidance

notion image

Forward Universal Guidance

给 Prompt ,分类器指导通过将每个采样步骤 中的 替换如下:
定义 为交叉熵损失, 为一个输出分类概率的引导函数, 那么上式可以重写为:
然而,直接用任何现成的引导和损失函数替换 在实践中是行不通的,因为 很可能是在干净的图像上训练的,并且在输入有噪声时无法提供有意义的指导。因此, 我们建议改为根据预测的干净数据 来计算引导,
其中 控制每个采样步骤的引导强度。将式3带入得到:
应用前向引导有效地使生成的图像更接近 Prompt ,同时保持数据流形中的生成轨迹。

Backward Universal Guidance

简单地增加引导强度 是次优的,因为这通常会导致不稳定性,即图像离开流形的速度会快于降噪器可以纠正的速度。
反向引导的关键思想是在基于 优化得到最佳匹配提示的干净图像后,将引导的变化线性地传递回第 步的噪声图像空间。我们首先计算干净数据空间中的引导变化 为:
直接最小化 是干净数据空间中最能满足于约束的变化。然后,我们将 传回到 的噪声数据空间。
于是, 可以将 重写为对原始去噪预测 的增强:
反向引导(如公式(9)所示)产生了一个优化方向,以使生成的图像与给定提示相匹配,因此优先考虑强制执行约束条件。
💡
Calculation of a gradient step for Equation (7) is computationally cheaper than forward guidance (Equation (6)).

Per-step Self-recurrence

不幸的是,当我们将 Universal Guidance 应用于标准生成流程时,我们经常会发现图像存在瑕疵和奇怪的行为,这些行为明显区别于自然图像。
notion image
 
受 RePaint 的启发,我们通过应用 Per-step Self-recurrence 来解决这个问题。更具体地,在采样 之后,我们重新注入随机高斯噪声 ,得到 ,其计算方式为:
在继续第 步采样之前,我们将自我回归重复 次。 Per-step Self-recurrence 允许在相同的噪声尺度下探索数据流形的不同区域,为寻找既满足引导又具有图像质量的解决方案提供更多的预算。

Result

notion image
notion image

© Lazurite 2021 - 2024