Вариационный автоэнкодер
Материал из MachineLearning.
| | Статья написана с использованием LLM DeepSeek и проверена участником К.А.Савицкий 23:44, 14 июль 2026 (UTC) |
Вариацио́нный автоэнко́дер (Шаблон:Variational autoencoder, VAE) — генеративная модель, основанная на глубоких нейронных сетях и байесовском выводе, которая обучается представлять данные в латентном пространстве меньшей размерности и генерировать новые правдоподобные примеры из этого пространства. В отличие от обычного автоэнкодера, VAE не просто сжимает и восстанавливает данные, а строит вероятностное распределение над латентными представлениями, что позволяет осуществлять направленную генерацию, интерполяцию и редактирование атрибутов.
Модель относится к классу глубоких генеративных моделей с латентными переменными и обучается методом стохастического градиентного спуска путём максимизации вариационной нижней границы правдоподобия (ELBO). Ключевой вклад оригинальной работы (Kingma & Welling, 2013) — переформулировка вариационного вывода таким образом, чтобы он был совместим с градиентной оптимизацией через трюк репараметризации.
Содержание |
Интуиция
Классический автоэнкодер учится отображать входной объект в вектор скрытого кода
и восстанавливать по нему
. Однако полученное латентное пространство часто оказывается нерегулярным — маленькие смещения в
могут приводить к бессмысленным декодированным образам, а случайный выбор
не гарантирует порождения реалистичного примера.
VAE решает эту проблему, моделируя латентное представление не как точку, а как вероятностное распределение. Энкодер выдаёт параметры нормального распределения (среднее и дисперсию
), из которого затем сэмплируется конкретный код
. Декодер, в свою очередь, задаёт распределение
. Обучение максимизирует правдоподобие восстановленных данных, одновременно удерживая латентное распределение каждого примера близким к стандартному нормальному априорному распределению
. Это обеспечивает непрерывность и гладкость латентного пространства: два близких в смысле метрики кода порождают похожие декодированные объекты.
История развития
Идея объединения нейросетевых автоэнкодеров и вариационного вывода восходит к началу 2010-х годов. Первые формулировки глубоких латентных гауссовских моделей и стохастического вариационного вывода с обратным распространением ошибки появились в неопубликованных заметках 2012 года. Каноническими считаются две одновременные работы 2013–2014 годов:
- Auto-Encoding Variational Bayes (Kingma & Welling, 2013) — представила VAE в современном виде, ввела трюк репараметризации для обучения через SGD, сформулировала ELBO и показала применимость к изображениям MNIST и Frey Faces.Шаблон:Sfn
- Stochastic Backpropagation and Approximate Inference in Deep Generative Models (Rezende, Mohamed, Wierstra, 2014) — независимо развила схожий подход, акцентировав связь с вариационным байесовским выводом, и предложила нормализующие потоки для более богатых апостериорных приближений.Шаблон:Sfn
После этого последовали многочисленные расширения: Conditional VAE (Sohn et al., 2015), β-VAE (Higgins et al., 2017) для разложенных (disentangled) представлений, VQ-VAE (van den Oord et al., 2017) с дискретными латентными кодами, иерархические VAE, а также гибриды с нормализующими потоками, диффузионными моделями и генеративно-состязательными сетями.
Математические основы
VAE — это вероятностная модель данных со скрытыми переменными
. Полное правдоподобие задаётся как:
где — априорное распределение, а
— функция правдоподобия, параметризованная декодером (обычно бернуллиевское для бинарных данных или гауссовское с фиксированной дисперсией для непрерывных).
Прямое вычисление интеграла или максимизация через EM-алгоритм невозможны из-за сложности истинного апостериорного распределения
. Вместо этого вводится аппроксимирующее распределение (энкодер)
, которое обучается вместе с декодером в рамках вариационного вывода.
Вариационная нижняя граница (ELBO)
Логарифм правдоподобия отдельного примера можно разложить как:
где — расстояние Кульбака — Лейблера, а
— вариационная нижняя граница (Evidence Lower BOund, ELBO):
Поскольку , ELBO является нижней оценкой маргинального правдоподобия. Максимизация ELBO одновременно увеличивает ожидаемое правдоподобие восстановления и регуляризует апостериорное распределение энкодера, приближая его к априорному
.
Трюк репараметризации
Градиент ELBO по параметрам энкодера содержит операцию сэмплирования
, которая блокирует обратное распространение ошибки. Трюк репараметризации переписывает сэмплирование как детерминированную функцию от вспомогательной случайной величины
:
где — поэлементное умножение. Это позволяет градиентам свободно проходить через
и
, и оптимизация выполняется обычным SGD.
Архитектура модели
Классический VAE состоит из двух нейронных сетей:
- Энкодер (вариационная аппроксимация)
— получает на вход данные
и выдаёт параметры латентного распределения: вектор средних
и вектор логарифмов дисперсий
(для численной устойчивости). Обычно это свёрточная (для изображений) или полносвязная архитектура.
- Декодер (генеративная модель)
— принимает латентный вектор
и параметризует распределение данных. Для изображений часто используется транспонированная свёрточная сеть, выдающая параметры Бернулли (пиксели 0/1) или среднее гауссовского распределения.
На этапе обучения сначала кодируется вход, затем с помощью репараметризации получают , после чего декодер восстанавливает
. На этапе генерации новые примеры порождаются путём сэмплирования
и пропускания его через декодер.
Латентное пространство
Благодаря регуляризации через KL-дивергенцию апостериорное распределение каждого примера «стягивается» к стандартному нормальному, а латентное пространство приобретает следующие свойства:
- Непрерывность: близкие точки
декодируются в семантически похожие объекты.
- Полнота: случайная точка, сэмплированная из
, с высокой вероятностью порождает осмысленный пример.
- Гладкая интерполяция: линейный переход между двумя латентными кодами даёт плавное морфирование объектов.
Эти качества делают VAE удобным для задач генерации, редактирования атрибутов (например, «добавить улыбку») и обучения интерпретируемых представлений.
Обучение модели
Функция потерь для одного объекта — отрицательная ELBO:
Первый член — ошибка восстановления. Для непрерывных данных он пропорционален среднеквадратичному отклонению , для бинарных — перекрёстной энтропии. Второй член — регуляризация, которая в гауссовском случае имеет аналитический вид:
где — размерность латентного пространства. На практике часто используют весовой коэффициент
перед KL-слагаемым (см. β-VAE), чтобы управлять балансом между качеством восстановления и регулярностью латентного пространства.
Обучение ведётся мини-батчами с помощью оптимизатора Adam или RMSProp. Поскольку ELBO — оценка правдоподобия, модель также позволяет вычислять перплексию и сравнивать различные конфигурации.
Основные разновидности
Conditional VAE (CVAE)
Добавляет условие (метка класса, атрибуты) на вход энкодеру
и декодеру
. Позволяет контролировать свойства генерируемых объектов.Шаблон:Sfn
β-VAE
Вводит множитель перед KL-членом:
. Более сильная регуляризация способствует выделению независимых факторов вариации в латентных размерностях (disentanglement), что улучшает интерпретируемость.Шаблон:Sfn
VQ-VAE (Vector Quantized VAE)
Использует дискретные латентные коды из обучаемого словаря векторов. Априорное распределение моделируется авторегрессионно (PixelCNN). Сочетает высокое качество сжатия и генерации, активно применяется в синтезе речи и изображений.Шаблон:Sfn
Иерархические VAE
Вводят несколько уровней стохастических латентных переменных , что позволяет улавливать глобальные и локальные структуры данных. Тренируются с использованием лестничных сетей или нормализующих потоков.
VAE-GAN гибриды
Совмещают декодер VAE с дискриминатором GAN, где потери от GAN улучшают визуальное качество генерируемых изображений, а VAE-регуляризация стабилизирует обучение.
Преимущества
- Принципиальная вероятностная основа: модель явно оптимизирует оценку правдоподобия, что даёт теоретически обоснованный критерий качества и возможность байесовского вывода.
- Структурированное латентное пространство: непрерывность и гладкость позволяют выполнять осмысленную интерполяцию, семантическую арифметику и направленную генерацию.
- Стабильное обучение: в отличие от GAN, VAE оптимизирует одну чёткую функцию потерь без минимаксных игр, что упрощает тренировку и снижает риск расходимости.
- Интерпретируемость: модификации типа β-VAE способствуют разложению факторов вариации, что ценно для научных приложений и обучения представлений.
Ограничения
- Размытость генерации: стандартный VAE с поэлементной независимой функцией правдоподобия (MSE или кросс-энтропия) часто порождает усреднённые, размытые изображения. Это связано с тем, что модель оптимизирует пиксельное правдоподобие, а не перцептивное качество.
- Постериорный коллапс: в мощных декодерах (особенно авторегрессионных) KL-член может «схлопнуться», и энкодер начнёт игнорировать вход, выдавая априорное распределение; модель превращается в обычный генератор без осмысленного латентного кода.
- Предположение о факторизованном апостериорном: диагональное гауссовское приближение
может быть недостаточно выразительным для сложных данных, что ограничивает точность приближения.
- Трудности с дискретными данными: хотя VAE справляется с бинарными изображениями, моделирование текста и других дискретных последовательностей требует дополнительных приёмов (Gumbel-Softmax, дискретные латентные переменные).
Современные применения
- Генерация изображений и видео: VAE используются как компоненты диффузионных моделей (Latent Diffusion Models, Stable Diffusion) для сжатия в латентное пространство перед диффузией.
- Синтез речи и музыки: VQ-VAE и его варианты (WaveNet, Jukebox) преобразуют аудиосигналы в дискретные коды и обратно, обеспечивая высококачественный нейронный синтез.
- Обучение разложенных представлений (disentanglement): β-VAE и FactorVAE применяются для выделения независимых факторов (освещение, поза, цвет) без учителя, что важно для интерпретируемого ИИ.
- Реконструкция и восстановление данных: VAE используются для заполнения пропущенных участков, шумоподавления и сжатия данных с контролируемым качеством.
- Молекулярный дизайн и биоинформатика: генеративные VAE генерируют молекулярные структуры с заданными свойствами, в том числе в SMILES-представлениях.
См. также
- Автоэнкодер
- Генеративно-состязательная сеть (GAN)
- Диффузионная модель
- Нормализующие потоки
- Вариационный вывод
- ELBO
- β-VAE
- VQ-VAE
Примечания
Литература
- Kingma, D. P., Welling, M. Auto-Encoding Variational Bayes // Proceedings of the International Conference on Learning Representations (ICLR). — 2014.
- Rezende, D. J., Mohamed, S., Wierstra, D. Stochastic Backpropagation and Approximate Inference in Deep Generative Models // Proceedings of the 31st International Conference on Machine Learning (ICML). — 2014. — С. 1278–1286.
- Sohn, K., Lee, H., Yan, X. Learning Structured Output Representation using Deep Conditional Generative Models // Advances in Neural Information Processing Systems (NeurIPS). — 2015. — С. 3483–3491.
- Higgins, I., Matthey, L., Pal, A. et al. beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework // Proceedings of the International Conference on Learning Representations (ICLR). — 2017.
- van den Oord, A., Vinyals, O., Kavukcuoglu, K. Neural Discrete Representation Learning // Advances in Neural Information Processing Systems (NeurIPS). — 2017. — С. 6309–6318.
- Goodfellow, I., Bengio, Y., Courville, A. Deep Learning. — MIT Press, 2016. — ISBN 978-0262035613 (Глава 20. «Deep Generative Models»).

