(2023,信息流延迟,网络通信,diffusion)ControlNet-XS:设计高效且有效的架构来控制文本到图像的扩散模型

2023-12-13 14:35:43

ControlNet-XS: Designing an Efficient and Effective Architecture for Controlling Text-to-Image Diffusion Models

GZ号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料)

目录

0. 摘要

1. 简介

2. 相关工作

2.1. 图像生成和翻译?

2.2. 控制预训练网络

3. 方法

3.1. Stable Diffusion

3.2. ControlNet

3.3. ControlNet-XS

3.4. 训练 ControlNet-XS?

4. 实验?

4.1. 评估指标

4.2. 消融研究:架构

4.3. 敏感性分析

4.4. 消融研究:网络规模

4.5. 定量比较

4.6. 大型控制模型引起的偏差

4.7. 使用Stable Diffusion XL进行评估

5. 限制与社会影响

6. 结论

附录

A. 架构

S. 总结

S.1.?主要贡献

S.2. 架构和方法


0. 摘要

图像合成领域在过去几年取得了巨大的进展。除了使用文本提示来定义期望的输出图像之外,一个直观的方法是通过图像的形式额外使用空间引导,例如深度图。为此,最近一种非常流行的方法是使用一个控制网络,例如 ControlNet [72],与一个预训练的图像生成模型结合使用,例如 Stable Diffusion [51]。在评估现有控制网络的设计时,我们观察到它们都面临着信息在生成和控制过程之间流动的延迟问题。这反过来意味着控制网络必须具有生成能力。在这项工作中,我们提出了一种新的控制架构,称为 ControlNet-XS,它不受这个问题的困扰,因此可以专注于学习控制的任务。与 ControlNet 相比,我们的模型只需要部分参数,因此在推理和训练时大约快两倍。此外,生成的图像质量更高,控制的保真度更高。所有代码和预训练模型将公开提供。

1. 简介

利用生成式人工智能合成新图像是一个在社交媒体、新闻、研究和工业中受到广泛关注的话题。它始于 2014 年,通过使用生成对抗网络(GAN)[14],能够合成给定类别的小型图像 [43],例如名人的脸部。如今,我们有商业和非商业产品,例如 Midjourney [1] 和 Stable Diffusion XL [40],它们能够生成几乎任意内容的大尺寸图像(最大可达 1024×1024),例如从专业照片到漫画艺术。这可以被视为一项真正具有颠覆性的技术,其发展仍然远未完成。一个正在进行的发展是创建控制工具,用户可以通过这些工具引导图像生成过程以达到他们期望的输出。一个常见的控制机制是文本提示。另一种选择是使用引导图像,它以抽象的形式定义所需的输出图像,例如草图或深度图。这种控制机制被称为图像到图像的翻译 [21, 34, 38, 55, 65, 66, 75]。控制机制也可以通过将图像引导添加到文本到图像模型 [20, 33, 72, 74] 中来进行组合。我们的工作属于这一类方法。通常有两种不同的概念选择来在文本到图像模型中实现图像引导。

一方面,有一种通过手头的新控制机制微调生成过程的方法,例如 [65]。这些方法使用注释的引导图像作为额外输入,以微调预训练网络。然而,这种端到端学习方法具有挑战性,因为在生成过程的原始训练数据中通常存在很大的不平衡,例如训练 Stable Diffusion [51] 所需的约 30 亿张图像,与 [72] 中已知控制的 100 万张图像形成对比。这种不平衡可能导致 “灾难性遗忘” [32] 等效应,即在微调后生成模型的已知属性消失。此外,微调通常需要访问大型计算集群。

另一方面,还有一些方法锁定生成网络的参数,然后训练一个单独的控制网络。控制网络和生成网络的输出在内部相加,以实现控制。这种设计选择目前最受欢迎 [20, 33, 72, 74],据我们所知,ControlNet [72] 定义了当前的最先进技术。他们观察到以下训练策略效果最好。控制网络首先复制生成网络的一部分。从控制网络到生成网络的连接通过所谓的零卷积进行初始化,以确保在训练开始时生成网络的生成能力不会减弱。在训练中,生成模型被锁定,控制模型逐渐从纯图像生成过程转变为考虑给定控制的过程。他们表明这种策略对于成功至关重要,因为随机初始化的小型ControlNet 性能较差。相比之下,我们设法通过质疑架构中一个我们认为在所有先前作品中都存在的重要设计选择来实现这一点。

先前作品的问题在于从生成过程到控制过程,传递信息存在显著的延迟,反之亦然。我们展示通过消除这一延迟,我们能够使用比 ControlNet [72] 更小的控制网络,甚至在图像质量和更高保真度的控制方面表现更好。这种改进的原因在于通过解决这一延迟,网络可以专注于给定的任务:学习控制生成过程。?

为了更好地理解这个问题,让我们考虑一个类比。假设生成过程是一辆自动驾驶汽车。这辆车是一个复杂的系统,肯定有大量的参数和许多不同的输入来源。假设控制输入是它必须导航到的特定地址。控制模型是车辆内的卫星导航系统。导航系统比车辆本身简单得多。此外,它只需要少量信息,即车辆的当前位置,并通过简单的命令与车辆通信,比如 “在下一个路口左转”。 这两个系统顺利协同运作的一个关键要求是在两个方向上信息流动没有延迟。例如,如果导航系统在了解车辆位置时有十秒的延迟,那么车辆已经经过了本应该左转的路口!设计一个智能的导航系统,接收到已经过时十秒的信息是可能的,但更具挑战性。导航系统必须猜测车辆在接下来的十秒内会驶向何处,以便提供对车辆在未来某个时间点有用的命令。这正是 ControlNet [72] 中发生的事情。由于两个网络之间信息流动的延迟,控制网络需要生成能力来预测生成网络在接收到控制信号之前可能会做什么。我们推测这是为什么从头开始训练的小型 ControlNet 表现不佳的原因 [72]。在我们的工作中,我们能够使用从头开始训练的小型控制网络,因为我们消除了信息流动的延迟。

总的来说,我们的贡献如下:(1) 一种用于控制预训练的文本到图像扩散模型的高效、小型架构,不受信息流动延迟问题的困扰;(2) 在图像质量(FID 分数)和更高保真度的控制方面相较于最先进技术的卓越结果;(3) 通过一个仅有 20M 参数的控制网络来控制具有 26 亿参数的生产级 Stable Diffusion XL 模型 [40];(4) 所有代码和预训练模型的发布。?

2. 相关工作

2.1. 图像生成和翻译?

生成对抗网络(GANs)[14] 可能是用于无条件 [24–26]、类别条件 [58] 和文本条件 [22, 49, 50, 57, 63, 67, 71, 76] 图像生成的最成熟的生成模型之一。虽然在特定语义类别 [23, 54, 64] 方面取得了最先进的结果,但将 GANs 推广到合成任意内容的图像仍然是一个活跃的研究领域。尽管 GigaGAN [22] 展示了最先进的性能,但通用的文本到图像合成仍然主要由像 DALL-E [46]、Parti [70]、CogView [9]、Make-A-Scene [11] 以及特定的扩散模型等自回归网络主导。自引入以来,图像扩散模型 [60] 迅速成为最佳性能的模型家族之一 [8, 17, 18, 27, 37, 61]。扩散模型学习将一个简单的高维分布(如高斯分布)中的一个点转化为一个复杂的分布,例如所有图像的空间。这个转化通过迭代地应用一个 U-Net 来逐渐去除图像中的高斯噪声完成。这个过程理论上允许对任意复杂的数据分布进行建模 [60]。

条件图像合成模型。为了达到期望的输出,一个流行的选择是使用文本提示作为指导。通用图像合成模型以由预训练文本编码器(如 BERT [7]、T5 [44] 或 CLIP [42] 提供的文本嵌入为条件进行合成。这种组合已经取得了复杂的文本到图像生成任务的令人印象深刻的结果,由 Stable Diffusion [51]、DALL-E2 [45]、DALL-E3 [3]、Stable Diffusion XL [40]、Imagen [56] 以及其他许多模型 [36, 68] 实现。然而,文本提示在图像内部提供的空间引导很少。为了解决这个问题,一些工作提出通过启用向图像插入特定实例的方式来个性化生成 [12, 53, 69]。另一方面,还有一种方法是仅在图像内的给定掩蔽上进行操作,比如修补 [2, 13]。

图像到图像的翻译。许多方法使用图像来调节生成网络,而不是(或不止是)文本提示。这些图像以抽象的形式描述所需的场景,如语义分割、深度图或草图。实现这个想法的一种方法是从头开始训练完整的生成模型,带有额外的图像调节 [10, 55, 68]。或者,可以进行预训练模型的大量微调 [65]。这些方法的缺点是需要大量的计算资源,并且不容易添加新类型的图像调节。由于这些限制,控制预训练网络已经成为一种流行的设计选择。

2.2. 控制预训练网络

使用大规模、预训练的模型,将基础模型保持不变以保持其生成能力已经变得流行。单独训练一个控制网络来控制基础模型。通常,控制网络的内部输出简单地添加到基础模型的内部输出中。一个例子是自然语言处理中的一种流行技术,称为“低秩适应”(Low-Rank-Adaptation,LoRA)[19]。控制网络的权重矩阵是两个低秩矩阵的乘积,这是一种简单的方式来管理控制网络的参数数量。在这之后,“正交微调” (orthogonal fine-tuning)利用可学习的权重转换来适应新概念[41]。另一个用于控制的替代概念是适配器(adapter),这些适配器插入新的可训练模块(例如神经块)到预训练的生成网络中。然而,与 LoRA 相比,推理时间会增加。适配器在自然语言处理中很受欢迎 [30,39,62],并已经转移到图像生成模型 [48,52]、视觉 transformers(ViT)[28],并且也用于以 ViT 适配器的形式进行密集预测 [6]。

图像控制模型。最近,将图像引导添加到文本到图像生成模型中的想法变得流行 [20, 33, 72, 74]。T2I-Adapter [33] 训练了一个额外的控制编码器,将一个中间表示添加到 Stable Diffusion 的锁定的预训练编码器的中间特征图中。类似地,ControlNet [72] 复制了 Stable Diffusion 的整个编码器网络作为控制网络,并使用额外的图像输入进行微调。然而,这两种方法 [33, 72],以及相关工作[20, 74],都共享一个共同的问题。控制网络从预训练生成网络(例如 Stable Diffusion)接收过时的信息,因此可能难以向生成网络发送适当的控制信号。我们解决了这个问题,因此可以使用更高效和有效的控制网络。?

3. 方法

3.1. Stable Diffusion

Stable Diffusion [51] 是基于 U-Net 的扩散模型,用于文本到图像的生成。作为一种有条件的扩散模型,它从单独的文本编码器接收文本嵌入,以及一个学到的时间嵌入。输出图像通过从噪音中迭代运行 U-Net 来进行重建,通常有 50 个时间步。U-Net 生成器由一系列涉及文本调节的神经块组成,包括交叉注意机制。图像信号由编码器在四个分辨率递减的层中和每层三个神经块中进行处理。通过解码器的镜像结构和一个中间块,U-Net 总共有 25 个神经块。每个神经块的输出可以通过控制网络单独影响。

3.2. ControlNet

ControlNet [72] 从一个预训练的生成模型开始,例如 Stable Diffusion [51] 的 U-Net。控制模型复制了 U-Net 的编码器,因此具有能够独立生成图像的表示。控制编码器接收控制信息,例如深度图,以及中间的噪音生成图像。它输出被馈送到生成过程的不同解码器块中的控制信号(见图 3a)。从控制模型到生成模型的连接由所谓的零卷积初始化,这使得受控 U-Net 在训练开始时不减弱其生成能力。在训练中,编码器可以学会向生成过程提供有用的控制信号。训练目标是 Stable Diffusion 的目标,即图像去噪(见 Sec. 3.4)。虽然这些听起来像是合理的设计选择,但乍一看,它存在信息流延迟的严重问题,如图 2a 所示。由于信息流的延迟,控制模型同时有两个任务:a)必须处理输入的控制信息以使其对生成过程有用;b)必须预测生成过程的编码器将要做什么。在我们的控制网络设计中,我们消除了信息流的延迟。通过这种方式,控制模型可以专注于第一个任务。

