【AIGC】DreamBooth:微调文本到图像扩散模型用于主题驱动的生成

 前言

DreamBooth可以让我们使用一个很小的数据集微调文生图模型,然后基于文本提示词为我们训练的的主体替换不同的场景。

【AIGC】DreamBooth:微调文本到图像扩散模型用于主题驱动的生成_第1张图片

摘要 

 大型文本转图像模型在人工智能的发展中实现了显著的飞跃,能够从给定的文本提示中高质量和多样化地合成图像。然而,这些模型缺乏模仿给定参考集中受试者外观的能力,也缺乏在不同背景下合成它们的新演绎的能力。在这项工作中,我们提出了一种文本到图像扩散模型的“个性化”新方法。给定一个主题的几张图像作为输入,我们微调一个预训练的文本到图像模型,以便它学会将唯一标识符与该特定主题绑定。一旦主体嵌入到模型的输出域中,唯一标识符就可用于合成在不同场景中情境化主体的新颖逼真图像。通过利用嵌入在模型中的语义先验和新的自生类特定先验保留损失,我们的技术能够在参考图像中未出现的不同场景、姿势、视图和照明条件下合成主体。我们将我们的技术应用于几个以前无懈可击的任务,包括主题重新语境化、文本引导视图合成和艺术渲染,同时保留主题的关键特征。我们还为这个主题驱动的生成新任务提供了新的数据集和评估协议。

介绍

最近开发的大型文本到图像模型显示出前所未有的能力,它能够基于自然语言编写的文本提示对图像进行高质量和多样化的合成[54,61]。这种模型的主要优点之一是从大量图像-标题对中学习到的强语义先验。例如,这样的先验者学会了将“狗”这个词与各种狗的实例联系起来,这些狗可以在图像中以不同的姿势和上下文出现。虽然这些模型的综合能力是前所未有的,但它们缺乏模仿给定参考集中受试者外观的能力,以及在不同背景下合成相同受试者的新演绎。主要原因是其输出域的表现力有限;即使是对对象最详细的文本描述也可能产生具有不同外观的实例。

此外,即使是文本嵌入在共享语言视觉空间中的模型[52]也无法准确地重建给定主体的外观,而只能创建图像内容的变化(图2)。

在这项工作中,我们提出了一种“个性化”文本到图像扩散模型的新方法(使它们适应用户特定的图像生成需求)。我们的目标是扩展模型的语言-视觉词典,以便它将新单词与用户想要生成的特定主题绑定在一起。一旦将新词典嵌入到模型中,它就可以使用这些单词来合成主题的新颖逼真图像,在不同场景中进行上下文化,同时保留其关键识别特征。其效果类似于“神奇的照相亭”——一旦拍摄了几张拍摄对象的图像,照相亭就会在简单直观的文本提示的指导下,在不同的条件和场景中生成拍摄对象的照片(图 1)。

更正式地说,给定一个主体的几张图像(∼35),我们的目标将主体植入模型的输出域中,以便可以使用唯一标识符进行合成。为此,我们提出了一种技术,用稀有的标记标识符来表示给定的主题,并微调一个预先训练的、基于扩散的文本到图像框架。

我们使用输入图像和文本提示来微调文本到图像模型,其中包含一个唯一标识符,后跟主题的类名(例如,“A [V] dog”)。后者使模型能够使用其对主题类的先验知识,而特定于类的实例与唯一标识符绑定。为了防止导致模型将类名(例如“dog”)与特定实例相关联的语言漂移[34,40],我们提出了一个自生的、特定于类的先验保留损失,它利用了嵌入在模型中的类的语义先验,并鼓励它生成与我们的主题相同的类的不同实例。

我们将我们的方法应用于无数基于文本的图像生成应用程序,包括主题的重新语境化、修改其属性、原创艺术演绎等,为以前无懈可击的新任务流铺平了道路。我们通过消融研究强调了我们方法中每个组件的贡献,并与替代基线和相关工作进行了比较。我们还进行了一项用户研究,以评估我们合成图像中的主题和提示保真度,与其他方法相比。

据我们所知,我们的技术是第一个解决主题驱动生成这一新的挑战性问题的技术,允许用户从几个随意捕获的主题图像中,在保持其独特特征的同时,在不同背景下合成该主题的新颖演绎

 几种方法的对比:1.是否能固定主体生成,2.是否可以随意切换场景

【AIGC】DreamBooth:微调文本到图像扩散模型用于主题驱动的生成_第2张图片

 相关工作

图像合成

  •  图像合成技术[13,38,70]旨在将给定的主体克隆到新的背景中,使主体融入场景。
  • 为了考虑新姿势的构图,可以应用3D重建技术[6,8,41,49,68],该技术通常适用于刚性物体并且需要大量视图。一些缺点包括场景集成(照明、阴影、接触)和无法生成新颖的场景。

