Версия LaTeX: https://www.sharelatex.com/project/52295b43e77a8bec1401f6bc

1. Введение

Глубокая нейронная сеть (DNN) была горячей темой в сообществе обработки речи в последние годы [1]. Люди хотят узнать о различных теориях DNN. Однако те, кто не знаком с некоторыми базовыми знаниями о вероятностных графических моделях [2], методах Монте-Карло с цепями Маркова (MCMC) [3], вариационных методах [4] [5] и т. Д., Могут также найти соответствующие публикации буквально глубоко следовать. Здесь я задокументировал свои следы по выяснению некоторых фундаментальных теорий DNN. Эта заметка вращается вокруг статьи, написанной Hinton et. al. в 2006 г. [6], что, как мне кажется, является основным ориентиром для понимания DNN. Я настоятельно рекомендую читателям хотя бы просмотреть большую часть ссылок, написанных в соавторстве с Хинтоном, прежде чем читать эту заметку. Ниже я начну с алгоритма обучения ограниченной машины Больцмана (RBM), то есть с контрастной дивергенции. Затем я выясню, почему инициализация DNN с помощью RBM оправдана.

2. Общий обзор

2.1. Терминология

Постоянно меняющиеся обозначения - это, вероятно, первое препятствие для читателей при поиске различных ссылок на RBM и DNN. Ниже я попытаюсь объединить и прояснить связи между этими обозначениями.

Параметры модели

В общем, θ обозначает веса и смещения любой машины Больцмана с произвольной структурой. Когда мы сосредотачиваемся на Ограниченной машине Больцмана, учитываются только веса W среди скрытых и видимых слоев:

Распределение эмпирических данных

Как указано в [7], распределение эмпирических данных «представляет собой однородную смесь дельта-распределений, по одному для каждой обучающей точки»:

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

Распределение модели

По определению, функция распределения вероятностей RBM определяется выражением

, где

Опять же, верхний индекс ∞ означает, что это окончательное распределение видимых случайных величин после применения выборки Гиббса до достижения равновесия.

2.2. Выборка Гиббса на RBM

[Отредактировано: 22.01.2017] Ниже я сначала дам краткое объяснение выборки Гиббса по RBM, что очень важно для понимания

  1. Почему оценка P_model может быть сделана с помощью выборки Гиббса при обучении контрастной дивергенции;
  2. Почему мы можем развернуть RBM в глубокую сеть и изменить направление распространения.

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

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

С точки зрения вероятностной графической модели, RBM с V видимыми узлами и H скрытыми узлами представляет собой просто распределение вероятностей с V + H случайными величинами, имеющими двудольные зависимости, то есть только между парами видимых и скрытых переменных. Из-за особой структуры допустимо выполнять выборку Гиббса для всех скрытых переменных сразу для видимых переменных, и наоборот.

Предположим сначала, что нам дан RBM с линейными персептронами, а матрица весов равна W. Давайте установим начальное значение видимых случайных величин v как v ⁰, взятых из набора данных обучения D. Как указано в [8], каждый шаг выборки Гиббса выглядит следующим образом:

1. Умножьте выборку видимого случайного вектора v с весовой матрицей W на выборку скрытого случайного вектора h:

2. Умножьте выборку скрытого случайного вектора h с весовой матрицей W на «новую» выборку видимого случайного вектора.

где W ’ - транспонированная W.

Таким образом, полный процесс выборки Гиббса - это не что иное, как умножение начального вектора v ⁰ на W и W ’снова и снова.

Теперь давайте изменим нашу перспективу: мы видим узлы v как состояния в цепи Маркова. Вышеупомянутая выборка Гиббса фактически совпадает с процессом перехода между состояниями однородной во времени цепи Маркова с состояниями, инициализированными как v ⁰, и матрицей перехода состояний T, определенной как

Процесс перехода между состояниями задается формулой

где t - индекс итерации. Обратите внимание, что если мы посмотрим с точки зрения скрытых узлов h, выборка Гиббса также является процессом перехода между состояниями, но с T = W’W вместо этого. Вышеупомянутая перспектива дополнительно проиллюстрирована на Фиг.1.

Обратите внимание, что приведенная выше интерпретация все еще верна для нелинейных функций активации - она ​​просто обобщает переходы цепи Маркова от линейной к нелинейной.

3. Обучение УОР

3.1. Обучение машинному обучению с использованием градиентного спуска

В некоторых из самых последних публикаций Хинтона [6] [10] градиент логарифмической вероятности для обучения ML просто записывается как

, где ‹…› p означает принятие математического ожидания с некоторым распределением p. Обратите внимание, как я расширил нижний индекс по сравнению с [10] для полноты. Кажется, что v - это всего лишь 1 образец, взятый из набора обучающих данных D, что верно для стохастического градиентного спуска или обучения с контрастной дивергенцией.

