Литмир - Электронная Библиотека
Содержание  
A
A

В 1984 г. Экли, Хинтон и Сейновски предложили[1509] решение, в котором набор входных образов сопоставляется с набором выходных образов через небольшой набор скрытых нейронов. В последующем году появилась публикация[1510], посвящённая исследованию методов обучения такой сети.

Эта модель и получила название «машина Больцмана», в честь австрийского физика Людвига Больцмана, одного из основоположников статистической физики. Все синаптические связи между нейронами больцмановской машины — симметричные, а сами нейроны разделены на два множества — скрытые и видимые, где последние выполняют роль рецептивного слоя. Каждый нейрон может находиться в одном из двух состояний — «включённом» [on] и «выключенном» [off], причём это состояние он приобретает на основе некоторой функции вероятности от состояний нейронов, соединённых с нашим нейроном, и от синаптических весов этих связей. Синаптические веса являются действительными числами и могут принимать также и отрицательные значения. Довольно интересно здесь то, что авторы статьи не говорят о том, какая именно функция вероятности может быть использована в машине, что позволяет конструировать машины Больцмана на основе самых разных функций. Понятно, что классическим решением будет логистическая функция от суммы произведений состояний связанных нейронов (где «включённое» состояние соответствует 1, а «выключенное» — 0) на веса соответствующих связей. Каждый нейрон также имеет индивидуальную величину «смещения» [bias] (иногда также используется термин «порог» [threshold]), обозначаемую традиционно буквой θ. Смещение можно рассматривать как вес синапса, связывающего наш нейрон с особенным нейроном, находящимся в постоянно включённом состоянии.

Хинтон и его коллеги рассматривали машину Больцмана как модель для решения задачи «удовлетворения ограничений» [constraint satisfaction], то есть задачи поиска набора значений переменных, удовлетворяющих определённому набору ограничений.

Охота на электроовец. Большая книга искусственного интеллекта - image197.jpg
Рис. 110. Схема машины Больцмана

В математической статистике модели, подобные машине Больцмана, называют марковскими случайными полями.

Впрочем, достижением Хинтона и его коллег стало не только и не столько создание прямого нейросетевого аналога случайных марковских полей и присвоение ему имени австрийского физика (тем более что некоторые исследователи склонны рассматривать машину Больцмана в качестве разновидности сети Хопфилда), сколько идея использования для обучения таких сетей так называемого алгоритма имитации отжига [simulated annealing].

Название этого алгоритма отсылает нас ВНЕЗАПНО к металлургии, в которой отжигом называется вид термической обработки стали, заключающийся в нагреве заготовки до определённой температуры, выдержке в течение некоторого времени и последующем, обычно медленном, охлаждении до комнатной температуры. Из школьного курса физики мы знаем, что температура вещества пропорциональна средней кинетической энергии составляющих его частиц. Чем выше температура, тем быстрее движутся частицы, по мере же остывания их движение становится всё более медленным, и в случае с кристаллическими телами частицы постепенно всё ближе и ближе перемещаются к позициям, соответствующим узлам кристаллической решётки. В процессе остывания система приближается к состоянию, соответствующему энергетическому минимуму. В машине Больцмана таким энергетическим минимумом является состояние, при котором набор синаптических весов (включая смещения) и состояний нейронов находится в «полностью непротиворечивом состоянии» (когда состояния нейронов видимого слоя, установленные в результате инициализации сети, совпадают с их состояниями, рассчитанными на основе синаптических входов). Энергию системы создатели модели описывают при помощи следующей нехитрой формулы:

Охота на электроовец. Большая книга искусственного интеллекта - form_03.png

где wij — вес синапса, соединяющего нейроны i и j; si — состояние нейрона (0 или 1); θ — смещение. Условие i < j при суммировании нужно для того, чтобы исключить повторное суммирование для одних и тех же синапсов (поскольку синаптические связи в машине Больцмана полностью симметричны). Энергия суммируется для всего набора имеющихся у нас прецедентов. Процесс обучения начинается с точки, соответствующей случайному набору весов и некоторой величины температуры T. Затем на каждом шаге мы выбираем случайным образом новую точку в окрестностях текущей и рассчитываем величину энергии для неё. Если энергия в новой точке меньше, то мы переходим в неё со стопроцентной вероятностью. Если же величина энергии в новой точке больше или равна текущей, то мы переходим в неё или остаёмся в старой точке с некой вероятностью, зависящей от текущей температуры и энергии в старой и новой точках. Эта зависимость называется функцией вероятности принятия [acceptance probability function]. Можно использовать различные функции принятия, но классическая такова:

