论文阅读-在Text - To - image扩散模型中加入条件控制
在Text - To - image扩散模型中加入条件控制

摘要
我们提出了一种神经网络架构ControlNets网络,用于将空间条件控制添加到大型预训练的文本到图像扩散模型中。控制网络锁定了可生产的大型扩散模型,并将其深度和鲁棒的编码层与数十亿张图像预训练作为强大的骨干,以学习一组多样化的条件控制。该神经架构与”零卷积” (零初始化卷积层)连接,从零开始逐步增加参数,并确保没有有害噪声影响微调。我们测试了各种条件控制,例如,边缘,深度,分割,人体姿势等,使用稳定扩散,使用单个或多个条件,有或没有提示。我们证明了ControlNets的训练在小数据集( 1m )下是鲁棒的。广泛的结果表明,ControlNets网络可以促进更广泛的应用来控制图像扩散模型。
介绍
我们很多人都曾经历过视觉灵感的闪光,这些闪光是我们希望在独特的图像中捕获的。随着文本到图像扩散模型[ 54、61、71 ]的出现,我们现在可以通过在文本提示中输入文字来创建视觉上令人惊叹的图像。然而,文本到图像的模型仅限于它们对图像的空间组成提供控制;精确地表达复杂的布局、姿势、形状和形式,仅通过文本提示是困难的。生成与我们的心理意象准确匹配的图像往往需要编辑提示、检查结果图像和重新编辑提示的无数次试错循环。
我们是否可以通过让用户提供额外的图像直接指定他们想要的图像组成来实现更细粒度的空间控制?在计算机视觉和机器学习中,这些额外的图像(例如,边缘图、人体姿态骨架、分割图、深度、法线等。)往往被当作图像生成过程中的条件。图像到图像的转换模型[ 34、97 ]学习从条件图像到目标图像的映射。研究界也采取了步骤来控制文本到图像模型,包括空间掩码[ 6、20],图像编辑指令[ 10 ],通过微调[ 21、74 ]实现个性化等。虽然(例如,生成图像变化,修复图像)的一些问题可以通过约束去噪扩散过程或编辑注意力层激活等免训练技术来解决,但更广泛的问题,如深度到图像、姿态到图像等,需要端到端的学习和数据驱动的解决方案。
以端到端的方式学习大型文本到图像扩散模型的条件控制是具有挑战性的。特定条件下的训练数据量可能明显小于一般文本到图像训练所能获得的数据量。例如,各种特定问题的最大数据集(例如,物体形状/法线,人体姿态提取等。)通常大小约为100K,比用于训练稳定扩散的LAION - 5B [ 78 ]数据集小5万倍[ 81 ]。在有限数据下直接微调或继续训练一个大的预训练模型,可能会造成过拟合和灾难性遗忘[ 31、74 ]。研究人员表明,这种遗忘可以通过限制可训练参数[ 14、25、31、91 ]的数量或秩来缓解。对于我们的问题,设计更深或更定制的神经架构对于处理具有复杂形状和多样化高级语义的现场条件化图像可能是必要的。
本文提出了一种端到端的神经网络架构ControlNets网络,它为大型预训练的文本到图像扩散模型(在我们的实现中稳定的扩散)学习条件控制。ControlNets通过锁定其参数来保持大型模型的质量和能力,并对其编码层进行可训练的复制。该架构将大型预训练模型视为学习多样化条件控制的强大支柱。可训练的拷贝和原始的、锁定的模型通过零卷积层连接,权重初始化为零,以便它们在训练过程中逐步增长。该架构保证了在训练之初不向大扩散模型的深层特征中添加有害噪声,保护了可训练副本中的大规模预训练骨干不受此类噪声的破坏。
我们的实验表明,ControlNets网络可以控制各种条件输入下的稳定扩散,包括Canny边缘、霍夫线、用户涂鸦、人体关键点、分割图、形状法线、深度等。(图1 )。我们使用单个条件化图像,在有或没有文本提示的情况下测试了我们的方法,并展示了我们的方法如何支持多个条件的组合。此外,我们报告了ControlNets网络的训练在不同大小的数据集上具有鲁棒性和可扩展性,并且对于一些任务,如深度图像调节,在单个NVIDIA RTX 3090Ti GPU上训练controlnet网络可以取得与在大型计算集群上训练的工业模型相媲美的结果。最后,我们进行了消融性研究来调查我们模型的每个组成部分的贡献,并将我们的模型与几个具有用户研究的强条件图像生成基线进行了比较。
总之,( 1 )我们提出了ControlNet网络,一种神经网络架构,可以通过有效的微调将空间局部化的输入条件添加到预训练的文本到图像扩散模型中。( 2 )我们提出了预训练的ControlNets网络来控制稳定扩散,条件是Canny边缘,霍夫线,用户涂鸦,人体关键点,分割图,形状法线,深度和卡通线图。( 3 )我们通过与几种备选架构进行对比的消融实验来验证该方法,并在不同的任务中对以前的几个基线进行了用户研究。
相关工作
神经网络的微调
对神经网络进行微调的一种方法是直接利用额外的训练数据继续训练。但是这种方法会导致过拟合、模式崩溃和灾难性遗忘。广泛的研究集中于开发避免此类问题的微调策略。
超网络是一种起源于自然语言处理( NLP )社区的方法[ 25 ],其目的是训练一个小型的循环神经网络来影响一个较大的神经网络的权重。它已被应用于生成对抗网络( GANs ) [ 4、18]的图像生成。异教徒等人[ 26 ]和Kurumuz [ 43 ]实现了超网络for Stable Diffusion [ 71 ]来改变其输出图像的艺术风格。
适配器方法被广泛用于NLP中,通过将新的模块层嵌入到[ 30、83 ]中,将预训练的Transformer模型定制到其他任务中。在计算机视觉中,适配器用于增量学习[ 73 ]和域适应[ 69 ]。这种技术通常与CLIP [ 65 ]一起使用,用于将预训练的骨干模型迁移到不同的任务[ 23、65、84、93]中。最近,适配器在视觉转换器[ 49、50 ]和ViT - Adapter中取得了成功的结果[ 14 ]。在与我们同时的工作中,T2IAdapter [ 56 ]适应了稳定扩散对外部条件的要求。
加性学习通过冻结原始模型权重和使用学习到的权重掩码[ 51、73 ]、剪枝[ 52 ]或硬注意力[ 79 ]添加少量新参数来避免遗忘。Side-Tuning [ 91 ]使用边分支模型来学习额外的功能,通过线性混合冻结模型和添加网络的输出,并使用预定义的混合权重调度。
**低阶适应( Lora )**通过低秩矩阵学习参数的偏移量,防止灾难性遗忘[ 31 ],基于观察到许多过度参数化的模型驻留在低内在维度子空间[ 2、47 ]中。
零初始化层被ControlNet网络使用在连接网络块。神经网络的研究广泛讨论了网络权值[ 36、37、44、45、46、75、82、94]的初始化和操作。例如,高斯初始化权重可以比用零初始化风险更小[ 1 ]。最近,Nichol等[ 58 ]讨论了如何对扩散模型中卷积层的初始权重进行缩放以改进训练,他们实现的”零模块”是将权重缩放为零的极端情况。稳定性的模型卡[ 82 ]也提到了在神经层中使用零权重。在Pro GAN [ 36 ]、Style GAN [ 37 ]和Noise2 Noise [ 46 ]中也讨论了对初始卷积权重的操作。