Classifier-Free Guidance
Classifier-Free Guidance (CFG) — это метод управления процессом генерации в диффузионных моделях (англ. diffusion models), позволяющий влиять на степень соответствия сгенерированного контента заданному условию (текстовому описанию, изображению, классу) без использования отдельной классифицирующей модели. Впервые предложен в 2022 году исследователями из Google Brain (организация, зарегистрированная в США) и университета Беркли в работе «Classifier-Free Diffusion Guidance».
Принцип работы
В основе CFG лежит модификация процесса семплирования (обратной диффузии) в диффузионных моделях, таких как Stable Diffusion, DALL-E, Imagen и Midjourney. Обычная диффузионная модель обучается предсказывать шум, добавленный к изображению, либо с учётом условия (например, текстового описания), либо без него. В процессе генерации модель может использовать как условное, так и безусловное предсказание.
CFG комбинирует эти два предсказания с помощью параметра w (guidance scale, коэффициент управления). Формула для вычисления скорректированного шума (или оценки) выглядит следующим образом:
\[ \epsilon_{\text{guided}} = \epsilon_{\text{uncond}} + w \cdot (\epsilon_{\text{cond}} - \epsilon_{\text{uncond}}) \]
Где:
- \(\epsilon_{\text{cond}}\) — предсказание шума при условии (например, с текстовым промптом);
- \(\epsilon_{\text{uncond}}\) — предсказание шума без условия (пустой промпт или нулевое условие);
- \(w\) — коэффициент управления, обычно принимающий значения от 0 до 10 и выше.
При \(w = 1\) модель генерирует изображение, соответствующее условному распределению. При \(w > 1\) усиливается влияние условия, что приводит к более точному следованию промпту, но может снижать разнообразие и качество. При \(w < 1\) генерация становится более случайной и менее привязанной к условию.
Отличие от Classifier Guidance
До появления CFG основным методом управления диффузионными моделями был Classifier Guidance (CG). В CG для коррекции процесса генерации использовалась отдельная обученная модель-классификатор, которая оценивала вероятность заданного класса на каждом шаге семплирования. Это требовало:
- Наличия обученного классификатора, совместимого с диффузионной моделью;
- Дополнительных вычислительных затрат на его инференс;
- Адаптации классификатора под зашумлённые данные на разных стадиях диффузии.
CFG устраняет эти недостатки, так как не требует внешнего классификатора. Вместо этого модель сама обучается как условному, так и безусловному предсказанию, что делает метод более простым, быстрым и универсальным.
Преимущества и недостатки
Преимущества
- Отсутствие внешнего классификатора — не требуется обучение или подбор дополнительной модели;
- Простота реализации — достаточно модифицировать процесс обучения, добавив случайное обнуление условия (обычно с вероятностью 10–20%);
- Гибкость — CFG работает с любыми типами условий (текст, изображения, аудио, видео);
- Высокая скорость — не требует дополнительных вычислений на классификацию;
- Лучшее качество — при правильном подборе \(w\) CFG позволяет получать более детализированные и соответствующие промпту изображения, чем CG.
Недостатки
- Чувствительность к параметру \(w\) — слишком высокое значение приводит к артефактам (перенасыщение, искажение, «пережёвывание»), слишком низкое — к слабой привязке к условию;
- Снижение разнообразия — при высоких \(w\) модель склонна генерировать похожие изображения для разных семплов;
- Необходимость обучения — модель должна быть обучена на задачу безусловной генерации, что требует модификации стандартного пайплайна.
Применение
CFG широко используется в современных генеративных моделях, особенно в области синтеза изображений по текстовому описанию (text-to-image). Основные области применения:
- Генерация изображений — Stable Diffusion (включая версии 1.5, 2.0, SDXL), Midjourney, DALL-E 3 (внутренние механизмы), Imagen;
- Генерация видео — модели вроде Video Diffusion Models, где CFG применяется для управления соответствием текстовому сценарию;
- Генерация аудио — AudioLDM, MusicGen, где CFG управляет соответствием звукового контента текстовому описанию;
- 3D-генерация — Point-E, Shap-E, DreamFusion, где CFG используется для управления формой и текстурой объектов;
- Редактирование изображений — методы inpainting и outpainting, где CFG помогает сохранять соответствие редактируемой области исходному контексту.
Параметр guidance scale
Значение guidance scale (\(w\)) является ключевым гиперпараметром при использовании CFG. Рекомендуемые диапазоны для разных задач:
- Text-to-image (Stable Diffusion): 7–12 (типичное значение 7.5);
- Inpainting: 5–10;
- Video generation: 3–7;
- Audio generation: 2–5.
При \(w > 20\) часто возникают сильные артефакты, а при \(w < 2\) генерация становится слабо управляемой. Оптимальное значение подбирается эмпирически для каждой модели и задачи.
Реализация в популярных моделях
Stable Diffusion
В Stable Diffusion CFG реализован по умолчанию. Пользователь может задать значение guidance scale через параметр guidance_scale в API или интерфейсе (например, в AUTOMATIC1111 WebUI). При значении 1 модель работает в режиме обычной условной генерации.
Midjourney
Midjourney использует собственный вариант CFG, где параметр управления называется «stylize» (стилизация) и «chaos» (хаос). Внутренние механизмы не раскрыты, но известно, что CFG применяется для баланса между точностью следования промпту и художественной свободой.
DALL-E 3
DALL-E 3 от OpenAI (организация, зарегистрированная в США) использует CFG в комбинации с другими методами (например, re-captioning), что позволяет достигать высокой точности при сохранении разнообразия.
Интересные факты
- CFG был предложен как альтернатива CG, который требовал обучения классификатора на зашумлённых данных — сложной и ресурсоёмкой задачи.
- В некоторых реализациях (например, в Imagen) используется динамическое изменение guidance scale в процессе семплирования — так называемый «dynamic thresholding» для предотвращения артефактов.
- Существуют модификации CFG, такие как rescaled CFG (RCFG), которые корректируют дисперсию предсказаний, улучшая качество при высоких \(w\).
- CFG может применяться не только к изображениям, но и к тексту — например, в диффузионных моделях для генерации текста (Diffusion-LM).
Источники
- Ho, J., & Salimans, T. (2022). Classifier-Free Diffusion Guidance. arXiv preprint arXiv:2207.12598.
- Dhariwal, P., & Nichol, A. (2021). Diffusion Models Beat GANs on Image Synthesis. Advances in Neural Information Processing Systems.
- Rombach, R., et al. (2022). High-Resolution Image Synthesis with Latent Diffusion Models. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.
- Saharia, C., et al. (2022). Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding. arXiv preprint arXiv:2205.11487.
- Nichol, A., et al. (2022). GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models. arXiv preprint arXiv:2112.10741.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →