Перейти к содержанию

Embedding в Stable Diffusion или как использовать текстовые инверсии


Рекомендуемые сообщения

Если вы когда-либо посещали сайт civitai, возможно, вы заметили опцию «embeddings» в настройках сортировки. В этой статье мы рассмотрим, что такое Embedding в Stable Diffusion, также известные как текстовые инверсии.

5fceefff-5163-4b6d-999a-f439d9fcf969.png


Embeddings (текстовые инверсии) — это ключевые слова в Промте (токены), которые математически определяют, что должна изображать нейросеть stable diffusion. С другой стороны, текстовые инверсии не содержат изображений, они действуют как якоря (координаты), которые направляют SD на то, каким должен быть результат генерации.

Звучит сложно?
Не волнуйтесь, мы разберемся.

Традиционно, чтобы «объяснить» нейронной сети, что она должна рисовать, вы пишете подробный и часто длинный промт. Если вы хотите изобразить известного человека, просто укажите его имя в подсказке.

Но есть альтернативный подход — по сути, та же концепция, только вывернутая наизнанку. Как вы уже догадались, речь идет об инверсиях текста. Вместо обучения нейросети необходимыми изображениями авторы создают инверсию текста, «извлекая» из нейросети специальный ключ. Этот ключ затем позволяет им достичь желаемого результата.

Как авторы создают embeddings для Stable Diffusion?

Для создания текстовой инверсии, которая по сути представляет собой файл формата .pt или .safetensors, автор предоставляет нейросети следующие входные данные:

  • несколько изображений или фотографий, которые представляют то, что хотят последовательно генерировать с помощью созданного встраивания

  • промт или текстовое описание, точно отражающее то, что изображено на предоставленных изображениях

  • Имя, которое можно использовать для ссылки на этот embedding в будущих генерациях

В результате этого процесса обучения автор получает файл, например name.pt, где «name» представляет собой имя нашего эмбеддинга. Это встраивание теперь может быть использовано в будущих поколениях.

Предположим, что наш embedding предназначен для создания изображений Анджелины Джоли, аналогично примеру, найденному на https://civitai.com/models/99201. Чтобы создать изображение Анджелины Джоли, нам просто нужно включить в промт триггерное слово, указанное автором. В данном случае триггерным словом является «4nj0lie».

48a8002e-7983-4588-9378-78733614bb0e.png

 

Зачем использовать инверсию текста, если можно просто написать в промте «Анджелина Джоли»?

Ответ прост: embedding может обеспечить более точное соответствие целевому изображению, но это зависит от того, тщательно ли автор выбирает качественные фотографии и релевантные ключевые слова.

Как использовать Embedding - текстовые инверсии?

На сайте civitai можно обнаружить разнообразные инверсии текста. Для вашего удобства мы предустановили большинство из них в нашем боте Telegram @yes_ai_bot.

Инструкции:

  1. Посетите сайт civitai.com и найдите необходимую инверсию
  2.  Скопируйте предоставленное триггерное слово
  3. Откройте приложение Telegram и авторизуйтесь у бота @yes_ai_bot
  4. Введите промт, содержащий скопированное триггерное слово, например «4nj0lie»

Преимущества embeddings:

  • Повышенная точность представления изображений, лиц, стилей, окружения и многого другого
  • Минимальный размер файла (хотя для пользователей @yes_ai_bot это менее критично, так как все работает без необходимости установки на компьютер)
  • Триггерное слово функционирует как стандартный токен, позволяющий применять весовые коэффициенты и другие манипуляции (мутации и т. д.), как подробно описано в этом видео: https://youtu.be/gL9TVTae0dI
  • Удобен для пользователя и поддерживает ведение личного «словаря лайфхаков», где одно слово может заменить целую промт
  • Возможность использования вложений в «негативных промтах»

На последнем пункте мы остановимся отдельно.

Как и зачем использовать embeddings - текстовые инверсии в негативных промтах?

Embedding, которое по сути представляет собой токен (или, точнее, группу токенов, хотя мы не будем здесь вдаваться в эти детали), может быть размещено везде, где необходимо текстовое описание. Сюда входит раздел «Negative Prompt».

Существуют специальные Embeddings, созданные для использования в негативных промтах.

Зачем это нужно?

Это просто: вы можете указать в отрицательном промте все, что не хотите отображать в создаваемом вами контенте.

Например:
(deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), (text, watermark:1.1), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation

Альтернативно вы можете просто использовать слово «easynegative». EasyNegative — это встраивание с сайта civitai.com (https://civitai.com/models/99201), которое отфильтровывает нежелательные мутации в ваших генерациях.

Чтобы установить NP (Negative Prompt) в бота @yes_ai_bot, у вас есть два варианта:

  • Глобальная настройка: используйте команду /np easynegative
  • Отдельные настройка: добавьте /np easynegative с текстом промта

В этих примерах мы использовали «easynegative» как промт для исключения нежелательных элементов из генерации. Однако вы можете выбрать другие эмбеддинги, специально разработанные для использования в Negative Prompt.

Ключевые моменты про эмбеддинги:

  • Embeddings и текстовые инверсии относятся к одной и той же концепции, грубо говоря это одно и то же
  • Ограничения Embeddings. Одним из основных недостатков текстовых инверсии является то, что они ограничивают нейронную сеть генерацией контента на основе существующей базы знаний. Встраивания направляют нейронную сеть к конкретным объектам в уже существующей базе данных, но не расширяют эту базу данных. Чтобы расширить базу знаний ИИ, следует использовать LoRA
  • Изменение существующих Embeddings. Если вам нужно изменить фундаментальный аспект существующего Embeddings, например исходный цвет волос персонажа, вам следует указать желаемый цвет перед эмбеддингом в промте. Например: «белые волосы, 4nj0lie».
  • Корректировка весовых коэффициентов. Если описанный выше метод не работает, попробуйте увеличить весовой коэффициент. Например: «((белые волосы)), 4nj0lie».
  • Запасной вариант: Если корректировка весового коэффициента по-прежнему не помогает, это означает, что автор встраивания не предвидел таких изменений. В этом случае вам нужно будет вручную описать имя, изображение, стиль и т. д., не используя встраивание.
  • Роль инверсии текста. Инверсия текста (или Embeddings) предоставляет точный текст для промта, указывая нейронной сети, что именно генерировать.
  • Компоненты Embeddings. Эмбеддинг включает промт, которое уже содержит токены, которые служат основой для генерации. Помимо токенов, инверсии текста также содержат информацию о нужных изображениях.
  • Negative Prompt. Текстовые инверсии можно использовать в негативном промте, как и любое другое слово. Это особенно полезно для исключения нежелательных элементов. Например, можно добавить инверсию текста «EasyNegative», чтобы отфильтровать многие нежелательные функции. Хотя вы все еще можете использовать традиционный метод перечисления негативных промтов, инверсия текста не менее эффективна.
  • Поддержка весов: инверсия текста поддерживает вес, аналогично обычным токенам в подсказках.

 

  • Like 4
  • Лайк 3
  • Благодарность 1

image.png.9d5b4205072e7e483a6f7d59aebe58e3.pngimage.pngimage.png.401b8a419d2091e7d0b7f9d60646a724.png

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Популярные темы

  • Свежие сообщения

    • Работа с нейросетью Midjourney может быть захватывающим процессом, но также она может преподнести немало сложностей и неурядиц. Чтобы избежать проблем и максимально эффективно использовать возможности этой платформы, важно знать, чего следует избегать в промптах и как правильно их составлять. ### Чего не стоит делать в промптах 1. **Двусмысленности и неопределенности**: Избегайте использования слов, которые могут иметь несколько значений. Например, слова как 'странный', 'необычный' могут быть интерпретированы по-разному и привести к неожиданным результатам. 2. **Слишком общие запросы**: Запросы типа 'красивый пейзаж' могут привести к слишком общим и неинтересным изображениям. Старайтесь быть конкретными и детализированными. 3. **Сложные конструкции**: Избегайте сложных и запутанных фраз. Простота и ясность — ключ к успешному промпту. 4. **Забудьте про контент 18+** Хотя MIDJOURNEY и будет иногда вас ошарашивать своими генерациями, но сами никогда не задавайте таких генераций, там все равно ни эстетики ни удовольствия. ### Что нужно учитывать при составлении промптов 1. **Конкретность и детализация**: Чем более конкретно вы опишете желаемый результат, тем точнее будет сгенерированное изображение. Указывайте детали, такие как цвет, стиль, атмосфера и т.д. 2. **Использование ключевых слов**: Создайте библиотеку ключевых слов, которые дают хорошие результаты. Это поможет вам быстрее и точнее формулировать запросы. 3. **Параметры и команды**: Изучите доступные параметры, такие как '--chaos', — sref, —которые могут помочь в создании разнообразных вариантов одного и того же запроса. ### Возможные сложности и как их избежать 1. **Проблемы с генерацией**: Иногда Midjourney может не справляться с определенными запросами. В таких случаях попробуйте переформулировать запрос, изменив порядок слов или добавив больше деталей. 2. **Ограничения алгоритма**: Понимайте, что алгоритм может иметь 'слепые зоны' и не всегда способен следовать последним трендам. Это требует дополнительной тренировки AI. 3. **Медленная генерация**: Если изображения генерируются медленно, проверьте, не закончились ли у вас 'быстрые часы'. В противном случае, будьте готовы к ожиданию. ### Советы по созданию промптов 1. **Начните с простого**: Для первого промпта используйте простую и ясную фразу. Постепенно добавляйте детали и усложняйте запросы. 2. **Стремитесь к ясности**: Всегда проверяйте, чтобы ваш промпт был понятен и не содержал двусмысленностей. 3. **Автоматизация процесса**: Создайте шаблоны для часто используемых запросов, чтобы ускорить процесс написания промптов. ### Действия при получении предупреждений 1. **Анализируйте промпт**: Если вы получили предупреждение, внимательно проанализируйте свой промпт. Попробуйте понять, какие слова или фразы могли вызвать проблему. Не стоит раз за разом отправлять тот же промпт с чуть измененными словами, лучше остановитесь и все же начните анализировать.  2. **Обратитесь за помощью**: Если не удается самостоятельно решить проблему, обратитесь к chat gpt с образцом промпта. Он поможет проанализировать и предложит решения, еслили вы не специально нарушаете правила пользования нейросеткой, то зачастую этого будет достаточно для предотвращения последующих нарушений. 3. **Используйте интернет**: Если необходимо, откройте доступ в интернет chat gpt через функцию +web для поиска дополнительной информации, вряд ли вам понадобится  данная функция, но все же на всякий случай не забывайте что так можно поступить при возникновении нерешаемой самостоятельно проблемы, ### Инструкция для общения с чатиком 1. **Формулируйте вопрос четко**: Опишите проблему и приложите образец промпта. 2. **Будьте готовы к уточнениям**: Возможно, ему понадобится больше информации для точного ответа, но скорее всего будет достаточно отправить просто промпт, но если что не забываем функцию +web. 3. **Следуйте рекомендациям**: После получения ответа, внимательно следуйте предложенным рекомендациям для исправления ошибки. 4. Отправляя ссылки на изображения загруженные на постинги фотографий, внимательно осмотрите и проанализируйте свои фотографии, они могут содержать запрещённые  элементы, даже если вам кажется что такого у вас то точно уж нет, человеческий фактор никто не отменял. 5. Обязательно ознакомьтесь со статьей по ссылке внутри бота про модификаторы и их правильность расположения и деятельности на друг друга, для точных генераций вашей фантазии это очень важно. Конечно не забывайте про обучение внутри бота. P.S. и не стоит надоедать  support, он настолько занят, что вы будете ждать его все оставшиеся время пользования ботом. ждать и мучаться от ожидания чтобы разобраться в ситуации. Лучше возбмите себе в привычку работать с chat GPT, так вы не только сможете получить возможно нужный для вас ответ на заданный вопрос, но и повысите свой личный опыт и уровень в работе с этой незаменимой для всей деятельности при работе с другими нейросетями. 💓 Желаю вам удачи и прекрасных генераций для выполнения ваших самых давних фантазий, что так давно были скрыты, но не забыты, а сейчас могут явить себя во всей своей красоте на потеху и радость для всех, а не только у себя в голове. 💓 ⚠️ Следуя этим советам и рекомендациям, вы сможете избежать многих проблем и максимально эффективно использовать возможности MIDJOURNEY. GLHF ⚠️  
    • Счастлив по жизни    Куплет: Пусть много проблем нам по жизни даётся, Уверенней сердце от стимула бьётся.  И сладость награды всю не осознать,  Когда до неё было просто шагать.    Открой же пошире глаза, посмотри: Как много всего встретил ты на пути, Без сложностей этих, ошибок и боли  Как закалил бы свою силу воли?    Припев: Ведь если я справился, сможешь и ты,  Получится всё — себя в руки возьми.    Я счастлив по жизни и всё хорошо.  Ну что, вы скажите, мне нужно ещё?  Здоровье, к несчастью, подводит меня,  Но как-то справляюсь, привет вам, друзья!    Куплет 2: Вы сможете сложности все победить,  Тогда ещё больше захочется жить.  С улыбкой приятно по жизни шагать,  Без грусти, не плакать и не унывать.    Добившись чего-то, к чему-то придя,  Тех, кто был рядом, ты помни всегда.  Скажи им и Богу большое спасибо —  Вот так! Молодец! Это было красиво!    Припев: (3 раза) Ведь если я справился, сможешь и ты,  Получится всё — себя в руки возьми.    Я счастлив по жизни, и всё хорошо,  Ну что, вы скажите, мне нужно ещё?  Здоровье, к несчастью, подводит меня,  Но как-то справляюсь, привет вам, друзья!   Эта песня на музыкальных площадках, слушайте с удовольствием:    Rutube: rutube.ru/video/a5f8a3b1f44a35aaa42ff2337be75429/?r=a   YouTube:  youtu.be/iJlbCRu0FoM?si=3DmEDJJ9Fnio3UQI
    • ☕ Доброе утро, дорогие друзья!   🎶 С радостью хочу поделиться с вами своей новой песней "Счастлив по жизни". Эта композиция посвящена тому, как важно находить свет даже в самых сложных ситуациях и как преодоление трудностей помогает нам стать сильнее.   🔊 Я приглашаю вас ознакомиться с текстом песни и послушать её на различных площадках, что кому удобнее.    📝 Ваши отзывы и поддержка очень важны для меня! Надеюсь, эта песня вдохновит вас так же, как вдохновила меня на её создание.    Всем желаю хорошего дня, отличного настроения и счастья по жизни! 👍🫶🤝  
×
×
  • Создать...