Книга: Учебное пособие по курсу «Нейроинформатика»

Нейронная сеть

Нейронная сеть

Программа Hopfield

Нейронная сеть в данной программе является полносвязной (каждый нейрон связан с каждым, в том числе и с самим собой), однородной (все нейроны одинаковы), стонейронной (поскольку в сетях Хопфилда каждой точке изображения соответствует свой нейрон, а в этой программе используются изображения 10*10) сетью Хопфилда. Алгоритм формирования Синаптической карты описан в разделах "Параметры" и "Обучение". Алгоритм функционирования каждого нейрона описан в разделе "Нейрон".

Все программы кроме программыHopfield

Сеть, имитируемая данной программой, является полносвязной (каждый нейрон получает на каждом шаге сигналы со всех нейронов), с выделенными связями для получения входных данных. Подробная схема нейрона приведена в разделе Нейрон. Число нейронов в сети может варьироваться от 5 до 10 (см Число нейронов в сети). Число обменов сигналами между нейронами может варьироваться от 2 до 5 (см. Число срабатываний сети).

Нейрон

Программа Hopfield.

В данной программе все нейроны сети одинаковы и очень просты. Обозначив вектор сигналов сети через a[i] (i=1,…,100), а элементы синаптической карты — синаптические веса — через X[ij], работу нейрона можно описать следующими формулами:

J[i]= Сумма по j от 1 до 100 (a[j]*X[ij])

a'[i]= 1, если J[i]>0; 0, если J[i]<0.

a'[i] — новый сигнал i-ого нейрона.

Программа Pade.

Схема рационального нейрона представлена на рисунке ниже. Он состоит из шести частей: входных синапсов (x[i,j], y[i,j]), сумматоров (N,D) и функционального преобразователя (F).


Схема действия i-го нейрона проста — в каждый момент времени со всех нейронов на него поступают сигналы. Перед сумматором каждый сигнал умножается на синаптический вес x[i,j] для сумматора N и y[i,j] для сумматора D. Индекс i показывает номер нейрона получающего, а индекс j — номер передавшего сигнал. Отметим, что в силу ограничений, принятых в данной модели нейронной сети, все синаптические веса неотрицательны. После этого сигналы поступают на сумматоры. Вычисленные сумматорами сигналы передаются на функциональный преобразователь F. В данной программе все нейроны одинаковы (во всем, кроме синаптических весов, поскольку они являются характеристиками не нейронов, а нейронной сети в целом) и преобразуют сигнал по следующему правилу: F = N / (C + D), где С — Характеристика нейрона

В программах Sinus и Sigmoid нейроны отличаются только видом функционального преобразователя. Схема нейрона представлена на рисунке ниже. Он состоит из четырех частей: входных синапсов (x[i,j]), сумматора (N) и функционального преобразователя.


Схема действия i-го нейрона проста — в каждый момент времени со всех нейронов на него поступают сигналы. Перед сумматором каждый сигнал умножается на синаптический вес x[i,j]. Индекс i показывает номер нейрона получающего, а индекс j — номер — передавшего сигнал. Отметим, что в силу ограничений, принятых в данной модели нейронной сети, все синаптические веса не могут по абсолютной величине превосходить 1. После этого сигналы поступают на сумматор. Вычисленный сумматором сигнал передается на функциональный преобразователь. В данной программе все нейроны одинаковы (во всем, кроме синаптических весов, поскольку они являются характеристиками не нейронов, а нейронной сети в целом) и преобразуют сигнал по следующему правилу:

F = Sin(Т)

(программа Sinus).

А = N / (C + |N|)

(программа Sigmoid).

где С — Характеристика нейрона

Синаптическая карта

Синаптическая карта является важнейшей частью нейронной сети. Она задает веса, с которыми передаются сигналы от одних нейронов к другим. Синаптическая карта формируется при обучении нейронной сети, Случайном изменении карты, Контрастировании, а для программ, отличных от программы Hopfield, и при Редактировании карты, Генерации новой карты.

Запомнить карту

При выполнении этой функции на экран выводится запрос "Введите имя файла для запоминания". Все файлы карт имеют расширение".MAP", которое можно не набирать при ответе на запрос.

Прочитать карту

При чтении карты на экране появляется окно выбора файла. Вы должны выбрать нужный Вам файл или отказаться от чтения.

Редактировать карту

Эта функция позволяет «увидеть» на экране синаптическую карту и изменить, в соответствии с вашими желаниями значения отдельных связей. Ниже приведен список клавиш, позволяющих Вам редактировать карту:

F1 помощь;
???? перемещение курсора;
PgUp на страницу вверх;
PgDown на страницу вниз;
^? на 10 влево;
^? на 10 вправо;
HOME в начало;
END в конец;
ENTER редактировать;
Пробел заморозить/разморозить связь (Кроме программы Hopfield);
ENTER редактировать.

Далее для всех программ, кроме программыHopfield.

Операция замораживания (размораживания) связи позволяет исключить (подключить ранее исключенную) эту связь из процесса обучения. Связи могут быть заморожены либо при редактировании карты, либо при контрастировании.

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

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58  59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100

Кроме того, к вектору входных сигналов любого примера каждой задачи добавляется сигнал с номером 0 и значением 1). Во второй колонке находятся значения синаптических весов, на которые будут подаваться соответствующие входные сигналы. В третьей колонке стоят номера нейронов, сигналы с которых будут подаваться на синапсы, веса которых указаны в четвертой колонке.

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

Сгенерировать новую карту

Выполнение этой функции приводит к замене текущей синаптической карты на случайную, с указанными Вами параметрами. Если Вы указали уровень синапсов равным L, то каждый синапс будет получен с помощью случайной величины, равномерно распределенной внутри интервала [-L,L] (для программыPade — в интервале [0,L]).

Случайное изменение карты

Выполнение этой функции приводит к изменению всех весов синаптической карты на случайную величину, равномерно распределенную в диапазоне [-L,L], где L — задается в меню Параметры, в пункте Уровень УДАРА. Для каждого синаптического веса генерируется своя случайная поправка.

Контрастирование карты

Программа Hopfield.

Эта процедура удаляет из сети «лишние» связи. Вы можете задать понятие лишних связей, задав параметры контрастирования в меню Параметры.

Все программы, кроме программы Hopfield.

Эта процедура удаляет из сети «лишние» связи, замораживает медленно обучающиеся и размораживает ранее замороженные или отконтрастированные. Вы можете задать понятие лишних, медленных и подлежащих размораживанию связей задав значения параметров контрастирования в меню Параметры. Ниже приведена схема процедуры контрастирования:

Накопление показателей чувствительности

?

Выделение размораживаемых связей

?

Контрастирование связей

?

Замораживание связей

?

Размораживание выделенных связей

Накопление показателей чувствительности для размораживания (Норма для включения) и для замораживания и контрастирования (Норма для исключения) ведется раздельно в ходе указанного Вами числа (Число циклов накопления критерия) тактов обучения сети по методу Усредненного антиградиентного спуска.

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

Среди обучаемых связей выделяем Количество контрастируемых связей с самыми маленькими модернизированными показателями чувствительности. Модернизация производится по следующему алгоритму:

Для каждой неотконтрастированной связи определяем расстояние до ближайшего выделенного значения.

Умножаем показатель чувствительности этой связи на вычисленное расстояние.

Величины отобранных связей заменяем ближайшим выделенным значением и замораживаем (исключаем из обучения).

Среди незамороженных (обучаемых) связей находим Количество замораживаемых связей и замораживаем, не изменяя их величин.

Связи, включенные в список подлежащих размораживанию на втором шаге алгоритма, размораживаем, не изменяя их величин.

Оглавление книги


Генерация: 0.038. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз