Stable Diffusion的新技术介绍—embedding

AI教程 2024-04-28

嵌入(Embedding)是Stable Diffusion中用于控制图像样式的关键技术,其实现方式被称为文本反转。在这篇文章中,我们将深入探讨嵌入的定义、如何找到它们以及它们的使用方法。

image.png

什么是嵌入(Embedding)?

嵌入,作为一种在机器学习和人工智能中广泛应用的技术,特别在图像生成和风格迁移中发挥着重要作用。通过嵌入技术,我们能够在不直接修改预训练模型的情况下,为模型引入新的样式或对象。这种灵活性使得模型能够更好地适应不同的需求和场景,提高了其创造力和适应性。

文本反转的工作原理

文本反转的核心在于将特定的文本描述与图像特征建立关联。这通常涉及以下步骤:首先,收集具有相似风格或包含特定对象的样本图像;然后,为每个样本图像创建描述其关键特征或风格的文本;接着,使用这些文本和图像来训练嵌入模型,使其能够将文本描述映射到图像特征;最后,将训练好的嵌入模型应用于新的图像生成任务中。

嵌入的优势

嵌入技术的优势在于其高效性和灵活性。通过文本反转,我们可以在保持原有模型结构不变的前提下,快速引入新的风格或对象。这使得设计师和艺术家能够迅速尝试不同的风格和概念,而无需从头开始训练模型。此外,即使在样本数量有限的情况下,嵌入技术也能有效地学习并模仿新的样式或特征。

这种方法特别适用于以下场景:

快速原型设计:设计师和艺术家可以迅速尝试不同的风格和概念,而无需从头开始训练复杂的模型。

个性化定制:用户可以根据自己的喜好和需求,定制独特的图像风格或对象。

数据稀缺情况:即使在样本数量有限的情况下,也能够有效地训练模型,使其学习到新的样式或特征。

image.png

如何找到嵌入(Embedding)

要找到嵌入,我们可以访问一些专门的资源平台,如Civitai。在Civitai上,我们可以通过筛选功能找到对应的嵌入。具体来说,我们可以在filter选项中选择model types为embedding,这样就能快速定位到所需的嵌入资源。

如何使用嵌入(Embedding)

在AUTOMATIC1111等图像生成工具中,使用嵌入非常简单。

文本反转的核心思想是将特定的文本描述与图像特征相关联。这个过程通常包括以下几个步骤:

样本收集:首先,收集一组具有相似风格或包含特定对象的样本图像。

文本描述:为每个样本图像创建一个文本描述,这个描述应该捕捉到图像的关键特征或风格。

嵌入训练:使用这些文本描述和对应的样本图像来训练一个嵌入模型。这个模型将学习如何将文本描述映射到图像特征上

应用嵌入:一旦嵌入模型训练完成,就可以将其应用于新的图像生成任务中。当模型接收到一个与训练时相似的文本描述时,它能够生成具有相应特征或风格的图像。

下面转载的原始研究文章中的图表说明了它是如何工作的。

image.png

定义新的关键字

首先,要定义新的关键字。我们需要选择或创造一个独特的关键字,这个关键字应该能够清晰、准确地描述我们想要引入的新元素。在模型内部,所有的文本提示都需经过标记化(Tokenization)过程,将文本中的每个单词或符号转换为对应的数字标记。新定义的关键字同样会经历这一过程,被赋予一个唯一的数字标记。

接下来是生成嵌入向量。每个标记,包括新关键字的标记,都会进一步转换为嵌入向量。嵌入向量位于高维空间中,能够捕捉并表示文本的语义信息。新关键字在这一步骤中会被赋予一个独特的嵌入向量,使其能够在模型中被识别和定位。

文本反转技术的核心在于,它允许我们通过嵌入向量来查找和表示新关键字,而无需对模型的任何其他部分进行修改。这意味着,即使模型在训练过程中没有直接接触过新关键字,它也能够通过嵌入向量来理解和生成与新关键字相关的图像内容。

