Latent space
- Автор: Команда PhotoPanda
- Обновлено
- 2 мин чтения
- 92 просмотра
Определение
Латентное пространство — сжатое математическое многообразие, в которое нейросеть отображает данные. У современных диффузионных моделей изображение 512×512 пикселей превращается в латент 64×64×4 числа — на 48 порядков компактнее. Все вычисления модель проводит именно в латенте.
Определение латентного пространства
Латентное пространство (от лат. latens — скрытый) — математическое многообразие, в которое модель отображает входные данные с сохранением смысловой структуры, но в существенно меньшей размерности. Концепция фундаментальна для автоэнкодеров (VAE — Kingma, Welling, 2013), GAN и современных диффузионных моделей.
Пример из Stable Diffusion 1.5: фото 512×512 RGB — тензор 512×512×3 = 786 432 числа. VAE-encoder сжимает его в латент 64×64×4 = 16 384 числа — в 48 раз меньше. Все шаги диффузии (50–100 итераций денойза) происходят с этим маленьким тензором. В конце VAE-decoder превращает финальный латент обратно в пиксели. Поэтому SD называется «latent diffusion».
Зачем нужно сжатие
Если бы SD работал прямо с пикселями, одна генерация требовала бы в десятки раз больше памяти и времени. До латентной диффузии (paper Rombach et al., декабрь 2021, arXiv:2112.10752) пиксельные модели вроде GLIDE и DALL-E 2 требовали кластера A100. Латентная диффузия позволила запускать text-to-image на потребительской GPU 8 ГБ VRAM — именно это обеспечило массовое распространение SD летом 2022 года.
Внутренняя структура латента не случайна — соседние точки соответствуют визуально похожим изображениям:
- Интерполяция: латент(кот) + латент(собака) пополам = промежуточное существо.
- Слот-вектор: разность
latent(улыбающийся) − latent(серьёзный)= вектор улыбки, прибавляется к другим латентам. - Inversion: подобрать латент, декодящийся в данное фото — основа image-to-image и редактирования.
В Midjourney, Flux.1, SDXL принцип тот же, размерность различается: SDXL — 128×128×4 для 1024×1024, Flux.1 — 128×128×16. Больше каналов латента = больше деталей при декодинге.
Связанные концепции
Латентное пространство — фундамент диффузионных моделей и Stable Diffusion. VAE — стандартный энкодер латента. U-Net — сеть, которая денойзит латент. GAN — альтернативный класс со своим латентом (часто 512-мерный вектор). Управление латентом — через ControlNet, LoRA, IP-Adapter. Латент-апскейл применяется при апскейле через диффузию (SeedVR2).
Частые вопросы
Почему 4 канала, а не 3 как у RGB?
VAE SD обучен так, чтобы 4 канала совместно несли больше информации, чем 3 канала RGB — это даёт более точную реконструкцию. Каналы абстрактные, не привязаны к цветам. У Flux.1 каналов 16 — ещё лучше качество при большом разрешении.
Можно ли увидеть, как выглядит латент?
Прямо — нет, это абстрактный тензор. Если вывести 4 канала как 4 grayscale-картинки, получаются размытые тоновые карты. В ComfyUI есть нода Decode Latent — показывает промежуточные шаги денойза, самый наглядный способ увидеть превращение латента в фото.
Чем латент VAE отличается от эмбеддинга CLIP?
VAE-латент — сжатое представление, из которого можно декодировать обратно в пиксели. CLIP-эмбеддинг — семантический вектор (768 или 1024 числа), описывающий «о чём» картинка, без возможности восстановить пиксели. В SD используются оба: CLIP текста — кондишн, VAE-латент — объект денойза.
Латент-апскейл — что это?
Апскейл в латентном пространстве: латент масштабируется (например, ×2), модель доуточняет детали через несколько шагов денойза. Быстрее и качественнее пиксельного апскейла на классических моделях, используется в SeedVR2 и tile-based пайплайнах.
Связанные термины
- Diffusion modelDiffusion model (диффузионная модель) — класс генеративных нейросетей, обученных последовательно добавлять и затем убирать шум из изображения. Основа Stable Diffusion, DALL-E 3, GPT Image 2 и SeedVR2. Обеспечивает фотореалистичную генерацию и редактирование.
- Stable DiffusionStable Diffusion — open-source diffusion модель текст-в-изображение от Stability AI (2022). Latent diffusion в 64×64×4 пространстве, U-Net + VAE + CLIP. Основа сотен производных моделей и сервисов.
- U-NetU-Net — архитектура свёрточной нейросети для семантической сегментации (Ronneberger et al., MICCAI 2015). Encoder-decoder с skip-connections в форме буквы «U». Основа для всех современных моделей сегментации.
- GAN (Generative Adversarial Network)GAN (Generative Adversarial Network, генеративно-состязательная сеть) — архитектура нейросетей из двух конкурирующих моделей: Generator создаёт синтетические изображения, Discriminator отличает их от реальных. Игра Zero-sum вынуждает Generator производить всё более реалистичные результаты.
- ControlNetControlNet — надстройка над диффузионными моделями, задающая структуру генерации по управляющему изображению: карте краёв, глубины, позе или сегментации. Позволяет точно контролировать композицию, не полагаясь только на текстовый промпт.
Материал подготовила
Команда PhotoPanda
Редакция сервиса обработки фото PhotoPanda.