Interested Article - Ограниченная машина Больцмана

Ограниченная машина Больцмана

Ограниченная машина Больцмана ( англ. restricted Boltzmann machine), сокращённо RBM — вид генеративной стохастической нейронной сети , которая определяет распределение вероятности на входных образцах данных.

Первая ограниченная машина Больцмана была построена в 1986 году Полом Смоленски под названием Harmonium , но приобрела популярность только после изобретения Хинтоном быстрых алгоритмов обучения в середине 2000-х годов.

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

Особенностью ограниченных машин Больцмана является возможность проходить обучение без учителя , но в определённых приложениях ограниченные машины Больцмана обучаются с учителем. Скрытый слой машины представляет собой глубокие признаки в данных, которые выявляются в процессе обучения (см. также Data mining ).

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

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

Структура сети

Ограниченная машина Больцмана базируется на бинарных элементах с распределением Бернулли , составляющие видимый v i {\displaystyle v_{i}} и скрытый h j {\displaystyle h_{j}} слои сети. Связи между слоями задаются с помощью матрицы весов W = ( w i , j ) {\displaystyle W=(w_{i,j})} (размера m × n ), а также смещений a i {\displaystyle a_{i}} для видимого слоя и b j {\displaystyle b_{j}} для скрытого слоя.

Вводится понятие энергии сети ( v , h ) как

E ( v , h ) = i a i v i j b j h j i j v i w i , j h j , {\displaystyle E(v,h)=-\sum _{i}a_{i}v_{i}-\sum _{j}b_{j}h_{j}-\sum _{i}\sum _{j}v_{i}w_{i,j}h_{j},}

или в матричной форме

E ( v , h ) = a T v b T h v T W h . {\displaystyle E(v,h)=-a^{\mathrm {T} }v-b^{\mathrm {T} }h-v^{\mathrm {T} }Wh.}

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

P ( v , h ) = 1 Z e E ( v , h ) , {\displaystyle P(v,h)={\frac {1}{Z}}e^{-E(v,h)},}

где Z {\displaystyle Z} статсумма , определяемая как e E ( v , h ) {\displaystyle \sum e^{-E(v,h)}} для всех возможных сетей (иными словами, Z {\displaystyle Z} — константа нормализации, которая гарантирует, что сумма всех вероятностей равна единице). Определение вероятности для отдельного входного вектора (маргинальное распределение) проводится аналогично через сумму конфигураций всевозможных скрытых слоёв :

P ( v ) = 1 Z h e E ( v , h ) . {\displaystyle P(v)={\frac {1}{Z}}\sum _{h}e^{-E(v,h)}.}

По причине структуры сети как двудольного графа, отдельные элементы скрытого слоя независимы друг от друга и активируют видимый слой, и наоборот отдельные элементы видимого слоя независимы друг от друга и активируют скрытый слой . Для m {\displaystyle m} видимых элементов и для n {\displaystyle n} скрытых элементов условные вероятности v определяются через произведения вероятностей h :

P ( v | h ) = i = 1 m P ( v i | h ) , {\displaystyle P(v|h)=\prod _{i=1}^{m}P(v_{i}|h),}

и наоборот условные вероятности h определяются через произведение вероятностей v :

P ( h | v ) = j = 1 n P ( h j | v ) . {\displaystyle P(h|v)=\prod _{j=1}^{n}P(h_{j}|v).}

Конкретные вероятности активации для одного элемента определяются как

P ( h j = 1 | v ) = σ ( b j + i = 1 m w i , j v i ) {\displaystyle P(h_{j}=1|v)=\sigma \left(b_{j}+\sum _{i=1}^{m}w_{i,j}v_{i}\right)} и P ( v i = 1 | h ) = σ ( a i + j = 1 n w i , j h j ) , {\displaystyle P(v_{i}=1|h)=\sigma \left(a_{i}+\sum _{j=1}^{n}w_{i,j}h_{j}\right),}

где σ {\displaystyle \sigma } логистическая функция для активации слоя.

Видимые слои могут иметь также мультиномиальное распределение , в то время как скрытые слои распределены по Бернулли . В случае мультиномиальности вместо логистической функции используется softmax :

P ( v i k = 1 | h ) = exp ( a i k + Σ j W i j k h j ) Σ k = 1 K exp ( a i k + Σ j W i j k h j ) , {\displaystyle P(v_{i}^{k}=1|h)={\frac {\exp(a_{i}^{k}+\Sigma _{j}W_{ij}^{k}h_{j})}{\Sigma _{k'=1}^{K}\exp(a_{i}^{k'}+\Sigma _{j}W_{ij}^{k'}h_{j})}},}

где K — количество дискретных значений видимых элементов. Такое представление используется в задачах тематического моделирования и в рекомендательных системах .

Связь с другими моделями

Ограниченная машина Больцмана представляет собой частный случай обычной машины Больцмана и марковской сети . Их графовая модель соответствует графовой модели факторного анализа .

Алгоритм обучения

Целью обучения является максимизация вероятности системы с заданным набором образцов V {\displaystyle V} (матрицы, в которой каждая строка соответствует одному образцу видимого вектора v {\displaystyle v} ), определяемой как произведение вероятностей

arg max W v V P ( v ) , {\displaystyle \arg \max _{W}\prod _{v\in V}P(v),}

или же, что одно и то же, максимизации логарифма произведения:

arg max W E [ log P ( v ) ] . {\displaystyle \arg \max _{W}\mathbb {E} [\log P(v)].}

Для тренировки нейронной сети используется алгоритм контрастивной дивергенции (CD) с целью нахождения оптимальных весов матрицы W {\displaystyle W} , его предложил Джеффри Хинтон , первоначально для обучения моделей PoE («произведение экспертных оценок») . Алгоритм использует семплирование по Гиббсу для организации процедуры градиентного спуска , аналогично методу обратного распространения ошибок для нейронных сетей.

В целом один шаг контрастивной дивергенции (CD-1) выглядит следующим образом:

  1. Для одного образца данных v вычисляются вероятности скрытых элементов и применяется активация для скрытого слоя h для данного распределения вероятностей.
  2. Вычисляется внешнее произведение (семплирование) для v и h , которое называют позитивным градиентом .
  3. Через образец h проводится реконструкция образца видимого слоя v' , а потом выполняется снова семплирование с активацией скрытого слоя h' . (Этот шаг называется Семплирование по Гиббсу .)
  4. Далее вычисляется внешнее произведение , но уже векторов v' и h' , которое называют негативным градиентом .
  5. Матрица весов W {\displaystyle W} поправляется на разность позитивного и негативного градиента, помноженного на множитель, задающий скорость обучения: Δ W = ε ( v h T v h T ) {\displaystyle \Delta W=\varepsilon (vh^{\mathsf {T}}-v'h'^{\mathsf {T}})} .
  6. Вносятся поправки в биасы a и b похожим способом: Δ a = ε ( v v ) {\displaystyle \Delta a=\varepsilon (v-v')} , Δ b = ε ( h h ) {\displaystyle \Delta b=\varepsilon (h-h')} .

Практические указания по реализации процесса обучения можно найти на личной странице Джеффри Хинтона .

См. также

Ссылки

  1. (англ.) . Дата обращения: 10 ноября 2017. Архивировано из 13 июня 2013 года. (неопр.) . Дата обращения: 10 ноября 2017. Архивировано из 13 июня 2013 года.
  2. Hinton, G. (неопр.) // Scholarpedia . — 2009. — Т. 4 , № 5 . — С. 5947 . — doi : . 4 декабря 2015 года.
  3. Hinton, G. E.; Salakhutdinov, R. R. (англ.) // Science : journal. — 2006. — Vol. 313 , no. 5786 . — P. 504—507 . — doi : . — . 23 декабря 2015 года.
  4. Larochelle, H.; Bengio, Y. (2008). (PDF) . Proceedings of the 25th international conference on Machine learning - ICML '08. p. 536. DOI : . ISBN 9781605582054 . Архивировано из (PDF) 2017-10-13 . Дата обращения 2017-11-10 . Используется устаревший параметр |deadlink= ( справка )
  5. Salakhutdinov, R.; Mnih, A.; Hinton, G. (2007). Restricted Boltzmann machines for collaborative filtering . Proceedings of the 24th international conference on Machine learning - ICML '07. p. 791. DOI : . ISBN 9781595937933 .
  6. Coates, Adam; Lee, Honglak; Ng, Andrew Y. (2011). (PDF) . International Conference on Artificial Intelligence and Statistics (AISTATS). Архивировано из (PDF) 2014-12-20 . Дата обращения 2017-11-10 . Используется устаревший параметр |deadlink= ( справка )
  7. ↑ Ruslan Salakhutdinov and Geoffrey Hinton (2010). от 25 мая 2012 на Wayback Machine . 23
  8. ↑ Miguel Á. Carreira-Perpiñán and Geoffrey Hinton (2005). On contrastive divergence learning. Artificial Intelligence and Statistics .
  9. ↑ Geoffrey Hinton (2010). от 25 сентября 2014 на Wayback Machine . UTML TR 2010—003, University of Toronto.
  10. Sutskever, Ilya; Tieleman, Tijmen. (англ.) // Proc. 13th Int'l Conf. on AI and Statistics (AISTATS) : journal. — 2010. 10 июня 2015 года.
  11. ↑ Asja Fischer and Christian Igel. . от 10 июня 2015 на Wayback Machine . Pattern Recognition 47, p. 25—39, 2014.
  12. María Angélica Cueto; Jason Morton; Bernd Sturmfels. (неопр.) // Algebraic Methods in Statistics and Probability. — American Mathematical Society, 2010. — Т. 516 . — arXiv : . (недоступная ссылка)
  13. Geoffrey Hinton (1999). от 24 сентября 2015 на Wayback Machine . ICANN 1999 .
  14. Hinton, G. E. (англ.) // (англ.) (: journal. — 2002. — Vol. 14 , no. 8 . — P. 1771—1800 . — doi : . — . 3 марта 2016 года.

Литература

Same as Ограниченная машина Больцмана