告诉Stable Diffusion 2.0你不想要什么,生成效果更好:Negative Prompt显奇效(2)

简介: 告诉Stable Diffusion 2.0你不想要什么,生成效果更好:Negative Prompt显奇效

虽然充斥着大量超现实主义赛博朋克隐喻,这依然是一片森林。从理论上来说,要改进上述图像,一个很流行的技巧是纳入更抽象的不良图像概念,如模糊和马赛克。但是,这些 negative prompt 是否比其他“成分”(如 4k hd)更好呢?negative prompt 如何与那些 positive promt addition 相互作用?我们来进一步实际测试一下。negative prompt 和 positive prompt 会碰撞出什么火花?这里插句题外话。有种名为 textual inversion 的技术(可供文本编码器学习特定对象或风格,可以在 prompt 中轻松调用)在 Stable Diffusion 2.0 中同样适用,尽管由于文本编码器不同(更大,嵌入是 1024D 而非 768D),每个 textual inversion 嵌入都必须重新训练,但在其他方面表现相同。SD1.X 中的一种常见风格是 “Midjourney” 风格(见下图),有种过度幻想的美学意味。我还训练了 <midjourney> token 的新版本(参见:https://huggingface.co/minimaxir/midjourney_sd_2_0)。

此外, textual inversion 或许还可以创新地运用于negative prompt。Redditor Nerfgun3 为 SD1.X 训练了一个“否定嵌入”,具体来说就是通过将通常的negative prompt 用作 positive prompt 来生成合成图像数据集,然后在其上训练 textual inversion 嵌入。我做了一些调整来再现这个过程,改进了合成数据集,进而训练出一个新的  <wrong> token。现在我们对 positive prompt addition(positive token)与negative prompt(negative token)进行交叉测试,看看negative prompt 的影响力有多大。以下是要测试的 prompt 列表,其中 positive prompt 为绿色,negative prompt 为红色:

例如,Stable Diffusion 2.0 的一项测试输入可能是「cyberpunk forest by Salvador Dali, in the style of <midjourney>」以及一个negative prompt「in the style of <wrong>」分别对应绿色 “TOKEN” prompt 标签和红色“TOKEN” 标签。此外,每个单独生成的图像将以相同的初始潜态开始,同时进行 seeded 调度。这样能更清楚地显示negative prompt 的影响,因为在恒定初始潜态下保持相同 prompt 可以使生成的图像成分在negative prompt 改变的情况下保持不变。现在总算可以开始了。那就让我们以  Steve Jobs 的头像为基本 prompt 开始吧,相当简单。base prompt: Steve Jobs head, seed: 59049两个 prompt addition 都改变了风格;base prompt 生成的是卡通图像;写实的 prompt addition 使其更像是 3D 渲染,而 Midjourney  token 又使其成为一种艺术手法。然而,当加入negative prompt,每张图像都更清晰,模糊度降低,色调呈中性,皮肤细节也更丰富。值得一提的是, <wrong>  token 要优于较小的negative prompt。再来看一个经典的图像生成:用 original DALL-E 演示的著名牛油果扶手椅,怎么样?

base prompt: an armchair in the shape of an avocado. an armchair imitating an avocado., seed: 59049

有趣的地方在这儿,positive 文本 prompt addition 完全破坏了原始 prompt 意图,而每个negative prompt 却更加精准地完善了相应图像(包括整个牛油果!)演示都很不错,我们再次回到达利风格的赛博朋克森林: base prompt: cyberpunk forest by Salvador Dali, seed: 59049在这个示例中,两个 positive prompt 都抹杀了达利的风格,倾向于更写实的森林,随后又为negative prompt 所强化。在原始 prompt 下,negative prompt 更能突显达利的艺术风格。这个例子充分说明,positive prompt addition 并不一定就是好的。negative prompt 能否帮助 AI 生成美味食物的图像?就像 DALL-E 2 可以实现的那种?我们看能不能生成一个汉堡:

baseprompt:adelicioushamburger,seed:19683

这个示例相当清楚地展示了negative prompt 对得出最终结果大有帮助;使用两个 token 的结果输出逼近 DALL-E 2 的质量!Stable Diffusion 2.0 另一个有意思的地方是文本渲染效果更好;小字不一定完全清晰,但大字更容易辨认。或许 Stable Diffusion 2.0 可以生成一篇《纽约时报》(NYT)头版文章来描绘机器人霸主的崛起。

base prompt: an evil robot on the front page of the New York Times, seed: 19683

尽管潜在输入固定,但 Stable Diffusion 2.0 还是生成了很多种不同类型的邪恶机器人,报纸版式可以说很 NYT。如此怪异的仅由negative prompt 文本生成的图像表明一种非常罕见模式的崩溃,这挺有趣(或者说是 Stable Diffusion  在隐藏某些东西)。我们还可以研究一下negative prompt 如何帮助渲染人类对象。我们来看看 Taylor Swift。如果她成了 Taylor Swift 总统会怎么样?(希望 Stable Diffusion 不会把她和其他 Taylor 总统搞混)

base prompt: President Taylor Swift giving her presidential inauguration speech, seed: 6561

两种 positive prompt addition 得到的初始输出都明显更差,令人意外。但negative prompt 又一次解决了问题,为 Taylor 总统换了几套华服。值得注意的是,与 SD 1.X 相比,Stable Diffusion 2.0 生成的手更逼真…… 不过也不能细看。最后,不能忘了《刺猬索尼克》中那个刺猬 Ugly Sonic,也是我上一篇 Stable Diffusion 博文的主题(参见:https://minimaxir.com/2022/09/stable-diffusion-ugly-sonic/)。上一次,我收到很多控诉,说 AI 生成的 Ugly Sonic 并不是真正的 Ugly Sonic,因为生成的 Ugly Sonic 没有人类牙齿!是时候解决这个问题了!

base prompt: <ugly-sonic> smiling with human teeth, seed: 6561

在这个示例中,negative prompt 破坏了 Ugly Sonic,因为把他的人类牙齿一步步去除了!结论在 AI 艺术中,我们总会有不同收获,不过negative prompt 将是 AI 图像生成领域的一个有力工具。固守曾用的 prompt 策略这种做法不太对。这也给了我们一个很好的机会,摆脱在世艺术家提供的这根 prompt 设计拐杖,因为拄拐难行。这对整个行业来说也是一件好事(尤其是考虑到法律的不确定性!)。我用于生成本文图像的所有代码都可以在一个 GitHub 库中找到(参见:https://github.com/minimaxir/stable-diffusion-negative-prompt),其中有一个 Colab Notebook,用于 <wrong>  token 下的常规生成,还有一个 Colab Notebook 用于 3x3 标记的网格图像,都能轻松调整 prompt 输入,你自己也可以在其中实验。原文链接 https://minimaxir.com/2022/11/stable-diffusion-negative-prompt/

相关文章
|
2月前
|
人工智能 搜索推荐 测试技术
模拟试错(STE)法让7B大模型测试超GPT-4
【2月更文挑战第24天】模拟试错(STE)法让7B大模型测试超GPT-4
37 1
模拟试错(STE)法让7B大模型测试超GPT-4
|
2月前
|
人工智能 自然语言处理 搜索推荐
揭秘ChatGPT的Prompt方法:原理与应用总结
揭秘ChatGPT的Prompt方法:原理与应用总结
47 0
|
机器学习/深度学习 人工智能 自然语言处理
一文尽览 | 开放世界目标检测的近期工作及简析!(基于Captioning/CLIP/伪标签/Prompt)(上)
人类通过自然监督,即探索视觉世界和倾听他人描述情况,学会了毫不费力地识别和定位物体。我们人类对视觉模式的终身学习,并将其与口语词汇联系起来,从而形成了丰富的视觉和语义词汇,不仅可以用于检测物体,还可以用于其他任务,如描述物体和推理其属性和可见性。人类的这种学习模式为我们实现开放世界的目标检测提供了一个可以学习的角度。
一文尽览 | 开放世界目标检测的近期工作及简析!(基于Captioning/CLIP/伪标签/Prompt)(上)
|
8天前
|
API
大模型应用实战技巧:大模型说‘抱歉,我无法完成您的要求‘怎么办 - 你真的了解你给大模型的Prompt吗
大模型应用实战技巧:大模型说‘抱歉,我无法完成您的要求‘怎么办 - 你真的了解你给大模型的Prompt吗
15 0
|
6月前
|
存储 Java API
【网安AIGC专题11.7】17ASAP如何更好地改进少样本提示:在LLMs的prompt中添加语义信息,来提高代码摘要生成+代码补全任务的性能。CodeSearchNet数据集(下)
【网安AIGC专题11.7】17ASAP如何更好地改进少样本提示:在LLMs的prompt中添加语义信息,来提高代码摘要生成+代码补全任务的性能。CodeSearchNet数据集(下)
66 0
|
2月前
|
XML JSON 人工智能
Prompt进阶3:LangGPT(构建高性能质量Prompt策略和技巧2)--稳定高质量文案生成器
Prompt进阶3:LangGPT(构建高性能质量Prompt策略和技巧2)--稳定高质量文案生成器
Prompt进阶3:LangGPT(构建高性能质量Prompt策略和技巧2)--稳定高质量文案生成器
|
7月前
Stable Diffusion提示词之细节优化
Stable Diffusion提示词之细节优化
115 1
|
3月前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 损失函数篇 | QualityFocalLoss质量焦点损失(含代码 + 详细修改教程)
YOLOv8改进 | 损失函数篇 | QualityFocalLoss质量焦点损失(含代码 + 详细修改教程)
384 2
|
9月前
|
人工智能 自然语言处理 PyTorch
Prompt-“设计提示模板:用更少数据实现预训练模型的卓越表现,助力Few-Shot和Zero-Shot任务”
Prompt-“设计提示模板:用更少数据实现预训练模型的卓越表现,助力Few-Shot和Zero-Shot任务”
Prompt-“设计提示模板:用更少数据实现预训练模型的卓越表现,助力Few-Shot和Zero-Shot任务”
|
6月前
|
存储 自然语言处理 Apache
【网安AIGC专题11.7】17ASAP如何更好地改进少样本提示:在LLMs的prompt中添加语义信息,来提高代码摘要生成+代码补全任务的性能。CodeSearchNet数据集(上)
【网安AIGC专题11.7】17ASAP如何更好地改进少样本提示:在LLMs的prompt中添加语义信息,来提高代码摘要生成+代码补全任务的性能。CodeSearchNet数据集(上)
60 1