前言
Stable Diffusion web ui,除了依靠文生图(即靠提示词生成图片),图生图(即靠图片+提示词生成图片)外,这两种方式还不能满足我们所有的绘图需求,于是就有了 Embeddings(词嵌入)、LoRa(低秩适应模型)、Hypernetwork(超网络)。
- Embeddings模型 模型非常小,常常用于放在反向提示词里,让图像不出现生么,当然也可与用于正向提示词,生成我们想要的
- LoRa模型 模型几十到几百MB,更多用于画特定人物,比如游戏/动漫的人物。平台上lora模型比较多。
- Hypernetwork模型 大小和作用都和LoRa模型差不多,平台上Hypernetwork模型比较少。
你只需要在提示词词,使用Embeddings(词嵌入)、LoRa(低秩适应模型)、Hypernetwork(超网络)的标签。
Embeddings(词嵌入)
概念
Embeddings中文翻译为嵌入的,在Stable Diffusion中被称为词嵌入(嵌入式向量),这些向量可以捕捉文本中的语义信息,并在其中映射特定风格特征的信息。Embeddings一般保存的信息量相对较小,对人物的还原、对动作的指定、对画风的指定效果一般。除此之外,它还有另外一个名字Textual Inversion(文本反置、文本倒置)。它的模型被成为嵌入式模型、(反置/倒置)模型 。
Embeddings在Stable Diffusion模型中,又被称作嵌入式向量。它可以将文本编码器(TextEncoder)的输入(例如提示词)转换成电脑可以识别的文本向量,并在其中映射特定风格特征的信息。Embeddings模型和VAE模型一样后缀格式是.pt。大小仅为几kb到几十kb之间。Embeddings和checkpoint模型和lora模型比,它内部不包含图片信息,只是一些电脑可以识别图片的文本向量。举个比喻,如果把checkpoint模型比作一本大词典的话,Embeddings就是这本大词典中一些特定词的标签,它能精准的指向个别字词的含义,从而提共一个高效的索引。
比如我们像要画一个明星,但是checkpoint模型没有该明星名字对应的图片信息,这是我就可以用该明星的Embeddings模型生成这个明星的图片了,这里你可以Embeddings模型理解为包含这个明星的五官,面部、身体特征的嵌入式向量。使用Embeddings,Stable Diffusion就更容易理解我们画的明星长什么样子了!
使用
我们在模型下载网站上下载我们想要的Embeddings模型(国内liblib网站)。
然后放到SD WEB UI根目录下的embeddings文件夹内。,然后在SD WEB UI页面,点击刷新按钮,加载出来我们下载的Embeddings模型,然后点击Embeddings模型,会自动出现在提示词输入框。(默认会在正向提示词输入框内,但是当鼠标光标在反向提示词框内时,会出现在反向提示词框。)
这里的Embeddings模型也可以用提示词语法,圆括号和冒号来调整权重系数。
LoRa(低秩适应模型)
概念
Stable Diffusion Lora模型是一种通过低秩适应大型语言模型的方法。其核心思想是将原始的大型参数矩阵分解成两个或者多个低秩矩阵,并且只更新其中的一部分,从而减少计算量和存储需求,提高训练效率和模型性能。Lora的作用在于帮助你向AI传递描述某一个特征明确,主体清晰的形象。
使用
我们在模型下载网站(liblib.ai)上下载我们想要的lora模型。Lora模型需要放在 SD WEB UI根目录下的models\Lora文件夹内,大小一般为几十MB到几百MB。然后和嵌入式模型操作一样,先刷新在网页上加载出lora模型,然后点击lora到提示词输入框。
这里和嵌入式模型用法不同的是,lora模型需要加<>括号。格式 <lora:模型名:权重>,权重为1的时候,可以不写 <lora:模型名>,lora的权重建议设置在0.6左右,因为lora的权重越高,其他提示词的作用就越小,lora的权重过低,生成的图片又不像lora的训练的人物模样。当然lora的权重的最佳值,还跟你选择checkpoint模型有关,相同的lora搭配不同的checkpoint模型,生图的效果也有很大差别。经过我自己的大量测试,lora的权重建议设置在0.6左右,搭配大多数checkpoint模型都会有不错的效果。
值得注意的是有些lora模型需要搭配触发提示词,才能发挥lora的效果。
Hypernetwork(超网络)
概念
Stable Diffusion Hypernetwork是一种神经网络架构,它允许动态生成神经网络的参数(权重)。在Stable Diffusion中,Hypernetwork被用于动态生成分类器的参数,为Stable Diffusion模型添加了随机性,减少了参数量,并能够引入side information来辅助特定任务,这使得该模型具有更强的通用性和概括能力。
Hypernetwork的重要功能之一是对画面风格的转换,即切换不同的画风。它的特点在于能够生成多种画风的作品,同时能够保证画面的稳定性和清晰度。
使用
我们在模型下载网站(liblib.ai)上下载我们想要的lora模型。Hypernetwork模型需要放在 SD WEB UI根目录下的models\hypernetworks文件夹内,大小和lora模型差不多,一般为几十MB到几百MB。
hypernetworks模型的使用方法和lora模型一样,不同的是<lora:模型名>替换成了<hypernet:模型名>。格式 <hypernet:模型名:权重>
可以看出除了Embeddings模型的使用不需要<>尖括号外,hypernetworks模型和lora模型的使用都需要<>尖括号,说明hypernetworks模型和lora模型都是类似的,都是需要图片训练的,模型的中包含大量图片信息,而Embeddings模型只是简单的文本标记(向量)。
LoRA和Hypernetwork的区别
-
LoRA和Hypernetwork都是机器学习领域中比较前沿的技术,但是它们的作用有所不同。LoRA是一种图像风格转换模型,它可以将一张图片从一种风格转换成另一种风格,实现艺术风格迁移等功能。而Hypernetwork是一种模型生成技术,它的作用是学习从一个低维空间的潜在表示到一个高维空间的输出的映射函数。这种方法的主要目的是提供更加一般性和灵活性的模型生成能力,从而可以用更少的参数生成效果更好的模型。两种方法都有各自的优点和限制,需要根据具体任务的需求来选择相应的方法。
-
LoRA模型被广泛应用在图像处理领域,有很多应用场景,比如图像风格转换、艺术化渲染等等。同时,LoRA模型模型能够使用预训练权重,因此在实际应用中获取高质量的样本比较容易,并且由于LoRA的模型架构相对简单,因此训练比较容易实现。因此,很多人在图像处理领域中应用LoRA模型来处理图像,使得网上关于LoRA模型的文章和论文比较多。
-
而Hypernetwork模型则相对较新,目前应用还较为局限。它的一个重要应用方向是用于神经网络架构搜索,可以快速搜索到高效的网络结构。但是,这种方法的难度比较大,需要大量的计算资源和专业知识以及较长的时间进行调试和优化。因此,Hypernetwork模型的文章和论文相对比较少,目前还没有被大规模应用到实际的项目中。