Автоэнкодеры (AE), вариационные автоэнкодеры (VAE) и β-VAE — все это генеративные модели, используемые в неконтролируемом обучении. Независимо от архитектуры все эти модели имеют так называемые структуры кодера и декодера. AE — это детерминированная модель, а VAE и β-VAE — вероятностные модели, основанные на обобщенном алгоритме EM (Максимизация ожидания).

В качестве аналогии представьте, что некой художественной галереей руководят г-н Э (Кодер) и г-н Д, которые хотят выставить большое количество картин. Хотя система такова, что у хозяев всего одна стена (скрытое пространство). Когда художник хочет повесить свою картину на стене, г-н Е назначает определенное место для своей картины на стене (встраивание), а затем выбрасывает оригинальную картину. Когда покупатель просит показать картину, г-н Д. пытается воссоздать картину, основываясь на месте на стене (реконструкция).

Знакомство с кодировщиком

Кодер состоит из ряда слоев нейронной сети, которые извлекают функции из изображения и встраивают или кодируют их в низкоразмерное скрытое пространство. Если кодировщик состоит из ряда слоев свертки, результирующая архитектура иногда называется CNN-VAE. Хотя было замечено, что CNN-VAE для данных изображения превосходят стандартные VAE многослойного персептрона (MLP). Следовательно, эти два термина используются взаимозаменяемо. Архитектура кодировщика обычно является сходящейся, поскольку скрытое пространство имеет меньшую размерность, чем входное пространство.

Понимание декодера

Декодер состоит из ряда слоев нейронной сети, которые пытаются воссоздать исходное изображение из низкоразмерного скрытого пространства. Архитектура декодера обычно отличается. Не обязательно, чтобы кодер и декодер имели одинаковую архитектуру, но на практике они обычно остаются одинаковыми. В случае CNN-VAE декодер состоит из слоев Convolution Transpose, которые позволяют повышать дискретизацию входных данных.

Автоэнкодер (AE)

В самой простой форме автокодировщика кодировщик и декодер обычно состоят из полностью связанных слоев (MLP или CNN). Целью обучения автоэнкодера является минимизация разницы между входными данными и их реконструированным выходом, которая обычно измеряется с использованием функции потерь, такой как среднеквадратическая ошибка или двоичная кросс-энтропия.

Автоэнкодеры можно использовать для различных задач, таких как шумоподавление, сверхвысокое разрешение изображения, обнаружение аномалий и кластеризация. Их также можно накладывать друг на друга для создания более глубоких архитектур, таких как глубинные автоэнкодеры или сверточные автоэнкодеры, способные фиксировать более сложные функции и закономерности во входных данных.

Одним из основных преимуществ автоэнкодеров является их способность выполнять обучение без учителя, что означает, что они могут научиться извлекать значимые функции из необработанных данных, не требуя помеченных данных. Это делает их полезными для задач, где размеченных данных недостаточно или они дороги для получения. Кроме того, автоэнкодеры можно обучать с использованием различных алгоритмов оптимизации, таких как стохастический градиентный спуск и его варианты, которые можно масштабировать до больших наборов данных и многомерных входных пространств.

Однако автоэнкодеры также имеют некоторые ограничения. Они подвержены переоснащению, когда модель учится просто запоминать обучающие данные, а не учиться обобщать новые данные. Это можно смягчить, добавив методы регуляризации, такие как отсев или ранняя остановка. Кроме того, автокодировщики могут быть ограничены размером сжатого представления, поскольку модели необходимо соблюдать баланс между сохранением наиболее важной информации во входных данных и минимизацией ошибки реконструкции.

Вариационный автоэнкодер (VAE)

Вариационные автоэнкодеры (VAE) — это тип автоэнкодера, который был введен для преодоления некоторых ограничений традиционного AE. VAE расширяют традиционную архитектуру AE, вводя вероятностную структуру для создания сжатого представления входных данных.

В VAE кодировщик по-прежнему отображает входные данные в скрытое пространство более низкой размерности, но вместо одной точки в скрытом пространстве кодер генерирует распределение вероятностей по скрытому пространству. Затем декодер производит выборку из этого распределения для создания новой точки данных. Этот вероятностный подход к кодированию входных данных позволяет VAE изучать более структурированное и непрерывное представление скрытого пространства, что полезно для генеративного моделирования и синтеза данных.

Чтобы перейти от традиционного автоэнкодера к VAE, нам нужно внести две ключевые модификации. Во-первых, нам нужно заменить вывод кодировщика распределением вероятностей. Вместо того, чтобы кодировщик выводил точку в скрытом пространстве, он выводит параметры распределения вероятностей, такие как среднее значение и дисперсия. Это распределение обычно является многомерным распределением Гаусса, но может быть и другим распределением (например, Бернулли).

