LarpGPT · Руководства
Объяснение негативных подсказок: когда их использовать и как
Что такое негативная подсказка, какие инструменты для работы с изображениями ее документируют, как работают --no Midjourney и negative_prompt Stable Diffusion и почему их нужно использовать с осторожностью.

В этом руководстве13
Что такое негативная подсказка
Отрицательное приглашение — это список того, что вам не нужно в сгенерированном изображении, который передается в инструмент отдельно от описания того, что вы хотите. Вместо того, чтобы писать ночную улицу без людей, вы описываете улицу и помещаете людей в отрицательный список. Идея проста, но инструменты справляются с ней совсем по-разному, а некоторые вообще не предлагают отдельного отрицательного поля. Знание того, в какой ситуации вы находитесь, спасает от многих неудачных попыток.
Почему написать «нет» внутри приглашения часто не удается
Модели изображений реагируют на слова, присутствующие в подсказке. Упоминание чего-либо, даже с целью исключить это, может втянуть это в картину. В документации Midjourney в качестве плохой подсказки приводится именно такой пример: натюрморт, описанный как без фруктов или с вежливой просьбой не добавлять фрукты. Рекомендуемая альтернатива — переместить ненужные элементы в выделенный параметр. Та же логика применима и в другом месте: предложение, полное исключений, удерживает исключенные вещи в центре внимания модели.
Midjourney: параметр --no.
Midjourney документирует параметр --no, добавляемый в конце приглашения, за которым следует вещь или список вещей, которые вам не нужны, через запятую. Собственный пример - «Натюрморт гуашью --no фрукты, яблоко, груша». В документации также объясняется, что использование --no — это то же самое, что присвоение части мульти-подсказки веса минус 0,5, что является полезным напоминанием о том, что это уменьшает что-то, а не гарантирует его отсутствие.
Ловушка в --no Midjourney
В той же документации предупреждается, что модерация Midjourney читает каждое слово после --no независимо. Такая фраза, как «современная одежда», читается как два отдельных слова, и само слово «одежда» может вызвать предупреждение. В подобных случаях в документации рекомендуется указывать в главном приглашении тип одежды, который вам нужен, вместо использования --no. В более общем плане, по возможности, старайтесь, чтобы каждый исключенный элемент содержал одно однозначное слово.
Stable Diffusion: аргумент negative_prompt
В библиотеке Hugging Face diffusers конвейер преобразования текста в изображение Stable Diffusion имеет дополнительный аргумент negative_prompt, описанный в документации как подсказка или подсказки, указывающие, что не следует включать в генерацию изображения. В документации добавлена деталь, которую стоит знать: отрицательный запрос игнорируется, когда наведение не используется, то есть когда шкала наведения ниже единицы.
Модели изображений ChatGPT и OpenAI
В документации по созданию изображений OpenAI на момент написания не описывается отдельное поле отрицательного запроса для моделей GPT Image. С помощью диалоговых инструментов еще можно написать исключения в предложении, но самый надежный подход — тот, который работает везде: описать, что там должно быть. Если вы не хотите, чтобы на улице было много людей, опишите пустую улицу на рассвете и еще закрытые магазины. Это дает модели положительную картину, а не список вещей, которых следует избегать.
Сначала опишите альтернативу
Прежде чем тянуться к негативу, спросите, что вы хотите вместо нежелательного элемента. Беспорядок на столе превращается в чистый стол с одним блокнотом и лампой. Занятый фон становится простой бетонной стеной. Резкие тени становятся мягким пасмурным светом. Почти у каждого негатива есть позитивная версия, и позитивная версия обычно работает лучше, потому что она ограничивает изображение, а не оставляет пробел, который модель заполняет чем-то другим.
Когда негативная подсказка — правильный инструмент
Негативы наиболее полезны для вещей, которые имеют тенденцию выглядеть незваными и не имеют естественных положительных противоположностей: текста, надписей, водяных знаков, логотипов, границ или рамок. Они также помогают, когда генератор продолжает добавлять повторяющийся элемент, например, людей в пейзаже или бликов на закате, после того как вы уже четко описали сцену. В таких случаях короткое исключение проще, чем переписывать всю сцену.
Держите список коротким
Длинные отрицательные списки — это распространенная привычка, скопированная из общих подсказок, часто наполненных общими словами о качестве. Они редко помогают и могут затруднить прогнозирование результатов, поскольку каждое слово в списке подталкивает изображение в определенном направлении. Начните без каких-либо негативов. Добавляйте его только тогда, когда определенный нежелательный элемент продолжает появляться, проверяйте, работает ли он, и удаляйте его снова, если это не так. О двух или трех точных вопросах легче рассуждать, чем о двадцати расплывчатых.
Используйте существительные, а не качества
Негативы лучше всего работают с конкретными вещами: текстом, людьми, автомобилями, деревьями, водяными знаками. Абстрактные качества, такие как уродство, плохое или низкое качество, трудно интерпретировать моделью, и они ничего не говорят о том, что вы на самом деле хотите изменить. Если изображение выглядит неправильно, выясните, что с ним физически не так, будь то руки, отражения или дополнительный объект, и устраните это напрямую, либо в описании, либо с точным исключением.
Тестируйте по одному негативу за раз
Относитесь к негативу так же, как к любому другому изменению подсказки. Создайте изображение без него, затем добавьте одно исключение и сгенерируйте снова, оставив все остальное без изменений. Если ненужный элемент исчезнет и больше ничего не сломается, сохраните его. Если изображение меняется так, как вы не ожидали, значит, негатив сделал больше, чем вы предполагали. Эта привычка также учит вас, какие исключения стоит оставить на потом, а какие — суеверие.
Негативы не заменяют проверку
Никакое исключение не гарантирует отсутствия. Midjourney описывает --no как снижение веса, а diffusers описывает negative_prompt как руководство. Посмотрите на каждое изображение перед его использованием: текст по-прежнему может появляться на знаках, фигура, похожая на логотип, может появляться на одежде, а фигура может появляться вдалеке. Если изображение может быть сделано для реальной фотографии, отметьте его как созданное.
Где подходит LarpGPT
LarpGPT — это библиотека фотоподсказок для путешествий, архитектуры, автомобилей и сцен из жизни, написанных в основном в виде положительных описаний объекта, композиции, освещения и объектива, что уменьшает необходимость в длинных отрицательных списках. Вы копируете запрос в уже используемый генератор изображений и добавляете все исключения, которые поддерживает инструмент. LarpGPT не генерирует изображения, и результаты различаются в зависимости от попытки.
Вопросы
Что такое негативная подсказка?
Список того, что вы не хотите видеть в сгенерированном изображении, подается отдельно от основного описания. Midjourney использует параметр --no, а Stable Diffusion в библиотеке diffusers использует аргумент negative_prompt.
Поддерживает ли ChatGPT отрицательные запросы?
На момент написания в документации по созданию изображений OpenAI не описывается отдельное поле отрицательного запроса. Вместо этого опишите то, что вы хотите, например, пустую улицу, а не улицу без людей, — это более надежный подход.
Почему письмо без чего-то добавляет это к образу?
Модели реагируют на слова, присутствующие в подсказке, поэтому называние объекта, даже с целью его исключения, может привести к его появлению на изображении. В документации Midjourney это указано как неправильный шаблон запроса и вместо этого рекомендуется использовать параметр --no.
Сколько пунктов должно содержать отрицательное приглашение?
Как можно меньше. Начните с отсутствия, добавляйте один конкретный элемент, когда нежелательный элемент продолжает появляться, и удаляйте его, если это не помогает. Длинные общие списки затрудняют прогнозирование результатов.
