Введение
Тип стохастической рекуррентной нейронной сети
Машина Больцмана (также называемая моделью Шеррингтона — Киркпатрика с внешним полем или стохастической моделью Изинга — Ленца — Литтла), названная в честь Людвига Больцмана, представляет собой стохастическую модель спинового стекла с внешним полем, то есть модель Шеррингтона — Киркпатрика, которая является стохастической моделью Изинга. Это метод статистической физики, применяемый в контексте когнитивной науки. Она также классифицируется как марковское случайное поле. Машины Больцмана теоретически интересны благодаря локальности и хеббианской природе их алгоритма обучения (обучение происходит по правилу Хебба), а также благодаря их параллелизму и сходству их динамики с простыми физическими процессами. Машины Больцмана с неограниченными связями не показали своей полезности для практических задач машинного обучения или логического вывода, но при правильном ограничении связности обучение может быть достаточно эффективным для решения практических задач. Они названы в честь распределения Больцмана в статистической механике, которое используется в их функции выборки. Они получили широкую известность и поддержку благодаря работам Джеффри Хинтона, Терри Сейновски и Яна Лекуна в сообществах когнитивной науки, особенно в области машинного обучения.
Равновесие
Сеть работает путем многократного выбора единицы и сброса её состояния. После достаточно длительной работы при определенной температуре вероятность глобального состояния сети зависит только от энергии этого глобального состояния, согласно распределению Больцмана, и не зависит от начального состояния, с которого был запущен процесс. Это означает, что логарифмы вероятностей глобальных состояний становятся линейными по их энергиям. Эта зависимость справедлива, когда машина находится в "термическом равновесии", то есть распределение вероятностей глобальных состояний сошлось. Запуск сети начинается с высокой температуры, которая постепенно снижается до достижения термического равновесия при более низкой температуре. Затем сеть может сойтись к распределению, в котором уровень энергии колеблется вокруг глобального минимума. Этот процесс называется симулированным отжигом. Чтобы обучить сеть так, чтобы вероятность сходимости к глобальному состоянию соответствовала заданному внешнему распределению по этим состояниям, веса должны быть установлены таким образом, чтобы глобальные состояния с наибольшей вероятностью имели наименьшую энергию. Это достигается посредством обучения.
Обучение
Единицы в машине Болцмана делятся на "видимые" единицы, V, и "скрытые" единицы, H. Видимые единицы – это те, которые получают информацию из "окружающей среды", то есть обучающий набор представляет собой набор бинарных векторов над множеством V. Распределение по обучающему набору обозначается как . Распределение по глобальным состояниям сходится, когда машина Болцмана достигает теплового равновесия. Мы обозначаем это распределение, после суммирования по скрытым единицам, как . Наша цель – аппроксимировать "реальное" распределение, используя распределение, генерируемое машиной. Сходство двух распределений измеряется расхождением Кульбака — Лейблера:
The distribution over global states converges as the Boltzmann machine reaches thermal equilibrium. We denote this distribution, after we marginalize it over the hidden units, as
Our goal is to approximate the "real" distribution using the produced by the machine. The similarity of the two distributions is measured by the Kullback–Leibler divergence, :
where the sum is over all the possible states of is a function of the weights, since they determine the energy of a state, and the energy determines , as promised by the Boltzmann distribution. A gradient descent algorithm over changes a given weight, , by subtracting the partial derivative of with respect to the weight. Boltzmann machine training involves two alternating phases. One is the "positive" phase where the visible units' states are clamped to a particular binary state vector sampled from the training set (according to ). The other is the "negative" phase where the network is allowed to run freely, i. e. only the input nodes have their state determined by external data, but the output nodes are allowed to float. The gradient with respect to a given weight, , is given by the equation:
One example of a practical RBM application is in speech recognition.
где суммирование ведется по всем возможным состояниям . является функцией весов, поскольку они определяют энергию состояния, а энергия, в свою очередь, определяет , как и предсказывается распределением Болцмана. Алгоритм градиентного спуска изменяет данный вес, , вычитая частную производную от по отношению к этому весу. Обучение машины Болцмана включает две чередующиеся фазы. Одна – "положительная" фаза, когда состояния видимых единиц фиксируются определенным бинарным вектором состояния, выбранным из обучающего набора (в соответствии с ). Другая – "отрицательная" фаза, когда сети разрешается работать свободно, то есть состояние входных узлов определяется внешними данными, а выходным узлам разрешается изменяться. Градиент по отношению к заданному весу, , задается уравнением:
The distribution over global states converges as the Boltzmann machine reaches thermal equilibrium. We denote this distribution, after we marginalize it over the hidden units, as
Our goal is to approximate the "real" distribution using the produced by the machine. The similarity of the two distributions is measured by the Kullback–Leibler divergence, :
where the sum is over all the possible states of is a function of the weights, since they determine the energy of a state, and the energy determines , as promised by the Boltzmann distribution. A gradient descent algorithm over changes a given weight, , by subtracting the partial derivative of with respect to the weight. Boltzmann machine training involves two alternating phases. One is the "positive" phase where the visible units' states are clamped to a particular binary state vector sampled from the training set (according to ). The other is the "negative" phase where the network is allowed to run freely, i. e. only the input nodes have their state determined by external data, but the output nodes are allowed to float. The gradient with respect to a given weight, , is given by the equation:
One example of a practical RBM application is in speech recognition.
Один из примеров практического применения RBM – распознавание речи.
The distribution over global states converges as the Boltzmann machine reaches thermal equilibrium. We denote this distribution, after we marginalize it over the hidden units, as
Our goal is to approximate the "real" distribution using the produced by the machine. The similarity of the two distributions is measured by the Kullback–Leibler divergence, :
where the sum is over all the possible states of is a function of the weights, since they determine the energy of a state, and the energy determines , as promised by the Boltzmann distribution. A gradient descent algorithm over changes a given weight, , by subtracting the partial derivative of with respect to the weight. Boltzmann machine training involves two alternating phases. One is the "positive" phase where the visible units' states are clamped to a particular binary state vector sampled from the training set (according to ). The other is the "negative" phase where the network is allowed to run freely, i. e. only the input nodes have their state determined by external data, but the output nodes are allowed to float. The gradient with respect to a given weight, , is given by the equation:
One example of a practical RBM application is in speech recognition.
Машины глубокого Болцмана
Глубокая машина Болцмана (DBM) — это тип двоичного парного случайного поля Маркова (ненаправленная вероятностная графическая модель) с несколькими слоями скрытых случайных переменных. Это сеть симметрично связанных стохастических двоичных элементов. Она состоит из набора видимых элементов и слоев скрытых элементов. Связи между элементами одного и того же слоя отсутствуют (как в RBM). Для вектора ν вероятность, присвоенная ему, равна
где — множество скрытых элементов, а — параметры модели, представляющие взаимодействия видимых со скрытыми и скрытых со скрытыми элементами. В DBN только два верхних слоя образуют ограниченную машину Болцмана (являющуюся ненаправленной графической моделью), в то время как нижние слои формируют направленную генеративную модель. В DBM все слои симметричны и ненаправлены. Как и DBN, DBM способны изучать сложные и абстрактные внутренние представления входных данных в задачах, таких как распознавание объектов или речи, используя ограниченный объем размеченных данных для тонкой настройки представлений, построенных на основе большого набора неразмеченных сенсорных входных данных. Однако, в отличие от DBN и глубоких сверточных нейронных сетей, они выполняют процедуру вывода и обучения в обоих направлениях — снизу вверх и сверху вниз, что позволяет DBM лучше выявлять представления входных структур. Однако низкая скорость работы DBM ограничивает их производительность и функциональность. Поскольку точное обучение с максимальным правдоподобием для DBM недостижимо, возможно только приближенное обучение с максимальным правдоподобием. Другой вариант — использовать вывод по среднему полю для оценки зависимых от данных ожиданий и приблизить ожидаемую достаточную статистику с помощью метода Монте-Карло Марковских цепей (MCMC). Подобно базовым RBM и их вариантам, RBM со спайком и плитой является двудольным графом, а как и GRBM, видимые элементы (входные данные) имеют вещественные значения. Различие заключается в скрытом слое, где каждый скрытый элемент имеет бинарную переменную спайка и вещественную переменную плиты. Спайк — это дискретная вероятностная масса в нуле, а плита — плотность на непрерывном диапазоне; их смесь образует априорное распределение. Расширение ssRBM, называемое μ ssRBM, обеспечивает дополнительную емкость моделирования за счет использования дополнительных членов в энергетической функции. Один из этих членов позволяет модели формировать условное распределение переменных спайка, исключая переменные плиты при заданном наблюдении.
В математике
В более общем математическом контексте распределение Больцмана также известно как мера Гиббса. В статистике и машинном обучении оно называется лог-линейной моделью. В глубоком обучении распределение Больцмана используется в распределении выборки стохастических нейронных сетей, таких как машина Больцмана.
История
Машины Болцмана основаны на спин-стеклянной модели стохастической модели Изинга Шеррингтона-Киркпатрика. Первоначальный вклад в применение подобных энергетических моделей в когнитивной науке был сделан в работах Хинтона и Сейньовски. Основополагающая публикация Джона Хопфилда связала физику и статистическую механику, упомянув спиновые стекла. Идея применения модели Изинга с отжигом и отбором Гиббса присутствует в проекте Дугласа Хофштадтера "Copycat". Схожие идеи (с изменением знака в энергетической функции) можно найти в "Теории гармонии" Пола Смоленского. Явная аналогия со статистической механикой в формулировке машины Болцмана привела к использованию терминологии, заимствованной из физики (например, "энергия", а не "гармония"), которая стала стандартной в этой области. Широкое распространение этой терминологии, вероятно, было стимулировано тем, что ее использование способствовало принятию различных концепций и методов из статистической механики. Различные предложения по использованию имитированного отжига для логического вывода, по-видимому, были разработаны независимо друг от друга. Модели Изинга стали рассматриваться как частный случай марковских случайных полей, которые широко применяются в лингвистике, робототехнике, компьютерном зрении и искусственном интеллекте.