在之前的文章中我们介绍了Stable Diffusion的基础参数,我们知道使用Stable Diffusion UI基础的操作流程并不复杂,主要分为 4 个步骤:选择模型 —> 填写提示词 —> 设置参数 —> 点击生成。
通过操作流程我们知道,最终的出图效果是由模型、提示词、参数设置三者共同决定的,缺一不可。其中,模型主要决定画风、提示词主要决定画面内容,而参数则主要用于设置图像的预设属性。
这期我们主要讲解一下提示词,构建好的提示词是每个Stable Diffusion用户需要学习的第一步,好的提示词简单且事半功效。
什么是提示词(Prompt)
Prompt(提示词)就是我们给AI模型下发的指令,也就是指用户输入的文本或图像信息。目的是指导模型生成我们想要的艺术作品。直白一点来说它就是我们告诉AI我们要画什么,要画成什么的一种“指令”,提示词包含的内容是非常广泛的,它可能包括作品主题、画风、形象特点以及一些具体包含的元素等。这有点类似像程序代码,代码逻辑写对了,程序才能正常运行,代码写的越好。
如今的 AI 工具都是基于底层大模型进行使用的,提示词的本质其实是对这个大模型的深入挖掘和微调,我们可以将它简单理解为人类和 AI 沟通的桥梁,因为模型反馈结果的质量在很大程度上取决于用户提供的信息量。
一句话说简单说来,为了更好的控制AI,人们逐渐摸索出通过反馈来约束模型的方法,原理就是当模型在执行任务的时候,人类提供正面或负面的反馈来指导模型的行为。而这种用于指导模型的信息,就被统称为Prompt提示词。
现在很多企业还单独设立了提示工程师岗位,在人工智能领域也有单独的一门学科叫做 Prompt Engineering 提示词工程。
想要学习的可以参考具体文档:https://www.promptingguide.ai/zh
而在图像生成领域,提示词就是我们用来调节绘图模型的一种指令,通过输入想要的内容和效果,模型就能理解我们想表达的含义,从而实现准确的出图效果。如下图展示了Web UI中设置的提示词界面,可知道在生成图片的参数中包含正向提示词和反向提示词。
正向提示词:简单说就是告诉AI你想要绘制什么,需要在画面中出现的内容。
负向提示词:简单说就是告诉AI你想不要绘制什么,不要在画面中出现的内容。
那这些提示词的规则是怎么样的呢,我准备分几期来介绍,这期我们介绍一下正向提示词。
提示词的基本规则
1.只支持识别英文
模型是无法理解中文字符的,Stable Diffusion 只支持识别英文提示词,但我们可以不必遵循英文语法。
2.描述词组化
以词组形式分段输入即可,词组间使用英文逗号进行分隔。除了部分特定语法外,大部分情况下字母大小写和断行也不会影响画面内容,我们可以直接将不同部分的提示词进行断行,由此来提高提示词的可读性。
不要出现一些短句,比如:[一个漂亮的长发蓝眼睛女生坐在公园的椅子上], 对于这种短句来说,[一个女孩] [长发] [蓝眼睛] [公园] [椅子] [坐在椅子上] 这种词组更容易让大模型理解。
3.同义词转化
比如:一个女孩,可以是A girl或 1 girl,大模块更容易理解 1 gril,再比如:A little girl,AI更容易理解 loli,solo。
4.提示词顺序
提示词放入的顺序就是优先级,权重值从前向后递减。
5.提示词长度
不要堆积叠加过多的提示词,AI会记不住,如果内容特别多,可以适当提高迭代步数。
根据使用的Stable Diffusion服务,提示词中可能有最大长度限制。在基本Stable Diffusion v1 模型中,该限制为 75 个token。
Web UI 中的限制:
Web UI没有token限制。如果提示词包含超过 75 个token(CLIP token生成器的限制),它将启动另外 75 个token的新块,因此新的“限制”变为 150。该过程可以永远继续,或者直到你的计算机内存不足…
所以我们的描述最好是75个token为一组,模型会根据每组的描述进行理解。
每个 75 个token块都经过独立处理,生成的表示在输入到 Stable Diffusion 的 U-Net 之前会被连接起来。
在Web UI中,你可以通过查看提示词输入框右上角的小框来检查token的数量。
如何写好提示词
常用的关键词类
要写好一份提示词,遵循原则为尽可能详细并且具体,从不同角度进行详细描述。
下面从9个角度来介绍输入关键词:
(1) 主体 Subject(必须)
即图片的内容,描述你想画的具体是什么事物。
(2) 媒介 Medium
指定图片的形式,例如photo(照片)、oil painting(油画)、watercolor(水彩画)等。
关键字 | 描述 |
---|---|
Portrait | 非常逼真的图画,适合与人一起使用。将图像聚焦在脸部/头上 |
Digital painting | 数字艺术风格 |
Concept art | 插画风格,2D |
Ultra realistic illustration | 画得非常通真。适合与人一起使用 |
Underwater portrait | 与人一起使用。水下。头发飘动 |
Underwater steampunk | 非常逼真的图画,适合与人一起使用。水下蒸汽朋克 |