文本到图像的编辑和合成

  •  使用GANs[9,22,28–30]与CLIP[52]等图像文本表示相结合,年龄操纵取得了重大进展,从而产生了使用文本[2,7,21,43,48,71]的逼真操作。在结构化场景(如人脸编辑)效果好。
  • Crowson等[14]使用VQ-GAN [18]并训练更多样化的数据来缓解这种担忧。
  • 其他工作[4,31]利用了最近的扩散模型[25,25,45,58,60,62–66],这些模型在高度多样化的数据集上实现了最先进的生成质量,通常超过GANs[15]。虽然大多数只需要文本的作品仅限于全局编辑[14,33],但Bar-Tal等[5]提出了一种基于文本的本地化编辑技术,不使用蒙版,显示出令人印象深刻的效果。虽然这些编辑方法中的大多数都允许修改全局属性或对给定图像进行局部编辑,但没有一种方法能够在新的上下文中生成给定主题的新演绎

    还有关于文本到图像合成的工作[14,16,19,24,27,35,36,50,51,55,58,67,74]。最近的大型文本到图像模型,如Imagen [61]、DALL-E2 [54]、Parti [72]、CogView2 [17]和Stable Diffusion [58],展示了前所未有的语义生成。这些模型不提供对生成的图像的精细控制,仅使用文本指导。具体来说,在合成图像中始终如一地保留主体的身份是具有挑战性的,或者是不可能的。

方法

 文生图模型

 扩散模型是概率生成模型,通过对从高斯分布中采样的变量进行逐渐去噪来学习数据分布。具体来说,我们对预训练的文本到图像扩散模型\hat{x_\theta}感兴趣,给定初始噪声图\epsilon ∼ N (0, I) 和条件向量 c = Γ(P),使用文本编码器 Γ 和文本提示 P 生成图像 x_{gen}=\hat{x_\theta}(\epsilon,c)。它们使用平方误差损失进行训练,以对可变噪声图像或潜在代码z_t:=\alpha_tx+\sigma_t\epsilon进行降噪,如下所示:

\mathbb{E}_{x,c,\epsilon,t}[w_t||\bar{x}_\theta(\alpha_tx+\sigma_t\epsilon,c)-x||_2^2] 

 其中 x 是真值图像,c 是条件向量(例如,从文本提示中获得), \alpha_t,\sigma_t,w_t是控制噪声时间表和样本质量的项,是扩散过程时间 t ∼ U([0, 1]) 的函数。补充材料中给出了更详细的描述

个性化文生图模型 

 我们的第一个任务是将主题实例植入模型的输出域中,以便我们可以查询模型以获取主题的各种新颖图像。一个自然的想法是使用受试者的少数样本数据集来微调模型。在少样本场景中微调生成模型(如 GAN)时必须小心,因为它会导致过拟合和模式崩溃,以及不能很好地捕获目标分布。已经研究了避免这些陷阱的技术[37,42,47,56,69],尽管与我们的工作相反,这一系列的工作主要寻求生成类似于目标分布的图像,但没有主体保留的要求。关于这些陷阱,我们观察到一个奇特的发现,即在仔细微调设置的情况下使用方程中的扩散损失,大型文本到图像扩散模型似乎擅长将新信息集成到其域中,而不会忘记对一小组训练图像的先验或过拟合。

【AIGC】DreamBooth:微调文本到图像扩散模型用于主题驱动的生成_第3张图片

 微调。给定一个主题的 ∼ 3−5 个图像,我们微调一个文本到图像扩散模型,将输入图像与包含唯一标识符和主题所属类名称的文本提示配对(例如,“A [V] dog”),同时,我们应用特定于类的先验保留损失,它利用模型对类的语义先验,并鼓励它使用文本提示中的类名(例如,“A dog”)。

 为小样本个性化设计提示.我们的目标是将一个新的(唯一标识符,主题)对“植入”到扩散模型的“字典”中。为了绕过为给定图像集编写详细图像描述的开销,我们选择了一种更简单的方法,并将主题的所有输入图像标记为“a [标识符] [类名词]”,其中 [identifier] 是链接到主题的唯一标识符,[类名词] 是主题的粗略类描述符(例如 cat, 狗、手表等)。类描述符可以由用户提供,也可以使用分类器获取。我们在句子中使用类描述符,以便将类的先验与我们独特的主题联系起来,并发现使用错误的类描述符或没有类描述符会增加训练时间和语言漂移,同时降低性能。从本质上讲,我们试图利用模型对特定类的先验,并将其与主体唯一标识符的嵌入纠缠在一起,这样我们就可以在不同上下文中利用视觉效果生成主体的新姿势和场景。

