Методические указания к лабораторной работе №1
Описание файла
Документ из архива "Методические указания к лабораторной работе №1", который расположен в категории "". Всё это находится в предмете "нейрокомпьютерные сети" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "нейрокомпьютерные сети" в общих файлах.
Онлайн просмотр документа "Методические указания к лабораторной работе №1"
Текст из документа "Методические указания к лабораторной работе №1"
Лабораторная работа №1. Создание модели нейронной сети с помощью пакета программ «Neural Works Professional II».
Цель работы – ознакомление с основными возможностями пакета программ «Neural Works Professional II» и получение практических навыков по созданию простейшей модели нейронной сети.
Общие сведения
В данной работе процесс создания модели нейронной сети, изменения ее характеристик и добавления графических инструментов для отображения результатов работы рассматривается на примере решения задачи «исключающее ИЛИ». В качестве парадигмы нейронной сети используется сеть с обратным распространением ошибки (Back Propagation), подробные алгоритмы функционирования и обучения которой приведены в разделе «Лабораторная работа №2» .
Создаваемая сеть должна решать логическую функцию «исключающее ИЛИ», таблица истинности которой выглядит следующим образом:
Табл. 1 Таблица истинности логической функции «исключающее ИЛИ».
Input 1 | Input 2 | Output |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Для решения поставленной задачи требуется построить сеть, состоящую из трех слоев:
-
Входной слой, содержащий два процессорных элемента, обрабатывающих входной сигнал для скрытого слоя.
-
Скрытый слой, состоящий из одного процессорного элемента.
-
Выходной слой, состоящий также из одного процессорного элемента.
-
Кроме вышеперечисленных слоев, к сети подключается процессорный элемент «Bias», на выходе которого постоянный единичный сигнал. Он необходим для реализации процедуры обратного распространения.
После запуска программы на экране монитора появляется титульная картинка. В центре экрана находится курсор. Нажатие клавиши «* » на цифровой клавиатуре, F10 или правой кнопки мыши вызовет появление главного меню возле указателя. Текущий пункт меню будет подсвечиваться.
1. Создание входного слоя.
Для создания новой сети из главного меню выберите LAYER/ADD. В появившемся диалоговом окне надо заполнить следующие пункты:
-
Name: INPUT - имя входного слоя.
-
# of PEs: 2 - число процессорных элементов.
Рис. 1. Создание входного слоя.
Для введения изменений нажмите «* », F10 или правую кнопку мыши на этом окне. Если картинка на экране смещена, и надо переместить ее, то установите курсор на требуемую позицию и нажмите клавишу «m ». Также, для перемещения изображения можно использовать клавиши:
-
U - Up - вверх.
-
D - Down - вниз.
-
R - Right - вправо.
-
L - Left - влево.
-
H - Home - начало.
-
C - Center - центр.
На экране вы увидите два процессорных элемента - входной слой, созданный на первом шаге. Переместите его вниз экрана.
2. Создание скрытого слоя.
Второй слой называется скрытым, потому что он функционирует внутри между входным и выходным слоями. Сеть может иметь более одного скрытого слоя. Сеть строится снизу-вверх - первым располагается входной слой, выше - скрытый, над ним - выходной.
Установите курсор над входным слоем.
Рис. 2. Создание скрытого слоя.
Вызовите главное меню и выберите LAYER/ADD. В диалоговом окне измените следующие пункты:
-
Name: Hidden - имя второго слоя.
-
# of PEs: 1 - число процессорных элементов.
-
Transfer: Sigmoid - сигмоидная передаточная функция.
-
Learning rule: Delta Rule - обучающее правило.
Для установления последних двух пунктов воспользуйтесь полосой прокрутки.
Подтвердите изменения.
3. Соединение первого и второго слоев.
Выделите скрытый слой - вокруг процессорного элемента появятся три окружности. Для этого подведите курсор к элементу слоя и нажмите левую кнопку мыши, клавишу «+ » или F9.
Рис. 3. Соединение первого и второго слоя.
Укажите на процессорный элемент, помеченный как «Bias ». Это «постоянный единичный процессорный элемент».
Вызовите из меню команду PROCESSING ELEMENT / CONNECT TO PE. В диалоговом окне должны быть установлены:
-
Weight : 1.00 - вес соединения.
-
Variable - изменяемое соединение.
-
Absolute - абсолютное соединение.
Нажмите F10 для создания соединения. Оно обеспечивает единичный вход для парадигмы обратного распространения.
Рис. 4. Соединение первого и второго слоя.
Укажите курсором на процессорный элемент первого слоя (№ 2 или № 3). Вызовите из меню команду LAYER / CONNECT FULLY.
Не изменяйте параметры в диалоговом окне.
Подтвердите выбранные параметры.
4. Создание выходного слоя.
Установите курсор над скрытым слоем.
Вызовите главное меню и выберите LAYER/ADD. В диалоговом окне измените следующие пункты:
-
Name: OUTPUT - имя третьего слоя.
-
# of PEs: 1 - число процессорных элементов.
-
Transfer: Sigmoid - сигмоидная передаточная функция.
-
Learning rule: Delta Rule - обучающее правило.
Для установления последних двух пунктов воспользуйтесь полосой прокрутки.
Сохраните сделанные изменения.
Если необходимо, переместите выходной слой.
5. Соединение выходного слоя с другими слоями.
Выделите процессорный элемент в выходном слое.
Укажите курсором на «Bias PE ».
Вызовите из меню команду PROCESSING ELEMENT / CONNECT TO PE.
Оставьте параметры соединения без изменения.
Нажмите F10.
Укажите курсором на скрытый слой.
Вызовите из меню команду LAYER/CONNECT FULLY.
Рис. 5. Соединение выходного слоя с другими слоями.
Не изменяйте параметры в диалоговом окне.
Подтвердите изменения.
Этот частный случай сети обратного распространения требует наличия связи выходного слоя с входным слоем. Для этого:
Укажите курсором на входной слой.
Вызовите из меню команду LAYER / CONNECT FULLY.
Не изменяйте параметры в диалоговом окне.
Подтвердите изменения.
6. Установка параметров сети.
Вызовите из главного меню команду NETWORK / EDIT.
Рис. 6. Установка параметров сети.
Измените параметры сети в диалоговом окне, как показано ниже:
-
Title : Exclusive OR Problem - название сети.
-
Learn Source : ALPHA - источник данных для обучения.
-
Learn Source name : SAMPLE - имя файла с данными.
-
Recall Source : ALPHA - источник данных для вызова.
-
Recall Source name : SAMPLE - имя файла с данными.
-
Network type : HETERO-ASS. - тип сети.
-
Control strategy : BACKPROP - управляющая стратегия - обратное распространение.
-
L/R schedule : BACKPROP - план обучения и функционирования - обратное распространение.
7. Установка начальных значений весов соединений в сети.
Вызовите из главного меню команду NETWORK / RANDOMIZE WEIGHTS и установите:
-
LOW LIMIT : -0.10 - нижняя граница диапазона.
-
HIGH LIMIT : 0.10 - верхняя граница диапазона.
8. Сохранение сети.
Выберите из меню команду NETWORK/SAVE NETWORK.
В диалоговом окне напишите имя сети.
Подтвердите изменения.
9. Обучение сети.
Для обучения сети необходимо, чтобы в каталоге с программой находился файл с обучающей выборкой «sample.nni ». Содержание этого файла имеет следующий вид:
«Sample.nni »
«Exclusive OR» input data for sample network
*
i 0.0 0.0 * первый входной вектор
d 0.0 *соответствующий желаемый выход
i 1.0 0.0
d 1.0
i 0.0 1.0
d 1.0
i 1.0 1.0
d 0.0
Рис. 7. Обучение сети.
Вызовите из главного меню команду EXECUTE NETWORK / LEARN N.
Измените счетчик циклов на 3000.
Подтвердите изменения.
Каждые 100 итераций в нижней части экрана в строке сообщений будет появляться точка. Когда обучение закончится, система выдаст звуковой сигнал. В любое время процесс обучения можно прервать, нажав клавишу ESC.
Обновление экрана при обучении будет происходить в соответствии со значением в счетчике LEARN в подменю EXECUTE / CHECK POINT.
10. Тестирование работы сети.
Для тестирования сети можно использовать или файл с обучающей выборкой sample.nni или программу пользовательского ввода/вывода для ввода данных с клавиатуры.
Первый вариант:
-
Чтобы начать тестирование с первого входного образа, переместим указатель во входном файле на начало командой Execute Network / Rewind Input.
-
Команда Execute Network / Recall One вызывает первый образ и вычисляет соответствующий выходной сигнал нейронной сети.
Второй вариант:
Замените в диалоговом окне подменю NETWORK / EDIT, в разделе RECALL/USER IO строку на «userio ».
Вызовите команду EXECUTE NETWORK / RECALL ALL.
Это пример программы пользовательского ввода/вывода для ввода данных с клавиатуры.
В строке сообщений появится приглашение к работе.
«Enter two digits to try out XQR (‘E’ to End):?» введите 00 и нажмите <Return>.
На этом создание простейшей нейронной сети завершено. Но!
«Neural Works Professional II» позволяет создать более удобный интерфейс для отображения результатов работы сети. Речь идет о так называемых инструментах. Подробно о них написано в разделе «Описание пакета программ Neural Works Professional II». Для этого примера нам понадобится файл с входной выборкой с именем «sample1.nni». Чтобы подключить его к данной сети, надо выполнить команду меню NETWORK / EDIT и в разделе диалогового окна RECALL/ALPHA написать «sample1 ».
Теперь создадим инструменты для визуального контроля за работой модели нейронной сети.
11. Создание инструмента OUTPUT.
Вызовите в меню команду INSTRUMENT/ ADD INSTRUMENT.