Во-вторых, мы вводим в функцию потерь новый член, называемый расхождением Кульбака-Лейблера (KL). Этот термин измеряет разницу между изученным распределением вероятностей в скрытом пространстве и заранее определенным априорным распределением (обычно стандартным нормальным распределением). Термин дивергенции KL гарантирует, что изученное распределение по скрытому пространству близко к априорному распределению, что помогает упорядочить модель и гарантирует, что скрытое пространство имеет значимую структуру.

Оптимизированный член L в приведенном выше уравнении называется ELBO (Eожидание Llower BOund). Функция потерь для VAE обычно состоит из двух частей: потерь при реконструкции (аналогично потерям в традиционном автоэнкодере) и потерь из-за расхождения KL. Потери при реконструкции измеряют разницу между исходным входом и выходом, сгенерированным декодером. Потеря расхождения KL измеряет разницу между изученным распределением вероятностей и предопределенным предыдущим распределением.

VAE имеют несколько преимуществ по сравнению с традиционными автоэнкодерами. Они допускают генеративное моделирование, то есть могут генерировать новые точки данных из изученного распределения скрытого пространства. Они также допускают непрерывное представление скрытого пространства, что означает, что мы можем интерполировать между различными точками скрытого пространства для создания новых точек данных. Наконец, VAE менее подвержены переоснащению, чем традиционные автокодировщики, поскольку вероятностный характер кодирования заставляет модель обучаться более надежному представлению данных.

Однако VAE также может быть сложнее обучать и требовать больше вычислительных ресурсов. Кроме того, изученное представление скрытого пространства может быть трудно интерпретировать, а качество сгенерированных данных может быть ограничено архитектурой модели и обучающими данными.

Бета-вариационный автоэнкодер (β-VAE)

β-VAE — это тип VAE, который вводит дополнительный гиперпараметр, называемый β, который контролирует компромисс между ошибкой реконструкции и членом расхождения KL в функции потерь.

В традиционных VAE термин расхождения KL гарантирует, что изученное распределение скрытого пространства близко к предыдущему распределению. Однако это может привести к тому, что скрытое пространство будет слишком ограниченным и менее выразительным, что может ограничить способность модели фиксировать сложные закономерности в данных. β-VAE решает эту проблему, обеспечивая более гибкое представление скрытого пространства, при этом гарантируя, что изученное распределение близко к предыдущему распределению.

Чтобы перейти от VAE к β-VAE, мы просто модифицируем функцию потерь, чтобы включить дополнительный коэффициент масштабирования, бета, перед членом расхождения KL. Этот фактор управляет силой регуляризации, где более высокие значения бета приводят к более ограниченному представлению скрытого пространства, а более низкие значения бета приводят к более гибкому представлению скрытого пространства.

Функция потерь для β-VAE обычно состоит из трех частей: потери реконструкции, потери расхождения KL (масштабируется по бета) и члена регуляризации, который измеряет сложность изученного представления скрытого пространства.

β-VAE имеют ряд преимуществ перед традиционными VAE. Они обеспечивают более гибкое представление скрытого пространства, что может улучшить способность модели фиксировать сложные закономерности в данных. Кроме того, бета-гиперпараметр предоставляет удобную ручку для управления компромиссом между ошибкой реконструкции и сроком регуляризации, что может помочь в точной настройке модели для конкретных приложений.

Тем не менее, β-VAE сложнее обучать, чем традиционные VAE. Настройка бета-гиперпараметра может быть сложной задачей и требует тщательного экспериментирования, чтобы найти оптимальное значение. Кроме того, член регуляризации в функции потерь может привести к более сложному ландшафту оптимизации, что может сделать процесс обучения более сложным и трудоемким.

Сводка

Какая модель лучше, зависит от поставленной задачи. AE лучше подходят для таких задач, как уменьшение размерности и извлечение признаков. VAE лучше подходят для генеративных задач, таких как генерация изображений и текста, где мы хотим создать новые точки данных. β-VAE лучше подходит для задач, в которых мы хотим распутать основные факторы вариации входных данных.

Что касается слабых мест, то автоэнкодеры могут страдать от переобучения и могут быть не в состоянии генерировать новые точки данных. VAE могут страдать от коллапса режима, когда модель генерирует аналогичные выходные данные для разных входных данных. β-VAE может потребовать дополнительной настройки параметра бета, а более высокое значение бета может привести к потере точности генерируемых выходных данных.