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

У использования моделей латентных факторов могут быть разные мотивы. Интерпретируемость, несомненно, одна из них. Представьте, что мы находим интерпретируемые факторы, которые создают изображения лиц. У нас есть факторы, определяющие форму волос, факторы, определяющие цвет глаз, и факторы, определяющие пол. Если бы у нас были эти факторы, мы могли бы генерировать совершенно новые лица, указав некоторые из их атрибутов. Вы можете сказать, что GAN также создают новые невидимые лица. Но помните, что GAN берут выборки из предполагаемого распределения вероятностей, совершенно случайным образом, в GAN нет спецификации атрибутов (по крайней мере, насколько я знаю. Существует множество моделей GAN, и действительно сложно быть в курсе всех событий). последние разработки в области ИИ). Еще одна мотивация - снять проклятие размерности. Если размерность данных велика и мы хотим обучить модель классификации, количество параметров, которые необходимо изучить, также велико и требует большого количества данных для хорошо обобщенной модели. Уменьшая размерность, мы также уменьшаем количество параметров, поэтому для обучения требуется меньше данных. Снижение размерности также полезно для визуализации, особенно если размерность может быть уменьшена до 2 или 3. Это лишь некоторые из мотивов для использования моделей скрытых факторов.

Краткое примечание. Некоторое знание алгоритма максимизации ожидания является необходимым условием для понимания остальной части статьи. Замечательную главу с ясным пониманием и элегантной математикой можно найти в книге Бишопа «Распознавание образов и машинное обучение».

Вначале мы предполагаем, что есть параметры модели theta, и мы хотим применить оценку параметра максимального правдоподобия, которая устанавливает такие параметры, чтобы распределение правдоподобия достигло максимума. Если бы мы знали значения z для каждого набора данных, было бы довольно легко оценить параметры (подробнее см. В моей статье GLM). Помните, что одна из наших задач - оценить параметры, которые сопоставляют значения z со значениями x. Если мы не знаем значений z, как это возможно? Что ж, алгоритм EM предлагает нам способ добиться этого, итеративно применяя шаги ожидания и максимизации. Давайте погрузимся в математику, определив цель

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

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

Дивергенция KL - это асимметричная метрика, которая измеряет расхождение между двумя распределениями вероятностей и принимает значение 0 в качестве минимального значения, когда два распределения одинаковы. Как видите, когда дивергенция KL принимает минимальное значение, логарифмическая вероятность становится равной нижней границе. Следовательно, нам нужно приравнять q (Z) к апостериорному значению Z p (Z | X), чтобы получить расхождение KL 0. Давайте перепишем нижнюю границу, используя p (Z | X) вместо q (Z).

Прямо сейчас мы можем оценить значение логарифма правдоподобия для старых параметров тета, и оно в основном равно значению нижней границы для старых параметров тета. Но значение нижней границы можно увеличить, оптимизируя значения тета. Второй член нижней границы включает только старые тета-параметры, и с этой частью делать нечего. Но первая часть может быть дополнительно оптимизирована, а значение нижней границы может быть увеличено. Это также означает, что логарифмическое правдоподобие может быть дополнительно увеличено путем оценки новых значений тета. Если вы внимательно посмотрите на первую часть, вы увидите, что это термин ожидания, и оценка этого члена ожидания формирует E-часть алгоритма EM. E-step включает вывод апостериорной Z, поэтому мы можем переименовать E-step с шагом вывода. Максимизация нижней границы путем оценки новых параметров модели называется M-шагом, но я думаю, что нет ничего плохого в том, чтобы называть его шагом обучения. Я предпочел переименовать шаги E и M, учитывая следующие части статьи.

Не всегда легко найти апостериор латентных факторов, особенно когда мы имеем дело со сложными моделями. На этот раз, вместо точного вычисления апостериорного распределения, мы аппроксимируем его предложенным распределением q (z) с вариационными параметрами phi. В этом случае мы предполагаем, что параметры модели отсутствуют.

В этом случае вероятность логарифма постоянна и не зависит от выбора q и phi, но мы не можем оценить ее напрямую, опять же. Что нам нужно сделать, так это грамотно выбрать вариационное распределение q (мы стараемся выбрать семейство распределений, максимально похожее на апостериорное z) и оптимизировать его параметры phi, чтобы уменьшить расхождение KL между исходным апостериорным распределением и распределением предложения. Другими словами, мы приближаемся к логарифмической вероятности с нижней границей, настраивая его входные данные q и phi. Нахождение функции q - это тема вариационного исчисления, но для полностью факторизованного q (приближение среднего поля) форма q уже известна (для получения дополнительной информации см. Книгу Бишопа). Этот процесс называется вариационным байесовским.

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

Что делать, если у модели тоже есть параметры? Тогда нижняя граница превращается в функцию q, theta и phi.

Чтобы упростить задачу, мы можем тщательно спроектировать модель, учитывая сопряженность и использовать полностью факторизованную функцию q, чтобы не оптимизировать целевую функцию по q. Таким образом, нижняя граница должна быть оптимизирована по параметрам модели theta и вариационным параметрам phi. Оценка параметров модели - это не что иное, как M-шаг EM алгоритма. С другой стороны, оценка вариационных параметров связана с поиском апостериорных скрытых переменных, поэтому это шаг вывода и E-шаг алгоритма EM. Мы называем этот общий процесс вариационной ЭМ.

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

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

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

Весьма интересно наблюдать, что каждая скрытая характеристика (z_i) имеет свои собственные вариационные параметры (среднее значение и матрицу ковариации), как и должно быть, но эти параметры генерируются наблюдениями (x_i) и глобальными вариационными параметрами (phi), которые являются весами сети вывода.

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

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

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

Первый член - это ожидание, и вместо того, чтобы вычислять его аналитически (мы не можем), мы можем оценить его с помощью интегрирования Монте-Карло. Проблема здесь в том, что после выборки z из q (z | x) мы теряем всю связь с вариационными параметрами и не можем оптимизировать член относительно q (z | x). вариационные параметры, хотя член зависит от них. Уловка репараметризации - отличный способ решить эту проблему.

В уловке повторной параметризации мы записываем выборку z как результат детерминированной функции с параметрами mu и Sigma и вводим эпсилон, который представляет собой выборку из нормального распределения единичной дисперсии с нулевым средним. Теперь мы можем оптимизировать термин w.r.t. вариационные параметры с цепным правилом (dE / dz * dz / dphi).

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

использованная литература

Кингма, Дидерик П. и Макс Веллинг. « Автокодирование вариационного байеса . »Препринт arXiv arXiv: 1312.6114 (2013).

Книга Бишопа "Распознавание образов и машинное обучение"

EM и вариационный вывод