Обмежена машина Больцмана

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Схема обмеженої машини Больцмана з трьома видимими вузлами та чотирма прихованими вузлами (без упереджених вузлів).

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

ОМБ було спочатку винайдено під назвою Гармоніум (англ. Harmonium — фісгармонія) Полом Смоленським[en] 1986 року,[1] а популярності вони набули після винайдення Джефрі Гінтоном зі співавторами у середині 2000-х років алгоритмів швидкого навчання для них. ОМБ знайшли застосування у зниженні розмірності,[2] класифікації,[3] колаборативній фільтрації,[4] навчанні ознак,[5] тематичному моделюванні[6] та навіть квантовій механіці багатьох тіл[en].[7][8] Їх можна тренувати як керованим, так і некерованим чином, залежно від завдання.

Як випливає з їхньої назви, ОМБ є варіантом машин Больцмана, з тим обмеженням, що їхні нейрони мусять формувати двочастковий граф: пара вузлів з кожної з двох груп вузлів (що, як правило, називають «видимим» та «прихованим» вузлами відповідно) можуть мати симетричне з'єднання між ними, але з'єднань між вузлами в межах групи не існує. На противагу, «необмежені» машини Больцмана можуть мати з'єднання між прихованими вузлами. Це обмеження уможливлює ефективніші алгоритми тренування, ніж доступні для загального класу машин Больцмана, зокрема, алгоритм контра́стового розхо́дження (англ. contrastive divergence) на основі градієнтного спуску.[9]

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

Структура

[ред. | ред. код]

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

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

Ця функція енергії аналогічна функції енергії мережі Гопфілда. Як і з загальними машинами Больцмана, спільний розподіл імовірності для видимих та прихованих векторів визначають у термінах функції енергії наступним чином:[11]

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

,

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

.

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

.

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

та

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

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

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

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

[ред. | ред. код]

Обмежені машини Больцмана є особливим випадком машин Больцмана та марковських випадкових полів.[12][13] Їхня графова модель відповідає моделі факторного аналізу.[14]

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

[ред. | ред. код]

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

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

Алгоритмом, що найчастіше застосовують для тренування ОМБ, тобто для оптимізації матриці вагових коефіцієнтів , є алгоритм контрастового розходження (КР, англ. contrastive divergence, CD), що належить Гінтонові, первинно розроблений для тренування моделей добутку експертів[en] (англ. product of experts, PoE).[15][16] Цей алгоритм здійснює вибірку за Ґіббзом[en], і використовується всередині процедури градієнтного спуску (подібного до того, як зворотне поширення використовується всередині такої процедури при тренуванні нейронних мереж прямого поширення) для обчислення уточнення вагових коефіцієнтів.

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

  1. Взяти тренувальний зразок v, обчислити ймовірності прихованих вузлів, та вибрати вектор прихованих збуджень h з цього розподілу ймовірності.
  2. Обчислити зовнішній добуток v та h, і назвати це позитивним градієнтом.
  3. Спираючись на h, вибрати відбудову видимих вузлів v', а потім перевибрати з неї приховані збудження h'. (крок вибірки за Ґіббзом)
  4. Обчислити зовнішній добуток v' та h', і назвати це негативним градієнтом.
  5. Покласти уточненням вагової матриці різницю позитивного та негативного градієнтів, помножену на певний темп навчання: .
  6. Уточнити упередження a та b аналогічно: , .

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

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

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

Література

