Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

По теме лабораторной работы. Система NetWorx предназначена для работы с нейронным сетями



Система NetWorx предназначена для работы с нейронным сетями. Работа с программой заключается в построении нейронной сети и ее эксплуатации при решении различных задач.

Основные этапы процедуры синтеза следующие:

1. Определение задач для нейронной сети.

2. Определение входных-выходных переменных.

3. Проектирование структуры нейронной сети.

4. Определение зависимостей между входными и выходными переменными и составление обучающей и валидационной выборок.

5. Задание параметров обучения.

6. Обучение нейронной сети.

7. Оценка качества обучения.

8. Использование обученной нейронной сети.

Рассмотрим эти этапы более подробно.

1. Определение задач для нейронной сети.

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

2. Определение входных-выходных переменных.

3. Проектирование структуры нейронной сети

Построение нейронной сети происходит в окне редактирования в визуальном режиме (рисунок 1).

Поле редактирования представляет собой панель с вертикальным или горизонтальным скроллингом. Слои нейронной сети отображаются последовательно, с границей между ними. Перемещение узлов осуществляется с помощью стандартного механизма «Drag-and-Drop», обновление структуры связей при этом происходит автоматически. Строка статуса окна редактирования отображает общую информацию о нейронной сети: количество слоев, входов и выходов, а также номер выбранного слоя и общую информацию о нем.

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

Рисунок 1 - Поле редактирования нейронной сети

Главное меню представляет все основные команды для работы с программой.

Команды меню «Файл»

При создании сети происходит автоматическая очистка памяти и поля редактирования. Программа готова к проектированию новой сети.

Для поиска и открытия файлов, хранящих в себе данные о созданных ранее нейронных сетях, используется окно диалога. Используя возможности ОС Windows 95, пользователь может осуществлять поиск необходимого файла на всех доступных дисках компьютера, а также на подключенных сетевых дисках.

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

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

Команды меню «Правка»

Работая с объектами нейронной сети, пользователь может многократно изменять структуру последней, добавляя новые узлы или удаляя их. Программа предоставляет возможность удаления всех выделенных узлов или сразу всех объектов сети.

Команды меню «Сеть»

При проверке работы сети пользователь предъявляет входные вектора и проверяет выходную реакцию сети.

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

Команды меню «Обучение»

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

Во время обучения сети на диск записывается служебная информация, которая, тем не менее, может быть использована для просмотра характера обучения сети. Это информация отображается на графиках.

Панель инструментов (Toolbar)

Команды кнопок первой группы дублируют команды меню «Файл» - «Открыть», «Сохранить сеть» и «Создать сеть».

Команды кнопок второй группы дублируют обе команды меню «Правка».

Третья группа предназначена для установки элементов нейронной сети. Главными элементами являются входы сети и сумматоры, которые пользователь «выставляет» на поле редактирования, используя соответствующие кнопки.

Команды всплывающего меню для поля редактирования

Команда «Входной вектор» предназначена для дублирования аналогичной команды пункта «Сеть» главного меню программы.

Свойства слоя – это информация о составляющих его узлах, отображается для текущего слоя на строке статуса.

Программа допускает возможность автоматического добавления сразу большого количества узлов в выбранный слой. Для этого используются команды «Добавить..». При этом пользователю будет предъявлен диалог запроса количества добавляемых узлов (обычно от 1 до 100).

Узлы нейронной сети и их свойства

Объект-вход

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

Команды всплывающего меню для входного объекта

Пользователю предоставлена возможность индивидуально помечать узлы как выделенные или сразу удалять их. Основная команда данного меню – вызов диалога просмотра и редактирования свойств данного объекта.

Объект-net

Узлом, выполняющим вычисление взвешенной суммы всех поступающих на вход сигналов, является сумматор (его также называют net). Сумматор, наряду с узлом-функцией, который всегда связан с ним, является основным элементом нейронной сети. Количество сумматоров непосредственно влияет на «распределенность» сети, на степень распараллеливания входного сигнала. Чем больше сумматоров в нейронных слоях – тем выше сложность сети.

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