3.3. ControlNet-XS

延迟信息流的见解在 ControlNet [72] 中提到,我们设计了一个解决这个问题的架构。思路是让生成模型和控制模型的两个编码器直接进行通信。图 2b 展示了我们设计中信息流的改进。我们看到两个过程中的编码器共享相同的信息,通过颜色编码来表示。有关我们架构的详细说明,请参阅附录A,而较简略的版本显示在图 3c(类型 B)中。两个编码器之间的连接在进行零卷积处理后,才连接到另一个编码器中相应神经块的输入。在训练期间,这具有与 ControlNet 相同的优势,即在训练开始时不减弱生成过程的生成能力。?

我们的新设计允许大幅减小控制网络的大小。即使是具有仅 1.7M 参数的模型,其性能与ControlNet [72] 相当,而后者有 361M 参数。请注意,在 ControlNet [72] 中,评估了一个具有较少参数的版本,称为 ControlNet-light,但发现性能较差。我们将我们高效且有效的架构称为ControlNet-XS。ControlNet 和 ControlNet-XS 之间的第二个主要区别是我们不需要复制生成 U-Net 的预训练编码器。我们只使用编码器的一般结构,带有随机权重。这是因为我们的 ControlNet-XS 不需要像 ControlNet 一样具有生成力,因为信息流没有延迟。?

3.4. 训练 ControlNet-XS?

用于训练的方案与原始的 ControlNet [72] 相同,我们保持生成模型的所有权重冻结,即仅更新ControlNet-XS 的权重。由于我们不依赖于 ControlNet-XS 能够逼近大规模生成模型,我们不需要从预训练权重开始初始化。相反,我们将所有参数都随机初始化。我们训练两个版本的 ControlNet-XS,一个具有边缘控制,另一个具有深度控制。作为训练数据,我们使用 Laion-Aesthetics 数据集 [59] 中的一百万张图像。与 ControlNet [72] 一样,我们要么提取 canny 边缘,要么使用 MiDaS [47] 预测相应的深度图。标准的扩散模型目标保持不变:?

目标图像 z_0、噪声图像 z_t、时间步 t、文本条件 c_t 和控制条件 c_c。?

4. 实验?

我们从不同的网络大小、架构配置角度检验我们的 ControlNet-XS 模型,并将其与最先进的方法进行比较。为了更好地理解各种架构设计在性能上的差异,我们进行了敏感性分析。此外,我们研究了大型控制模型是否会对生成模型产生偏差。最后,为了展示我们方法的多功能性,我们将其应用于一个更大的生成模型,即 Stable Diffusion XL。为了与其他方法进行比较,我们在所有剩余的实验中使用 Stable Diffusion 版本 1.5 [51] 作为生成模型。所有评估仅针对深度控制,并参考附录 C 以获取与边缘控制相关的结果。

4.1. 评估指标

我们通过评估 ControlNet-XS 及其竞争对手的性能来判断控制的保真度和生成图像的质量,以确保生成的质量不会降低。对于质量评估,我们使用 CLIP-Score [15] 来近似给定文本提示与图像之间的相似性,以及 CLIP-Aesthetics 分数 [59] 来近似图像的审美外观,即人类感知的图像美观度。控制的保真度通过隐式评估 Learned Perceptual Image Patch Similarity (LPIPS) [73] 以及(显式)两幅图像之间的距离度量(深度控制的 MSE,称为?MSE-depth)来进行,边缘控制使用 Hausdorff 距离,表示为 MSE-HDD。这里,第一幅图像是参考控制图像,例如深度图,而第二幅图像是从生成图像中提取的深度图。提取算法与用于生成训练数据的算法相同,即深度提取使用 MiDaS [47]。请注意,为了提高可读性,MSE-depth 值已使用 10^3 缩放。我们还评估了 Fréchet Inception Distance (FID) [16],这是一种比较经过预训练网络应用于生成和原始图像的中间特征分布的度量。对于此以及所有其他度量,我们使用 COCO 验证数据集 [29],其中包含 5000 张图像。FID 分数同时衡量了质量和控制。请注意,它测量了控制的保真度,因为控制信号来自 COCO 验证集的目标图像,因此生成图像的特征预计应与目标图像的特征相似。?

4.2. 消融研究:架构

我们对 ControlNet-XS 的三种架构进行消融研究,见图 3b-d。架构类型 A 通过使信息从生成过程的编码器流向控制过程的编码器来消除延迟信息流问题。对于类型 B,我们还使信息沿着另一个方向流动,即从控制网络到生成网络。这确保了生成编码器不会通过即时调整特征图来执行 “无控制的处理”。最后,类型 C 评估了生成 U-Net 的完全镜像,因此更具有定制控制生成解码器的优势。表 1 显示了三种架构类型与原始 ControlNet 的定量比较。请注意,我们的新 ControlNet-XS 架构比 ControlNet(361M)具有更少的参数(53M、55M 和 117M)。对于两个指标,质量(FID)和控制(MSE-depth),所有 ControlNet-XS 架构明显优于 ControlNet。对于其他指标,没有明显的趋势。我们将这归因于信息流的改善。此外,对于所有度量,类型 B 的性能均优于类型 A。类型 B和 C 的性能相当。然而,类型 C 的缺点是有效地使模型大小加倍。我们在敏感性分析中解释了类型 C 在定量改进上的缺乏(第 4.3 节)。我们选择类型 B 作为 ControlNet-XS 的最终架构,并在所有剩余的实验中使用它。

4.3. 敏感性分析

在以下分析中,我们想要了解生成 U-Net 的每个单独块受到控制网络的影响程度。该研究显示在图 4 中。我们看到某些块受到的影响较大。特别是,编码器中的块受到的影响明显大于解码器中的块。我们推测这是为什么我们的类型 C 架构(图 3d)具有镜像生成解码器,但性能没有明显改善的原因(表1)。

4.4. 消融研究:网络规模

我们评估改变 ControlNet-XS 的参数大小是否会影响性能,如果是的话,我们可以减小多少大小,直到注意到明显的质量和控制下降。表 2 显示了 ControlNet-XS 分别具有 491M、55M、11.7M 和1.7M 参数的结果,以及没有任何控制的 Stable Diffusion 基线。我们提供了 Stable Diffusion 的MSE-depth 分数和 LPIPS 分数,它作为一个上限。请注意,该上限并不是很大,因为文本提示本身已经可以生成带有相关深度图的图像。然而,正如预期的那样,强制控制确实会大大降低这些分数。当改变 ControlNet-XS 的大小时,对所有分数大致看到相同的趋势:性能从 491M 略微增加到55M,然后在较小的模型尺寸(1.7M)之后下降。因此,我们选择 55M 模型作为我们的最佳模型,并在图 5 中展示定性结果。就控制而言,这意味着较小的模型具有降低的控制保真度。我们在图 6 中展示了这种效果的定性结果。较小模型尺寸的性能下降可以解释如下。参数较少的控制模型更类似于 “无控制” 的生成模型,即 Stable Diffusion,其总体性能较差。请注意,CLIP-Aesthetic分数对于 Stable Diffusion 最高,因此我们的 1.7M 模型对于该分数表现最好。请注意,参数更多的控制模型更强大,因此可以显着影响整体性能。在第 4.6 节中,我们分析了大型控制模型引起的偏差。

4.5. 定量比较

