русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Дискретная нейронная сеть Хопфилда

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

Сети этого типа были предложены американским биофизиком Джоном Хопфилдом в 1982 году, когда ему удалось привлечь к анализу нейронных сетей мощный аппарат статистической физики на основе аналогий между нейронными сетями и особыми физическими системами - спиновыми стеклами. Спиновые стекла - это ансамбли электромагнитных частиц, находящихся на переходе фаз, например, нижней точке плавления стекла. Каждая частица обладает собственным моментом количества движения, называемым спином. Спин может иметь только две ориентации S1, S2 относительно внешнего магнитного поля, направленного по некоторой оси  x. Одна из них совпадает с направлением поля (S1 = 1), а другая - ему противоположна (S2 = -1). Спиновые стекла обладают некоторой структурой аттракторов (устойчивых состояний) в своем фазовом пространстве. Каждый аттрактор можно рассматривать как запись определенной информации, которую можно считать при определенных условиях. Позднее выяснилось, что не только спиновые стекла, но и другие физические системы обладают в своих фазовых пространствах подходящими для нейронных сетей множествами аттракторов. Это понятие часто используется в теории нейронных сетей, поэтому приведем основные сведения об аттракторах.
Определение 1. Топологией в некотором множестве X называется любая система ? его подмножеств M, удовлетворяющая требованиям:
1. Множество X и пустое множество ? принадлежат t.
2. Объединение  любого конечного или бесконечного числа мно­жеств из t принадлежит t.
3. Пересечение  любого конечного числа множеств из t принад­лежит t.
Определение 2. Топологическим пространством называется пара (X, t), т.е. множество X с заданной в нем топологией.
Определение 3. 0-потоком называется отображение Ft(x), удовлетво­ряющее условиям:
1. Ft(x) - непрерывно по  t  и x.
2. Ft: (X, t) ® (X, t), F0 - тождественное отображение;  для всех t, s ? R,  R - множество действительных чисел.
Определение 5.4. 0-полупотоком называется 0-поток, определенный только для  t ?0.
Определение 5. Пусть Mk - множество и  Mk ? X, Ft - 0-полупоток на топологическом пространстве (X, t), удовлетворяющий условию  Ft(Mk) ? Mk. Множество Mk  называется устойчивым в топологическом пространстве (X, t), если для любой достаточно малой окрестности U множества Mk существует такая его окрестность  V ? U,  что траектория  x(x0, t) ? Ft(x0)  при некотором ? 0 принадлежит U, если  x0 ? V.
Определение 6. Устойчивое множество  Mk  называется асимптотически устойчивым или аттрактором, если для любой окрестности U множества Mk существует такая его окрестность  V, что пересечение всех траекторий  x(x0, t) ? ? Ft(x0),  x0 ? V удовлетворяет равенству
Иными словами, множество  Mk  устойчиво (асимптотически устойчиво), если любая траектория, проходящая через точку, близкую к множеству Mk, остается вблизи этого множества (стремится в множество Mk).
Устойчивые точки и множества часто встречаются в различных областях естествознания. Можно рассмотреть полую неподвижную полусферу, в которую брошен маленький тяжелый шарик (рис. 1 а). Шарик после ряда движений останавливается либо в самой нижней точке A  полусферы, либо в одной из точек ее достаточно малой окрестности. В этом случае мы имеем устойчивую точку.
 

Если полусферу начать вращать вокруг некоторой вертикальной оси OA (рис. 1 б) с некоторой угловой скоростью w0, то шарик придет в движение и его устойчивое положение теперь будет не отдельная точка, а целая орбита B, на которую он попадает при любых бросаниях шарика внутрь этой полусферы. Если полусфера и шарик обработаны идеально и касаются друг друга только в одной точке, то точка A и траектория B превращаются в асимптотически устойчивые. Для любой окрестности (которая находится в пределах полусферы или вне ее, но обеспечивает попадание шарика в полусферу с дальнейшим движением внутри ее) точки A при неподвижной полусфере или орбиты B при вращающейся траектория шарика оканчивается в асимптотически устойчивом состоянии.

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

Рассмотрим теперь пример из области нейронных сетей, в частности, обучение элементарного перцептрона распознаванию двух изображений, например, букв П и Г (рис. 2).

 

В процессе обучения сети возникают две стационарные точки или два аттрактора. Бассейны аттракторов создаются всеми изображениями букв П и Г с различными дефектами. Эти изображения совместно с эталонными многократно предъявляются перцептрону в процессе обучения сети, когда фактически по двум заданным стационарным точкам, используя итерационную процедуру, пытаются найти подходящую матрицу весов связей нейросети.
Элементарный перцептрон - это сеть только с прямой передачей сигналов, а в таких нейросетях аттракторами могут быть только стационарные точки. Если же в перцептроне или любой другой нейронной сети есть обратные связи, то при внешнем возмущении сети в ней могут возникать незатухающие динамические процессы. Рассмотрим более подробно процессы в сетях с обратными связями. Пусть некоторая сеть состоит из n  биполярных нейронов с матрицей весов   и время изменяется дискретно: t = 0, 1, 2, … . Положим, что функционирование каждого нейрона такой сети описывается уравнением:

                  (1)

где  выходные сигналы i-го нейрона в моменты времени   выходной сигнал i-го нейрона; wij - вес связи между j-м и i-м нейронами;Sign - функция двух переменных, определяемая соотношением:

           (2)

Уравнения (1) часто называют нейроуравнениями. Система из n нейроуравнений определяет эволюцию сети во времени, которая во многом зависит от режимов срабатывания ее элементов. Можно выделить три характерных режима срабатывания:
- все нейроны срабатывают одновременно;
- для каждого момента времени t = 0, 1, 2, … задано некоторое подмножество Mt из элементов сети и в любой рассматриваемый момент времени t срабатывают нейроны только множества Mt;
- нейроны, выбираемые случайно (иногда последовательно или цикли­чески), срабатывают строго по одному.
Последний режим функционирования компонент нейросети биологически более естественен, поскольку эксперименты на живых организмах показывают, что нервные клетки срабатывают независимо друг от друга и асинхронно.
Определение 7. Состояние  нейросети назы­вается устойчивым по отношению к произвольному подмножеству  1  эле­ментов сети, если оно не изменяется при одновременном срабатывании любых его отдельных нейронов.

Определение 8. Состояние  нейросети называется устойчивым или стационарным, если оно устойчиво по отношению к асинхронному срабатыванию любых отдельных нейронов и одновременному срабатыванию всех элементов сети.
Определение 9. Прямая задача стационарности для нейронных сетей со-стоит в определении всех стационарных состояний нейросети по заданной мат-рице весов связей W и вектору порогов q (или вектору смещений W0) нейронов.
Определение 10. Обратная задача стационарности для нейронных сетей состоит  в  том, чтобы по  заданному  множеству    стационарных состояний сети определить матрицу весов связей W  и вектор порогов q (или вектор смещений W0), обеспечивающих эти стационарные состояния.
Все стационарные состояния нейросети теоретически можно определить из системы уравнений (1), описывающей все компоненты сети. Для этого достаточно выбрать начальное состояние 0 всех нейронов сети и, используя заданный режим их срабатывания, определить новое состояние S 1 сети, затем, воспользовавшись S 1 в качестве следующего начального состояния, определить состояние S 2  и т.д. В результате этого процесса возникает последовательность состояний сети:

0, S 1, S 2, …, S k, …                                             (3)

Эта последовательность может окончиться или каким-либо стационарным состоянием S p или некоторым бесконечным динамическим процессом. В случае достижения стационарного состояния S p с некоторого момента времени t = tq наблюдаются состояния  которые удовлетворяют условию
Стационарное состояние сети  часто называют ассоциируемым с ее начальным состоянием 0. Взаимосвязь состояний 0 и  используется для решения задач распознавания образов с помощью нейросетей с обратными связями. На подобной взаимосвязи построено и функционирование сетей с прямым распространением сигналов, например, перцептронов.

Если последовательность (3) не оканчивается стационарным состоянием, то есть бесконечна, то в общем случае при случайном срабатывании отдельных нейронов или их групп возникают трудно анализируемые последовательности (3) состояний сети. В связи с этим ограничимся только режимами срабатывания, которые однозначно определяют следующее состояние сети по текущему. Одним из таких режимов является режим синхронного срабатывания всех элементов сети (режим маршировки), другим - режим последовательного или  циклического срабатывания  по  одному элементу:  i-й,  (i + 1)-й, …, n-й, …, 1-й, 2-й, …, i-й, (i + 1)-й, … . При этих режимах срабатывания нейронов цепочка состояний (3.) однозначно определяется своим начальным состоянием 0. В силу конечного числа  n  двоичных элементов сети конечно и общее число (2n) состояний нейросети, поэтому в бесконечной последовательности (3) найдутся по крайней мере два одинаковых состояния  Поскольку  и следующее состояние сети однозначно определяется текущим состоянием и режимом срабатывания нейронов, то имеем:

то есть цикл повторяется. В частном случае, когда  p = q + 1, получаем одночленный цикл или рассмотренное выше стационарное состояние.
Определение 11. Цикл состояний нейросети, не имеющий внутри себя других циклов, называется минимальным.
Очевидно, что любые два минимальных цикла либо совпадают, либо не имеют общих состояний.
Пусть C ={С1, …, Сp} - множество всех минимальных циклов (или аттракторов) нейросети N с заданной матрицей W весов связей. Тогда для любого состоянияS* этой нейросети существует аттрактор или минимальный циклC* ? C, к которому оно притягивается.
Определение 12.  Бассейном BS притяжения цикла Cr (или бассейном аттрактора) называется совокупность всех состояний нейронной сети, которые притягиваются к данному циклу:
Бассейны притяжения любых двух циклов  Ck, Cm ? C  не пересекаются, то есть
?,  если

а объединение бассейнов всех циклов равно множеству всех состояний S нейронной сети:

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

 

 

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

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

В худшем случае, когда цикл имеет одну точку входа, а дерево линейно, высота дерева равна числу состояний сети в бассейне аттрактора.
Если нейронные сети N1, N2 имеют одинаковые циклы C1, …,Cp  и бас-сейны притяжения  но разные наборы чисел   то сеть N1 лучше сетиN2, если выполняются соотношения

                                  (4)

Если соотношения (4) выполняются не для всех циклов Ci, то сети считаются несравнимыми. Высота деревьев бассейнов аттракторов используется и для оценки качества процессов или алгоритмов обучения. Пусть имеется два алгоритма обучения A1,A2, которые по заданным стационарным состояниям S  сети получают матрицы весов связей WA1(S), WA2(S). Если бассейны аттракторов, порожденные матрицей весов WA1(S) получаются регулярно (быть может, с редким исключением) лучше бассейнов нейросетей с матрицей WA2(S), то алгоритм обучения A1 лучше алгоритма A2.

 

 

2. Дискретная сеть Хопфилда

В своей первой работе, посвященной нейронным сетям, Хопфилд рассмотрел полносвязную нейронную сеть из бинарных элементов с симметричными связями. Структура этой сети приведена на рис. 4.

 

 

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

При отсутствии сигналов на сетевых входах элементы сети функционируют в асинхронном режиме, при котором каждый из них определяет свой выходной сигнал в случайные моменты времени с заданной средней частотой в соответствии с выражением

                                    (5)
где  - соответственно выходной сигнал и порог  i-го нерона; wji - вес связи между j-м  и i-м нейронами.
Матрица    весов связей нейросети симметрична и имеет нулевые компоненты на главной диагонали, то есть

                                         (6)

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

                 (7)

где E - искусственная энергия сети, заданная в виде функции Ляпунова; Uвх.j - внешний входной сигнал j-го нейрона.
Энергию всей сети можно представить как сумму энергий ее отдельных нейронов:
                                                      (8)

Из выражений (8) и (7) имеем:

