Обме́жена маши́на Бо́льцмана (ОМБ, ) — це породжувальна стохастична штучна нейронна мережа, здатна навчатися розподілу ймовірностей над набором її входів.

ОМБ було спочатку винайдено під назвою Гармоніум ( — фісгармонія) 1986 року, а популярності вони набули після винайдення Джефрі Гінтоном зі співавторами у середині 2000-х років алгоритмів швидкого навчання для них. ОМБ знайшли застосування у зниженні розмірності, класифікації, колаборативній фільтрації, навчанні ознак, тематичному моделюванніRuslan Salakhutdinov and Geoffrey Hinton (2010). Replicated softmax: an undirected topic model . 23. та навіть . Їх можна тренувати як керованим, так і некерованим чином, залежно від завдання.

Як випливає з їхньої назви, ОМБ є варіантом машин Больцмана, з тим обмеженням, що їхні нейрони мусять формувати двочастковий граф: пара вузлів з кожної з двох груп вузлів (що, як правило, називають «видимим» та «прихованим» вузлами відповідно) можуть мати симетричне з'єднання між ними, але з'єднань між вузлами в межах групи не існує. На противагу, «необмежені» машини Больцмана можуть мати з'єднання між прихованими вузлами. Це обмеження уможливлює ефективніші алгоритми тренування, ніж доступні для загального класу машин Больцмана, зокрема, алгоритм контра́стового розхо́дження () на основі градієнтного спуску.Miguel Á. Carreira-Perpiñán and Geoffrey Hinton (2005). On contrastive divergence learning. Artificial Intelligence and Statistics.

Обмежені машини Больцмана можливо також застосовувати в мережах глибокого навчання. Зокрема, глибокі мережі переконань можуть утворюватися «складанням» ОМБ та, можливо, тонким настроюванням отримуваної глибокої мережі за допомогою градієнтного спуску та зворотного поширення.

Структура

Стандартний тип ОМБ має бінарновозначні (булеві) приховані та видимі вузли, і складається з матриці розміру . Кожен ваговий елемент цієї матриці пов'язано зі з'єднанням між (вхідним) вузлом та вузлом . Крім того, є вагові коефіцієнти () для та для . З урахуванням цих ваг та упереджень, енергію конфігурації (пари булевих векторів) визначають як

або, в матричному записі,

Ця функція енергії аналогічна функції енергії мережі Гопфілда. Як і з загальними машинами Больцмана, спільний розподіл імовірності для видимих та прихованих векторів визначають у термінах функції енергії наступним чином:Geoffrey Hinton (2010). A Practical Guide to Training Restricted Boltzmann Machines . UTML TR 2010—003, University of Toronto.

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

,

