负提示是推动稳定扩散为您提供所需内容的另一种方法。与需要绘制蒙版的修复不同,您可以使用负提示,享受文本输入的所有便利。事实上,有些图像只能通过使用负提示来生成。
在本文中,我们将回顾一个使用负面提示的简单示例。然后,您将了解负面提示在稳定扩散中是如何工作的。
这是关于使用负面提示的两部分系列文章的第一部分。请参阅第二部分:如何使用负面提示,了解如何构建良好的负面提示。
一个简单的例子
仅限正面提示
让我们尝试生成一些人类图像。没错。我们即将进入未知领域……我使用的是 Stable Diffusion v1.5,提示如下:
提示词:
- 一名男子的肖像照片。
好的,我们得到了预期的结果。这并不奇怪。但是,这些男人看起来有点太严肃了。让我们试着去掉他们的胡子,让他们看起来更轻松。让我们试试这个提示:
提示词:
- 一位没有胡子的男人的肖像照片。
这里有个问题。我们得到了更突出的胡子!发生了什么?罪魁祸首可能是交叉注意力未能将“没有”和“胡子”联系起来。稳定扩散将提示理解为“男人”和“胡子”。这就是为什么你看到它们两个。
正面和负面的提示
那么,我们该怎么做才能生成没有胡子的男人呢?这是稳定扩散无法做到的吗?答案是使用负面提示。如果我们使用提示
正面提示词:
- 一名男子的肖像照片
负面提示词:
- 胡子
我们终于可以生成一些没有胡子的男人了!使用 v2 模型,您将获得类似的结果。
此示例演示了使用否定提示的原则:
如果你看到你不想要的东西,就把它放在负面提示词中。
负面提示如何起作用?
回想一下,在文本到图像的调节中,提示被转换为嵌入向量,然后被输入到 U-Net 噪声预测器。好吧,这不是全部。(抱歉,这种情况发生过很多次……) 实际上有两组嵌入向量,一组用于正提示,另一组用于负提示。
正向和负向提示是平等的。它们都有 77 个标记。您可以随时使用其中一个,也可以单独使用另一个。
负提示是在采样器中实现的,采样器是负责实现反向扩散的算法。要了解负提示的工作原理,我们首先需要了解在不使用负提示的情况下采样的工作原理。
无负面提示的采样
在稳定扩散的采样步骤中,算法首先使用条件采样对图像进行少量降噪,并由文本提示引导。然后,采样器使用无条件采样对同一图像进行少量降噪。这是完全无引导的,就好像您不使用文本提示一样。请注意,它仍会向合适的图像扩散,例如下面的篮球或酒杯,但它可以是任何东西。实际完成的扩散步骤是条件采样和非条件采样之间的差异。此过程重复采样步骤数。
带负面提示的采样
负面提示是通过劫持无条件抽样来实现的。这里不使用空提示(会生成随机图像),而是使用负面提示。
从技术上讲,正提示会引导扩散朝向与其相关的图像,而负提示会引导扩散远离它。请注意,稳定扩散中的扩散发生在潜在空间中,而不是图像中。
采样空间
让我们考虑以下采样空间的图示。当我们使用提示“男人的肖像照片”时,稳定扩散会从所有男人的整个潜在空间中采样图像,包括有胡子和没有胡子的。您应该会得到有胡子和没有胡子的男人的图像。
当添加否定提示“胡子”时,“留胡子的男人”空间被排除。实际上,我们正在从没有胡子的男人中抽样图像。
概括
我希望本文能让您很好地了解负面提示及其工作原理。
负面提示会移除对象或样式,而仅靠调整正面提示可能无法实现这一点。它的工作原理是劫持每个采样步骤中的无条件采样。扩散会避开负面提示中描述的内容。
翻译:阿杰
原文地址:stable-diffusion-art.com/