Материал: Нейронные сети. методические указания к лабораторным работам № 3, 4 по дисциплине Методы нечеткой логики и нейросетевого управления в робототехнике. Медведев В.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

 – коэффициент скорости обучения, 0 < < 1;

i – номер входа; j – номер нейрона в слое.

Если d > Y, то весовые коэффициенты будут увеличены и тем самым уменьшат ошибку. В противном случае они будут уменьшены, и Y тоже уменьшится, приближаясь к d.

• Шаг 4. Повторить цикл с шага 2, пока сеть не перестанет ошибаться.

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

2.4. Сеть Хопфилда

Структурная схема сети Хопфилда приведена на рис. 6. Она состоит из единственного слоя нейронов, число которых п является одновременно числом входов и выходов сети.

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

Задача, решаемая данной сетью в качестве ассоциативной памяти, формулируется следующим образом. Известен набор двоичных сигналов (изображений, звуковых оцифровок, прочих данных, описывающих объекты или характеристики процессов), считающийся образцовым. Сеть должна уметь из произвольного неидеального сигнала, поданного на его вход, выделить («вспомнить» по частичной информации) соответствующий образец (если такой есть) или «дать заключение» о том, что входные данные не соответствуют ни одному из образцов.

В общем случае любой сигнал может быть описан вектором X = {хi: i = 1, 2,..., n}, где п – размерность входных и выходных векторов. Каждый элемент xi равен либо +1, либо –1.

Обозначим вектор, описывающий k-й образец, через Xk, а его компоненты, соответственно, как хik, k = 1, 2, ..., m, где m –число образцов.

Когда сеть распознает какой-либо образец на основе предъявленных ей данных, ее выходы будут содержать именно его, то есть Y = Xk, где Y = {уi: i = 1, 2,..., n} – вектор выходных сигналов сети. В противном случае выходной вектор не совпадет ни с одним образцовым.

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

На стадии инициализации сети весовые коэффициенты синапсов устанавливаются следующим образом:

(12)

где i и j – индексы, соответственно, предсинаптического и постсинаптического нейронов;

xik, xjki-й и j-й элементы вектора k-гo образца.

Алгоритм функционирования сети Хопфилда следующий (t – номер итерации).

  1. На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений выходов:

yi (0) = xi, i = 1, 2,..., n, (13)

поэтому обозначение на схеме сети входных синапсов в явном виде носит условный характер. Ноль в скобке справа от yi означает нулевую итерацию в цикле работы сети.

2. Рассчитываются новые сигналы на выходах сумматоров

(14)

и новые значения выходов

(15)

где f – пороговая активационная функция с порогом = 0.

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

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

Достаточным условием устойчивой работы такой сети является выполнение условий

(16)

Как говорилось выше, иногда сеть не может провести распознавание и выдает на выходе несуществующий образ. Это связано с проблемой ограниченности возможностей сети. Для сети Хопфилда число запоминаемых образов m не должно превышать величины, примерно равной 0,15n. Кроме того, если два образа А и В очень похожи, они могут вызывать у сети перекрестные ассоциации, то есть предъявление на входы сети вектора А приведет к появлению на ее выходах вектора В и наоборот.

2.5. Сеть Хэмминга

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

Структура сети Хэмминга приведена на рис. 7.

Сеть состоит из двух слоев. Первый и второй слои имеют по т нейронов, где m – число образцов. Нейроны первого слоя имеют по n синапсов, соединенных с входами x1, x2, …, xi, …, xn сети (образующими фиктивный нулевой слой). Нейроны второго слоя связаны между собой синаптическими отрицательными обратными связями. Единственный синапс с положительной обратной связью для каждого нейрона соединен с его же выходом.

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

На стадии инициализации весовым коэффициентам первого слоя и порогу активационной функции присваиваются следующие значения:

(17)

где xiki-й элемент k-гo образца.

Весовые коэффициенты  тормозящих синапсов во втором слое берут из диапазона 0 <  < 1/m. Синапс нейрона, связанный с его же выходом, имеет вес +1.

Алгоритм функционирования данной сети следующий.

1. На входы сети Хэмминга подается неизвестный вектор X = {хi: i = l, 2, ..., n}; рассчитываются состояния нейронов первого слоя (верхний индекс в скобках – номер слоя):

(18)

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

(19)

  1. Вычисляются новые сигналы на выходах сумматоров нейронов второго слоя:

(20)

и новые значения выходов

(21)

3. Проверяется, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если да – перейти к шагу 2. Иначе – останов программы.

4. Рабочее задание

4.1. Запустить программу MATLAB.

4.2. Набрать на панели задач команду Demo.

4.3. Выбрать раздел Toolboxes, а затем – Neural Networks.

4.4. Выбрать пример построения одноходового нейрона. Получить зависимость выходного сигнала а от входного сигнала р при значениях w = –2, 2 (b = 0), b = –2, 2 (w = 1), если используются следующие функции активации:

пороговая (Hardlim);

линейная (Purelin);

полулинейная с насыщением (Satlin);

логистическая (Logsig);

гиперболический тангенс (Tansig).

4.5. Выбрать пример построения двухвходового нейрона.

Получить выходной сигнал а при входных сигналах р(1)=1, р(2)=1, линейной функции активации и различных значениях весовых коэффициентов w(1,1) и w(1,2) в соответствии с табл. 2.

Таблица 2

№ опыта

1

2

3

4

5

6

7

8

9

w(1,1)

– 2

0

1

1

2

2

2

2

2

w(1,2)

– 2

– 2

0

1

– 2

– 1

0

1

2

4.6. Выбрать пример Perception Rule. Выполнить разделение пространства признаков (плоскости) двухвходовым нейроном при заданном расположении объектов (точек). Зарисовать линию раздела, точки и записать матрицы весовых коэффициентов нейронов.

4.7. Выбрать примеры реализации классификаторов на персептроне, сети Хопфилда и сети Хэмминга (соответственно, Perception Classification, Hopfield Classification, Hamming Classification).

4.8. Изучить работу классификаторов. Зарисовать структуру системы классификации, составить структуры персептрона, нейронных сетей Хопфилда и Хэмминга, записать матрицы весовых коэффициентов и полученные результаты.

4.9. На основе полученных результатов сделать выводы о проделанной работе.

4.10. Составить отчет о проделанной работе.

5. Контрольные вопросы

5.1. Структура и математическая модель искусственного нейрона.

5.2. Функции активации нейронов.

5.3. Персептрон с одним выходом.

5.4. Персептрон со многими выходами.

5.5. Двухслойный персептрон.

5.6. Q-слойная нейронная сеть.

5.7. Разбиение гиперпространства гиперплоскостями с помощью персептрона.

Источник: https://studfile.net/preview/16566389/