і навпаки. Оскільки графова структура в основі ОМБ двочасткова (тобто, без з'єднань усередині шарів), збудження прихованих вузлів є для заданих збуджень видимих вузлів. І навпаки, збудження видимих вузлів є взаємно незалежними для заданих збуджень прихованих вузлів. Тобто, для m видимих вузлів та n прихованих вузлів умовною ймовірністю конфігурації видимих вузлів для заданої конфігурації прихованих вузлів є

.

І навпаки, умовною ймовірністю для заданої є

.

Імовірності окремих збуджень задаються як

та

де позначає логістичну сигмоїду.

Незважаючи на те, що приховані вузли є бернуллієвими, видимі вузли обмеженої машини Больцмана можуть бути багатозначними. В такому випадку логістична функція для видимих вузлів замінюється нормованою експоненційною функцією ()

де K є кількістю дискретних значень, які мають видимі значення. Вони застосовуються в тематичному моделюванні та рекомендаційних системах.

Співвідношення з іншими моделями

Обмежені машини Больцмана є особливим випадком машин Больцмана та марковських випадкових полів. Asja Fischer and Christian Igel. Training Restricted Boltzmann Machines: An Introduction . Pattern Recognition 47, pp. 25-39, 2014 Їхня графова модель відповідає моделі факторного аналізу.

Алгоритм тренування

Обмежені машини Больцмана тренуються максимізувати добуток ймовірностей, призначених певному тренувальному наборові (матриця, кожен рядок якої розглядається як видимий вектор ),

або, рівноцінно, максимізувати математичне сподівання логарифмічної ймовірності тренувального зразка , вибраного випадково з :

Алгоритмом, що найчастіше застосовують для тренування ОМБ, тобто для оптимізації матриці вагових коефіцієнтів , є алгоритм контрастового розходження (КР, ), що належить Гінтонові, первинно розроблений для тренування моделей ().Geoffrey Hinton (1999). Products of Experts . ICANN 1999. Цей алгоритм здійснює , і використовується всередині процедури градієнтного спуску (подібного до того, як зворотне поширення використовується всередині такої процедури при тренуванні нейронних мереж прямого поширення) для обчислення уточнення вагових коефіцієнтів.

Елементарну, однокрокову процедуру контрастового розходження (КР-1, ) для єдиного зразка може бути описано таким чином:

Взяти тренувальний зразок , обчислити ймовірності прихованих вузлів, та вибрати вектор прихованих збуджень з цього розподілу ймовірності. Обчислити зовнішній добуток та , і назвати це позитивним градієнтом. Спираючись на , вибрати відбудову видимих вузлів , а потім перевибрати з неї приховані збудження . (крок вибірки за Ґіббзом) Обчислити зовнішній добуток та , і назвати це негативним градієнтом. Покласти уточненням вагової матриці різницю позитивного та негативного градієнтів, помножену на певний темп навчання: . Уточнити упередження та аналогічно: , .

Практичну настанову з тренування ОМБ, написану Гінтоном, можна знайти на його домашній сторінці.

Складена обмежена машина Больцмана

Відмінність між складеними обмеженими машинами Больцмана () та ОМБ полягає в тому, що ОМБ має бічні з’єднання всередині шару, які заборонено для того, щоби зробити аналіз піддатливим. З іншого боку, складена больцманова машина складається з поєднання некерованої тришарової мережі з симетричними вагами та керованого тонко настроюваного верхнього шару для розпізнавання трьох класів. Використання складеної больцманової машини призначене для розуміння природної мови, , створення зображень та класифікування. Ці функції тренуються некерованим попереднім тренуванням та/або керованим тонким настроюванням. На відміну від неорієнтованого симетричного верхнього шару, з двоспрямованим несиметричним шаром для підключення до ОМБ. Обмежені больцманові з'єднання є тришаровим з асиметричними вагами, а дві мережі об'єднано в одну. Складена больцманова машина має спільні риси з ОМБ, нейрон для складеної больцманової машини це стохастичний бінарний нейрон Гопфілда, такий же, як і в обмеженій машині Больцмана. Енергію як для складеної больцманової машини, так і для ОМБ, задають ґіббзовою мірою ймовірності . Процес тренування обмежених больцманових машин подібний до ОМБ. Обмежені больцманові машини тренують пошарово та наближують стан рівноваги 3-сегментним проходом, не виконуючи зворотного поширення. Обмежені больцманові машини використовують як кероване, так і некероване тренування на різних ОБМ для попереднього тренування для класифікування та розпізнавання. Тренування використовує контрастове розходження з ґіббзовим вибиранням: Δwij = e*(pij - p'ij) Перевага обмеженої больцманової машини полягає у виконанні нелінійного перетворення, тому її легко розширити, що може дати ієрархічний шар ознак. Слабкість полягає у складності обчислень цілочислових та дійснозначних нейронів. Вона не слідує градієнтові будь-якої функції, тож наближення контрастового розходження до максимальної правдоподібності є імпровізованим.

Література

Див. також

Автокодувальник

Примітки

Посилання

Введення до обмежених машин Больцмана . Блог Едвіна Чена (), 18 липня 2011 р. . Документація Deeplearning4j . Документація Deeplearning4j Втілення ОМБ Бернуллі мовою Python, та посібник SimpleRBM це дуже мелий код ОМБ (24 кБ), корисний вам для вивчення того, як вчаться та працюють ОМБ. Втілення обмежених машин Больцмана мовою Julia: https://github.com/cossio/RestrictedBoltzmannMachines.jl