Открыть сервис

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 →