我们在表 2 中将我们的 ControlNet-XS 与 ControlNet [72] 和 T2I-Adapter [33] 两种最先进的模型进行了比较。我们的 55M 参数的最佳模型在每个度量标准上均优于两个竞争对手。在质量度量方面(CLIP-Score、CLIP-Aesthetics),我们略微提高,而在 MSE-depth 和 FID 分数方面,我们明显优于它们。请注意,即使是具有仅 1.7M 参数的 ControlNet-XS 的所有模型尺寸,性能都要么相当,要么优于竞争方法。我们推测这一改进源于解决延迟信息流问题。表 3 比较了 ControlNet-XS和 ControlNet 的推断和训练时间。对于两者,我们提高了大约 2 倍的速度。

4.6. 大型控制模型引起的偏差

在接下来的分析中,我们分析了两种情况,即在将生成模型与大型控制模型结合时,生成模型会出现偏差。我们已经分析过 ControlNet [72] 需要具有足够生成能力的大尺寸,以缓解延迟信息流问题。在图?7 中,我们分析了 ControlNet 的一种称为深度控制语义偏差的偏差。重要的是要注意,控制的强度无法减小控制模型引起的偏差。第二个偏差显示了现有控制模型的局限性,并在表 4 中进行了讨论。我们看到,用于控制模型的较低质量的训练数据导致生成图像的质量较低。

4.7. 使用Stable Diffusion XL进行评估

我们使用 Stable Diffusion XL [40] 作为生成模型评估 ControlNet-XS 模型。Stable Diffusion XL 具有约 2.6B 参数,因此是三倍以上的 ControlNet-XS 模型大小,并使用 T2I-Adapter [33] 进行了模型大小和定量结果的讨论(表 5)。请注意,没有适用于 Stable Diffusion XL 的官方版本 ControlNet。定性结果显示在图 1 中。

5. 限制与社会影响

我们认为这项工作以及之前的工作的主要局限在于控制网络可能会给生成模型的性能增加不必要的偏见(第 4.6 节)。通过大幅减小控制网络的大小,我们减轻了这个问题。然而,理想情况下,控制网络只能控制输出而不引入任何不必要的偏见。为了实现这一点,更好地理解生成模型可能是有帮助的。我们的敏感性分析(第 4.3 节)是朝这个方向迈出的第一步。

正如在引言中所述,合成图像生成是一项颠覆性的技术。因此,对于该技术的滥用,如生成深度伪造图像,进行研究非常重要。这方面的研究例子包括深度伪造图像检测 [31,35] 或将水印嵌入图像[4]。

6. 结论

我们提出了 ControlNet-XS,这是一个用于控制预训练的文本到图像扩散模型的网络。大量实验证实了与现有技术(如 ControlNet [72])相比的卓越性能,尽管 ControlNet-XS 的参数数量明显较少。未来的研究有许多方向可以探索。一个方向是更好地理解生成模型的机制,无论是从数学的角度还是通过进行实证测试。我们认为这对于将来为用户提供更好的、面向特定应用的控制工具至关重要。?

附录

A. 架构

在图 8 中,我们展示了生成模型 Stable Diffusion(左)和 ControlNet-XS(右)之间的交互。 生成编码器和控制编码器之间每个块的交互如图 9 所示。

S. 总结

S.1.?主要贡献

当前流行的图像合成是使用一个控制网络(例如 ControlNet)与一个预训练的图像生成模型(例如 Stable Diffusion)结合使用。但它面临着信息在生成和控制过程之间流动的延迟问题。这意味着控制网络需要预测(生成)未来并给出相应控制信号。未解决这个问题,本文提出了一种新的控制架构,称为 ControlNet-XS。与 ControlNet 相比,因为不需要具有预测能力,所以只需要部分参数,因此在推理和训练时大约快两倍。此外,生成的图像质量更高,控制的保真度更高。

S.2. 架构和方法

ControlNet-XS 架构如图 3 所示。解决延迟信息流的思路是让生成模型和控制模型直接进行通信。由于类型 B 具有最好的整体性能,因此作为 ControlNet-XS 的最终架构。

文章来源:https://blog.csdn.net/qq_44681809/article/details/134956566
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。