Команды всплывающего меню для объекта-сумматора

Пользователю предоставлена возможность индивидуально помечать узлы как выделенные или сразу удалять их. Основная команда данного меню – вызов диалога просмотра и редактирования свойств данного объекта.

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

Объект-функция

С каждым сумматором связан узел, выполняющий вычисление значения активационной функции. Объект-функция получает на вход аргумент – взвешенную сумму от узла net, вычисляет значение и передает его на вход следующего слоя (рисунок 4).

Рисунок 2 - Окно диалога свойств входного объекта

Рисунок 3 - Окно диалога свойств сумматора

Рисунок 4 - Окно диалога свойств объекта-функции

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

3. Определение зависимостей между входными и выходными переменными и составление обучающей и валидационной выборок.

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

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

После этапа кодирования полученных выборок их необходимо задать в программе NetWorx. Для этого необходимо зайти в пункт Обучение| Метод обратного распространения, где можно вносить обучающую выборку, которую можно сохранять в файл и затем в любой момент считывать (рисунок 5).

Рисунок 5 - Окно диалога для обучения нейронной сети

4. Задание параметров обучения.

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

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

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

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

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

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

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

Характеристику процесса обучения, когда он закончен, можно просмотреть визуально – с помощью графиков. Для этого необходимо указать, чтобы некоторая служебная информация об этом записывалась в файл в процессе обучения. Имя файла, а также частоту записи данных можно указать в группе «Запись критериев обучения». Частота записи влияет на точность графиков. Однако этот процесс занимает часть ресурсов компьютера при обучении, поэтому не рекомендуется устанавливать слишком большую точность.

На рисунке 6 показано окно предоставляющее пользователю возможность изменить описанные выше параметры, характеризующие нейронную сеть.

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

5. Обучение нейронной сети

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

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

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

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

Рисунок 6 - Окно настроек сети

Рисунок 7 - Отображение процесса обучения

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

6. Оценка качества обучения

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

Окно просмотра графиков открывается командой "Графики" пункта "Обучение" главного меню (рисунок 8).

По оси абсцисс на графике откладываются шаги обучения. Осью ординат является величина ошибки.

Рисунок 8 - Окно просмотра графиков

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

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

Используя панель "Параметры", пользователь изменяет режимы просмотра графиков (рисунок 9).

Рисунок 9 - Окно изменения режима просмотра графиков

7. Использование обученной нейронной сети

Для проверки реакции нейронной сети на предъявляемое входное множество при проверке качества обучения и эксплуатации нейронной сети пользователь может воспользоваться диалогом, представленном на рисунке 10. Входной вектор может быть последовательно введен для всех позиций в таблице или просто загружен с диска. При подаче команды «Задать» диалог закрывается, и все значений передаются в соответствующие входные узлы.

Рисунок 10 - Окно задания входного вектора

Задания для лабораторной работы:

1. Спроектировать нейронную сеть для решения предложенной задачи

2. Построить обучающую выборку

3. Обучить сеть

4. Проверить качество обучения

5. Проанализировать по графику процесс обучения

6. Предъявить для распознавания искаженную входную комбинацию

7. Оценить полученный результат

8. Сделать выводы

Варианты:

1. Спроектировать нейронную сеть для реализации логических операций AND, OR, XOR.

2. Спроектировать нейронную сеть для распознавания геометрических фигур.

3. Спроектировать нейронную сеть для распознавания букв алфавита.

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

1. Для чего предназначена система NetWorx?

2. Какие основные этапы процедуры синтеза вы знаете?

3. Для чего нужны весовые коэффициенты?

4. По каким законам строятся графики для нейронных сетей?

5. Перечислите преимущества и недостатки использования нейронных сетей.





Дата публикования: 2015-11-01; Прочитано: 515 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.014 с)...