Однако первоначальный вывод (то есть более формальная формулировка) на самом деле был выполнен при обычном градиентном спуске, градиент которого является средним градиентом всех экземпляров в D [7] [8] [ 9]:

С помощью P_model (v), приведенной в разделе 2.1, мы можем вычислить частную производную:

Обратите внимание, что во втором члене нет переменной v, поэтому (1 / N) Σ {v∈D} можно опустить.

Сравнивая математическое ожидание и суммирование в двух приведенных выше уравнениях, теперь становится ясно, что

Также,

что идентично определению функции вероятности RBM.

Предполагая двоичные скрытые переменные, P_model (h | v) можно получить, просто передав все данные через RBM, благодаря структуре RBM:

, где σ (x) - логистическая сигмоидальная функция 1 / (1 + e ^ -x) [10], а затем проверьте все возможные конфигурации h для суммирования .

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

3.2. Обучение контрастному расхождению

В методе контрастного обучения дивергенции, предложенном Хинтоном в 2002 г. [8], вышеупомянутые критерии градиентного спуска упрощены в двух аспектах:

Во-первых, заметьте, что

Вот почему Хинтон придумал объяснение, что «максимизация логарифмической вероятности данных (усредненной по распределению данных) эквивалентна минимизации расхождения Кульбака-Лейблера (KL) между распределением данных, P⁰, и равновесным распределением по распределению данных». видимые переменные, P ^ ∞_ θ, которые производятся длительной выборкой Гиббса из генеративной модели »[8]:

Основываясь на такой интерпретации, мы можем обобщить концепцию и изменить критерии, чтобы минимизировать расхождение KL между P⁰ и P ^ t, которое является распределением после всего t шагов выборки Гиббса.

Во-вторых, как я упоминал ранее, обучение с контрастной дивергенцией на самом деле является «стохастическим» методом обучения. Вместо вычисления ‹v_i, h_j› P_model (v, h), при обучении контрастной дивергенции используется только экземпляр v_i h_j после t шагов выборки Гиббса. Также ‹v_i, h_j› P_data (v, h) заменяется экземпляром v_i h_j в 0-й итерации выборки Гиббса:

Теоретически, если мы запустим достаточно много итераций выборки Гиббса, экземпляр v_i h_j будет эффективно извлечен из равновесного распределения, то есть P_model, цепи Маркова. На практике, однако, мы обычно запускаем выборку Гиббса только для одного шага в обучении контрастной дивергенции. Более подробное обсуждение можно найти в [8] [9].

4. От RBM к DNN

4.1. Краткий обзор глубинных сетей

Терминология различных глубоких сетей часто бывает смешанной и запутанной. Проиллюстрируем определение, данное Hinton et. al. [11] [12] на рис. 2. Во-первых, структура глубокой нейронной сети (DNN) фактически точно такая же, как то, что на протяжении десятилетий называли «нейронной сетью» или «многослойным персептроном» (MLP). Во-вторых, сеть глубокого убеждения (DBN) - это генеративная модель с ненаправленными краями между двумя верхними слоями и направленными краями к видимому слою между оставшимися слоями. И последнее, но не менее важное: глубокая машина Больцмана (DBM) - это буквально многослойная RBM.

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

4.2. Развертывание RBM, обратимость и дополнительные предварительные

Постоянно упоминаемая концепция инициализации DNN с помощью RBM заключается в том, что можно «развернуть» RBM в DNN с бесконечным количеством стеков [6] [13]. С учетом того, что я упомянул в разделе 2.2 о том, что выполнение выборки Гиббса на RBM на самом деле напоминает процесс перехода состояния цепи Маркова, эту концепцию развертывания не так сложно понять. Все, что нам нужно сделать, это перестроить рис. 1 так, чтобы переход был проиллюстрирован снизу вверх, а результирующая структура была бы DNN с бесконечными слоями, как показано в левой половине рис. 3. Более того, поскольку полученный результат нейронная сеть все еще может рассматриваться как цепь Маркова (или 2 цепи Маркова, если вы видите отдельно видимые и скрытые узлы), а цепь Маркова, полученная в результате выборки Гиббса, удовлетворяет детальному балансу, так называемому обратимости [3] [13], мы можем обратить направление распространения веса снизу вверх. Таким образом, мы концептуально преобразовали DNN с бесконечными слоями в DBN также с бесконечными слоями, как показано в правой половине рис.

Обратимость между DBN и DNN была объяснена в [6] с помощью так называемого «дополнительного предшествующего». Позже в [13] Teh et. al. далее объяснил этот термин. Но это кажется более простым, если мы увидим изменение направления краев как факторизацию распределения вероятностей с различными структурами байесовской сети:

4.3. Послойная инициализация DNN с помощью RBM

Теперь мы готовы увидеть, почему веса в DNN можно инициализировать с помощью RBM. В [6] [13] предложенный алгоритм обучения DBN был обоснован концепцией вариационных границ. Но, опять же, это кажется проще, если мы увидим весь процесс следующим образом: Давайте начнем с DBN на рис. 3. Поскольку этот DBN преобразован из RBM, который, как мы предполагали, уже обучен с некоторыми данными, вероятность данные, log (P (v)), должны были быть максимизированы «как можно лучше». Если мы примем во внимание первый скрытый слой h0, вероятность данных можно записать как

Теперь, если мы хотим еще больше увеличить вероятность, мы либо полируем W, либо P_model (h0). Но поскольку в DBN, преобразованном из уже обученного RBM, веса между каждым слоем задаются одной и той же матрицей весов, которая была оптимизирована либо с помощью градиентного спуска, контрастной дивергенции, либо их стохастических версий. Поэтому, как и в [6], мы переходим к оптимизации P_model (h0) следующим образом:

  1. Мы фиксируем весовую матрицу между первым и вторым слоями и «развязываем» ее со всеми оставшимися весовыми матрицами, что означает, что все веса над 2-м уровнем теперь являются свободными параметрами.
  2. Суб-DBN над 2-м уровнем исходной DBN снова эквивалентен RBM с видимым слоем h0. Следовательно, мы можем применить алгоритм обучения RBM, чтобы максимизировать вероятность h0, то есть P_model (h0) в уравнении. 19.

Таким образом, итеративно применяя вышеупомянутые шаги вверх по слою DBN, вероятность исходного набора данных, P_model (v), теоретически может быть дополнительно увеличена. Наконец, как указано в [12], мы просто возвращаем DBN, полученный, как указано выше, добавляем слой soft-max наверху и запускаем традиционный алгоритм обучения обратного распространения для нейронных сетей. Получившаяся DNN - это то, что мы хотим.

5. Заключение

В этом документе я попытался прояснить некоторые двусмысленности, с которыми люди могут столкнуться при чтении важных ссылок на RBM и DNN. Из-за комментирующего характера этого документа настоятельно рекомендуется, чтобы вы, по крайней мере, прочитали некоторые статьи Хинтона и получили некоторые базовые идеи о RBM и DNN, прежде чем читать этот документ. Я считаю, что этот документ может сэкономить много времени и усилий тем, кто жаждет выяснить все уравнения из статей Хинтона и понять основные теории глубокого обучения. (Или вам может быть все равно, потому что вы просто хотите запустить некоторые существующие библиотеки и выполнить работу.)

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

[1] Хинтон, Джеффри и др. «Глубокие нейронные сети для акустического моделирования в распознавании речи: общие взгляды четырех исследовательских групп». Журнал обработки сигналов, IEEE 29.6 (2012): 82–97.

[2] Коллар, Дафна и Нир Фридман. Вероятностные графические модели: принципы и приемы. MIT Press, 2009.

[3] Срок действия MCMC истек [онлайн], http://www.youtube.com/playlist?list=PL0E34F5354AA5952E

[4] Нил, Рэдфорд М. и Джеффри Э. Хинтон. «Взгляд на алгоритм EM, который оправдывает добавочные, разреженные и другие варианты». Обучение в графических моделях. Springer, Нидерланды, 1998. 355–368.

[5] Бил, Мэтью Джеймс. Вариационные алгоритмы приближенного байесовского вывода. Дисс. Лондонский университет, 2003 г.

[6] Хинтон, Джеффри Э., Саймон Осиндеро и Йи-Уай Тех. «Алгоритм быстрого обучения для сетей глубоких убеждений». Нейронные вычисления 18.7 (2006): 1527–1554.

[7] Суцкевер, Илья, и Таймен Тилеман. «О свойствах сходимости контрастной дивергенции». Международная конференция по искусственному интеллекту и статистике. 2010 г.

[8] Хинтон, Джеффри Э. «Обучающие продукты экспертов за счет минимизации контрастных расхождений». Нейронные вычисления 14,8 (2002): 1771–1800.

[9] Каррейра-Перпинан, Мигель А. и Джеффри Э. Хинтон. «О контрастном обучении дивергенции». Искусственный интеллект и статистика. Vol. 2005. 2005.

[10] Хинтон, Джеффри. «Практическое руководство по обучению ограниченных машин Больцмана». Импульс 9.1 (2010 г.).

[11] Салахутдинов, Руслан, и Джеффри Э. Хинтон. «Глубокие машины Больцмана». Международная конференция по искусственному интеллекту и статистике. 2009 г.

[12] Хинтон, Джеффри и др. «Глубокие нейронные сети для акустического моделирования в распознавании речи: общие взгляды четырех исследовательских групп». Журнал обработки сигналов, IEEE 29.6 (2012): 82–97.

[13] Йи Уай Тех, Джеффри Э. Хинтон, Саймон Осиндеро, «Подготовка сцены: дополнительные априорные значения и вариационные границы», на семинаре по глубокому обучению NIPS, 6 декабря 2007 г.

Первоначально опубликовано на ybdarrenwang.blogspot.com.