Stable Diffusion и GAN на собеседовании Data Scientist

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Зачем разбирать на собесе

Generative модели — топовая тема DS / CV. На собесе: «как работает diffusion», «отличие GAN», «что такое CFG».

GAN: архитектура

Generative Adversarial Network (Goodfellow 2014).

Два сеточки соперничают:

  • Generator G. Из шума z создаёт fake image.
  • Discriminator D. Различает real vs fake.

Loss (minimax):

min_G max_D E[log D(x_real)] + E[log(1 - D(G(z)))]

G учится обмануть D. D учится не обманываться. В идеале — Nash equilibrium, G выдаёт правдоподобные изображения.

Проблемы GAN:

  • Mode collapse — G выдаёт ограниченный набор.
  • Нестабильное обучение.
  • Сложно контролировать output.

Эволюция:

  • StyleGAN — высокое качество faces.
  • BigGAN — class-conditional.
  • CycleGAN — image-to-image без paired data.

В 2026 — для генерации diffusion обходит GAN. Но GAN всё ещё используется в специализированных (super-resolution, real-time).

Diffusion: forward / reverse

Diffusion model. Идея: пошагово добавлять gaussian noise к real image (forward). Учить модель обращать процесс (reverse) — восстанавливать image из noise.

Forward (fixed):

x_0 (image) → x_1 → x_2 → ... → x_T (noise)

На каждом шаге добавляем noise по schedule (β_t, σ_t).

Reverse (learned):

x_T (noise) → ... → x_1 → x_0 (image)

Модель ε_θ(x_t, t) предсказывает добавленный noise. Обучение — MSE между предсказанным и истинным noise.

Inference: старт из чистого noise, итеративно denoising T шагов (20-1000).

Stable Diffusion (Latent Diffusion)

Проблема с pure diffusion. Работа в pixel space — медленно (1024×1024 dimensional).

Stable Diffusion (Rombach 2022).

  1. Encoder VAE. Image (512×512×3) → latent (64×64×4) — 48× меньше.
  2. Diffusion в latent space. Быстрее.
  3. Decoder VAE. Latent → final image.

Conditioning.

  • Text → CLIP text encoder → cross-attention в U-Net (denoiser).
  • Image → IP-Adapter.
  • Pose / depth → ControlNet.

Classifier-Free Guidance (CFG). Trick для усиления условности:

ε_predicted = ε(x, t, c=null) + scale · (ε(x, t, c=text) - ε(x, t, c=null))

Scale 5-15 — стандарт. Большее → ближе к prompt, но менее разнообразно.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

GAN vs Diffusion

GAN Diffusion
Качество (2026) Хорошее Лучше
Скорость inference 1 forward pass 20-50 forward passes
Стабильность обучения Сложно Стабильно
Conditioning Сложно Легко (cross-attention)
Diversity Ограниченная (mode collapse) Хорошая
Память Меньше Больше

Тренд. Generative задачи мигрируют на diffusion. GAN остаются в нише real-time, super-resolution.

Применения

Stable Diffusion / DALL-E / Midjourney:

  • Text-to-image generation.
  • Inpainting / outpainting.
  • Style transfer (через ControlNet, LoRA).

Image super-resolution:

  • Real-ESRGAN (GAN-based).
  • Stable Diffusion Upscale.

Video generation:

  • Sora (OpenAI), Veo (Google), Runway.
  • Diffusion + temporal layers.

Music / audio:

  • Suno, ElevenLabs.
  • Stable Audio (latent diffusion).

Частые ошибки

Слишком много steps в diffusion. На > 50 шагов прирост качества крошечный, latency растёт.

CFG slope=1. Без guidance — слабое следование prompt. Слишком высокое (>20) — артефакты.

GAN с очень глубоким discriminator. Дисбаланс — D всегда выигрывает, G не учится. Tune learning rates.

Не использовать negative prompts. В Stable Diffusion negative prompt («blurry, low quality») заметно улучшает.

Латент VAE неправильно нормирован. Если SD 1.5 vs SDXL — разные VAE, разные scale factors.

Связанные темы

FAQ

Diffusion на CPU работает?

Слишком медленно для серьёзного использования. GPU minimum 8GB VRAM. Quantized / distilled модели на edge — есть.

Что такое DDIM?

Deterministic sampler, ускоряет inference. Стандартный sampler в Stable Diffusion.

Это официальная информация?

Нет. Статья основана на работах (Goodfellow GAN 2014, Ho DDPM 2020, Rombach Stable Diffusion 2022).


Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.