Описание
Вариационные автокодировщики (VAE) основаны на традиционных автокодировщиках, которые обучают сжатое латентное представление входных данных. В то время как стандартные автокодировщики выдают одиночные значения для каждого латентного измерения, VAE используют вероятностный подход. Они формулируют энкодер, который выдает параметры, определяющие вероятностное распределение для каждого латентного атрибута, а не одно значение.
Такое вероятностное кодирование позволяет более тонко представлять данные. Например, при кодировании изображений лиц VAE может представлять такие атрибуты, как «улыбка», не как одно значение, а как распределение, более эффективно обрабатывая неоднозначные случаи, такие как Мона Лиза. Затем декодер производит выборку из этих распределений для реконструкции входных данных. Энкодер часто называют моделью распознавания, а декодер — генеративной моделью.
Основная статистическая мотивация VAE заключается в аппроксимации невычислимых апостериорных распределений, в частности p(z|x), с использованием вычислимого вариационного распределения q(z|x). Минимизируя дивергенцию Кульбака-Лейблера (KL) между этими распределениями, VAE стремятся сделать q(z|x) максимально близким к p(z|x). Этот процесс оптимизации приводит к функции потерь, состоящей из двух членов: правдоподобия реконструкции и члена дивергенции KL, который побуждает обученное распределение быть похожим на априорное распределение, обычно единичный гауссовский.
На практике энкодер выдает среднее значение и дисперсию для каждого латентного измерения, предполагая для простоты диагональную ковариационную матрицу. Используется «трюк репараметризации» для обеспечения обратного распространения ошибки через процесс выборки: случайная выборка ε извлекается из единичного гауссовского распределения, а затем преобразуется с помощью обученного среднего (μ) и дисперсии (σ) как z = μ + σε. Это позволяет оптимизировать параметры распределения, сохраняя при этом стохастичность.
Латентное пространство VAE характеризуется непрерывностью и гладкостью, что является значительным преимуществом по сравнению со стандартными автокодировщиками. Это гладкое латентное пространство облегчает генеративные задачи. Производя выборку из априорного распределения, декодер может генерировать новые экземпляры данных, похожие на обучающие данные. Например, VAE, обученные на цифрах MNIST, могут генерировать новые, реалистичные рукописные цифры, причем различные цифры занимают разные области латентного пространства и позволяют осуществлять плавные переходы между ними.
VAE ценны для задач, требующих надежного представления данных, обнаружения аномалий и генеративного моделирования. Их способность создавать плавные интерполяции между точками данных также делает их подходящими для таких приложений, как генерация промежуточных кадров в анимации или интерполяция между аудиосэмплами. Гибкость в назначении весов членам правдоподобия реконструкции и дивергенции KL позволяет точно настраивать баланс между точностью реконструкции и регулярностью латентного пространства, что приводит к созданию таких моделей, как дисссоциированные VAE.
Главное о Вариационные автокодировщики
Вероятностное кодирование латентного пространства
Возможности генеративного моделирования
Гладкое представление латентного пространства
Реконструкция входных данных
Архитектура энкодер-декодер
Трюк репараметризации для обучения
Дивергенция KL для согласования распределений
Предположение о единичном гауссовском априорном распределении
Обучение среднего и дисперсии для латентных распределений
Дисссоциированные латентные представления (с настройкой параметров)
Интерполяция между точками данных в латентном пространстве
Начало работы с Вариационные автокодировщики
Определить сеть энкодера: отобразить входные данные на параметры латентных распределений (среднее, дисперсия).
Определить сеть декодера: отобразить выбранные латентные переменные обратно для реконструкции входных данных.
Реализовать функцию потерь: объединить ошибку реконструкции и дивергенцию KL между обученным и априорным распределениями.
Применить трюк репараметризации: обеспечить поток градиентов через процесс выборки во время обучения.
Обучить модель: оптимизировать параметры сети с помощью обратного распространения ошибки.
Сгенерировать новые данные: произвести выборку из априорного распределения и пропустить через декодер.
Варианты использования Вариационные автокодировщики
- Генеративное моделирование
- Интерполяция данных
- Обнаружение аномалий
- Обучение представлений
- Генерация изображений
- Извлечение признаков
- Устранение шума в данных







