Сети Хопфилда
Сети Хопфилда
Специально рассмотрим вид сетей, предложенный Дж. Хопфилдом, поскольку эти сети привлекли особое внимание в контексте проблемы творчества. В этих сетях каждый нейрон может принимать одно из двух состояний. В них нет входных, промежуточных и выходных слоев, однако, как показано на рисунке 2.14, есть обратные связи.
За счет обратных связей сети Хопфилда являются динамическими, т. е. выход, передаваясь по сети обратной связи, модифицирует вход. Затем новый вход модифицирует выход, и процесс повторяется снова и снова. Для устойчивой сети последовательные итерации приводят к все меньшим изменениям выхода, пока в конце концов выход не становится постоянным. Для некоторых сетей процесс никогда не заканчивается, такие сети называют неустойчивыми.
Рис. 2.14. Сеть Хопфилда
Во время работы сети Хопфилда признаком нахождения решения является момент, когда достигается аттрактор, статический (когда на каждом следующем шаге повторяется устойчивое состояние) или, возможно, динамический (когда до бесконечности чередуются два разных состояния). Это конечное состояние сети и является ее реакцией на данный образ.
На первом этапе сеть Хопфилда обучают. Это означает, что сеть запоминает определенное количество состояний.
Матрица весовых коэффициентов настраивается детерминированным алгоритмом раз и навсегда, и затем весовые коэффициенты больше не изменяются.
Как только веса заданы, сеть может быть использована для получения запомненного выходного вектора по данному входному вектору, который может быть частично неправильным или неполным.
Обычно ответом является такое устойчивое состояние, которое совпадает с одним из запомненных при обучении векторов, однако при некоторых условиях (в частности, при слишком большом количестве запомненных образов) результатом работы может стать так называемый ложный аттрактор («химера»), состоящий из нескольких частей разных запомненных образов, а также в синхронном режиме сеть может прийти к динамическому аттрактору.
Если во время обучения сформировать матрицу весовых коэффициентов (межнейронных связей) на основании эталонных образов, то нейронная сеть в процессе работы будет менять состояния нейронов до тех пор, пока не перейдет к одному из устойчивых состояний.
Внешнее воздействие на хопфилдовскую сеть заключается в том, что некоторые ее узлы приводятся в состояние активации. Затем сеть, предварительно обученная на распознавание определенных образов, начинает самопроизвольно эволюционировать, пока не доходит до устойчивого состояния, в котором и остается. Состояние, в которое она приходит, означает, что образ распознан. Сеть Хопфилда отличается способностью переходить от разных исходных состояний к одному и тому же конечному, т. е. несколько различные образы она может распознать как один и тот же объект. Эти конечные устойчивые состояния сети, или, пользуясь синергетической терминологией, аттракторы задаются предварительным обучением.
Представим сеть Хопфилда, распознающую зрительные образы, каждый элемент которой соответствует определенной точке сетчатки. Допустим, сеть обучена распознавать какой-то известный портрет Пиаже, т. е. возбуждение участков сетчатки при восприятии этого портрета является аттрактором системы. Если мы дадим теперь на вход сети несколько иное изображение ученого, то после большего или меньшего количества итераций система придет к состоянию, соответствующему тому портрету, на который было проведено научение, т. е. «узнает» Пиаже.
На рисунке 2.15 представлено распознавание зашумленного изображения сетью.
Рис. 2.15. Распознавание образа сетью Хопфилда
Однако распознавание образов – не самое интересное свойство сети Хопфилда в контексте проблематики творчества. Существеннее то, что за счет стремления к энергетическому минимуму сеть способна решать задачи на оптимизацию. Энергетическим минимумом для сети является аттрактор, т. е. такое состояние, придя в которое, она перестает эволюционировать.
Классическая задача оптимизации, для решения которой может использоваться сеть Хопфилда – это задачи коммивояжера: нужно обойти все n городов и вернуться в исходный так, чтобы длина пройденного маршрута была минимальной. Для этого можно наложить на сеть, например, такие требования:
1. Сеть должна состоять из N = n ? n нейронов, которые мы будем рассматривать как квадрат из n строк и n столбцов.
2. Ответ сети должен содержать только один активный нейрон в каждой строке и каждом столбце.
3. Активный нейрон в первом столбце задает первый город маршрута, во втором столбце – второй город маршрута, и так далее.
Оказывается, что для решения этой задачи достаточно следующих простых соображений:
• для выполнения условия 2 веса сети должны быть построены таким образом, чтобы каждый нейрон препятствовал активации других нейронов в своей строке и в своем столбце;
• для минимизации длины пути необходимо, чтобы нейрон в i-м столбце тем активнее препятствовал активации нейронов в i + 1-м и i – 1-м столбцах, чем больше расстояние между ними;
• для того чтобы сеть Хопфилда вообще работала, необходимо, чтобы все веса сети не были отрицательными.
Можно показать, что существует несложная формула вычисления веса между нейроном, соответствующим городу x на позиции в маршруте i, и нейроном, соответствующим городу y на позиции j, которая удовлетворяет перечисленным условиям. Если установить веса нейронных связей по этой формуле и привести сеть в случайное начальное состояние, то результирующее стабильное состояние даст субоптимальный путь, длина которого не слишком превосходит оптимальную. Найденное сетью решение будет локальным минимумом, а не обязательно абсолютным минимумом. Локальные минимумы – состояния системы, которые обеспечивают некоторую, но не лучшую оптимизацию состояния, удерживающую систему от дальнейшего прогресса. Найденное решение будет зависеть от случайного начального состояния. Для практического применения сеть можно запустить несколько раз и выбрать наилучший путь. Однако в теоретическом плане интереснее аналогия, которую Хопфилд проводит между процессом работы сети и физическим понятием отжига[22]. Несколько огрубляя, можно сказать, что аналог отжига в нейронной сети происходит следующим образом. Сеть вначале «разогревают», дают ей «встряску», в результате которой она может выйти из состояния локального минимума. Далее «температура» постепенно понижается, позволяя активности стать более «рациональной» и менее случайной, пока не будет найден глобальный минимум.
Данный текст является ознакомительным фрагментом.