Круг П.Г. Моделирование искусственных нейронных сетей, страница 10
Описание файла
Файл "Круг П.Г. Моделирование искусственных нейронных сетей" внутри архива находится в папке "Круг П.Г. Моделирование искусственных нейронных сетей". Документ из архива "Круг П.Г. Моделирование искусственных нейронных сетей", который расположен в категории "". Всё это находится в предмете "нейронные вычислительные сети" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "нейронные вычислительные сети" в общих файлах.
Онлайн просмотр документа "Круг П.Г. Моделирование искусственных нейронных сетей"
Текст 10 страницы из документа "Круг П.Г. Моделирование искусственных нейронных сетей"
Обратим внимание, что точки (5.17) для весов xi, i = 1, 2, …, m определяют наиболее устойчивые позиции, ибо
dxi/dt = 0 . (5.18)
x1 x2 x3 xm–1 xm
a b
(b–q)/m (b–q)/m (b–q)/m (b–q)/m
Рис.5.4. Распределение весовых коэффициентов
В двумерном случае слой Кохонена содержит m x m активных нейронов, а областью определения для входов является декартово произведение [a, b] x [c, d], т. е. входной слой содержит 2 нейрона. В этом случае весовой вектор каждого нейрона слоя Кохонена имеет две составляющие – по числу входов. Каждый нейрон слоя Кохонена также характеризуется двумя координатами – по оси абсцисс и по оси ординат.
Подобно одномерному случаю можно показать, что координаты весовых векторов нейронов слоя Кохонена на оси абсцисс в процессе самообучения равномерно распределяются в интервале [a, b]:
a < w11 < w12 < …< w1m < b . (2.39)
Аналогично для координат этих векторов по оси ординат:
c < w21 < w22 < … < w2m < d . (2.40)
В результате самообучения сети Кохонена весовые векторы нейронов слоя Кохонена равномерно распределяются во входном пространстве.
6. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ МОДЕЛИРОВАНИЯ НЕЙРОННЫХ СЕТЕЙ
3.1. Обзор программного обеспечения для моделирования
Различают универсальные и прикладные программные продукты для моделирования нейронных сетей (Neural Network Simulators).
Универсальные или объектно-инвариантные среды позволяют синтезировать оптимальные нейронные сети, применяемые для решения широкого класса задач, с предложением различных парадигм и алгоритмов обучения.
Прикладные среды моделирования ориентированы для синтеза ИНС, применяемых в той или иной отрасли, прикладной области или специфичной задаче.
Среди важнейших свойств нейросетевых симуляторов (нейросимуляторов) – способность синтезировать код программы результирующей нейронной сети на алгоритмическом языке высокого уровня (чаще всего – Си и Паскаль). Такой код впоследствии легко интегрировать в пользовательскую программу.
В таблице П.1 Приложений представлены наиболее распространенные универсальные программные среды для моделирования ИНС.
3.2. Краткое описание программного продукта TRAJAN
Программный продукт TRAJAN компании TRAJAN Software Co. (Великобритания) является симулятором полного цикла и предназначен для моделирования в среде Microsoft Windows различных видов ИНС и алгоритмов обучения.
Симулятор включает широкие возможности для графического и статистического контроля в процессе моделирования параметров и характеристик эффективности синтезируемых ИНС.
Рассмотрим основные функциональные и потребительские характеристики программного продукта TRAJAN.
Автоматизация процесса синтеза ИНС
Программное обеспечение TRAJAN позволяет автоматизировать следующие процессы:
-
формирования представительских выборок и переменных;
-
выбора вида ИНС и ее структуры;
-
обучения ИНС;
-
сохранения оптимальных параметров ИНС;
-
выдачи графической и статистической информации о характеристиках синтезируемой ИНС.
Эти возможности позволяют работать в программной среде пользователям незнакомым с нюансами теории нейронных сетей, в то время как специалисты в данной области могут существенно сокращать рутинные этапы синтеза оптимальных ИНС и временные затраты.
При проектировании ИНС, направленной на решение особенно сложных задач, моделирование в среде программного продукта TRAJAN, как правило, занимает несколько дней.
Формирование представительской выборки
Важнейший этап моделирования – формирование репрезентативной представительской выборки нейронной сети для решения конкретной задачи. Сложность этой проблемы обусловлена возможной взаимной зависимостью (корреляцией) между входами ИНС. Программный продукт TRAJAN реализует ряд алгоритмов решения этой проблемы, включая форвардный и пошаговый выбор, генетические алгоритмы и ряд других.
Многослойные персептроны
TRAJAN поддерживает многослойные персептроны, обучающиеся по алгоритму «обратного распространения». Также могут быть использованы алгоритм быстрого распространения и Delta-Bar-Delta-алгоритм.
Карты Кохонена
TRAJAN позволяет моделировать ИНС, реализованные в виде самоорганизующихся карт Кохонена. При этом процесс моделирования сопровождается визуализацией графического окна наилучших частот и окна с топологией карты, что позволяет в реальном времени моделирования локализовать и пометить кластеры.
Гибридные нейронные сети
TRAJAN позволяет моделировать также гибридные ИНС, построенные с использованием комбинации двух или нескольких парадигм.
Бейесовские сети
TRAJAN поддерживает современные достижения в области теории Байесовских вероятностных и регрессионных ИНС. Данные парадигмы подразумевают почти мгновенное обучение ИНС, что неоценимо при модельном экспериментировании.
Линейные модели
Большинство специалистов сравнивают результаты нелинейных моделей с результатами, получаемыми при использовании линейной модели нейронов. Линейные модели зачастую способны эффективно достигать цели за меньшее время при использовании того же программного обеспечения.
Интерфейс пользователя
Удобный пользовательский интерфейс программного продукта позволяет обеспечивать простой доступ к большим объемам информации.
Представительские выборки и структура ИНС сохраняются в файлах с единым именем и различными расширениями, что обеспечивает легкость группировки исходных данных для моделирования.
Обновляющиеся в реальном времени графики и гистограммы позволяют наблюдать за обучением и исполнением ИНС, оперативно реагировать на ход моделирования. При решении задач классификации или аппроксимации автоматически вычисляются разнообразные статистические параметры и характеристики.
Специализированные топологические карты и кластерные диаграммы применяются при изучении и анализе результатов моделирования.
Фактически вся символьная и числовая информация доступна в электронных таблицах (Datasheets), т.е. может быть мгновенно импортирована и экспортирована через буфер обмена Microsoft Windows. Графическая информация также может быть экспортирована, например, для составления отчета о модельных экспериментах.
Ограничения
TRAJAN поддерживает ИНС «глубиной» 128 слоев, хотя, в подавляющем большинстве случаев, требуемое (наилучшее) количество слоев существенно меньше.
В TRAJAN первый слой является всегда слоем входа. Он используется только для ввода величин в ИНС, так как нейроны входного слоя не подразумевают никакой обработки. Последний слой является выходным, и результаты выполнения нейронов этого слоя являются и выходом ИНС в целом.
3.3. Описание основных этапов работы в среде TRAJAN
Создание ИНС
Новая ИНС создается в TRAJAN с помощью окна Network Creating (Создание сети), которое доступно из меню File/New/Network или по нажатию соответствующей кнопки на панели инструментов.
Для создания новой ИНС после появления на экране окна Network Creating следует:
-
выбрать тип сети;
-
определить число слоев и их размерности.
Выбор типа ИНС
TRAJAN предлагает несколько видов ИНС для моделирования. ИНС типа Многоуровневый персептрон выбрана в данном окне по умолчанию.
Определение числа слоев и их размерности
При задании количества слоев ИНС следует учитывать, что TRAJAN может поддерживать ИНС вплоть до 128 слоев по 128 нейронов в каждом, при этом первый из них всегда является входным и используется только для получения сетью исходных данных, а последний слой является выходным, и выходы его нейронов являются выходами всей ИНС в целом.
Задать количество нейронов в каждом слое позволяет матрица, представленная в окне Network Creating. Она выглядит как небольшая электронная таблица. Количество нейронов в каждом слое ИНС определяется с помощью первой ячейки этой матрицы, при этом любые слои с нулевым количеством нейронов будут проигнорированы.
После того, как задано количество нейронов в каждом слое, TRAJAN самостоятельно определит количество слоев в сети путем выбора из матрицы всех слоев, у которых количество нейронов отлично от нуля.
Примечание. Можно заметить, что матрица содержит строку для задания ширины каждого слоя. Данная функция редко используется в TRAJAN и необходима только для нейронных сетей, использующих карты Кохонена.
Подготовка нейронной сети к обучению
Одной из ключевых характеристик ИНС является их способность обучаться решать поставленные перед ними задачи с использованием представительских выборок. То есть вместо того, чтобы выставлять нейронам их веса вручную (что в принципе конечно возможно), создается некоторый набор представительских выборок, определяющих решение поставленной задачи, для обучения предварительно подготовленной структуры ИНС. При этом используется один из алгоритмов обучения ИНС, наиболее популярным из которых является алгоритм Обратного распространения.
Обучающий алгоритм во время своей работы подбирает веса нейронов в ИНС, исходя из информации, содержащейся в представительской выборке.
В TRAJAN набор представительских выборок (обучающих пар) создается с помощью окна Pattern Set Creating, которое доступно из пункта меню File/New/Pattem.
После выбора этой команды меню на экране появляется диалоговое окно, в котором необходимо задать количество входов и выходов формируемых обучающих пар.
Примечание. Для целей обучения количество входов и выходов обучающих пар должно совпадать с количеством нейронов, содержащихся во входных и выходных слоях ИНС.
После этого TRAJAN запустит редактор вводимых обучающих пар, в котором отобразит матрицу обучающих пар. Каждая обучающая пара представлена в матрице своей строкой, которая содержит значение входных и соответствующих им выходных сигналов ИНС.
После создания ИНС и набора обучающих пар для ее обучения исходные данные моделирования сохраняются в файле. Для сохранения нейронной сети необходимо воспользоваться пунктом меню File/Save/Network. После выбора команды TRAJAN запрашивает имя файла, в котором будет сохранена моделируемая ИНС.
Для сохранения набора обучающих пар необходимо воспользоваться пунктом меню File/Save/Pattern. После выбора данной команды TRAJAN запрашивает имя файла, в котором будут сохранены введенные представительские выборки (обучающие пары).
Редактирование сети и представительских выборок
Средства редактирования (меню: Edit/Network, окно: Network Editor) позволяют модифицировать следующие параметры определенной ранее ИНС:
-
функцию ошибки ИНС;
-
изменить активационную функцию нейронов;
-
изменить значения весов связей;
-
удалить и добавить слои;
-
удалить и добавить нейроны в текущем слое.
Электронная таблица (матрица) представительских выборок позволяет изменять любые имеющиеся обучающие пары, а также их удалять и добавлять новые.
Обучение нейронной сети
В настоящее время программным продуктом TRAJAN поддерживаются наиболее распространенные алгоритмы обучения ИНС.
Рассмотрим процедуру обучения в TRAJAN по алгоритму обратного распространения.
Алгоритм обратного распространения работает, подготавливая ИНС, используя доступные ему данные, которые хранятся в наборе представительских выборок и которые были подготовлены для обучения сети. На каждой итерации (в терминах ИНС – эпохе), весь составленный набор обучающих пар предоставляется сети. Выходы, получаемые сетью, сравниваются с желаемыми результатами. Ошибка ИНС вычисляется как разность между желаемыми и фактическими результатами и используется для регулирования весов нейронов в сети.
Перед началом обучения ИНС выполняются следующие действия:
-
Используя меню Statistics/Training Graph, открывается окно Training error Graph;
-
Используя меню Train/Backprop, открывается окно Back Propagation;
-
Окна располагаются так, чтобы они не перекрывали друг друга;
-
Запускается алгоритм обучения нажатием кнопки Train в окне Back Propagation. При этом зависимость среднеквадратической ошибки от числа итераций будет показана на графике, расположенном в окне;
-
Увеличивается максимальное число итераций и алгоритм запускается (с помощью кнопки Train) до тех пор, пока среднеквадратическая ошибка не примет приемлемого малого значения.
Вначале моделирования при использовании небольшого числа итераций среднеквадратическая ошибка уменьшается, но ненамного. Данный факт обусловлен тем, что задача «исключающего «ИЛИ» для ИНС, как не парадоксально, гораздо сложнее в решении, чем многие более сложные задачи.
Окно Training Error Graph отображает общую ошибку обучения ИНС, однако, иногда бывает полезно пронаблюдать за работой ИНС при использовании отдельно взятой обучающей пары, с помощью окна Pattern Error.
Запуск ИНС
После обучения ИНС, она готова к запуску. Запустить ИНС на выполнение можно несколькими способами.
Запуск с текущим набором представительских выборок