Главная страница
Навигация по странице:

  • Работа сети в режиме фильтрации (восстановление повреждённых образов)

  • Синхронный режим работы сети

  • Асинхронный режим работы сети

  • Пример восстановления повреждённого изображения

  • Устойчивость сети в процессе работы

  • Нейронные сети Хопфилда. Нейронные сети Хопфилда Нейронная сеть Хопфилда


    Скачать 78.98 Kb.
    НазваниеНейронные сети Хопфилда Нейронная сеть Хопфилда
    АнкорНейронные сети Хопфилда
    Дата24.05.2022
    Размер78.98 Kb.
    Формат файлаdocx
    Имя файлаНейронные сети Хопфилда.docx
    ТипДокументы
    #547728

    Нейронные сети Хопфилда

    Нейро́нная сеть Хо́пфилда — полносвязная нейронная сеть с симметричной матрицей связей. В процессе работы динамика таких сетей сходится (конвергирует) к одному из положений равновесия. Эти положения равновесия являются локальными минимумами функционала, называемого энергией сети (в простейшем случае — локальными минимумами отрицательно определённой квадратичной формы на n-мерном кубе). Такая сеть может быть использована как автоассоциативная память*, как фильтр, а также для решения некоторых задач оптимизации. В отличие от многих нейронных сетей, работающих до получения ответа через определённое количество тактов, сети Хопфилда работают до достижения равновесия, когда следующее состояние сети в точности равно предыдущему: начальное состояние является входным образом, а при равновесии получают выходной образ.

    *Автоассоциативной памятью называют память, которая может завершить или исправить образ, но не может ассоциировать полученный образ с другим образом. Данный факт является результатом одноуровневой структуры ассоциативной памяти, в которой вектор (образец некоторого класса) появляется на выходе тех же нейронов, на которые поступает входной вектор.

    Архитектура сети



    Схема сети Хопфилда с тремя нейронами

    Нейронная сеть Хопфилда состоит из N искусственных нейронов. Каждый нейрон системы может принимать одно из двух состояний (что аналогично выходу нейрона с пороговой функцией активации):


    Из-за их биполярной природы нейроны сети Хопфилда иногда называют спинами.

    Взаимодействие спинов сети описывается выражением:



    • где wij — элемент матрицы взаимодействий W, которая состоит из весовых коэффициентов связей между нейронами. В эту матрицу в процессе обучения записывается М «образов» — N-мерных бинарных векторов: Sm = (sm1,sm2,...,smN)

    В сети Хопфилда матрица связей является симметричной (wij = wji), а диагональные элементы матрицы полагаются равными нулю (wii = 0), что исключает эффект воздействия нейрона на самого себя и является необходимым для сети Хопфилда, но не достаточным условием, устойчивости в процессе работы сети. Достаточным является асинхронный режим работы сети. Подобные свойства определяют тесную связь с реальными физическими веществами, называемыми спиновыми стёклами.
    Обучение сети

    Алгоритм обучения сети Хопфилда существенно отличается от таких классических алгоритмов обучения перцептронов, как метод коррекции ошибки или метод обратного распространения ошибки. Отличие заключается в том, что вместо последовательного приближения к нужному состоянию с вычислением ошибок, все коэффициенты матрицы рассчитываются по одной формуле, за один цикл, после чего сеть сразу готова к работе. Вычисление коэффициентов основано на следующем правиле: для всех запомненных образов Xi матрица связи должна удовлетворять уравнению



    поскольку именно при этом условии состояния сети Xi будут устойчивы — попав в такое состояние, сеть в нём и останется.

    В случае сети Хопфилда условие симметричности является необходимым, но не достаточным, в том смысле, что на достижение устойчивого состояния влияет ещё и режим работы сети. Ниже будет показано, что только асинхронный режим работы сети гарантирует достижение устойчивого состояния сети, в синхронном случае возможно бесконечное переключение между двумя разными состояниями (такая ситуация называется динамическим аттрактором, в то время как устойчивое состояние принято называть статическим аттрактором).

    Запоминаемые векторы должны иметь бинарный вид. После этого происходит расчёт весовых коэффициентов по следующей формуле:



    где N — размерность векторов, m — число запоминаемых выходных векторов, d — номер запоминаемого выходного вектора, Xij — i-я компонента запоминаемого выходного j-го вектора.

    Это выражение может стать более ясным, если заметить, что весовая матрица W может быть найдена вычислением внешнего произведения каждого запоминаемого вектора с самим собой и суммированием матриц, полученных таким образом. Это может быть записано в виде



    где Xi — i-й запоминаемый вектор-строка.

    Расчёт этих весовых коэффициентов и называется обучением сети.

    Как только веса заданы, сеть может быть использована для получения запомненного выходного вектора по данному входному вектору, который может быть частично неправильным или неполным. Для этого выходам сети сначала придают значения этого начального вектора. Затем сеть последовательно меняет свои состояния согласно формуле:



    где F — активационная функция, Xi и Xi + 1 — текущее и следующее состояния сети, до тех пор, пока состояния Xi и Xi + 1 не совпадут (или, в случае синхронного режима работы, не совпадут состояния Xi − 1 с Xi + 1 и одновременно Xi − 2 с Xi). Именно этот процесс называется конвергенцией сети. Полученное устойчивое состояние Xi (статический аттрактор), или, возможно, в синхронном случае пара {Xi,Xi + 1} (динамический аттрактор), является ответом сети на данный входной образ.
    Работа сети в режиме фильтрации (восстановление повреждённых образов)



    Пороговая функция, реализуемая нейроном сети Хопфилда.

    Так как сети с обратными связями имеют пути, передающие сигналы от выходов к входам, то отклик таких сетей является динамическим, то есть после приложения нового входа вычисляется выход и, передаваясь по сети обратной связи, модифицирует вход. Затем выход повторно вычисляется, и процесс повторяется снова и снова. Для устойчивой сети последовательные итерации приводят к все меньшим изменениям выхода, пока в конце концов выход не становится постоянным. Для некоторых сетей процесс никогда не заканчивается, такие сети называют неустойчивыми. Проблема устойчивости будет дальше, а здесь мы рассмотрим основной цикл работы сети.

    Как только веса заданы, сеть может быть использована для получения запомненного выходного вектора по данному входному вектору, который может быть частично неправильным или неполным. Для этого выходам сети сначала придают значения этого начального вектора. Затем сеть последовательно меняет свои состояния согласно формуле:



    где F — активационная функция, X(t) и X(t + 1) — текущее и следующее состояния сети, до тех пор, пока состояния X(t) и X(t + 1) не совпадут (или, в случае синхронного режима работы, не совпадут состояния X(t − 1) с X(t + 1) и одновременно X(t − 2) с X(t)).

    Именно этот процесс называется конвергенцией сети.

    Это же можно описать так называемым локальным полем ai действующим на нейрон xi со стороны всех остальных нейронов сети:  .

    После расчёта локального поля нейрона ai(t) это значение используется для расчёта значения выхода через функцию активации, которая в данном случае является пороговой (с нулевым порогом). Соответственно, значение выхода нейрона і в текущий момент времени xi(t) рассчитывается по формуле:  , где wij — весовой коэффициент между нейронами i и j, xj(t − 1) — значения выходов нейрона j в предыдущий момент времени.

    Во время работы сети Хопфилда признаком нахождения решения является момент, когда достигается аттрактор, статический (когда на каждом следующем шаге повторяется устойчивое состояние X(t)) или, возможно, динамический (когда до бесконечности чередуются два разных состояния {X(t),X(t + 1)}). Это конечное состояние сети и является её реакцией на данный образ.

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

    Для сети Хопфилда могут существовать две модификации, отличающиеся по времени передачи сигнала: асинхронный и синхронный режимы.
    Синхронный режим работы сети

    Если работа сети моделируется на одном процессоре, то при синхронном режиме последовательно просматриваются нейроны, однако их состояния запоминаются отдельно и не меняются до тех пор, пока не будут пройдены все нейроны сети. Когда все нейроны просмотрены, их состояния одновременно (то есть синхронно, отсюда и название) меняются на новые. Таким образом, достигается моделирование параллельной работы последовательным алгоритмом.

    При реально параллельном моделировании, этот режим фактически означает, что время передачи τij для каждой связи между элементами ui и uj одинаково для каждой связи, что приводит к параллельной работе всех связей, они одновременно меняют свои состояния, основываясь только на предыдущем моменте времени. Наличие таких синхронных тактов, которые можно легко выделить и приводит к пониманию синхронного режима. При синхронном режиме возможно (хотя и далеко не всегда наблюдается) бесконечное чередование двух состояний с разной энергией — так называемый динамический аттрактор. Поэтому синхронный режим практически для сети Хопфилда не используется, и рассматривается лишь как основа для понимания более сложного асинхронного режима.
    Асинхронный режим работы сети

    Если моделировать работу сети как последовательный алгоритм, то в асинхронном режиме работы состояния нейронов в следующий момент времени меняются последовательно: вычисляется локальное поле для первого нейрона в момент 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 и позволяет говорить о сети Хопфилда как о сети с асинхронным режимом.

    В асинхронном режиме невозможен динамический аттрактор: вне зависимости от количества запомненных образов и начального состояния сеть непременно придёт к устойчивому состоянию (статическому аттрактору).
    Пример восстановления повреждённого изображения

    Если во время обучения сформировать матрицу весовых коэффициентов (межнейронных связей) на основании эталонных бинарных векторов, то нейронная сеть в процессе работы под действием описанных выше полей будет менять состояния нейронов до тех пор, пока не перейдёт к одному из устойчивых состояний.

    Пусть имеется нейронная сеть размерностью N = 100, в матрицу связей записан набор чёрно-белых картинок (−1 — чёрный цвет, +1 — белый), среди которых есть изображение собаки (рисунок 1б). Если установить начальное состояние сети близким к этому вектору (рисунок 1а), то в ходе динамики нейронная сеть восстановит исходное изображение (рисунок 1б). В этом смысле можно говорить о том, что сеть Хопфилда решает задачу распознавания образов (хотя, строго говоря, полученное эталонное изображение ещё нужно превратить в номер класса, что в некоторых случаях может быть весьма вычислительно ёмкой задачей).





    Рисунок 1а

    Рисунок 1б

    Устойчивость сети в процессе работы

    Принципиальная разница между двумя режимами работы сети состоит в том, что в асинхронном случае сеть обязательно придёт к одному устойчивому состоянию. При синхронном же возможны ситуации с бесконечным циклическим переходом между двумя разными состояниями.

    Определить, устойчиво или нет состояние нейрона, можно на основании так называемой искусственной энергии нейрона в данном поле Ei = − sihi. Если знак выхода (+1 или −1) нейрона совпадает с направлением локального поля (Ei < 0), то его положение энергетически устойчиво и в следующий момент времени состояние нейрона остаётся неизменным. В противном случае (Ei > 0) положение нейрона неустойчиво и он меняет свой знак, переходя в состояние si(t + 1) = − si(t) с энергией Ei(t + 1) < Ei(t).

    Устойчивость при асинхроном способе достигается потому, что выполняется условие на общую энергию сети  . В синхронном случае условие несколько изменяется, а именно:  . В ситуации, когда происходят бесконечные циклические переходы, энергия двух разных состояний соответственно равна E(t) и E(t + 1). При этом состояния t + 1 и t − 1, а также t и t + 2 — совпадают. Если образуется такое состояние, то его называется динамическим аттрактором. Если же совпадают состояния t и t + 1, аттрактор называют статическим. В большинстве случаев динамические аттракторы являются нежелательными, так как не соответствуют какому-либо определённому ответу сети.
    Ассоциативная память

    Сеть с обратной связью формирует ассоциативную память. Сеть Хопфилда можно отнести к автоассоциативной памяти, то есть такой, которая может завершить или исправить образ, но не может ассоциировать полученный образ с другим образом. Чтобы организовать устойчивую автоассоциативную память с помощью сети с обратными связями, веса нужно выбирать так, чтобы образовывать энергетические минимумы в нужных вершинах единичного гиперкуба.
    Задачи минимизации

    Однако обработка визуальных образов (фильтрация и ассоциативная память) — не единственная область применения модели Хопфилда. Динамическая процедура, описанная выше, на каждом шаге понижает значение энергии нейронной сети. Это позволяет решать комбинаторные задачи оптимизации, если они могут быть сформулированы как задачи минимизации энергии.
    Ограничения сети

    К сожалению, у нейронной сети Хопфилда есть ряд недостатков.

    1. Относительно небольшой объём памяти, величину которого можно оценить выражением:



    Попытка записи большего числа образов приводит к тому, что нейронная сеть перестаёт их распознавать.

    2. Достижение устойчивого состояния не гарантирует правильный ответ сети. Это происходит из-за того, что сеть может сойтись к так называемым ложным аттрактором, иногда называемым «химерой» (как правило, химеры склеены из фрагментов различных образов).


    Литература

    • J. J. Hopfield, «Neural networks and physical systems with emergent collective computational abilities», Proceedings of National Academy of Sciences, vol. 79 no. 8 pp. 2554–2558, April 1982. PNAS Reprint (Abstract) - www.pnas.org/cgi/content/abstract/79/8/2554 PNAS Reprint (PDF) - www.pnas.org/cgi/reprint/79/8/2554

    • J. J. Hopfield Neural with graded response have collective computational properties like those of two-state neurons. - www.pnas.org/content/81/10/3088.full.pdf html?sid=7405788e-e391-486a-a5a8-2c2f5b903f40. — 1984.

    • J. J. Hopfield Learning algorithms and probability distributions in feed-forward and feed-back networks - www.pnas.org/content/84/23/8429.full.pdf html?sid=197a8f5f-0ca8-47dc-80d4-49a741db31c2. — 1987.

    • Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика - evrika.tsi.lv/index.php?name=texts&file=show&f=410 = Neural Computing. Theory and Practice. — М.: Мир, 1992. — 240 с. — ISBN 5-03-002115-9

    • McEliece R.J., Posner E.C., Rodemich E.R., Venkatesh S.S., The capacity of the Hopfield associative memory - authors.library.caltech.edu/6929/1/MCEieeetit87.pdf, IEEE Transactions on Information Theory, Volume 33, Issue 4 (July 1987), 461-482.

    • B.V.Kryzhanovsky, L.B.Litinskii, A.L.Mikaelian. «Vector-neuron models of associative memory», Proc. of Int. Joint Conference on Neural Networks IJCNN-04, Budapest-2004, pp.909–1004.

    • B.V.Kryzhanovsky, B.M.Magomedov, A.L.Mikaelian. «A Domain model of neural network», Doklady Mathematics vol.71, pp.310–314 (2005).


    написать администратору сайта