Рассмотрим изменение энергии  DEj  произвольного j-го элемента при его срабатывании:

      (9)

Для бинарных нейронов приращения их выходных сигналов может принимать только три значения: +1, 0, -1. При этом знак приращения DUвых.j для j-го элемента совпадает со знаком выражения в круглых скобках. Действительно, если DUвых.j = -1, то есть нейрон переходит из единичного состояния в нулевое, то это означает, что в соответствии с выражением (5) выполняется неравенство


то есть выражение в круглых скобках соотношения (9) отрицательно. Если DUвых.j = 1, то рассматриваемый  j-й  нейрон переходит из нулевого состояния в единичное и, следовательно,

 
или

Из совпадения знаков сомножителей в выражении (9) следует, что при срабатывании любого  j-го нейрона ни его энергия, ни энергия всей сети увеличиться не может. Она либо остается прежней, если DUвых.j = 0, либо уменьшается, если DUвых.j ? 0. Следовательно, по мере срабатывания нейронов энергия будет монотонно убывать, пока не достигнет одного из своих локальных минимумов, которому соответствует одна из стационарных точек нейросети. Эволюция сети из любого начального состояния в силу существования функции Ляпунова (7) всегда кончается в одной из ее стационарных точек, то есть аттракторами в дискретной бинарной сети Хопфилда являются только стационарные точки. Это же утверждение справедливо и для дискретной сети Хопфилда с биполярными нейронами.

Для хранения некоторого множества изображений
 в биполярной сети Хопфилда используется матрица W  весов связей с элементами
                           (10)

где индекс k указывает на принадлежность входных сигналовk-му изображению.
При переходе к бинарным нейронам элементы wij матрицы W определяются соотношением

                 (11)

Пороги qi всех бинарных элементов обычно принимаются равными нулю, а пороги биполярных нейронов часто определяются через сумму элементов матрицы весов:
                                                   (12)

Для сети Хопфилда число p запоминаемых изображений не должно превышать величины, примерно равной 0,15n, где n - число нейронов сети. Кроме того, если есть пары очень похожих изображений, например, S k,S q, то они могут вызывать у сети перекрестные ассоциации, то есть предъявление на входы сети изображения S k может приводить к появлению на ее выходе изображения  S q и наоборот.

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

Пример 1. Рассмотрим возможности дискретной сети Хопфилда с девятью биполярными нейронами по распознаванию неидеальных изображений букв Н и Т. Эталонные изображения S S2  этих букв приведены на рис. 5, там же дана нумерация элементов изображений, соответствующая нейронам сети Хопфилда и их векторному представлению:


 

В соответствии с исходными данными выражение (11) для рассматри­ваемого примера принимает вид:

Рассчитаем вес связи w12:

w12 = 1? (-1) + 1?1 = 0.

В силу общего равенства  также получим, что . Аналогично рассчитываются и остальные элементы  матрицы W весов связей. Элементы главной диагонали матрицы W определяются выражением (10) при  i = jw11 = w22 = … = w99 = 0.
Результаты расчетов матрицы W приведены в табл. 1.
Таблица 1. Матрица весов связей

Номера
нейронов

Номера нейронов

1

2

3

4

5

6

7

8

9

1

0

0

2

0

2

0

0

0

0

2

0

0

0

-2

0

-2

-2

2

-2

3

2

0

0

0

2

0

0

0

0

4

0

-2

0

0

0

2

2

-2

2

5

2

0

2

0

0

0

0

0

0

6

0

-2

0

2

0

0

2

-2

2

7

0

-2

0

2

0

2

0

-2

2

8

0

2

0

-2

0

-2

-2

0

-2

9

0

-2

0

2

0

2

2

-2

0

 

Пороги биполярных нейронов сети Хопфилда рассчитываются с помощью соотношения (12) и данных табл. 1:

Предъявим сети Хопфилда изображение S 1 буквы Н (рис. 5) и рассчитаем выходные сигналы сети после его снятия при двух значениях порогов:  и  Результаты расчетов приведены в табл. 2.

