VAE (вариационный автоэнкодер)
VAE (Variational Autoencoder, вариационный автоэнкодер) — нейросеть, сжимающая изображение в компактное латентное пространство и восстанавливающая его обратно. Основа Stable Diffusion: диффузия идёт в latent 64×64×4, а VAE-decoder превращает результат в пиксели.
VAE (Variational Autoencoder, вариационный автоэнкодер) — тип генеративной нейросети, которая учится сжимать изображение в компактное латентное пространство (latent space) и восстанавливать его обратно с минимальными потерями. В отличие от обычного автоэнкодера, VAE кодирует картинку не в одну точку, а в распределение вероятностей (среднее μ и дисперсию σ), что делает латентное пространство непрерывным и позволяет генерировать новые правдоподобные изображения, а не только копировать входные.
Как устроен VAE
Классический VAE состоит из двух частей:
- Encoder — сжимает изображение (например 512×512×3) в латентный тензор малого размера. В Stable Diffusion это 64×64×4 — сжатие в ~48 раз по числу элементов.
- Decoder — восстанавливает пиксельное изображение из латента.
Между ними — «бутылочное горлышко» (bottleneck), где живёт сжатое представление. Обучение идёт с двумя лоссами: reconstruction loss (насколько точно decoder восстановил вход) и KL-дивергенция (насколько латентное распределение близко к нормальному). Баланс между ними определяет качество и «гладкость» латентного пространства.
Зачем VAE диффузионным моделям
Главная роль VAE в 2026 году — быть частью латентной диффузии. Диффузионная модель в Stable Diffusion работает не с пикселями напрямую, а с латентами VAE:
- VAE-encoder сжимает картинку в latent 64×64×4.
- U-Net выполняет прямую и обратную диффузию (денойзинг) в этом сжатом пространстве — это в 8–16 раз дешевле по вычислениям, чем работа с полными пикселями.
- VAE-decoder превращает финальный чистый латент обратно в изображение.
Именно поэтому SD и производные (FLUX.1 Kontext, Seedream 4) могут генерировать 1024×1024 на потребительской GPU: тяжёлая работа идёт в латенте, а VAE лишь один раз кодирует и декодирует.
Артефакты и ограничения VAE
Сжатие в 48 раз не бесплатно. Типичные проблемы VAE-decoder:
- Потеря мелкого текста — буквы и цифры «плывут», т.к. высокочастотные детали не помещаются в латент.
- Цветовые сдвиги и «пятна» на градиентах и коже.
- OOM на больших изображениях — decoder ест много VRAM. Решение — tiled VAE: изображение декодируется тайлами с перекрытием, что позволяет обрабатывать любой размер без нехватки памяти.
Для критичных задач применяют улучшенные VAE (например, с большим числом каналов латента) или отдельный refiner-проход. В апскейле Panda AI автоматический денойзинг частично идёт как раз на этапе VAE-decoder.
VAE, GAN и диффузия — в чём разница
VAE даёт стабильное обучение и осмысленное латентное пространство, но исторически проигрывал GAN в резкости (VAE-картинки были более «замыленными»). Современный подход объединяет сильные стороны: VAE отвечает за компактное представление, а диффузия в этом пространстве — за детализацию и разнообразие. Отдельная ветка — VQVAE (векторно-квантованный VAE), которая лежит в основе моделей восстановления лиц CodeFormer и используется в восстановлении лиц.