stringtranslate.com

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

Базовая схема вариационного автокодировщика. Модель получает на входе. Кодер сжимает его в скрытое пространство. Декодер получает на входе информацию, отобранную из скрытого пространства, и выдает максимально похожее на .

В машинном обучении вариационный автоэнкодер ( VAE ) — это архитектура искусственной нейронной сети, представленная Дидериком П. Кингмой и Максом Веллингом . [1] Она является частью семейств вероятностных графических моделей и вариационных байесовских методов . [2]

Помимо того, что вариационные автокодировщики рассматриваются как архитектура нейронной сети автокодировщика , их также можно изучать в рамках математической формулировки вариационных байесовских методов , соединяя нейронную сеть кодировщика с ее декодером через вероятностное скрытое пространство (например, как многомерное гауссово распределение ), которое соответствует параметрам вариационного распределения.

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

Хотя этот тип модели изначально был разработан для неконтролируемого обучения , [3] [4] его эффективность была доказана для полуконтролируемого обучения [5] [6] и контролируемого обучения [7] .

Обзор архитектуры и функционирования

Вариационный автоэнкодер — это генеративная модель с априорным и шумовым распределением соответственно. Обычно такие модели обучаются с использованием метаалгоритма максимизации ожиданий (например, вероятностного PCA , (спайкового и слэбового) разреженного кодирования). Такая схема оптимизирует нижнюю границу правдоподобия данных, что обычно не поддается обработке, и при этом требует обнаружения q-распределений или вариационных апостериорных распределений . Эти q-распределения обычно параметризуются для каждой отдельной точки данных в отдельном процессе оптимизации. Однако вариационные автоэнкодеры используют нейронную сеть в качестве амортизированного подхода для совместной оптимизации по точкам данных. Эта нейронная сеть принимает в качестве входных данных сами точки данных и выводит параметры для вариационного распределения. Поскольку она отображает известное входное пространство в скрытое пространство низкой размерности, она называется кодером.

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

Для оптимизации этой модели необходимо знать два термина: «ошибка реконструкции» и расхождение Кульбака–Лейблера (KL-D). Оба термина выводятся из выражения свободной энергии вероятностной модели и, следовательно, различаются в зависимости от распределения шума и предполагаемого априорного значения данных. Например, стандартная задача VAE, такая как IMAGENET, обычно предполагает наличие гауссовского распределения шума; однако такие задачи, как бинаризированный MNIST, требуют шума Бернулли. KL-D из выражения свободной энергии максимизирует массу вероятности q-распределения, которое перекрывается с p-распределением, что, к сожалению, может привести к поведению поиска моды. Термин «реконструкция» является остатком выражения свободной энергии и требует выборочного приближения для вычисления его ожидаемого значения. [8]

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

Формулировка

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

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

В ванильном вариационном автокодере обычно принимается конечномерный вектор действительных чисел, а распределение Гаусса . Тогда представляет собой смесь распределений Гаусса.

Теперь можно определить набор отношений между входными данными и их скрытым представлением как

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

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

Таким образом, проблема состоит в том, чтобы найти хороший вероятностный автокодировщик, в котором условное распределение правдоподобия вычисляется вероятностным декодером , а приближенное апостериорное распределение вычисляется вероятностным кодером .

Параметризуем кодер как , а декодер как .

Нижняя граница доказательств (ELBO)

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

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

Поскольку расстояние между двумя распределениями уменьшается, расхождение Кульбака–Лейблера является хорошим выбором для сжатия под . [8] [9]

Потеря расстояния, определенная только что, расширяется как

Теперь определим нижнюю границу доказательств (ELBO): максимизация ELBO эквивалентна одновременной максимизации и минимизации . То есть максимизации логарифмического правдоподобия наблюдаемых данных и минимизации расхождения приблизительной апостериорной вероятности от точной апостериорной вероятности .

Приведенная форма не очень удобна для максимизации, но следующая эквивалентная форма: где реализуется как , так как это с точностью до аддитивной константы, что дает. То есть мы моделируем распределение условного на как гауссовское распределение с центром на . Распределение и часто также выбираются как гауссовы, как и , с помощью которых мы получаем по формуле для KL-дивергенции гауссовских функций : Здесь — размерность . Для более подробного вывода и дополнительных интерпретаций ELBO и его максимизации см. его главную страницу .

Репараметризация

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

Для эффективного поиска типичным методом является градиентное восхождение .

Его легко найти Однако, не позволяет поместить внутрь ожидания, так как появляется в самом распределении вероятностей. Трюк с репараметризацией (также известный как стохастическое обратное распространение [10] ) обходит эту трудность. [8] [11] [12]

Наиболее важным примером является случай, когда распределение является нормальным, например .

Схема вариационного автоэнкодера после трюка с репараметризацией

Это можно перепараметризовать, положив «стандартный генератор случайных чисел », и построить как . Здесь получается путем разложения Холецкого : Тогда мы имеем и, таким образом, мы получили несмещенную оценку градиента, допускающую стохастический градиентный спуск .

Поскольку мы перепараметризовали , нам нужно найти . Пусть будет функцией плотности вероятности для , тогда [ необходимо разъяснение ] где есть матрица Якоби для относительно . Поскольку , это

Вариации

Для адаптации архитектуры к другим областям и повышения ее производительности использовались многочисленные приложения и расширения вариационных автокодировщиков.

-VAE — это реализация с весовым членом дивергенции Кульбака–Лейблера для автоматического обнаружения и интерпретации факторизованных скрытых представлений. С этой реализацией можно принудительно распутывать многообразия для значений больше единицы. Эта архитектура может обнаруживать распутанные скрытые факторы без наблюдения. [13] [14]

Условный VAE (CVAE) вставляет информацию о метках в скрытое пространство, чтобы принудительно сформировать детерминированное ограниченное представление изученных данных. [15]

Некоторые структуры напрямую связаны с качеством сгенерированных образцов [16] [17] или реализуют более одного скрытого пространства для дальнейшего улучшения обучения представлению.

Некоторые архитектуры смешивают VAE и генеративно-состязательные сети для получения гибридных моделей. [18] [19] [20]

Статистическое расстояние вариантов VAE

После первоначальной работы Дидерика П. Кингмы и Макса Веллинга [21] было предложено несколько процедур для более абстрактной формулировки работы VAE. В этих подходах функция потерь состоит из двух частей:

Получаем окончательную формулу для убытка:

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

Смотрите также