稀有token标识符.,因为模型必须学会将它们从它们的原始含义中解脱出来,并重新纠缠它们以引用我们的主题。这促使人们需要在语言模型和扩散模型中都具有弱先验的标识符。一种危险的方法是选择英语中的随机字符并将它们连接起来以生成一个罕见的标识符(例如“xxy5syt00”)。实际上,分词器可能会单独标记每个字母,而扩散模型的先验对于这些字母来说很强。我们经常发现,这些标记与使用常见的英语单词一样,具有相似的弱点。我们的方法是在词汇表中找到稀有标记,然后将这些标记反转到文本空间中,以最小化标识符具有强先验的可能性。我们在词汇表中执行稀有标记查找,并获取一系列稀有标记标识符 f (ˆV),其中 f 是标记器;将字符序列映射到标记的函数,ˆV 是从标记 f (ˆV) 衍生的解码文本。序列可以是可变长度的 k,并且发现 k = {1, ..., 3} 的相对较短的序列效果很好。然后,通过使用 f (ˆV) 上的去标记器反转词汇表,我们得到定义我们唯一标识符 ˆV 的字符序列。对于 Imagen,我们发现对对应于 3 个或更少 Unicode 字符(不带空格)的标记进行统一随机抽样,并使用 T5-XXL 标记器范围 {5000, ..., 10000} 中的标记效果很好。

特定类别的先验保存损失

根据我们的经验,通过微调模型的所有层,可以实现最大主体保真度的最佳结果。这包括以文本嵌入为条件的微调层,这会导致语言漂移问题。语言漂移是语言模型中观察到的一个问题[34,40],其中在大型文本语料库上预先训练的模型,然后针对特定任务进行微调,逐渐失去语言的句法和语义知识。据我们所知,我们是第一个发现影响扩散模型的类似现象的人,其中建模慢慢忘记了如何生成与目标对象相同类别的对象。

另一个问题输出多样性降低的可能性。文本到图像扩散模型自然具有大量的输出多样性。在对一小群图像进行微调时,我们希望能够以新颖的视角、姿势和表达方式生成主题。然而,存在减少拍摄对象输出姿势和视图的可变性(例如捕捉到少数镜头视图)的风险。我们观察到这种情况经常发生,尤其是当模型训练时间过长时。

为了缓解上述两个问题,我们提出了一种自生的类特定先验保留损失,以鼓励多样性并对抗语言漂移。从本质上讲,我们的方法用自己生成的样本来监督模型,为了让它在少数样本微调开始后保留先验。这允许它生成类先前的各种图像,并保留有关类先前的知识,以便与有关主题实例的知识结合使用。具体来说,我们通过使用冻结的预训练模型在具有随机初始噪声z_{t_1}\sim{N(0,I)}和条件向量c_{pr}:=\tau(f(上采用ancestral采样器生成数据x_{pr}=\hat{x}(z_{t_1},c_{pr})

这个损失表示为: 

\mathbb{E}_{x,c,\epsilon,\epsilon',t}[w_t||\hat{x}_\theta(\alpha_tx+\sigma_t\epsilon,c)-x||_2^2]+\lambda w_{t'}||\hat{x}_{\theta}(\alpha_{t'}x_{pr}+\sigma_{t'}\epsilon',c_{pr})-x_{pr}||_2^2

 其中,第二项是先验保留项,它使用自己生成的图像监督模型,λ 控制该项的相对权重。图 3 说明了使用类生成的样本和先验保存损失对模型进行微调。尽管很简单,但我们发现这种先验保存损失在鼓励输出多样性和克服语言漂移方面是有效的。我们还发现,我们可以训练模型进行更多迭代,而不会冒过度拟合的风险。我们发现,Imagen [61] 的 λ = 1 和学习率为 10 的 ∼ 1000 次迭代和稳定扩散 [59] 的 5 × 10 次迭代,并且主题数据集大小为 3-5 张图像就足以获得良好的结果。在此过程中,生成了 ∼ 1000 个“a [类名词]”样本 - 但可以使用的样本更少。Imagen 的 TPUv4 训练过程大约需要 5 分钟,而 NVIDIA A100 的 Stable Diffusion 训练过程大约需要 5 分钟

不足之处 

第一个与无法准确生成提示的上下文有关。可能的原因是这些上下文的弱先验,或者由于训练集中共现的可能性较低而难以同时生成主题和指定概念 。

第二种是情境-外观纠缠,其中主体的外观会因提示的情境而发生变化,如图 9 所示,背包的颜色变化。第三,我们还观察到,当提示与看到主体的原始设置相似时,会发生对真实图像的过度拟合。

其他限制是某些科目比其他科目更容易学习(例如狗和猫)。有时,对于较为罕见的主题,模型无法支持尽可能多的主题变体。最后,主体的保真度也存在差异,一些生成的图像可能包含幻觉主体特征,这取决于先前模型的强度和语义修改的复杂性。

结论

我们提出了一种使用主题的几张图像和文本提示的指导来合成主题的新颖演绎的方法。我们的核心思想通过将主题绑定到唯一标识符,将给定的主题实例嵌入到文本到图像扩散模型的输出域中。值得注意的是,这种微调过程只能在给定 3-5 张主题图像的情况下工作,这使得该技术特别容易获得。我们在生成的逼真场景中展示了动物和物体的各种应用,在大多数情况下与真实图像无法区分。

参考链接

 https://arxiv.org/pdf/2208.12242.pdf

你可能感兴趣的:(pytorch,深度学习,AIGC,DreamBooth)