在生成图像时,我们可以在文本提示中加入新关键字。由于新关键字已经经过标记化和嵌入向量的生成,模型能够轻松识别并将其作为生成图像的依据。当模型接收到包含新关键字的提示时,它会查找与该关键字对应的嵌入向量,并利用这个向量来生成图像。

通过这种方式,文本反转为我们提供了一种强大的工具,使我们能够在保持模型结构不变的前提下,灵活地引入新的对象或样式,极大地扩展了图像生成的可能性。这种方法不仅提高了模型的适应性和灵活性,还为艺术家和设计师提供了更多的创作自由。

在哪里可以找到embedding

要找到嵌入(Embedding),我们可以访问专门的资源平台,如Civitai。在Civitai上,通过筛选功能,我们可以轻松找到对应的嵌入资源。具体地,在筛选选项中选择model types为embedding,即可快速定位到所需的嵌入文件。

image.png

如何使用embedding

至于如何使用嵌入,以AUTOMATIC1111为例,操作相当简单。

首先,从 Civitai 网站下载好embedding文件。下载下来的embedding文件通常是bin或者pt结尾的。

你需要把这些embedding文件放到Stable diffusion webUI根目录下面的embeddings文件夹,然后重启Stable diffusion webUI即可。

image.png

在webUI界面,你可以在Textual Inversion中找到你安装好的embedding。 

要使用他,只需要点击对应的embedding, webUI会自动把对应的embedding添加到提示词中去。比如:

a girl,0lg4kury,

这里0lg4kury就是我安装的第一个embedding的名字。点击生成,看看效果:

image.png

可以看到人物还是很相似的。

这里我用了多种采样方法来进行最终图片的对比。

调整embedding的强度

之前听过我的prompt文章的朋友应该知道我们可以调整提示词强度的。

因为embedding同样也是提示词的一部分,所以我们也可以用同样的方式来调整embedding的强度。

image.png

neg embedding

有了正面的embedding,同样也有负面的embedding,下面是几个常用的负面embedding:

image.png

embedding、dreambooth 和hypernetwork的区别

文本反转(Textual Inversion)、Dreambooth 和超网络 是三种不同的技术,它们都可以用于微调Stable Diffusion模型,但各自有不同的特点和应用场景。

文本反转

文本反转技术,为模型训练领域带来了全新的可能性。它仅需少量样本图像,即可让用户轻松定义新关键字,用以描述特定的对象或风格。

这一方法无需对模型结构进行任何改动,而是通过嵌入向量的方式,实现新关键字的灵活添加。

值得一提的是,嵌入向量被存储在体积较小的文件中,通常不超过100 kB,这使得存储和传输都变得异常便捷。

尽管文本反转在快速添加新概念至模型中表现突出,但在灵活性和强大性方面,或许还有一定提升空间,相较于其他方法略显不足。

Dreambooth

Dreambooth,作为深度学习领域的一项技术突破,专注于图像风格转换。它仅需少量图像即可完成模型训练。

对于那些渴望生成高质量艺术作品,却又不具备专业艺术技能的用户来说,Dreambooth无疑是一个理想的选择。

然而,Dreambooth在微调模型权重以实现特定主题生成时,可能面临过度拟合训练数据的风险。

此外,生成的模型文件相对较大,通常在2-4GB之间,使用时需加载模型,这在某种程度上增加了使用的复杂度。

超网络

超网络,作为一种使用神经网络生成模型参数的方法,为模型微调提供了新的思路。

它通过在原有模型基础上添加一个附加网络,使该网络能够学习新的生成特征,从而实现微调。

在模型文件大小方面,超网络的表现介于文本反转和Dreambooth之间,大约为几十MB,这使得它在存储和传输方面找到了一个相对平衡的点。

对于那些需要生成近似内容图像,且训练数据与目标风格高度相关的场景,超网络无疑是一个值得考虑的选择。

总的来说,文本反转、Dreambooth和超网络各有优势和适用场景。文本反转适合快速添加新概念,Dreambooth适合个性化的高质量图像生成,而超网络则提供了一种在保留原有模型结构的同时进行微调的中间方案。用户可以根据自己的需求和资源限制来选择最合适的方法。

@版权声明:部分内容从网络收集整理,如有侵权,请联系删除!

相关文章