Ссылки

  1. ^ Кингма, Дидерик П.; Веллинг, Макс (10 декабря 2022 г.). «Автокодирование вариационного Байеса». arXiv : 1312.6114 [stat.ML].
  2. ^ Пинейро Чинелли, Лукас; и др. (2021). «Вариационный автоэнкодер». Вариационные методы машинного обучения с приложениями к глубоким сетям . Springer. стр. 111–149. doi :10.1007/978-3-030-70679-1_5. ISBN 978-3-030-70681-4. S2CID  240802776.
  3. ^ Дилоктанакул, Нат; Медиано, Педро AM; Гарнело, Марта; Ли, Мэтью CH; Салимбени, Хью; Арулкумаран, Кай; Шанахан, Мюррей (13 января 2017 г.). «Глубокая неконтролируемая кластеризация с помощью вариационных автоэнкодеров гауссовой смеси». arXiv : 1611.02648 [cs.LG].
  4. ^ Сюй, Вэй-Нин; Чжан, Юй; Гласс, Джеймс (декабрь 2017 г.). «Неконтролируемая адаптация домена для надежного распознавания речи с помощью вариационного автокодировщика на основе данных». Семинар IEEE по автоматическому распознаванию и пониманию речи (ASRU) 2017 г. стр. 16–23. arXiv : 1707.06265 . doi :10.1109/ASRU.2017.8268911. ISBN 978-1-5090-4788-8. S2CID  22681625.
  5. ^ Эхсан Аббаснежад, М.; Дик, Энтони; ван ден Хенгель, Антон (2017). Бесконечный вариационный автоэнкодер для полуконтролируемого обучения. С. 5888–5897.
  6. ^ Сюй, Вэйди; Сан, Хаозе; Дэн, Чао; Тан, Ин (2017-02-12). "Вариационный автокодировщик для полуконтролируемой классификации текстов". Труды конференции AAAI по искусственному интеллекту . 31 (1). doi : 10.1609/aaai.v31i1.10966 . S2CID  2060721.
  7. ^ Камеока, Хироказу; Ли, Ли; Иноуэ, Шота; Макино, Шоджи (2019-09-01). «Управляемое определенное разделение источников с многоканальным вариационным автоэнкодером». Neural Computation . 31 (9): 1891–1914. doi :10.1162/neco_a_01217. PMID  31335290. S2CID  198168155.
  8. ^ abc Кингма, Дидерик П.; Веллинг, Макс (2013-12-20). «Автоматическое кодирование вариационного Байеса». arXiv : 1312.6114 [stat.ML].
  9. ^ "От автокодировщика к Beta-VAE". Lil'Log . 2018-08-12.
  10. ^ Резенде, Данило Хименес; Мохамед, Шакир; Вирстра, Даан (2014-06-18). «Стохастическое обратное распространение и приближенный вывод в глубоких генеративных моделях». Международная конференция по машинному обучению . PMLR: 1278–1286. arXiv : 1401.4082 .
  11. ^ Бенджио, Йошуа; Курвиль, Аарон; Винсент, Паскаль (2013). «Обучение представлениям: обзор и новые перспективы». Труды IEEE по анализу шаблонов и машинному интеллекту . 35 (8): 1798–1828. arXiv : 1206.5538 . doi : 10.1109/TPAMI.2013.50. ISSN  1939-3539. PMID  23787338. S2CID  393948.
  12. ^ Кингма, Дидерик П.; Резенде, Данило Дж.; Мохамед, Шакир; Веллинг, Макс (31 октября 2014 г.). «Полуконтролируемое обучение с использованием глубоких генеративных моделей». arXiv : 1406.5298 [cs.LG].
  13. ^ Хиггинс, Ирина; Мэтти, Лоик; Пал, Арка; Берджесс, Кристофер; Глорот, Ксавье; Ботвиник, Мэтью; Мохамед, Шакир; Лерхнер, Александр (2016-11-04). beta-VAE: Изучение базовых визуальных концепций с помощью ограниченной вариационной структуры. NeurIPS.
  14. ^ Берджесс, Кристофер П.; Хиггинс, Ирина; Пал, Арка; Мэтти, Лоик; Уоттерс, Ник; Дежарденс, Гийом; Лерхнер, Александр (10.04.2018). «Понимание распутывания в β-VAE». arXiv : 1804.03599 [stat.ML].
  15. ^ Сон, Кихюк; Ли, Хонглак; Ян, Синьчэнь (2015-01-01). Обучение структурированному представлению выходных данных с использованием глубоких условных генеративных моделей (PDF) . NeurIPS.
  16. ^ Дай, Бин; Випф, Дэвид (30.10.2019). «Диагностика и улучшение моделей VAE». arXiv : 1903.05789 [cs.LG].
  17. ^ Дорта, Гаро; Висенте, Сара; Агапито, Лурдес; Кэмпбелл, Нил Д.Ф.; Симпсон, Айвор (31 июля 2018 г.). «Обучение VAE по структурированным остаткам». arXiv : 1804.01050 [stat.ML].
  18. ^ Ларсен, Андерс Боесен Линдбо; Сёндербю, Сорен Кааэ; Ларошель, Хьюго; Винтер, Оле (11 июня 2016 г.). «Автокодирование за пределами пикселей с использованием изученной метрики сходства». Международная конференция по машинному обучению . ПМЛР: 1558–1566. arXiv : 1512.09300 .
  19. ^ Бао, Цзяньминь; Чен, Донг; Вэнь, Фанг; Ли, Хоуцян; Хуа, Банда (2017). «CVAE-GAN: создание детализированных изображений посредством асимметричного обучения». стр. 2745–2754. arXiv : 1703.10155 [cs.CV].
  20. ^ Гао, Руи; Хоу, Синсонг; Цинь, Цзе; Чэнь, Цзясинь; Лю, Ли; Чжу, Фань; Чжан, Чжао; Шао, Лин (2020). «Zero-VAE-GAN: Генерация невидимых признаков для обобщенного и трансдуктивного обучения с нуля». Труды IEEE по обработке изображений . 29 : 3665–3680. Bibcode : 2020ITIP...29.3665G. doi : 10.1109/TIP.2020.2964429. ISSN  1941-0042. PMID  31940538. S2CID  210334032.
  21. ^ Кингма, Дидерик П.; Веллинг, Макс (10 декабря 2022 г.). «Автокодирование вариационного Байеса». arXiv : 1312.6114 [stat.ML].
  22. ^ Колури, Сохейл; Поуп, Филлип Э.; Мартин, Чарльз Э.; Роде, Густаво К. (2019). «Автокодировщики с нарезкой Вассерштейна». Международная конференция по представлениям обучения . Международная конференция по представлениям обучения. ICPR.
  23. ^ Turinici, Gabriel (2021). «Вариационные автокодировщики Радона-Соболева». Нейронные сети . 141 : 294–305. arXiv : 1911.13135 . doi : 10.1016/j.neunet.2021.04.018. ISSN  0893-6080. PMID  33933889.
  24. ^ Греттон, А.; Ли, Ю.; Сверски, К.; Земель, Р.; Тернер, Р. (2017). «Модель заражения Polya для сетей». Труды IEEE по управлению сетевыми системами . 5 (4): 1998–2010. arXiv : 1705.02239 . doi : 10.1109/TCNS.2017.2781467.
  25. ^ Толстихин, И.; Буске, О.; Гелли, С.; Шёлкопф, Б. (2018). «Автокодеры Вассерштейна». arXiv : 1711.01558 [stat.ML].
  26. ^ Луизос, К.; Ши, X.; Сверски, К.; Ли, Y.; Уэллинг, М. (2019). «Ядерные вариационные автокодировщики». arXiv : 1901.02401 [astro-ph.CO].

Дальнейшее чтение