- •Распознавание образов и классификация
- •Нейронная сеть Хопфилда и ее применение.
- •3.9.2. Бинарные сети Хопфилда.
- •3.9.3. Описание алгоритма.
- •Архитектура сети
- •Обучение сети
- •Работа сети в режиме фильтрации (восстановление повреждённых образов)
- •Синхронный режим работы сети
- •Устойчивость сети в процессе работы
- •Асинхронный режим работы сети
- •Ассоциативная память[править | править вики-текст]
- •Задачи минимизации[править | править вики-текст]
- •Решение задачи о коммивояжёре[править | править вики-текст]
- •Ограничения сети[править | править вики-текст]
Асинхронный режим работы сети
Если моделировать работу сети как последовательный алгоритм, то в асинхронном режиме работы состояния нейронов в следующий момент времени меняются последовательно: вычисляется локальное поле для первого нейрона в момент t, определяется его реакция, и нейрон устанавливается в новое состояние (которое соответствует его выходу в момент t+1), потом вычисляется локальное поле для второго нейрона с учётом нового состояния первого, меняется состояние второго нейрона, и так далее — состояние каждого следующего нейрона вычисляется с учетом всех изменений состояний рассмотренных ранее нейронов.
По сути при последовательной реализации сети Хопфилда явно не видно, в чём заключается асинхронность, но это видно, если сеть Хопфилда реализовать с параллельными вычислениями. В этом случае асинхронный режим сети Хопфилда упрощен, и носит частный случай по сравнению с общим видом асинхронных сетей, где время передачи τij для каждой связи между элементами ui и uj своё, но постоянное. Чтобы рассмотреть работу сети при параллельной реализации, необходимо ввести понятие такта — как минимальное время, за которое происходит передача сигнала по связи, то есть при τij=1. Тогда за промежуток времени между t и t+1 происходит определённое количество тактов N. И именно в пределах времени из N тактов происходит асинхроность протекания сигналов и выполнения расчётов. То есть, например, когда нужно рассчитать состояние нейрона № 3, необходимо рассчитать состояние нейрона № 1 и состояние нейрона № 2 и умножить это на соответствующие веса w13 и w23. Но, как оказывается, чтобы рассчитать состояние нейрона № 2, нужно знать обновлённое состояние нейрона № 1 и старое состояние нейрона № 3, умножить их на веса w12 и w32. Понятно, что физически невозможно рассчитать состояние нейрона № 1 и состояние нейрона № 2 за одно и то же время, так как состояние нейрона № 2 зависит от состояния нейрона № 1. Поэтому связь между нейроном № 1 и нейроном № 3 имеет время передачи τij=2, и достигает нейрона № 3 за два такта. Именное такое разное время передачи τij и позволяет говорить о сети Хопфилда как о сети с асинхронным режимом.
В асинхронном режиме невозможен динамический аттрактор: вне зависимости от количества запомненных образов и начального состояния сеть непременно придёт к устойчивому состоянию (статическому аттрактору).
Устойчивость сети в процессе работы
Принципиальная разница между двумя режимами работы сети состоит в том, что в асинхронном случае сеть обязательно придёт к одному устойчивому состоянию. При синхронном же возможны ситуации с бесконечным циклическим переходом между двумя разными состояниями.
Определить, устойчиво или нет состояние нейрона, можно на основании так называемой искусственной энергии нейрона в данном поле Ei=−sihi. Если знак выхода (+1 или −1) нейрона совпадает с направлением локального поля (Ei<0), то его положение энергетически устойчиво и в следующий момент времени состояние нейрона остаётся неизменным. В противном случае (Ei>0) положение нейрона неустойчиво и он меняет свой знак, переходя в состояние si(t+1)=−si(t) с энергией Ei(t+1)<Ei(t).
Устойчивость при асинхроном способе достигается потому, что выполняется условие на общую энергию сети E(t+1)≤E(t). В синхронном случае условие несколько изменяется, а именно: E(t+1)≤E(t−1). В ситуации, когда происходят бесконечные циклические переходы, энергия двух разных состояний соответственно равна E(t) и E(t+1). При этом состояния t+1 и t−1, а также t и t+2 — совпадают. Если образуется такое состояние, то его называется динамическим аттрактором. Если же совпадают состояния t и t+1, аттрактор называют статическим. В большинстве случаев динамические аттракторы являются нежелательными, так как не соответствуют какому-либо определённому ответу сети.
