2.9. Модели нейронных сетей (без контроля)

2.9.1. Ограниченные машины Больцмана

Ограниченные машины Больцмана (Restricted Boltzmann machines - RBM) - это неконтролируемые нелинейные функции обучения, основанные на вероятностной модели. Признаки, извлеченные с помощью RBM или иерархии RBM, часто дают хорошие результаты при подаче в линейный классификатор, такой как линейный SVM или персептрон.

Модель делает предположения относительно распределения ресурсов. На данный момент scikit-learn предоставляет только BernoulliRBM, который предполагает, что входные данные представляют собой либо двоичные значения, либо значения от 0 до 1, каждое из которых кодирует вероятность включения конкретного признака.

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

Метод приобрел популярность для инициализации глубоких нейронных сетей с весами независимых RBM. Этот метод известен как предварительное обучение без присмотра.

../_images/sphx_glr_plot_rbm_logistic_classification_001.png

2.9.1.1. Графовая модель и параметризация

Графовая модель RBM представляет собой полносвязный двудольный граф.

../_images/rbm_graph.png

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

Функция энергии измеряет качество совместного задания:

\[E(\mathbf{v}, \mathbf{h}) = -\sum_i \sum_j w_{ij}v_ih_j - \sum_i b_iv_i - \sum_j c_jh_j\]

В приведенной выше формуле \(\mathbf{b}\) и \(\mathbf{c}\) - это векторы пересечения для видимого и скрытого слоев соответственно. Совместная вероятность модели определяется через энергию:

\[P(\mathbf{v}, \mathbf{h}) = \frac{e^{-E(\mathbf{v}, \mathbf{h})}}{Z}\]

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

\[\begin{split}h_i \bot h_j | \mathbf{v} \\ v_i \bot v_j | \mathbf{h}\end{split}\]

Двудольная структура позволяет использовать эффективную блочную выборку Гиббса для вывода.

2.9.1.2. Ограниченные машины Больцмана Бернулли

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

Условное распределение вероятностей каждой единицы определяется логистической сигмоидной функцией активации входных данных, которые она получает:

\[\begin{split}P(v_i=1|\mathbf{h}) = \sigma(\sum_j w_{ij}h_j + b_i) \\ P(h_i=1|\mathbf{v}) = \sigma(\sum_i w_{ij}v_i + c_j)\end{split}\]

где \(\sigma\) - логистическая сигмоидная функция:

\[\sigma(x) = \frac{1}{1 + e^{-x}}\]

2.9.1.3. Стохастический метод максимального правдоподобия

Алгоритм обучения, реализованный в BernoulliRBM, известен как Стохастическое Максимальное Правдоподобие (Stochastic Maximum Likelihood - SML) или стойкое контрастное расхождение (Persistent Contrastive Divergence - PCD). Непосредственная оптимизация максимального правдоподобия невозможна из-за формы правдоподобия данных:

\[\log P(v) = \log \sum_h e^{-E(v, h)} - \log \sum_{x, y} e^{-E(x, y)}\]

Для простоты приведенное выше уравнение написано для одного обучающего примера.

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

При максимизации логарифмического правдоподобия положительный градиент заставляет модель отдавать предпочтение скрытым состояниям, совместимым с наблюдаемыми данными обучения. Благодаря двудольной структуре RBM, его можно эффективно вычислить. Однако отрицательный градиент труднопреодолим. Его цель - снизить энергию совместных состояний, которые предпочитает модель, чтобы она оставалась верной данным. Его можно аппроксимировать цепью Маркова Монте-Карло с использованием блочной выборки Гиббса путем итеративной выборки каждого из \(v\) и \(h\) с учетом другого, пока цепочка не смешается. Образцы, созданные таким способом, иногда называют фантастическими частицами. Это неэффективно, и трудно определить, смешивается ли цепь Маркова.

Метод контрастной дивергенции (Contrastive Divergence) предлагает остановить цепочку после небольшого количества итераций, \(k\), обычно даже 1. Этот метод быстрый и имеет низкую дисперсию, но выборки далеки от модельного распределения.

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