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

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 эмодзи.

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

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

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

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

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

    • OpenAI находится на финальной стадии внедрения функционала «Видение в реальном времени» в ChatGPT. Пользователям будет предоставлена возможность взаимодействия с искусственным интеллектом с использованием видеокамеры, что позволит системе анализировать и осуществлять комментирование окружающей среды. В рамках демонстрации возможностей работы с видеокамерой в усовершенствованном режиме обработки голосовых команд (Advanced Voice Mode) в ChatGPT, OpenAI воздержалась от уточнения времени выхода функции из альфа-версии. Были обнаружены кодовые строки, указывающие на то, что данная функция, скорее всего, будет именоваться как «Видеонаблюдение в реальном времени» (Live camera) и в ближайшее время станет доступной в бета-версии ChatGPT. Многочисленные пользователи уже активно применяют ChatGPT как в профессиональных, так и в личных целях. Внедрение функций камеры в ChatGPT предвещает значительное расширение сфер применения данного инструмента, включая, например, сферу образования, дизайн и решение повседневных задач. Возможность получать незамедлительные рекомендации и анализ от искусственного интеллекта посредством видео в режиме реального времени предоставляет новые перспективы для улучшения пользовательского взаимодействия. Усовершенствованный режим обработки голосовых команд делает общение более приятным, однако пользователи с нетерпением ожидают появление визуальных функций. По всей видимости, функционал Live Video в ChatGPT готовится к масштабному внедрению. Когда OpenAI объявила о выходе GPT-4o в мае 2024 года, компания акцентировала внимание на расширенных возможностях обработки видеопотока в рамках усовершенствованного режима обработки голосовых команд. Эти инновации обещают внести значительный вклад в повышение интерактивности и функциональности ChatGPT, предоставляя пользователю возможности не только вести диалог, но и делиться визуальным контентом для более основательного анализа и получения обратной связи. Во время презентации было показано, как новый режим умеет распознавать объекты в кадре, такие как собака, запоминать их названия, идентифицировать мяч и ассоциировать эти элементы с определенными действиями, например, игрой в мяч. Презентация произвела впечатление своей способностью к быстрому и точному реагированию на происходящее без необходимости ручного ввода данных. Это опыт сродни разговору через видеосвязь с живым человеком. Купоны на 50 балов: yesaibot-1e8c6848fc:0a5793f61056 yesaibot-885acf22f7:4e3f946dd97c
    • 🪄 Объявляем еженедельный конкурс нейроволшебников! Активируйте любую нейросеть для геерации изображений в @yes_ai_bot Сгенерируйте изображение любого героя (или нескольких героев) из вселенной "Marvel". Если вы не знаете, какие герои есть в данной вселенной, ChatGPT может вам подсказать! Нажмите на кнопку «Репост на форум» под получившейся генерацией (изображение будет автоматически размещено на forum.yesai.su). ! На голосование будут отобраны изображения, которые наберут наибольшее количество лайков на самом форуме. Итоги будут подведены 25 ноября путем голосования.   🎁 Всех победителей ждут ценные призы от компании: 3 победителя голосования получат неделю ежедневных начислений ⭐️ баллов в боте 👍 Ai Да пребудет с вами нейросила 🪄
    • Ученые из Университета Джонса Хопкинса сделали значительный шаг в области медицинской робототехники, разработав робота, который, обучаясь на видео с операциями опытных хирургов, смог выполнять хирургические процедуры так же успешно, как и люди. Используя метод имитационного обучения, исследователи обучили роботизированную систему da Vinci выполнять три ключевых задачи: манипуляцию иглой, подъем тканей и наложение швов. Робот, обученный на основе сотен видео, записанных во время операций, продемонстрировал высокую точность и способность адаптироваться к новым условиям. В отличие от традиционного программирования, которое требует ручного ввода каждого шага, новая модель позволяет ускорить процесс обучения и снизить количество медицинских ошибок. Модель искусственного интеллекта прошла обучение на множестве видеозаписей хирургических процедур, что улучшило её умение предугадывать нужные действия и подстраиваться под изменения в окружающей обстановке.   По словам старшего автора исследования, профессора Акселя Кригера, эта технология открывает новые горизонты для автономной хирургии, где роботы смогут выполнять сложные операции без помощи человека. Исследователи уверены, что это достижение приведет к более точным и безопасным хирургическим вмешательствам в будущем.  
×
×
  • Создать...