[ред. | ред. код]
  • Fischer, Asja; Igel, Christian (2012), An Introduction to Restricted Boltzmann Machines, Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications, Lecture Notes in Computer Science (англ.), Berlin, Heidelberg: Springer Berlin Heidelberg, т. 7441, с. 14—36, doi:10.1007/978-3-642-33275-3_2, ISBN 978-3-642-33274-6

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Smolensky, Paul (1986). Chapter 6: Information Processing in Dynamical Systems: Foundations of Harmony Theory (PDF). У Rumelhart, David E.; McLelland, James L. (ред.). Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Volume 1: Foundations. MIT Press. с. 194–281. ISBN 0-262-68053-X. Архів оригіналу (PDF) за 14 липня 2023. Процитовано 13 січня 2016. (англ.)
  2. Hinton, G. E.; Salakhutdinov, R. R. (2006). Reducing the Dimensionality of Data with Neural Networks (PDF). Science. 313 (5786): 504—507. Bibcode:2006Sci...313..504H. doi:10.1126/science.1127647. PMID 16873662. S2CID 1658773. Архів оригіналу (PDF) за 23 грудня 2015. Процитовано 13 січня 2016. (англ.)
  3. Larochelle, H.; Bengio, Y. (2008). Classification using discriminative restricted Boltzmann machines (PDF). Proceedings of the 25th international conference on Machine learning - ICML '08. с. 536. doi:10.1145/1390156.1390224. ISBN 9781605582054. Архів оригіналу (PDF) за 13 жовтня 2017. Процитовано 13 січня 2016. (англ.)
  4. а б Salakhutdinov, R.; Mnih, A.; Hinton, G. (2007). Restricted Boltzmann machines for collaborative filtering. Proceedings of the 24th international conference on Machine learning - ICML '07. с. 791. doi:10.1145/1273496.1273596. ISBN 9781595937933. (англ.)
  5. Coates, Adam; Lee, Honglak; Ng, Andrew Y. (2011). An analysis of single-layer networks in unsupervised feature learning (PDF). International Conference on Artificial Intelligence and Statistics (AISTATS). Архів оригіналу (PDF) за 20 грудня 2014. Процитовано 13 січня 2016. (англ.)
  6. а б Ruslan Salakhutdinov and Geoffrey Hinton (2010). Replicated softmax: an undirected topic model [Архівовано 25 травня 2012 у Wayback Machine.]. Neural Information Processing Systems[en] 23. (англ.)
  7. Carleo, Giuseppe; Troyer, Matthias (10 лютого 2017). Solving the quantum many-body problem with artificial neural networks. Science (англ.). 355 (6325): 602—606. arXiv:1606.02318. Bibcode:2017Sci...355..602C. doi:10.1126/science.aag2302. ISSN 0036-8075. PMID 28183973. S2CID 206651104.
  8. Melko, Roger G.; Carleo, Giuseppe; Carrasquilla, Juan; Cirac, J. Ignacio (September 2019). Restricted Boltzmann machines in quantum physics. Nature Physics (англ.). 15 (9): 887—892. Bibcode:2019NatPh..15..887M. doi:10.1038/s41567-019-0545-1. ISSN 1745-2481.
  9. а б Miguel Á. Carreira-Perpiñán and Geoffrey Hinton (2005). On contrastive divergence learning. Artificial Intelligence and Statistics. (англ.)
  10. Hinton, G. (2009). Deep belief networks. Scholarpedia. 4 (5): 5947. Bibcode:2009SchpJ...4.5947H. doi:10.4249/scholarpedia.5947. (англ.)
  11. а б в г Geoffrey Hinton (2010). A Practical Guide to Training Restricted Boltzmann Machines [Архівовано 25 вересня 2014 у Wayback Machine.]. UTML TR 2010—003, University of Toronto. (англ.)
  12. а б Sutskever, Ilya; Tieleman, Tijmen (2010). On the convergence properties of contrastive divergence (PDF). Proc. 13th Int'l Conf. On AI and Statistics (AISTATS). Архів оригіналу (PDF) за 10 червня 2015. (англ.)
  13. а б Asja Fischer and Christian Igel. Training Restricted Boltzmann Machines: An Introduction [Архівовано 10 червня 2015 у Wayback Machine.]. Pattern Recognition 47, pp. 25-39, 2014 (англ.)
  14. María Angélica Cueto; Jason Morton; Bernd Sturmfels (2010). Geometry of the restricted Boltzmann machine. Algebraic Methods in Statistics and Probability. American Mathematical Society. 516. arXiv:0908.4425. Bibcode:2009arXiv0908.4425A. (англ.)
  15. Geoffrey Hinton (1999). Products of Experts [Архівовано 24 вересня 2015 у Wayback Machine.]. ICANN 1999. (англ.)
  16. Hinton, G. E. (2002). Training Products of Experts by Minimizing Contrastive Divergence (PDF). Neural Computation. 14 (8): 1771—1800. doi:10.1162/089976602760128018. PMID 12180402. S2CID 207596505. Архів accessdate = 13 січня 2016 оригіналу за 3 березня 2016. (англ.)

Посилання

[ред. | ред. код]