Охота на электроовец. Большая книга искусственного интеллекта - form_04.png

где P — вероятность перехода, E — энергия в текущей точке, E’ — энергия в новой точке, T — температура.

На следующем шаге мы уменьшаем величину T и повторяем процедуру, пока температура не достигнет нуля, а энергия — минимума.

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

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

Охота на электроовец. Большая книга искусственного интеллекта - image198.jpg
Рис. 111. Синаптические связи в ограниченной машине Больцмана

Завершённая в 1987 г. диссертация[1511] Лекуна, публикации[1512] Галлинари и его коллег, а также Бурлара и Кампа[1513] заложили основы применения автокодировщиков.

В 1990-е и начале 2000-х гг. исследования автокодировщиков продолжались. Например, в 1991 г. свет увидела работа[1514] Марка Крамера из MIT, в которой было показано преимущество автоэнкодеров (сам Крамер использовал термин «автоассоциативные нейронные сети» (Autoassociative Neural Networks)) над классическим методом главных компонент. В 1990-е и начале 2000-х гг. основным центром исследования автокодировщиков была группа Джеффри Хинтона в Торонто. В это время активно изучаются[1515], [1516] различные способы обучения таких сетей, позволяющие добиться наилучших результатов. Важным шагом вперёд становится появление глубоких сетей доверия — варианта ограниченной машины Больцмана с несколькими слоями скрытых нейронов (при этом допускаются связи между нейронами различных скрытых слоёв, но не внутри отдельного слоя). Для обучения таких сетей в начале 2000-х гг. в группе Хинтона применяли[1517] алгоритмы послойного обучения. Однако в целом можно сказать, что автокодировщики оставались в тени других нейросетевых моделей того времени (в первую очередь свёрточных и рекуррентных сетей). По всей видимости, в те годы многим исследователям казалось, что автокодировщики представляют главным образом теоретический интерес, а на практике могут применяться лишь в небольшом числе весьма специфических задач.

вернуться

1509

Hinton G. E., Sejnowski T. J., Ackley D. H. (1984). Boltzmann Machines: Constraint satisfaction network that learn. Technical Report No. CMU-CS-84-119. Pittsburgh, PA: Carnegie-Mellon University.

вернуться

1510

Ackley D. H., Hinton G. E., Sejnowski T. J. (1985). A Learning Algorithm for Boltzmann Machines / Cognitive Science, Vol. 9, pp. 145—169 // https://doi.org/10.1207/s15516709cog0901_7

вернуться

1511

LeCun Y. (1987). Modeles connexionistes de l’apprentissage. PhD thesis, Universite de Paris VI // https://www.persee.fr/doc/intel_0769-4113_1987_num_2_1_1804

вернуться

1512

Gallinari P., LeCun Y., Thiria S., Fogelman-Soulie F. (1987). Memoires associatives distribuees / Proceedings of COGNITIVA 87. Paris, La Villette // https://www.researchgate.net/publication/216792895_Memoires_associatives_distribuees_une_comparaison_distributed_associative_memories_a_comparison

вернуться

1513

Bourlard H., Kamp Y. (1988). Auto-Association by Multilayer Perceptrons and Singular Value Decomposition / Biological Cybernetics, Vol. 59, Iss. 4—5, pp. 291–294 // https://doi.org/10.1007/BF00332918

вернуться

1514

Kramer M. A. (1991). Nonlinear principal component analysis using autoassociative neural networks / AIChE Journal, Vol. 37, No. 2, pp. 233—243 // https://doi.rog/10.1002/aic.690370209

вернуться

1515

Hinton G. E., Zemel R. S. (1994). Autoencoders, minimum description length and Helmholtz free energy / Advances in neural information processing systems, Vol. 6, pp. 3—10.

вернуться

1516

Hinton G. E., Salakhutdinov R. R. (2006). Reducing the Dimensionality of Data with Neural Networks / Science. — 2006-07-28. — Vol. 313, Iss. 5786, pp. 504—507 // https://dx.doi.org/10.1126%2Fscience.1127647

вернуться

1517

Hinton G. E., Osindero S., Teh Y. W. (2006). A Fast Learning Algorithm for Deep Belief Nets // https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf

163
{"b":"936964","o":1}