Архитектура сети Хопфилда.




Стохастическое обучение.

Слой 0 – рецептивный, слой 1 – пороговые нейроны.

Число входов n, число выходов n.

Сеть с обратной связью (рекуррентная).

 

 

ПРАКТИЧЕСКАЯ ЧАСТЬ

Функции для организации и обучения сети Хопфилда.

Нейронная сеть создается в рамках системы MatLab (6.5 и выше) для сигналов, которые могут быть представлены n-мерным вектором, где каждое измерение принадлежит множеству {-1, 1}.

newhop(<матрица целевых образов>);

 

<матрица целевых образов> – каждый столбец отдельный пример.

Число строк <матрицы целевых образов> равно числу входов и числу нейронов формируемой сети.

 

Пример формирования сети Хопфилда.

Процедуру обучения проводить для модели нейронной сети Хопфилда (Пример обучения подобной сети см. в NOTEBOOK "НЕЙРОННЫЕ СЕТИ", Глава 8., а примеры формирования сетей в Главе 11, Mneurnet.doc или далее по тексту).

Зададим сеть Хопфилда с двумя устойчивыми точками в 4-рехмерном пространстве (Х1=(-1 -1 1 -1), Х2=(1 -1 1 1))

 

T = [-1 -1 1 -1; 1 -1 1 1 ]';

net = newhop(T);

 

Эта сеть не имеет входов и содержит рекуррентный слой.

 

 

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

Целевые вектора определяют начальное состояние слоя Ai, а второй аргумент функции sim определяется числом целевых векторов.

 

Ai = T; Y= sim(net,2,[],Ai); Y

% проверять сеть net для набора Ai на 2 набора

 

Y =

-1 1

-1 -1

1 1

-1 1

 

Вершины гиперкуба являются устойчивыми точками равновесия сети Хопфилда.

 

Проверим сходимость сети при произвольном входном векторе Ai

Ai = {[-0.9; -0.8; 0.7; -0.8]};

Y = sim(net,{1 5},{},Ai); % сходится 5 шагов для одного примера.

Y{1} % результат первого шага моделирования сети

% проверять сеть net для набора Ai на 1 входной набор для 5 шагов стабилизации сети

ans =

-1

-1

-1

 

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

 

Можно проверить поведение сети при случайных начальных условиях.

for i =1:20 % зададим случайный набор входных образов

a = {rands(4,1)};

Y= sim(net,{1 20},{},a); % сходится до 20 шагов для одного примера

еnd

 

Задание для изучения работы сети.

1. Рассмотреть пример из hopfild4_lab8.m (использовать в качестве схемы для формирования примеров и их зашумления)

2. Построить целевой 10-мерный вектор (набрав целевые состояния с помощью случайного установления входов в –1 или 1). Объем выборки от 2, 5 и 10 образов. Сохранить построенные образца для дальнейшей работы.

3. Обучить сеть Хопфилда на эталонах.

4. Исследовать для 10 случайным образом сформированных образов попадание в целевые образы (входы примеров для теста складываем с матрицей искажений изменяем в интервале [-1,1] на 10 и 50 %. Например целевой образ Х1=(1 -1 1 1) вариация примерно на 10% Х1_=(0.9 -0.8 0.8 0.9). Для построения вектора шума использовать функцию rand(m,n)*noice*2-noice, где m – число эталонов, n - число входов, noice – уровень шума от 0.1 до 0.5. Тогда, если А эталоны, то А-rand(m,n)*noice*2-noice – эталоны с шумом для теста).

5. Составить таблицы целевых состояний и результатов моделирования:

 

Таблица 1. Целевые состояния.

 
целевой образ
х1 х2 х3 х4 х5 х6 х7 х8 х9 х10
                     
                     
                     
                     

Таблица 2. Результаты моделирования.

10% вариаций

входной образ (10 целей) результат работы сети
№ образа х1 х2 х10 х1 х2 х10 № образа, шаг
               
               
                   
                   
                   
входной образ (2 цели) результат работы сети
№ образа х1 х2 х10 х1 х2 х10 № образа шаг
                   
                   

 

50% вариаций

входной образ (10 целей) результат работы сети
№ образа х1 х2 х10 х1 х2 х10 № образа шаг
               
               
                   
                   
                   
входной образ (2 цели) результат работы сети
№ образа х1 х2 х10 х1 х2 х10 № образа шаг
                   
                   

 

6. Привести результаты теста (для 10 примеров на 1, 5, 10, 20 и 100-м шаге моделирования) для одного варианта входных примеров (с вариацией 50%). Вывести результаты в таблицу. Установить принадлежность тестового примера эталонному (если возможно) образу на каждом из шагов.

Необходимое для выполнения лабораторной работы оборудование:

- ПК Р111 и выше с ОЗУ 128Мб

- Windows 98, 2000 или следующие версии и MatLab 6.5 или следующие версии с пакетом NeuroNet ToolBox

 

Вопросы для защиты

 

1. Формы поведения нейронных сетей.

2. Виды моделей поведения нейронных сетей.

3. Классы правил обучения сетей.

4. Архитектура «сеть Хопфилда».

5. Алгоритм обучения сетей Хопфилда.

6. Область применения (класс задач) сетей Хопфилда.

7. Условие устойчивости сетей Хопфилда.

 

 

Литература

 

1. Уоссермен Ф. Нейрокомпьтерная техника: Теория и практика. – 1992.–109 с.

2. Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры – М: Из-во МГТУ, 2004.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: