Содержание статьи
Борьба с выгоранием
При генерации картинок модели с архитектурой U-Net работают, постепенно удаляя шум и восстанавливая из него детали. Для этого используются два типа предсказаний: cond (conditioned) и uncond (unconditioned). Cond отражает предсказание, основанное на текстовом запросе (и других условиях — например, ControlNet). Uncond — «пустое» предсказание или предсказание, созданное на основе негативных ключевых слов, описывающих то, чего мы не хотим видеть в окончательном изображении.
Баланс между предсказаниями cond и uncond управляется параметром CFG (Classifier-Free Guidance), который служит своеобразным мультипликатором. Высокие значения CFG приводят к увеличению расстояния между предсказаниями и, соответственно, усилению вклада cond. Это повышает детализацию и точность следования запросу.
Минимальное значение параметра CFG — единица (однако его можно снизить до нуля редактированием файла настроек; дробные значения CFG могут оказаться полезными для работы некоторых типов семплеров), максимальное — 35, среднее — от 3 до 7.
С ростом CFG, помимо детализации, растут контраст и насыщенность (цветовой контраст) изображения. При низких значениях CFG на выходе будет блеклая, малоконтрастная картинка с высокой степенью креативности и слабым следованием запросу. Если же значение CFG поднять выше допустимого для модели максимума, то картинка выйдет детализированной, но «пережженной».
В статье «Фишки Flux.1. Добиваемся лучших картинок от новой генеративной модели» я немного рассказал о том, на что влияет CFG в модели Flux и как правильно выбрать его значение. Сегодня же я хочу поговорить о вариантах использования экстремальных значений CFG, как очень низких, так и чрезвычайно высоких.
Низкие значения CFG: высокая креативность, но низкий контраст
Начнем, пожалуй, с работы с низкими значениями CFG. Насколько низкими? В зависимости от модели, «низкими значениями» могут быть как CFG = 3, так и дробные CFG = 0,3...0,9. Плюсы низких значений CFG — креативность и разнообразие, а также более точное следование выбранному стилю (от карандашных набросков до фотореализма). Разработчики многих моделей, оптимизированных под реализм, рекомендуют использовать пониженные значения CFG для достижения максимальной фотореалистичности; более высокие значения в таких моделях создают более гладкие, «синтетические» изображения.
info
Значения CFG относительны, а определение «низких» и «высоких» значений CFG зависит от конкретной модели. В дистиллированных (Flux) и ускоренных (Lightning, Turbo, Hyper, DMD2) моделях нормой считаются значения CFG от 1 до 1,5, и проблем с контрастом это не вызывает. Реже встречаются модели, рекомендующие значения CFG порядка 11 — и также не имеющие проблем с контрастом.
Все хорошо, но низкие значения CFG приводят к созданию креативных и прекрасно стилизованных изображений, которые выглядят блекло. Бороться с этим помогают семплеры класса CFG++. Метод CFG++ (Manifold-Constrained Classifier-Free Guidance) помогает улучшить качество выборки и обеспечить более точное следование запросу. Не вдаваясь в технические подробности, скажу, что CFG++ помогает справиться с артефактами (смазанные границы, искажения, неестественные формы объектов). Например, метод может устранять проблемы, связанные с некорректным рендерингом (двойные хвосты у животных, руки с шестью и более пальцами, взаимопроникающие объекты и прочее).
Все эти преимущества достигаются при использовании семплеров класса CFG++ и при минимальных значениях шкалы CFG, в большинстве случаев меньших единицы (в reForge шкала CFG по умолчанию начинается с единицы). Чтобы получить возможность использовать дробные значения в диапазоне от 0 до 1, нужно отредактировать файл webui\
, найдя параметр txt2img/
и изменив его значение с единицы на ноль.
"txt2img/CFG Scale/minimum": 0,
Эти семплеры переопределяют шкалу CFG; при их использовании число шагов стоит выставить равным 50, а значение CFG выбрать дробным из промежутка от 0 до 1. Вот так, например, выглядит изображение, сгенерированное семплером DPM++ 3M SDE CFG++ при значении CFG = 0,7.
Для сравнения: обычный DPM++ 3M SDE отрабатывает с CFG = 4 следующим образом.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее