Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
хопфилд 1111.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать

3.9.2. Бинарные сети Хопфилда.

На рис. 1 изображена бинарная сеть Хопфилда. Входные и выходные векторы состоят из “–1” и “+1” (вместо “–1” ,может быть использовано “0”) Имеется симметричная весовая матрица, состоящая из целых чисел с нулями (или “–1”) по диагонали  . Входной вектор X умножается на весовую матрицу, используя обычное матрично-векторное умножение. Однако только 1 компонента выходного вектора   используется на каждой итерации. Это процедура известна как “асинхронная коррекция”. Эта компонента, которая может быть выбрана случайно (подается на пороговый элемент, чей выход или –1, или +1). Соответствующая компонента входного вектора заменяется на это значение и, таким образом, образует входной вектор для следующей итерации. Процесс продолжается до тех пор, пока входные и выходные вектора не станут одинаковыми (то есть пока не будет достигнута неподвижная точка) Этот алгоритм описан ниже.

3.9.3. Описание алгоритма.

  • Вычисляются компоненты выходного вектора   , j=1,2,..,n, по формуле

 (1) где 

  • Выполнить асинхронную коррекцию, т.е.

    1. начать с входного вектора  ;

    2. найти   согласно формуле (1);

    3. заменить   на   и подать Y на вход Х.

    4. повторить процесс, чтобы найти   и т.д. ( могут выбираться случайно)

  • Повторять шаги 2-3 до тех пор, пока вектор   не перестанет изменяться. Каждый шаг уменьшает величину энергии связей

 (2)

так что обеспечивается сходимость к неподвижной точке (аттрактору).

Асинхронная коррекция и нули на диагонали матрицы W гарантируют, что энергетическая функция (2) будет уменьшаться с каждой итерацией. Асинхронная коррекция – это особенно существенно для обеспечения сходимости к неподвижной точке. Если мы допустим, чтобы весь вектор корректировался на каждой итерации, то можно получить сеть с периодическими циклами как терминальными состояниями аттракторов, а не с неподвижными точками.

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

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

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

yi={1,−1}

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

E=12∑i,j=1Nwijxixj

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

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

Обучение сети

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

Xi=WXi

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

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

В сети Хопфилда есть обратные связи и поэтому нужно решать проблему устойчивости. Веса между нейронами в сети Хопфилда могут рассматриваться в виде матрицы взаимодействий W. В работе Cohen, Grossberg[2] показано, что сеть с обратными связями является устойчивой, если её матрица симметрична и имеет нули на главной диагонали. Имеется много устойчивых систем, например, все сети прямого распространения, а также современные рекуррентные сети Джордана и Элмана, для которых не обязательно выполнять условие на симметрию. Но это происходит вследствие того, что на обратные связи наложены другие ограничения. В случае сети Хопфилда условие симметричности является необходимым, но не достаточным, в том смысле, что на достижение устойчивого состояния влияет ещё и режим работы сети. Ниже будет показано, что только асинхронный режим работы сети гарантирует достижение устойчивого состояния сети, в синхронном случае возможно бесконечное переключение между двумя разными состояниями (такая ситуация называется динамическиматтрактором, в то время как устойчивое состояние принято называть статическим аттрактором).

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

wij=1Nd=1..mXidXjd

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

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

W=1NiXiXTi

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

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

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

Xi+1=F(WXi)

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