eDiff-I: Text-to-Image Diffusion Models with an Ensemble of Expert Denoisers
公众号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料)
目录
0. 摘要
1. 简介
2. 相关工作
3. 背景
4. 专家降噪器集合
4.1. 专家去噪器的高效训练
4.2. 多条件输入
4.3. 用文字作画(Paint-with-words)
5. 实验
5.1. 主要结果
5.2. CLIP 文本和 T5 文本
5.3. 风格迁移
5.4. "Paint with Words"
6. 结论
参考
附录
A. 网络架构
B. 集成训练计划
B.1 超参数
S. 总结
S.1 主要贡献
S.2 架构和方法
基于扩散的大规模生成模型在文本条件下的高分辨率图像合成中取得了突破,展示出了复杂的文本理解和出色的零样本泛化能力。这些文本到图像扩散模型从随机噪声开始,以迭代的方式合成图像,同时依赖于文本提示进行条件合成。研究发现,它们的合成行为在合成过程中会发生质的变化:在采样的早期阶段,生成过程强烈依赖于文本提示来生成与文本一致的内容,而后来,文本的条件几乎被忽略,任务变成了生成高视觉保真度的输出。这表明,在整个生成过程中共享模型参数(文献中的标准做法)可能不是最好的方法来捕捉生成过程中这些明显不同的模式。因此,与现有工作相反,我们提出训练一组专门用于不同合成阶段的文本到图像扩散模型。为了保持训练效率,我们最初训练一个单一模型,然后逐渐将其分成专门的模型:为迭代生成过程的特定阶段进一步训练。我们的扩散模型集成,称为 eDiff-I,提高了文本对齐性,同时保持了相同的推理计算成本和保留了高视觉质量,在标准基准上胜过以前的大规模文本到图像扩散模型。此外,我们训练我们的模型利用各种嵌入来进行条件合成,包括 T5 文本、CLIP 文本和 CLIP 图像嵌入。我们展示了这些不同的嵌入导致不同的图像生成行为。值得注意的是,CLIP 图像嵌入允许直观而即时地将参考图像的风格迁移到目标文本到图像输出。最后,我们展示了一种使 eDiff-I 具有 “以文字绘图(paint- with-words)” 功能的技术。用户可以选择输入文本中的单词,并将其绘制在画布上以控制输出,这对于按照心中所想来打造所需的图像非常方便。项目页面可在 https://deepimagination.cc/eDiff-I/ 上找到。
扩散模型 [26,69,73] 通过迭代去噪生成图像,如图 2 所示,正在彻底改变图像生成领域。它们是最近文本到图像模型的核心组成部分,这些模型在将复杂的文本提示转化为逼真的图像方面表现出惊人的能力,甚至可以应对以前未见的新概念 [57,59,63]。这些模型已经推动了众多互动工具和创意应用的发展,并大大促进了内容创作的民主化。
可以说,这一成功很大程度上归功于扩散模型的出色可扩展性,因为可扩展性为从业者提供了将更大的模型容量、计算能力和数据集转化为更好的图像生成质量的明确途径。这提醒人们要警惕苦涩的经验教训 [75],即可扩展的模型在长期内通常优于手工制作的专门模型,特别是在大规模数据和大规模计算能力的基础上进行训练。在自然语言建模 [33]、图像分类 [23]、图像重建 [38] 和自回归生成建模 [21] 等领域之前已经观察到了类似的趋势。
我们有兴趣在模型能力方面进一步扩展扩散模型,以用于文本到图像生成任务。我们首先注意到,通过在每个去噪步骤中使用更深或更宽的神经网络来增加模型容量将会对测试时采样的计算复杂度产生负面影响,因为采样相当于求解反向(生成)微分方程,其中要多次调用去噪网络。我们的目标是在不增加测试时间计算复杂度的情况下扩展目标。
我们的关键洞察是,文本到图像扩散模型在生成过程中呈现出一个有趣的时间动态。在早期的采样阶段,当输入数据接近随机噪声时,扩散模型主要依赖文本提示来引导采样过程。随着生成的继续,模型逐渐转向使用视觉特征来去噪图像,大部分情况下忽略输入的文本提示,如图 3 和 4 所示。
受到这一观察的启发,我们提出通过训练一组专门用于生成过程中不同阶段的专家去噪器,来增加扩散模型的容量。虽然这不会增加每个时间步采样的计算复杂性,但它增加了训练的复杂性,因为不同的去噪模型应该针对不同的阶段进行训练。为了解决这个问题,我们建议首先为所有阶段预训练一个共享的扩散模型。然后,我们使用这个预训练模型来初始化专门的模型,并对它们进行较少次数的微调。这一方案在基准数据集上实现了文本到图像生成的最新成果。
我们还尝试使用一组预训练的文本编码器来提供输入给我们的文本到图像模型。我们使用了 CLIP文本编码器,它是针对将文本嵌入与相应的图像嵌入对齐的训练,以及 T5 文本编码器,它是为语言建模任务进行训练的。尽管先前的工作使用了这两个编码器,但它们尚未在一个模型中一起使用。由于这两个编码器是针对不同目标进行训练的,它们的嵌入有助于生成不同的图像,即使输入文本相同。虽然 CLIP 文本嵌入有助于确定生成图像的全局外观,但输出往往会忽略文本中的细节。相比之下,只使用 T5 文本嵌入生成的图像更好地反映了文本中描述的各个对象,但它们的全局外观不够准确。将它们联合使用在我们的模型中产生了最佳的图像生成结果。除了文本嵌入外,我们还训练我们的模型利用输入图像的 CLIP 图像嵌入,我们发现它对于风格迁移非常有用。我们称我们的完整模型为 “ensemble diffusion for images”,简称 eDiff-I。
虽然文本提示在指定生成图像中要包括的对象方面是有效的,但使用文本来控制对象的空间位置会有些繁琐。我们设计了一个无需训练的模型扩展,以允许 "paint-with-words",这是一种可控的生成方法,允许用户通过在画布上涂写来指定特定对象和概念的位置。其结果是一个图像生成模型,可以接受文本和语义掩码作为输入,以更好地帮助用户实现他们心中完美图像的构想。
我们的工作的主要贡献有以下几点:
去噪扩散模型 [26, 69, 73] 是一类通过迭代去噪过程生成样本的深度生成模型。这些模型是通过在不同噪声水平下进行去噪得分匹配 [31, 79] 目标训练的,因此也被称为噪声条件的得分网络 [71, 72]。它们已经推动了成功的应用,如文本到图像生成 [57, 59, 63],自然语言生成 [41],时间序列预测 [76],音频合成 [39],3D 形状生成 [49, 87, 91],分子构象生成 [84],蛋白质结构生成 [83],机器学习安全 [52] 和差分隐私图像合成 [14]。
文本到图像扩散模型。一些最高质量的文本到图像生成模型是基于扩散模型的。这些模型学习在文本提示的条件下执行去噪任务,可以是在图像空间(如 GLIDE [51] 和 Imagen [63])或在单独的潜在空间(如 DALL-E 2 [57]、Stable Diffusion [59, 60] 和 VQ-Diffusion [19])上。为了提高计算效率,通常会在低分辨率图像或潜在变量上训练扩散模型,然后通过超分辨扩散模型 [27] 或潜在到图像解码器 [68, 77] 将它们转化为高分辨率图像。从这些扩散模型中提取样本使用分类器(或无分类器)引导 [13, 28] 以及使用确定性 [15, 34, 43, 46, 70, 89] 或随机 [4, 5, 16, 90] 迭代更新的各种采样算法。一些作品从外部数据库中检索与文本提示相关的辅助图像,并在生成过程中对其进行条件设置以提高性能 [7, 9, 66]。最近,一些文本到视频扩散模型被提出,并取得了高质量的视频生成结果 [20, 25, 29, 67, 85]。
文本到图像扩散模型的应用。除了作为微调以用于通用图像到图像转换任务的骨干模型 [80] 外,文本到图像扩散模型还在其他下游应用中展示出令人印象深刻的能力。扩散模型可以直接应用于各种逆问题,如超分辨率 [13, 64]、修补 [11, 47]、去模糊 [35, 82] 和 JPEG 修复 [36, 62] 等。例如,混合扩散 [2, 3] 使用自然语言描述进行修补。文本到图像扩散模型还可以执行其他语义图像编辑任务。SDEdit [50] 通过彩色笔触或图像补丁实现现有图像的重新合成、组合和编辑。DreamBooth [61] 和 Textual Inversion [18] 允许通过从少数图像中学习特定主题的标记来 “个性化” 模型。Prompt-to-prompt tuning 可以通过修改用于生成相同图像的文本提示来实现图像编辑,而无需用户提供特定对象的分割掩模 [22]。也可以通过微调模型参数 [37, 78] 或使用去噪器自动地查找编辑掩码来实现类似的图像编辑功能 [12]。
深度学习模型的扩展。深度学习最近的成功主要是由不断增大的模型和数据集推动的。已经证明,简单地增加模型参数和数据规模会在各种任务中显着提高性能,如语言理解 [8, 10]、视觉识别 [88]和多模态推理 [55]。然而,这些高容量模型在训练和推理过程中也会增加计算和能源成本。一些最近的工作 [1,58,65] 采用了稀疏专家模型,将每个输入示例路由到网络权重的一个小子集,从而在扩展时保持计算量可控。类似地,我们提出的专家去噪器增加了可训练参数的数量,而不会增加测试时的计算成本。
在文本到图像生成模型中,输入文本通常由文本嵌入表示,这些嵌入是从预训练模型(如 CLIP [55] 或 T5 [56] 文本编码器)中提取的。在这种情况下,根据文本提示生成图像的问题可以简化为学习一个条件生成模型,它以文本嵌入作为输入条件,生成与条件对齐的图像。
文本到图像扩散模型通过从噪声分布中对图像进行采样,并使用一个去噪模型 D(x; e, σ) 对其进行迭代去噪来生成数据。其中,x 表示当前步骤的噪声图像,e 是输入嵌入,σ 是表示当前噪声级别的标量输入。接下来,我们将正式讨论去噪模型的训练和采样。
训练过程中,去噪模型被训练来从其受损版本中恢复干净的图像,这些版本是通过添加不同尺度的高斯噪声生成的。根据 Karras 等人提出的 EDM 公式 [34] 和他们提出的损坏计划 [34, 70],我们可以将训练目标写成如下形式:
这里,p_data(x_clean, e) 代表生成训练图像-文本对的训练数据分布,p(ε) = N(0, I) 是标准正态分布,p(σ) 是噪声从中采样的分布,λ(σ) 是损失权重因子。
去噪器的公式。遵循 Karras 等人 [34],我们对去噪器进行了预处理:
其中,F(θ) 是经过训练的神经网络。我们使用 σ_data = 0.5 作为自然图像中像素值标准差的近似值。对于 σ,使用 P_mean = -1.2 和 P_std = 1.2 的对数正态分布 ln(σ) ~ N(P_mean, P_std),权重因子 λ(σ) = (σ* / (σ· σ_data))^2 可以取消 (1) 中 F(θ) 的输出加权。
采样。要生成扩散模型中的图像,首先从先验分布
中进行采样,然后使用下式求解生成式常微分方程(ordinary differential equation,ODE):
σ 从 σ_max 逐渐减小到 σ_min ≈ 0,
代表了在噪声水平为 σ 的情况下损坏数据的得分函数,这是从去噪模型 [31, 79] 中获得。这里 σ_max 表示一个高噪声水平,在这个水平上所有的数据都完全损坏,输入图像分布和损坏图像分布之间的互信息趋近于零。需要注意的是,采样也可以表达为求解随机微分方程,如 Song 等人 [73] 所讨论。
超分辨率扩散模型。文本条件扩散模型的训练在很大程度上遵循了上述方法。主要的区别在于,超分辨率去噪模型还将低分辨率图像作为条件输入。根据先前的工作,我们在训练过程中对低分辨率输入图像应用各种损坏操作,以增强超分辨率模型的泛化能力。
正如前面讨论的,文本到图像扩散模型依赖于去噪模型,将从先验高斯分布中采样的样本逐渐转换为以输入文本提示为条件的图像。形式上,生成式 ODE(如公式 2 所示)使用 D(x; e, σ)来引导样本逐渐朝向与输入条件对齐的图像。
每个噪声水平 σ 下的去噪模型 D 依赖于两种信息源进行去噪:当前的有噪图像 x 和输入文本提示 e。我们的主要观察结果是,文本到图像扩散模型在依赖这两个信息源时表现出独特的时间动态。在生成的开始阶段,当 σ 很大时,输入图像 x 主要包含噪声。因此,直接从输入的视觉内容进行去噪是一项具有挑战性和模糊的任务。在这个阶段,D 主要依赖输入的文本嵌入来推断与文本对齐的图像方向。然而,随着 σ 缩小到生成的最后阶段,大部分粗粒度内容都是由去噪模型绘制的。在这个阶段,D 大部分忽略文本嵌入,使用视觉特征来添加细粒度的细节。
我们在图 3 中通过可视化不同生成阶段的视觉和文本特征之间的交叉注意力图与对视觉特征的自注意力图的比较来验证了这一观察结果。在图 4 中,我们另外研究了在去噪过程的不同阶段将输入标题从一个提示切换到另一个提示时生成样本的变化。当在去噪的最后 7% 部分发生提示切换时,生成的输出保持不变。另一方面,当在训练的前 40% 部分发生提示切换时,生成的输出完全改变。
在大多数现有的扩散模型研究中,去噪模型在所有噪声水平上都是共享的,而时间动态是使用一个简单的时间嵌入来表示的,该嵌入通过 MLP 网络提供给去噪模型。我们认为,使用具有有限容量的共享模型可能无法有效地从数据中学习到去噪扩散的复杂时间动态。相反,我们提出通过引入一组专家去噪器来增加去噪模型的容量;每个专家去噪器都是专门用于特定噪声水平范围的去噪模型(参见图 2)。通过这种方式,我们可以增加模型的容量,而不会减慢采样速度,因为在每个噪声水平上评估 D 的计算复杂性保持不变。
然而,简单地为不同阶段训练单独的去噪模型会显著增加训练成本,因为需要从头开始训练每个专家去噪器。为了解决这个问题,我们首先在所有噪声水平上训练一个共享模型。然后,我们使用这个模型来初始化下一阶段的去噪专家。接下来,我们将讨论如何正式从预训练模型中迭代地创建去噪专家。
我们提出了一种基于二叉树实现的分支策略,以高效地训练专家去噪器。我们首先使用表示为 p(σ) 的完整噪声级别分布,训练一个在所有噪声级别之间共享的模型。然后,我们从这个基线模型中初始化两个专家。我们将这些模型称为一级专家,因为它们是在二叉树的第一级进行训练的。这两个专家分别在噪声分布
上训练,这些分布是通过等面积分割 p(σ) 而获得的。因此,在前者训练的专家专门用于低噪声级别,而在后者训练的专家则专门用于高噪声级别。在我们的实现中,p(σ) 遵循对数正态分布(参见第 3 节)。最近,Luhman 等人 [48] 也为图像生成的两阶去噪训练了两个扩散模型,但他们的模型是根据不同分辨率的图像分别从头开始训练的。
一旦 1 级专家模型训练完成,我们以与上面描述的方式类似的方式分割它们各自对应的噪声区间,并为每个子区间训练专家。这个过程会递归地进行多个级别。通常,在第 L 级别,我们将噪声分布 p(σ) 分成 2L 个相等面积的区间,用
表示,其中模型 i 是在分布p^l_i(σ)上训练的。我们称这样的模型或者二叉树中的节点为 E^l_i。
理想情况下,在每个级别 L,我们需要训练 2L 个模型。然而,这是不切实际的,因为随着二叉树深度的增加,模型大小会呈指数增长。而且,在实际中,我们发现在许多中间区间训练的模型对于最终系统的性能没有太大贡献。因此,我们主要关注在二叉树的每个级别的最左边和最右边的节点
进行扩展。最右边的区间包含高噪声水平的样本。正如图 3 和图 4 所示,在高噪声水平下进行良好的去噪对于改善文本条件很关键,因为核心图像形成发生在这个区域。因此,在这个区域拥有专门的模型是理想的。类似地,我们还专注于在较低噪声水平下训练模型,因为在采样过程中的去噪的最后几步发生在这个区域。所以,需要好的模型来获得清晰的结果。最后,我们在两个极端区间之间的所有中间噪声区间上训练一个单一模型。
简而言之,我们的最终系统将包括三个专家去噪器的集成:一个专家去噪器专注于低噪声水平(由二叉树中最左侧的区间给定),一个专家去噪器专注于高噪声水平(由二叉树中最右侧的区间给定),以及一个专家去噪器用于学习所有中间噪声区间。我们在附录 B 中更详细地描述了我们的分支策略。在第 5 节,我们还考虑了其他类型的集成专家,用于定量评估的目的。
为了训练我们的文本到图像扩散模型,我们在训练期间使用以下条件嵌入:(1) T5-XXL [56] 文本嵌入、(2) CLIP L/14 文本嵌入和 (3) CLIP L/14 图像嵌入。由于在线计算这些嵌入非常昂贵,我们为整个数据集预先计算这些嵌入。与以前的工作 [27、59、63] 类似,我们将投影的条件嵌入添加到时间嵌入中,并在去噪模型的多个分辨率上执行交叉注意。在训练期间,我们对这些嵌入中的每一个独立地使用随机丢弃 [74]。当丢弃一个嵌入时,我们将整个嵌入张量置零。当所有三个嵌入都被丢弃时,这对应于无条件的训练,这对于执行无分类器指导 [28] 非常有用。我们在图 5 中可视化了输入条件方案。
我们的完整流水线包括一系列扩散模型。具体来说,我们有一个基础模型,可以生成 64×64 分辨率的图像,以及两个超分辨率扩散模型,可以逐渐将图像上采样到 256×256 和 1024×1024 的分辨率(参见图5)。为了训练超分辨率模型,我们在训练中使用了受到随机退化 [81] 损坏的地面真实低分辨率输入作为条件。在训练过程中添加退化允许模型更好地泛化以去除可能存在于我们的基础模型生成的输出中的伪影。对于基础模型,我们使用了 Dhariwal 等人 [13] 提出的 U-net 架构的修改版本,而对于超分辨率模型,我们使用了 Saharia 等人提出的 Efficient U-net [63] 架构的修改版本。有关架构的更多详细信息,请参见附录 A。
我们提出了一种名为 “paint-withwords” 的无需训练的方法,允许用户指定对象的空间位置。如图 6 所示,用户可以从文本提示中选择任意短语,并在画布上涂鸦,创建与该短语对应的二进制掩模。这些掩模被输入到所有交叉注意力层,并进行双线性下采样以匹配每个层的分辨率。我们使用这些掩模来创建一个输入注意力矩阵 A ∈ R^(N_i × N_t),其中 N_i 和 N_t 分别是图像和文本标记的数量。矩阵 A 中的每一列都是通过展开(flatten)包含该列文本标记的短语对应的掩模生成的。如果用户选择的短语不包含任何文本标记,那么将该列设置为零。我们将输入注意力矩阵添加到交叉注意力层的原始注意力矩阵中,该层现在计算输出为
其中 Q 是图像标记的 query 嵌入,K 和 V 是文本标记的 key 和 value 嵌入,d_k 是 Q 和 K 的维度,w 是一个标量权重,控制用户输入注意力的强度。直观地说,当用户在某个区域绘制短语时,该区域的图像标记被鼓励更多地关注包含在该短语中的文本标记。因此,与该短语对应的语义概念更有可能出现在指定的区域。
我们发现,在较高噪声水平上使用较大的权重以及使 A 的影响与 Q 和 K 的规模无关是有益的,这对应于一种在经验上表现良好的调度:
其中 w' 是用户指定的标量。
优化:基本模型和超分辨率扩散模型均使用 AdamW [45] 优化器进行训练,学习率为 0.0001,权重衰减为 0.01,批量大小为 2048。基本模型使用 256 个 NVIDIA A100 GPU 进行训练,而两个超分辨率模型分别使用 128 个 NVIDIA A100 GPU 进行训练。我们的实现基于 PyTorch [54] 编写的 Imaginaire 库 [44]。有关其他超参数设置的更多详细信息,请参见附录 B。
数据集:我们使用一组公共和专有数据集来训练我们的模型。为了确保高质量的训练数据,我们使用预训练的 CLIP 模型来测量图像-文本对齐分数以及审美评分,以过滤掉未达到预设 CLIP 分数阈值和审美分数的图像-文本对。用于训练我们模型的最终数据集包含约十亿个文本-图像对。所有图像的最短边都大于 64 像素。我们使用其中的所有图像来训练我们的基础模型。对于训练我们的 SR256 和 SR1024 模型,我们只使用最短边大于 256 像素和 1024 像素的图像。对于训练基础模型和 SR256 模型,我们执行调整大小的中心裁剪。首先,将图像调整大小,以使最短边具有与输入图像边的相同数量的像素。对于训练 SR1024 模型,我们在训练期间随机裁剪 256x256 区域,并在推断期间将其应用在 1024x1024 分辨率上。我们使用 COCO 和 Visual Genome 数据集进行评估,这些数据集被排除在我们的训练数据之外,用于测量零样本文本到图像生成性能。
评估:我们使用 MS-COCO [42] 数据集进行大多数评估。与之前的工作 [57, 63] 一致,我们报告了零样本 FID-30K [24],其中有 30,000 个标题是从 COCO 验证集中随机选择的。我们使用这些标题作为合成图像的输入。我们计算生成的样本与参考的 30,000 个真实图像之间的 FID。我们还报告 CLIP 分数,它使用从预训练的 CLIP 模型中提取的特征来衡量生成的样本与相应的输入标题之间的平均相似性。除了 MS-COCO 验证集外,我们还在 Visual Genome 数据集 [40] 上报告 CLIP 和 FID 分数,这是一个包含图像和配对的长标题的具有挑战性的数据集。
首先,我们通过绘制 FID-CLIP 分数权衡曲线来研究我们的集成模型的有效性,并将其与不使用我们提出的专家去噪集成方案的基准模型进行比较,但共享所有其他设计选择。权衡曲线是通过在无分类器指导值范围内进行遍历生成的,范围为 {0, 0.5, 1.0, ... 9.5, 10.0}。在这个实验中,我们通过将训练了 500K 次迭代的基准模型拆分为四个专家模型来训练一个专家集成,每个子模型训练了 50K 次迭代。然后,我们在 550K 次迭代时拆分每个子模型,并训练结果的四个模型额外的 50K 步。这导致了四个专家模型
每个模型训练了 600K 次迭代。为了进行公平比较,我们评估了训练了 800K 次迭代的基准模型和我们的集成模型,因为这样两个模型看到了相同数量的训练样本。如图 7 所示,我们的集成模型在整个权衡曲线上都明显优于基准模型。
接下来,我们报告了在 MS-COCO 数据集上针对 256x256 分辨率图像计算的 eDiff-I 的 FID-30K 结果,并与最先进方法进行了比较,如表 1 所示。我们尝试了以下的模型设置:
我们观察到,我们的 eDiff-I-Config-A 模型在 FID 方面优于 GLIDE [51]、DALL-E 2 [57]、Make-a-Scene [17] 和 Stable Diffusion [59],并实现了略高于 Imagen [63] 和 Parti [86] 的 FID。通过将提出的集成方案应用于 SR256 模型(eDiff-I-Config-B),我们实现了 7.26 的 FID 分数,略优于 Imagen。将提出的 2 专家集成方案应用于构建 eDiff-I-Config-C,其模型大小与 Imagen 大致相同,我们在 FID 分数上超越了 Imagen 和 Parti,分别超过 0.16 和 0.12。我们的 eDiff-I-Config-D 模型实现了最佳的 FID 分数为 7.04。在图 9 中,我们在质量上比较了 eDiff-I-Config-A 和 eDiff-I-Config-C 的结果。我们观察到,与基线相比,我们的专家去噪器集成生成了更好的结果。
现在,我们使用我们最佳的 eDiff-I 配置与两个公开可用的文本到图像生成模型 - Stable Diffusion [59] 和 DALL-E2 [57] 进行定性比较,如图 10、11 和 12 所示。在存在多个实体的情况下(图 10),Stable Diffusion 和 DALL-E2 倾向于混合不同实体的属性或忽略某些属性,而 eDiff-I 能够准确地建模所有实体的属性。在生成文本方面(图 11),Stable Diffusion 和 DALL-E2 通常会出现拼写错误或忽略单词,而 eDiff-I 能够正确生成文本。即使在处理长篇描述的情况下,eDiff-I 也能更好地处理长距离依赖关系,表现比 DALL-E2 和 Stable Diffusion 更好。
在图 14 中,我们展示了 eDiff-I 可以通过使用适当的文本提示生成具有各种风格的图像。如图 15 所示,我们的模型还可以为给定的文本提示生成多种变化。
在图 13 中,我们进行了一个实验来说明所提出的专家去噪模型的集成方案有助于在不增加推断时间计算的情况下扩展模型规模。
如第 4.2 节所述,我们在训练模型时使用了 CLIP 文本嵌入和 T5 文本嵌入。由于在训练期间对各个嵌入进行了独立的随机丢弃,因此模型具有在单独使用每个嵌入时生成图像的能力。在图 18 中,我们研究了模型中各个文本嵌入的影响。我们观察到,仅使用 CLIP 文本嵌入生成的图像通常具有正确的前景对象,但在组合性、计数和生成文本方面表现不佳。另一方面,仅使用 T5 文本嵌入生成的图像在组合方面表现更好,但在生成前景对象(如狗的品种)方面较差。使用 T5 和 CLIP 文本嵌入,我们能够兼具两者的优点,模型可以利用每个文本嵌入提供的属性。
接下来,我们通过在 MS-COCO 和 Visual Genome 数据集上绘制 CLIP-FID 权衡曲线来定量评估单个嵌入的影响,如图 8 所示。我们观察到,在 MS-COCO 数据集上,单独使用 CLIP 和 T5 嵌入导致类似的性能,而同时使用 CLIP+T5 嵌入会产生更好的权衡曲线。在 Visual Genome 数据集上,单独使用 T5 嵌入比使用 CLIP 文本嵌入导致更好的性能。更仔细地观察数据集统计信息发现,MS-COCO 数据集中每个标题的平均单词数为 10.62,而 Visual Genome 数据集为 61.92。因此,当文本更具描述性时,使用 T5 嵌入的性能优于 CLIP 文本嵌入。同样,同时使用 CLIP+T5 嵌入可以获得最佳性能。
除了 T5 和 CLIP 文本嵌入外,我们的模型还在训练过程中使用了 CLIP 图像嵌入。我们发现使用 CLIP 图像嵌入使我们能够在合成过程中进行风格迁移。在图 16 中,我们展示了一些风格迁移的结果。从给定的参考图像中,我们首先获得其 CLIP 图像嵌入。然后,我们对同时以参考 CLIP 图像嵌入和相应的输入文本为条件进行采样。我们发现,当未使用 CLIP 图像嵌入时,生成的图像具有自然风格。另一方面,当 CLIP 图像嵌入处于活动状态时,图像会按照参考图像给定的风格生成。
在图 17 中,我们展示了我们的 “用文字绘画” 的方法产生的一些结果。尽管涂鸦非常粗糙,不包含准确的对象形状,但我们的方法仍然能够合成具有相同粗略布局的高质量图像。在大多数情况下,这比基于分割的图像生成方法更方便,因为当用户绘制的形状与实际对象的形状不同时,分割方法可能会失败。与基于文本的修复方法(将单个概念应用于一个图像区域)不同,“用文字绘画” 可以一次生成整个图像,其中包含多个概念,而无需从输入图像开始。
在本论文中,我们提出了 eDiff-I,这是一种最先进的文本到图像扩散模型,包括一个基本的扩散模型和两个超分辨率模块,可生成 1024x1024 的高清图像输出。eDiff-I 利用了一组专家去噪模型,相对于以前的工作,实现了卓越的性能。我们发现,在文本到图像扩散模型中,生成过程在整个合成过程中有质的变化:最初,模型侧重于生成与文本提示对齐的全局一致内容,而在合成的后期阶段,模型主要忽略了文本的条件并且其主要目标是生成视觉上高质量的输出。我们的不同专家去噪网络允许我们为迭代合成过程的不同时间间隔的不同行为定制模型。此外,我们展示了通过同时以 T5 文本、CLIP 文本和 CLIP 图像嵌入作为条件,eDiff-I 不仅具有改进的性能,还实现了丰富的可控性。特别是,T5 和 CLIP 文本嵌入捕捉到生成图像的互补方面,而 CLI P图像嵌入进一步可以用于根据参考图像进行风格化。最后,我们展示了 eDiff-I 的 “用文字绘画” 的能力,实现了丰富的空间控制。
社会影响:我们希望 eDiff-I 可以成为数字艺术家的强大工具,用于内容创作并自由表达他们的创意。现代的文本到图像扩散模型,如我们的模型,有潜力通过提供用户生成详细和高质量的图像的能力,而无需专业技能,来使艺术表达民主化。我们设想 eDiff-I 可以使设计师、摄影师和内容创作者受益。
然而,像 eDiff-I 这样的最新文本到图像生成模型需要谨慎使用。例如,它们也可以用于恶意目的的高级照片编辑或创建欺骗性或有害内容。事实上,生成模型和人工智能驱动的图像编辑的最新进展对图像的真实性以及其他方面产生深远的影响。这些挑战可以通过自动验证真实图像、检测篡改或伪造内容的方法来解决。此外,目前大规模文本到图像生成模型的极大、大部分未经筛选的训练数据集包含了模型捕捉到的偏见,这些偏见也反映在生成的数据中。因此,重要的是要意识到底层数据中的这些偏见,并采取措施来抵消它们,例如积极收集更具代表性的数据或使用偏见校正方法。
Balaji Y, Nah S, Huang X, et al. ediffi: Text-to-image diffusion models with an ensemble of expert denoisers[J]. arXiv preprint arXiv:2211.01324, 2022.
对于我们的扩散模型,我们对 Dhariwal 等人提出的 U-net 架构进行了修改,具体如下:
此外,为了在训练和推理期间使超分辨率模型更加高效,我们使用了 Saharia 等人提出的 Efficient U-net 架构的块结构。遵循之前的工作,我们在训练期间使用 256x256 大小的随机块来训练SR1024 模型,并在推理期间应用在 1024x1024 分辨率上。在这个网络中,我们删除了自注意力层,只有交叉注意力层,因为在推理期间计算自注意力是非常昂贵的。我们使用的 U-net 配置分别如下表 2、表 3 和表 4 所示。
如第 4.1 节所述,我们使用基于二叉树的分支策略来训练我们的集成模型。在表 5 和表 6 中,我们列出了我们用于训练模型的确切训练计划。配置中的每个条目都是一个二进制树中包含
的元组。这对应于使用噪声分布
训练输出模型。 以 M^C 表示的模型是中间噪声模型。对于这些模型,带有负号的配置表示除了所示噪声级别之外的所有噪声级别。例如,-(9, 511) 表示除
中包括的一个噪声级别之外的所有噪声级别。也就是从互补分布
中采样的噪声。
我们用于训练所有模型的超参数列在表 7 中。
本文提出 eDiff-I(全称 ensemble diffusion for images),基于文本到图像扩散模型在生成时的独特时间动态,组合了多个专家去噪器(用于不同的噪声级别,基于二叉树策略训练)和编码器(生成高分辨率图像),来提升生成质量。
还设计了一种无需训练的扩展,通过交叉注意力调制方案实现了 "paint-with-words" 功能,使用户能够更好地控制文本到图像输出的空间布局。
专家去噪器。
使用多个编码器进行超分辨率。
用文字作画。基于画布上的文字及涂鸦(从输入提示中选择)控制生成,生成图像的空间布局遵从文字和涂鸦的相对位置关系。流程如图 6 所示。