Алгоритм функционирования сети Хэмминга следующий:
1. На входы сети подается неизвестный вектор
, исходя из которого рассчитываются состояния нейронов первого слоя (верхний индекс в скобках указывает номер слоя): (12) |
После этого полученными значениями инициализируются значения аксонов второго слоя:
(13) |
2. Вычислить новые состояния нейронов второго слоя:
(14) |
и значения их аксонов:
(15) |
Функция активации
имеет вид порога, причем высота порога должна быть достаточно большой, чтобы любые возможные значения аргумента не приводили к насыщению.3. Проверить, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если да – перейди к шагу 2. Иначе – конец.
Для сети Хопфилда могут существовать две модификации отличающиеся по времени передачи сигнала: асинхронный и синхронный режимы.
Если работа сети моделируется на одном процессоре, то при синхронном режиме последовательно просматриваются нейроны, однако их состояния запоминаются отдельно и не меняются до тех пор, пока не будут пройдены все нейроны сети. Когда все нейроны просмотрены, их состояния одновременно (т.е. синхронно, отсюда и название) меняются на новые. Таким образом, достигается моделирование параллельной работы последовательным алгоритмом. При реально параллельном моделировании, этот режим фактически означает, что время передачи
для каждой связи между элементами и одинаковое для каждой связи, что приводит к параллельной работе всех связей, они одновременно меняют свои состояния, основываясь только на предыдущем моменте времени. Наличие таких синхронных тактов, которые можно легко выделить и приводит к пониманию синхронного режима. При синхронном режиме возможно (хотя и далеко не всегда наблюдается) бесконечное чередование двух состояний с разной энергией - так называемый динамический аттрактор. Поэтому синхронный режим практически для сети Хопфилда не используется, и рассматривается лишь как основа для понимания более сложного асинхронного режима.Если моделировать работу сети как последовательный алгоритм, то в асинхронном режиме работы состояния нейронов в следующий момент времени меняются последовательно: вычисляется локальное поле для первого нейрона в момент t, определяется его реакция, и нейрон устанавливается в новое состояние (которое соответствует его выходу в момент t+1), потом вычисляется локальное поле для второго нейрона с учетом нового состояния первого, меняется состояние второго нейрона, и так далее - состояние каждого следующего нейрона вычисляется с учетом всех изменений состояний рассмотренных ранее нейронов.
По сути при последовательной реализации сети Хопфилда явно не видно в чем заключается асинхронность, но это видно если сеть Хопфилда реализовать с параллельными вычислениями. В этом случае асинхронный режим сети Хопфилда упрощен, и носит частный случай по сравнению с общим видом асинхронных сетей, где время передачи τij для каждой связи между элементами
и свое, но постоянное. Чтобы рассмотреть работу сети при параллельной реализации, необходимо ввести понятие такта - как минимальное время за которое происходит передача сигнала по связи, т.е. при = 1. Тогда за промежуток времени между t и (t+1) происходит определенное количество тактов N. И именно в пределах времени из N тактов происходит асинхроность протекания сигналов и выполнения расчетов. То есть, например, когда нужно расчитать состояние нейрона №3 необходимо расчитать состояния нейрона №1 и состояния нейрона №2 и умножить это на соответствующие веса и . Но оказывается, для того чтобы рассчитать состояние нейрона №2 нам нужно знать обновленное состояние нейрона №1 и старое состояние нейрона №3, умножить их на веса и . Понятно, что физически не возможно рассчитать состояние нейрона №1 и состояние нейрона №2 за одно и то же время, так как состояние нейрона №2 зависит от состояния нейрона №1. Поэтому связь между нейроном №1 и нейроном №3 имеете время передачи = 2, и достигает нейрона №3 за два такта. Именное такое разное время передачи и позволяет говорить о сети Хопфилда как о сети с асинхронным режимом.В асинхронном режиме невозможен динамический аттрактор - вне зависимости от количества запомненных образов и начального состояния, сеть непременно придет к устойчивому состоянию (статическому аттрактору).
К сожалению, у нейронной сети Хопфилда есть ряд недостатков.
· Относительно небольшой объем памяти, величину которого можно оценить выражением:
(16) |
·
Попытка записи большего числа образов приводит к тому, что нейронная сеть перестает их распознавать.
То же справедливо и для сетей Хэмминга.
· Достижение устойчивого состояния не гарантирует правильный ответ сети. Это происходит из-за того, что сеть может сойтись к так называемым ложным аттракторам, иногда называемым "химерой" (как правило, химеры склеены из фрагментов различных образов).
Исходя из вышесказанного можно заключить, что сети Хопилда и Хэмминга не подходят для решения OCR-задач — ограниченный объём памяти не позволит запомнить необходимое количество символов. Сеть Хопфилда не подходит как таковая ещё и по той причине, что не имеет своей целью классификацию образа, в отличие от сети Хэмминга.
Сети Ворда по архитектуре подобны перцептронам, однако в них нейроны разделены на блоки, каждый из которых имеет свою собственную функцию активации, отличающуюся от функций активации других блоков. В плане решения OCR-задач сети Ворда принципиально не отличаются от перцептронов.
Нейронные сети Кохонена — класс нейронных сетей, основным элементом которых является слой Кохонена. Слой Кохонена состоит из адаптивных линейных сумматоров («линейных формальных нейронов»). Как правило, выходные сигналы слоя Кохонена обрабатываются по правилу «победитель забирает всё»: наибольший сигнал превращается в единичный, остальные обращаются в ноль.
По способам настройки входных весов сумматоров и по решаемым задачам различают много разновидностей сетей Кохонена. Наиболее известные из них:
· Сети векторного квантования сигналов, тесно связанные с простейшим базовым алгоритмом кластерного анализа (метод динамических ядер или K-средних, то есть K-means)
· Самоорганизующиеся карты Кохонена (Self-Organising Maps, SOM)
· Сети векторного квантования, обучаемые с поощрением (Learning Vector Quantization)
Сети Кохонена применяются для отображения пространства входных образов размерности N в пространство выходных образов размерности M, где M < N (обычно M равно 2, чтобы пространство можно было представить на плоскости, тогда можно говорить о картах Кохонена). Поскольку сети Кохонена не решают ни задачу классификации образов, ни задачу выделения характерных черт, они бесполезны для процесса распознавания символов как такового (однако возможно применение сетей Кохонена для анализа разметки страницы).
Сети радиальных базисных функций (Radial Basis Functions, RBF) – мощные средства интерполяции в многомерном пространстве. RBF – функция с критерием расстояния от центра. RBF применяются в нейронных сетях (обычно — многослойных перцептронах) вместо сигмоидной функции активации нейронов скрытого слоя. RBF-сети работают в два этапа. На первом этапе входные сигналы отображаются в RBF скрытого слоя. На втором этапе сигналы скрытого слоя преобразуются в выходные сигналы. Преобразование зависит от решаемой задачи: для решения регрессионных проблем выходные сигналы вычисляются как линейная комбинация сигналов скрытого слоя, при решении проблем классификации выходные сигналы также линейно комбинируются и пропускаются через сигмоидную функцию.