Вероятностный : кодирует объект в распределение и учится генерировать из латентного пространства.
- реконструкция: насколько хорошо декодер восстанавливает объект из латентного кода
- регуляризатор: притягивает распределение кодов к нормальному, чтобы из него можно было сэмплировать
Ключевые тезисы
- = реконструкция + с приором.
- Reparameterization trick делает сэмплирование дифференцируемым.
- Латентное пространство непрерывно, поэтому интерполяция даёт осмысленные объекты.
Какую задачу решает
Обычный сжимает, но не умеет порождать: случайная точка его латентного пространства декодируется в мусор, потому что ничто не заставляло коды заполнять пространство плотно. чинит это, делая латент вероятностным.
Энкодер выдаёт не точку, а распределение — среднее и разброс. К лоссу добавляется KL-слагаемое, притягивающее эти распределения к стандартной нормальной. В результате латентное пространство оказывается плотно заполненным и непрерывным: из него можно сэмплировать, и любая точка декодируется в осмысленный объект. Цена — компромисс между точностью реконструкции и регулярностью пространства, из-за которого изображения выходят мягче, чем у .
Наивно: энкодер выдал и , мы вызвали z = sample(Normal(mu, sigma)) — и оборвался, потому что сэмплирование не дифференцируемо. Трюк переписывает то же самое как , где берётся до и от параметров не зависит. Распределение то же самое, но теперь и — спокойно течёт в энкодер. Вся случайность вынесена во вход, а не в операцию.
Подробный разбор
- KL-дивергенция: насколько одно распределение отличается от другого
- математическое ожидание — среднее по распределению
- объект: вектор признаков
- вероятность (или плотность распределения)
- распределение, предсказанное моделью
- функция потерь — то, что минимизируется при обучении
- норма — длина вектора
KL-слагаемое притягивает распределение кодов к стандартному нормальному. Благодаря этому латентное пространство остаётся плотным и непрерывным: можно сэмплировать и получать осмысленные объекты.
- нормальное распределение со средним μ и дисперсией σ²
- сигмоида: сжимает число в интервал от 0 до 1
- среднее значение
- малая константа для численной устойчивости
- объект: вектор признаков
- число объектов в выборке
Изображения выходят размытыми: пиксельная усредняет все правдоподобные варианты. Поэтому VAE редко используют как финальный , но часто — как компонент внутри более сложных систем.
Где применяется
- Латент для Главная современная роль: сжимает изображение в латент , и работает уже там. Без этого Stable Diffusion была бы непрактичной.
- Генерация с управляемым латентомНепрерывное пространство позволяет интерполировать между объектами и двигаться вдоль осмысленных направлений.
- В отличие от обычного даёт оценку — более обоснованный скор.
- Молекулы и материалыНепрерывное латентное представление дискретных структур позволяет вести оптимизацию свойств .
- РекомендацииВероятностный латент пользователя естественно моделирует неопределённость его вкусов.
Плюсы, минусы и альтернативы
Плюсы
- Настоящая генеративная модель: из приора можно сэмплировать и получать осмысленные объекты.
- Обучение устойчивое — обычный спуск, никакой игры двух сетей.
- Даёт оценку (через ELBO), которой нет у .
- Непрерывное и структурированное латентное пространство — удобно для интерполяции и редактирования.
- Отлично работает как компонент внутри более крупных систем.
Минусы
- Размытые изображения: пиксельная реконструкция усредняет правдоподобные варианты.
- Качество генерации заметно ниже, чем у и .
- Posterior collapse: при сильном декодере латент перестаёт использоваться.
- Баланс между реконструкцией и KL приходится настраивать (-VAE) — ещё один капризный .
- ELBO — только нижняя оценка, и насколько она близка к правде, неизвестно.
Брать, если
- Нужно вероятностное латентное пространство: интерполяция, редактирование, оптимизация в латенте.
- Нужен сжиматель для более крупной генеративной системы.
- Важна устойчивость обучения, а лёгкое размытие допустимо.
Не брать, если
- Нужны фотореалистичные изображения как конечный результат — берите диффузию.
- Нужна только реконструкция без генерации — обычный проще.
- Данные дискретные и последовательные: авторегрессионная модель даст точное .
Чем заменяют
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Генеративные модели · Байесовские вычисления
Bayesian Inference85%
Байесовский вывод · Теория вероятностей и распределенияПараметры модели рассматриваются как случайные величины; данные обновляют априорное распределение в апостериорное.
MCMC85%
Марковские цепи Монте-Карло · Теория вероятностей и распределенияСэмплирование из апостериорного распределения, когда его нельзя выписать: цепь строится так, чтобы её стационарное распределение совпадало с целевым.
Variational Inference85%
Вариационный вывод · Теория вероятностей и распределенияАпостериорное распределение не сэмплируют, а приближают простым семейством: вывод превращается в задачу оптимизации.
Maximum Likelihood85%
Метод максимального правдоподобия · Теория вероятностей и распределенияПодобрать параметры так, чтобы наблюдаемые данные были при них наиболее вероятны.
Markov Chains85%
Марковские цепи · Теория вероятностей и распределенияПроцесс, в котором будущее зависит только от текущего состояния. База для MDP, MCMC и моделей поведения пользователя.
KL Divergence85%
KL-дивергенция · Математический справочникНасколько распределение q плохо описывает распределение p; несимметрична и не является метрикой.
GAN80%
Генеративно-состязательные сети · Глубокое обучениеГенератор и дискриминатор обучаются в игре с нулевой суммой, повышая реалистичность выборок.
Diffusion Models80%
Диффузионные модели · Глубокое обучениеМодель учится обращать процесс постепенного зашумления, превращая шум в изображение за серию шагов.
Generative Models80%
Генеративные модели · Генеративный ИИМодели, обучающие распределение данных и умеющие порождать новые объекты из него.
Autoregressive Models80%
Авторегрессионные модели · Генеративный ИИПорождают объект по частям, каждый раз предсказывая следующий элемент по предыдущим.
VAE80%
Вариационный автоэнкодер · Генеративный ИИГенерация через непрерывное вероятностное латентное пространство.
GAN80%
GAN · Генеративный ИИСостязательная пара сетей, дающая резкие и реалистичные изображения.
Diffusion80%
Диффузия · Генеративный ИИИтеративное расшумление — текущий стандарт генерации изображений, видео и аудио.
Density Estimation80%
Оценка плотности · Обучение без учителяВосстановление распределения данных: где объекты встречаются часто, а где почти никогда.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Вероятностный энкодер
Выдаёт и — распределение кодов объекта, а не единственный код.
Разбор ниже: Вероятностный взглядKL-слагаемое
Штраф за отклонение от приора . Именно оно делает пространство пригодным для сэмплирования.
Разбор ниже: Вероятностный взглядELBO
Нижняя оценка : реконструкция минус KL. То, что реально максимизируется вместо неберущегося .
Разбор ниже: Вероятностный взглядReparameterization trick
: случайность выносится в независимый шум, и течёт сквозь сэмплирование.
Разбор ниже: Reparameterization trickPosterior collapse
Слишком сильный декодер игнорирует латент, KL уходит в ноль и код перестаёт нести информацию.
Разбор ниже: Вероятностный взглядГлава «Глубокое обучение» последний раз правилась . Нашли ошибку — напишите.