Маши́на Бо́льцмана (англ. Boltzmann machine) — вид стохастической рекуррентной нейронной сети, изобретенной Джеффри Хинтоном и Терри Сейновски[англ.] в 1985 году[1]. Машина Больцмана может рассматриваться как стохастический генеративный вариант сети Хопфилда.
Специалисты по статистике называют такие сети случайными марковскими полями. Сеть названа машиной Больцмана в честь австрийского физика Людвига Больцмана, одного из создателей статистической физики.
Эта сеть использует для обучения алгоритм имитации отжига и оказалась первой нейронной сетью, способной обучаться внутренним представлениям, решать сложные комбинаторные задачи. Несмотря на это, из-за ряда проблем, машины Больцмана с неограниченной связностью не могут использоваться для решения практических проблем. Если же связность ограничена, то обучение может быть достаточно эффективным для использования на практике. В частности, из каскада ограниченных машин Больцмана строится так называемая глубокая сеть доверия.
Как и сеть Хопфилда, машина Больцмана является сетью нейронов с определенной для неё понятием "энергии". Расчет глобальной энергии производится идентичным по форме с сетью Хопфилда образом:[2]
Где:
Связи имеют следующие ограничения:
Одним из основных недостатков сети Хопфилда является тенденция «стабилизации» состояния сети в локальном, а не в глобальном минимуме. Практически желательно, чтобы сеть переходила в глубокие минимумы энергии чаще, чем неглубокие, и чтобы относительная вероятность перехода сети в один из двух минимумов с разной энергией зависела только от соотношения их глубин. Это позволило бы управлять вероятностями получения конкретных выходных векторов состояния путём изменения профиля энергетической поверхности системы за счет модификации весов связей. На основе этих соображений и построена машина Больцмана.
Идея использования «теплового шума» для выхода из локальных минимумов и повышения вероятности попадания в более глубокие минимумы принадлежит С. Кирпатрику. На основе этой идеи разработан алгоритм имитации отжига.
Введем некоторый параметр — аналог уровня теплового шума. Тогда вероятность активности некоторого нейрона определяется на основе вероятностной функции Больцмана:
где — уровень теплового шума в сети; — сумма весов связей -го нейрона со всеми активными в данный момент нейронами.
Хотя возможности обучения машины Больцмана ограничены на практике, эти проблемы могут быть решены применением архитектуры ограниченной машины Больцмана (restricted Boltzmann machine; RBM). В этой архитектуре связи существуют только между скрытыми и видимыми нейронами, но при этом отсутствуют между нейронами одного класса. Такая архитектура изначально использовалась Полом Смоленски в 1986 году под названием Harmonium[3], но приобрела популярность только после изобретения Хинтоном быстрых алгоритмов обучения в середине 2000-х годов.
Ограниченные машины Больцмана используются в сетях глубинного обучения. В частности, глубокие сети доверия могут быть получены путём «наложения» RBM и последующего дообучения при помощи алгоритма обратного распространения ошибки.