Секция «Математические методы моделирования, управления и анализа данных»
помогает пройти все этапы создания разного рода нейросетей и выбрать наилучшую [5]. Осуществляется поддержка архитектур НС практически неограниченного размера, загрузки и анализа нескольких моделей. Имеется инструмент, который позволяет в автоматизированном режиме строить различные архитектуры НС и регулировать их сложность. Явных недостатков выявлено не было. Приблизительная стоимость 999-3 334 долл.
Практически все программные продукты обладают средствами визуализации процесса создания и работы НС. Одной из дополнительных функций всех вышеперечисленных нейросетевых пакетов является встроенный генератор исходного кода, отличие лишь составляют компиляторы, которые они поддерживают. Ценовой диапазон весьма обширен: от 800 до 7 500 долл. и зависит от количества приобретаемых лицензий, платформы компьютера и степени «профессиональности» версии.
Библиографические ссылки
1. Neural Network Toolbox [Электронный ресурс] : офиц. сайт программы. URL: http://matlab.ru/products/ neural-network-toolbox (дата обращения: 18.03.2014).
2. NeuroSolutions [Электронный ресурс] : офиц. сайт программы. URL: http://www.neurosolutions.com/ (дата обращения: 18.03.2014).
3. NeuralWorks Professional [Электронный ресурс] : офиц. сайт программы. URL: www.neuralware.com (дата обращения: 18.03.2014).
4. Neuroshell [Электронный ресурс] : офиц. сайт программы. URL: http://www.neuroshell.com/ (дата обращения: 18.03.2014).
5. STATISTICA Automated Neural Networks. Автоматизированные нейронные сети [Электронный ресурс]. URL: http://www.statsoft.ru/products/ STATISTICA_Neural_Networks (дата обращения: 18.03.2014).
© Щеголькова Д. В., Орешкина Е. И.. 2014
УДК 004.032.26
Д. В. Щеголькова, Е. И. Орешкина Научный руководитель - Л. В. Липинский Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
О ПОДХОДАХ К ВЫБОРУ СТРУКТУРЫ НЕЙРОННОЙ СЕТИ НА ПРИМЕРЕ МНОГОСЛОЙНОГО ПЕРСЕПТРОНА
Приведены обоснование выбора и результаты реализации такого подхода к формированию структуры НС как поэтапное наращивание, а также предложены рекомендации по улучшению работы исследуемого алгоритма.
На сегодняшний день нейронные сети являются эффективным средством интеллектуального анализа данных. Однако, специалистам предметных областей, не связанных с математикой и анализом данных сложно ориентироваться в настройках нейронных сетей. И если для весовых коэффициентов разработаны и исследованы процедуры оптимизации (такие как, алгоритм обратного распространения ошибки, метод сопряженных градиентов и другие градиентные алгоритмы), то поиск эффективной структуры формализовать сложнее. Из чего можно заключить, что разработка эффективной процедуры выбора структуры НС является актуальной исследовательской задачей.
Один из главных вопросов при реализации нейронной сети - моделирование архитектуры (выбор количества скрытых слоtв, количества нейронов для каждого скрытого слоя, способы соединения этих нейронов, направления распространения сигналов и проч.). Существуют различные типы архитектур НС, которые принято разделять на два больших класса: сети прямого распространения сигнала и сети с обратными связями (рекуррентные).
Нейронные сети с обратными связями, относящиеся ко второму классу, позволяют прохождение сигналов в обоих направлениях. Среди НС с обрат-
ными связями наиболее популярными являются сеть Кохонена, сеть Хопфилда и АЯТ-модели.К первому классу относят сеть радиально-базисных функций и персептроны [1].
На практике наибольшее распространение получили именно многослойные персептроны. Персептрон имеет простую структуру и относительно универсален. Многослойные персептроны применяют для решения задач аппроксимации, прогнозирования, управления классификации и т. д. Простота и универсальность персептрона являются основанием выбора его в качестве основы. В данном исследовании поиск эффективных структур будет осуществляться на основе этого типа архитектуры НС.
В число основных подходов к формированию структуры нейронной сети входят упрощение нейронной сети и ее наращивание.
При первом подходе задаются некоторой избыточной структурой нейронной сети, и адаптивные параметры находят путем обучения сети. Зачастую это приводит к тому, что в нейронной сети присутствует некоторое число избыточных элементов, без которых можно вполне обойтись при решении конкретной задачи. Удаление таких элементов из нейросети называется упрощением сети. Второй подход предполагает поэтапное усложнение НС.
Актуальные проблемы авиации и космонавтики - 2014. Информационные технологии
Результаты работы алгоритма подбора эффективной структуры нейронной сети
Функция Кол-во точек в выборке Кол-во эпох Кол-во запусков программы Лучшее значение ошибки Структура, соответствующая лучшему значению ошибки
/(х) = X2 100 10 000 10 0,008 136 1;1;1;1
/х) = этОО 100 10 000 10 0,007 351 1;2;1
/(х, у) = х2+у2 100 10 000 8 0,020 628 2;5;6;1
/(х, у) = 8т(х2) + 8т(у2) 100 10 000 5 0,011 860 2;7;4;1
Основным недостатком подхода упрощения нейронной сети является произвольность выбора начальной архитектуры. В случае недостаточной структуры нейронная сеть не сможет решить поставленную задачу. И упрощение структуры не улучшит нейросете-вую модель.
Подход наращивания НС применяется в данной работе, поскольку не обладает указанными недостатками.
Рассмотрим вариант обучения с учителем, полносвязную НС прямого распространения сигнала. На входном слое число нейронов постоянно и равно количеству входов в нейросеть. На выходном - число нейронов также фиксировано, и равно количеству выходов НС. На начальном этапе задается один скрытый слой с одним нейроном на нём. Затем последовательно «наращиваем нейросеть» по следующему алгоритму:
1. находим все возможные варианты структур НС, полученные из текущей посредством добавления одного нейрона на каждый слой или добавления одного слоя;
2. вычисляем ошибку нейронной сети для каждого изменения и запоминаем то изменение, которое приводит к наименьшей ошибке, переходим к шагу 1.
Прекращаем работу алгоритма по заданному условию. Такими условиями могут быть:
- значение ошибки меньше некоторого желаемого значения е;
- ограничения на число слоёв;
- максимально допустимое число нейронов в слое.
Перед запуском алгоритма наращивания необходимо задавать количество эпох обучения и запусков программы.
Критерии остановки алгоритма в данной работе: ограничение на количество скрытых слое, равное 3 и
значение ошибки НС, равное 0,01. Результаты работы программы приведены в таблице выше.
Проанализировав данные, представленные в таблице, и результаты исследования в целом можно прийти к следующим выводам:
- для решения задач аппроксимации простых функций достаточно добавления одного слоя или одного нейрона в базовую структуру, но по мере увеличения сложности функции количество нейронов на каждом слое увеличивается;
- целесообразно ставить ограничения остановки работы алгоритма не только по количеству скрытых слоев, но и по количеству нейронов в слое;
- поскольку поиск подходящей структуры посредством применения алгоритма наращивания является достаточно ресурсозатратным, возникает необходимость сокращения времени работы алгоритма подбора структуры. Добиться этого можно путем реализации соответствующей процедуры предобработки данных, предложенной В. А. Крисиловым и К. В. Чумичкиным в своем докладе [2], которая представляет собой упрощение обучающей выборки на ранних этапах обучения с последовательным усложнением (детализацией) на последующих этапах.
Библиографические ссылки
1. Хайкин С. Нейронные сети: полный курс. 2-е изд. СПб. : Вильямс, 2008. 1104 с.
2. Крисилов В. А., Чумичкин К. В. Ускорение обучения нейронных сетей за счет адаптивного упрощения обучающей выборки. Одесса : Одес. национ. политехнич. ун-т.
© Щеголькова Д. В., Орешкина Е. И.. 2014