8.我的“法术”不听话了?

创建于 2024-02-04 / 最近更新于 2024-02-04 / 750
字体: [默认] [大] [更大] 收藏文档

增加减少权重

有的时候,提示词会出现不听话/失效的现象。

当提示词失效的时候,不妨多增加权重,例如(1girl:1.2)/(1girl)

注意:这里的任何权重等的调整只能使用英文符号,使用全角/中文符号将不会起任何作用

一对小括号()意味着把括起来的 prompt 权重1.1,中括号[]则是 / 1.1,大括号{}在 WEB-UI 中无调整权重作用,且会被作为文本而解析

如果因为某些需求而要大量抬升权重,可以对 prompt 进行多次括号,比如((((prompt)))),这意味着将它的权重 * 1.1 四次,也就是 1.4641。但这个写法太吓人了,数括号也很浪费时间, 所以应该直接为一个 prompt 赋予权重

(prompt:权重乘数)

外层一定是小括号而非其它括号。比如 (red hair:1.5) 将直接给 red hair 赋予 ** 1.5 *权重, (red hair:0.8)将直接给red hair赋予 * 0.8权重,清晰简洁,便于自己回顾和他人理解,强烈推荐

而除了整词权重之外,也可以进行部分权重 ,比如如下例子:

1 girl, white long (messy:1.2) hair, red eyes

将专门对 messy 部分赋予 * 1.2 权重,其它部分不受影响

高权重的元素会在画面中有着更大的占比或更强烈的存在感或更多的数量,是能可观地影响构图的原因之一。如果出现了(xxx:1.7)还无法正确的表达需要的效果时,那么大概率为模型无法识别这个提示词,或者模型本身的问题。

模型本身问题

例如模型的clip偏移:(这里要用到一个叫做CLIP tensors checker的插件)

image.png

clip偏移会影响模型对于对应位置的token语义的理解,有的时候就会造成你的提示词识别出现问题,详情可以查看早期“微笑测试”实验(下面的链接),这里引用部分实验内容。

测试参数如下:seed是固定的、clip skip=1、eta=0

smile sleepy girl standing bear
Steps: 40, Sampler: Euler a, CFG scale: 7.5, Seed: 651296271, Face restoration: CodeFormer, Size: 512x512

我们对其修改如下:

1-0:tensor([[ 0,0 ,2,3,4,5 …

2-0:tensor([[ 0,1,0 ,3,4,5 …

3-0:tensor([[0,1,2,0 ,4,5 …

3-1:tensor([[0,1,2,1 ,4,5 …

image.png

顶部是常规的8528d-fix,smile被忽略。
keychange_8528dfix是修复后的, smile又回来了。
3. break_1-0 smile再次消失
4. break_2-0 sleepy没有体现
5. break_3-0 girl不见了,变成了熊。
6. break_3-1 girl部分的值为1, 女孩没有消失,1的笑容也没有消失。
break_3-1 结果比较难以分辨
【更详细的测试在链接指向的文章】
引用自:[調査] Smile Test: Elysium_Anime_V3 問題を調べる #3|bbcmc (note.com)

模型过拟合了

部分模型训练的时候出现的过拟合也会导致提示词出现不听话的情况。

许多 tag 有着逻辑上合理的“前置”关系 ,比如存在 sword 这个 tag 的作品往往还存在 weapon 这个 tag、存在 sleeves past finger 这个 tag 的作品往往还存在 sleeve past wrists 这个 tag。

这样在训练集中往往共存且有强关联的 tag ,最终会让模型处理包含它的咒语时产生一层联想关系

不过上述联想关系似乎不够令人感兴趣,毕竟这些联想的双方都是同一类型,哪怕 sword 联想了 weapon 也只是无伤大雅。那么是否存在不同类型的联想呢?

答案是存在的:
image.png

masterpiece, 1 girl, blue eyes, white hair, white dress, dynamic, full body, simple background

image.png

masterpiece, 1 girl, blue eyes, white hair, white dress, (flat chest), dynamic, full body, simple background

不难发现 flat chest 除了影响人物的胸部大小之外还影响了人物的头身比,让人物的身高看上去如同儿童身高一般,如果调整画布为长画布还会更明显。因此称 flat chest 与 child 有着联想关系 。人物胸部大小和身高是不同的两个类型,两个看似类型完全不同的词也可以产生联想关系。对 flat chest 加大权重,会让这种联想关系会表现地更为突出。

它的原理和上述同类型的联想 一样,都是训练来源导致的 。平胸美少女和儿童身高在同一个作品内出现的概率非常大,所以 AI 逐渐对这两个词产生了联想关系,还是强联想关系。这种联想关系在社区中曾被称为**“零级污染”** 。

image.png!

这种0级污染在不同的模型中的表现是不同的:

例如:在cf3模型中,出现了又rain的情况下一定会存在雨伞的关联现象。rain和unbrella产生了联想关系

3 人点赞过