Таблица 2. Результаты расчетов выходных сигналов сети Хопфилда после
предъявления изображения S 1 буквы Н

Номера нейронов

Компоненты изображения S 1

Входные сигналы нейронов

Пороги нейронов

Выходные сигналы нейронов

1

1

4

-4 или 4

1

2

-1

-10

-4 или 4

-1

3

1

4

-4 или 4

1

4

1

10

-4 или 4

1

5

1

4

-4 или 4

1

6

1

10

-4 или 4

1

7

1

10

-4 или 4

1

8

-1

-10

-4 или 4

-1

9

1

10

-4 или 4

1

Из анализа данных табл. 2 следует, что вектор выходного изображения сети повторяет изображение S 1 в широком диапазоне значений порогов. Аналогичная ситуация получается и при предъявлении изображения S 2 буквы Т (табл. 3), то есть рассчитанная дискретная сеть Хопфилда, как ей и положено, повторяет на своем выходе идеальные входные изображения.

Таблица 3. Результаты расчетов выходных сигналов сети Хопфилда после
предъявления изображения S 2 буквы Т

Номера нейронов

Компоненты изображения S 2

Входные сигналы нейронов

Пороги нейронов

Выходные сигналы нейронов

1

1

4

-4 или 4

1

2

1

10

-4 или 4

1

3

1

4

-4 или 4

1

4

-1

-10

-4 или 4

-1

5

1

4

-4 или 4

1

6

-1

-10

-4 или 4

-1

7

-1

-10

-4 или 4

-1

8

1

10

-4 или 4

1

9

-1

-10

-4 или 4

-1

 

Предъявим теперь сети изображение S 3И, инверсное изображению S 3 (рис. 5). Изображение S 3И можно рассматривать как искаженное представление буквы Н, у которого утеряны две отрицательные компоненты. Результаты расчетов для этого случая при приведены в табл. 4 (при  изображение не восстанавливается.). Сопоставление пятых столбцов таблиц 4 и 2 показывает, что сеть восстановила эталонное изображение буквы Н.

Таблица 4. Результаты расчетов выходных сигналов сети Хопфилда после
предъявления изображения S 3

Номера нейронов

Компоненты изображения S 3И

Входные сигналы нейронов

Пороги нейронов

Выходные сигналы нейронов

1

1

4

-4

1

2

1

-6

-4

-1

3

1

4

-4

1

4

1

2

-4

1

5

1

4

-4

1

6

1

2

-4

1

7

1

2

-4

1

8

1

-6

-4

-1

9

1

2

-4

1

При предъявлении изображений S 1, S 2, S 3И  сеть попадала в стационарную точку за один такт времени при синхронном срабатывании всех ее элементов. Однако такое идеально быстрое достижение устойчивого состояния возможно далеко не всегда. Предъявим сети изображение S 4 (рис. 6), которое можно рассматривать как сильно искаженный эталон буквы Н, у которого пять единичных компонент заменены на противоположные "-1". Для достижения стационарной точки, соответствующей изображению S 1 буквы Н, в этом случае при необходимо два такта времени. При этом сеть проходит через состояния S 5 (рис. 6). Входные и выходные сигналы нейронов сети во время этого динамического процесса приведены в табл. 5.

 

Таблица 5. Результаты расчетов выходных сигналов сети Хопфилда после
предъявления изображения S 4

Номера нейронов

Компоненты изображения S 4(t = 0)

Входные сигналы нейронов

Выходные сигналы нейронов

t = 1

t = 2

t = 1

t = 2

1

1

    0

    4

    1

    1

2

-1

    6

  -6

    1

  -1

3

-1

    4

    4

    1

    1

4

-1

  -2

    2

    1

    1

5

1

    0

    4

    1

    1

6

-1

  -2

     2

    1

    1

7

-1

  -2

    2

    1

    1

8

-1

    6

  -6

    1

  -1

9

-1

  -2

    2

    1

    1

Просмотров: 5835

Вернуться в оглавление:Нейрокомпьютеры




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.