Найти тему
Любаша (Ваша Любаша)

Stable diffusion управление промптом: [(Веса)], CFG Scale

Продолжаем эксперименты со словами, пытаемся уйти от "да так само получилось" к "получилось как просил"

Пытаемся настроить веса. Мне кажется проще всего построить модельку на чем-то привычным, где есть стандартное состояние и нестандартное, как например трава. Мы знаем что трава в основном зеленая. Вопрос - насколько сильно будет зависеть итоговое изображение при смене порядка в цветах.

Недавно начался цикл статей посвященных Stable Diffusion. Ссылка на первую и предыдущую часть

Да, будет много травы в этом выпуске

Действительно, процент покрытия кадра цветом сместился ближе к первому обозначенному цвету. При том что синий цвет у травы так и не появился, но появились третьи цвета, оранжевый и бежевый оттенки
Что интересно - зеленый цвет появлялся в кадре, даже когда этого цвета не было обозначено в запросе вовсе.

Выводы:

  1. Близость слова к началу имеет значение, увеличивает акцент внимания
  2. На эффективность слова влияет также обученность сети. Независимо от запроса - зеленая трава будет стремиться появиться в кадре
  3. Какие-то свойства могут вовсе выпасть из запроса. В кадре в ходе экспериментов всегда был - первый указанный цвет и самый популярный цвет, все остальные - могли выпасть вовсе, словно их и не было

В случае запроса с множественным цветом травы - вы не сможете воспроизвести примерно ту же картину явно не указав этого, рандомный цвет травы - это разные оттенки зеленого, но никак не красная, синяя или черная

Без указания акцентов - программа не нарисует вам малопопулярный вариант, то есть всё что вы не указали в запросе - будет заполнено "обычным содержанием"

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

И насколько программа будет стремиться заполнить содержание популярным образом

Поскольку несуществующую траву можно интерпретировать как незнание модели о каком-то явлении, которое возможно вы будете подбирать в будущем. Модель она же не сообщает о том насколько ей знакомо каждое слово, она тупо рисует

Продолжаем эксперимент

Значение CFG Scale - насколько сеть придерживается запроса, и да - сложные запросы реально показывают что параметр влияет на следование. Только программа жулиничает, просто режет кадр на несколько независимых картинок на каждой из которых будет что-то из запроса

До этого моменте все CFG Scale - были равны 7

Вывод:

CFG Scale - реально влияет на запрос. При очень низких значениях - будет максимально "обычный кадр" с небольшим акцентом на промт. При очень больших значениях - кадр будет разрезан и таким образом буде каждый запрос соблюден. (Это происходит где-то около значения 13)

Насколько CFG Scale влияет на веса слов? Возможно ли что при строгом следовании запросу - программа стремиться распределить веса поровну, а не так как ей хочется?

Как показали эксперименты - при любой шкале CFG - веса и предпочтения отдаются обученности сети. Ни при каком из вариантов - синей травы в кадре не было больше по объему чем зеленой.

Далее: А можно ли заставить сеть нарисовать в кадре синей травы больше чем зеленой и к какие манипуляции нужно для этого использовать?

Скобки - да, помогают
Повторение фразы - помогает
Удаление популярного варианта из запроса - помогает

На примере последнего варианта хорошо видна общая композиция сцены - сцена разбивается на рисование того что описано и на фон. Достаточно часто на полученных результатах можно увидеть кружки или прямоугольники под объектом

Негативный промт - позволил оказать влияние на фон, а вот указание явного фона в основном запросе на фоне никак не отразилось. Это нам может понадобиться для дальнейших экспериментов

Последний эксперимент - усиление через скобки - влияет на общую картину или влияет только на вес среди соседних слов? Да, влияет. Усиление эффекта приводит к усилению его между популярными вставками. Получается что сцена может содержать описанные промтом векторы и вакуум. Это очень важное следствие, которое обязательно понадобится в будущем

Вывод: Prompt stabble diffusion - хитрая и изворотливая штука. Как запрос ни строй - всегда будет стараться подсунуть что-то своё, даже если может физически сделать как просят. Значит - не до конца умеем готовить. Единственный вариант когда всю траву удалось покрасить синим - было запрет зеленой травы.

Хоть пример и основан на скучной никомуненужной траве, но он показывает на этой основе и отношение к любым другим деталям. Есть обученное (популярное) состояние модели, которое будет стремиться замкнуть любые спорные места и есть то что хотим мы. Естественно мы хотим конкретного и не всегда это будет популярно

Ура, синяя трава победила. Всем спасибо

Все дальнейшие материалы по теме Stable diffusion будут выходить на отдельном канале

#StableDiffusion #Automatic1111