В конце концов ни один из блоков не меняется, и функция находится на локальном минимуме. Это называется состоянием аттрактора в сети Хопфилда и соответствует хранимой памяти, которая может быть восстановлена путем инициализации сети с частью сохраненных данных. Так в сети Хопфилда создается ассоциативная память. Вес хранимой информации можно узнать с помощью долговременной синаптической пластичности:
где левая сторона – изменение веса, α – скорость обучения, а xi
– хранимая информация.Джон Хопфилд и Дэвид Тэнк, работавший в то время в компании Bell Labs[157]
, показали, что вариант сети Хопфилда, в котором информация постоянно оценивалась между нулем и единицей, можно использовать, чтобы получить хорошие решения для задач по оптимизации, таких как задача коммивояжера, где необходимо найти кратчайший маршрут, посещая указанные города[158]. Это задача по информатике, известная своей сложностью. Энергетическая функция сетей включала длину пути и ограничение на посещение каждого города одним разом. После кратковременного повышения напряжения в начале сеть начинала работать с минимальными затратами энергии, находя хороший, хоть и не обязательно лучший маршрут.Поиск глобального энергетического минимума
На семинаре также присутствовал Дана Гарри Баллард, написавший классическую книгу по компьютерному зрению. Мы с Джеффри работали с Баллардом над обзорной статьей для журнала Nature о новом подходе к анализу изображений[159]
. Идея заключалась в том, что узлы в сетевой модели исполняют роль информационной функции на изображении, а соединения в сети разграничивают объекты; у согласованных узлов – положительное взаимодействие друг с другом, а у несогласованных – отрицательное. В поле зрения необходимо последовательно проанализировать все признаки, подходящие под заданные ограничения.Может ли сеть Хопфилда решить эту проблему, удовлетворив всем ограничениям? Энергетическая функция – мера того, насколько хорошо сеть их удовлетворяет. Проблема зрения требовала решения с глобальным энергетическим минимумом, лучшего решения, но сеть Хопфилда изначально спроектирована находить только локальные минимумы энергии. Недавно в журнале Science я наткнулся на статью Скотта Киркпатрика из Исследовательского центра Томаса Уотсона в IBM, которая могла помочь с этой задачей[160]
. Киркпатрик использовал так называемый метод имитации отжига, чтобы обойти локальные минимумы. Предположим, у вас есть множество компонентов в электрической цепи, которые должны быть установлены на две печатные платы. Каково наилучшее размещение деталей, чтобы использовать наименьшее количество проводов, необходимых для их подключения?Найти очень хорошие решения можно, сначала расположив части в случайном порядке, а затем перемещая их назад и вперед по одной, чтобы увидеть, какое размещение требует меньше проводов. Проблема в том, что вы рискуете легко попасть в ловушку локального минимума, когда не добиться никаких улучшений, перемещая один компонент. Способ этого избежать – позволить случайные скачки к конфигурациям с более длинными проводами. В начале вероятность выскочить высока, но постепенно уменьшается, так что к концу она равна нулю. Если снижение вероятности достаточно медленное, окончательное размещение деталей будет иметь глобальный минимум соединительных проводов. В металлургии это называется отжигом: при нагревании металла и медленном охлаждении образуются крупные кристаллы с минимальными дефектами. Дефекты делают металл хрупким и склонным к растрескиванию.
Машины Больцмана
В сети Хопфилда имитация отжига соответствует «нагреву» обновлений, так что энергия может идти как вверх, так и вниз. При высокой температуре блоки произвольно переворачиваются, и если температура постепенно понижается, то высока вероятность того, что сеть Хопфилда застынет в состоянии с наименьшей энергией, когда температура достигнет нуля. На практике моделирование начинается при постоянной температуре, чтобы обеспечить равновесие сети. При равновесии сеть может побывать во множестве ближайших состояний и исследовать широкий спектр допустимых решений.
Блок 4. Машина Больцмана
Все соединения в машине Больцмана симметричны, как и в сети Хопфилда, и двоичные единицы обновляются один раз, устанавливая si
= 1 с вероятностью, заданной приведенной выше S-образной кривой, где входы ∆ E масштабируются по температуре T. Входной и выходной слои «видимы» в том смысле, что они взаимодействуют с внешним миром. «Скрытые элементы» представляют объекты, имеющие внутренние степени свободы, которые могут влиять на видимые объекты. У алгоритма машинного обучения Больцмана две фазы: в фазе бодрствования входы и выходы фиксируются, и после того, как сеть приходит к равновесию, вычисляется средняя корреляция между парами единиц. Во второй фазе сна корреляции снова вычисляются с незафиксированными входами и выходами. Затем вес постепенно обновляется: