Научная статья на тему 'СРАВНЕНИЕ РАБОТЫ АЛГОРИТМА ОБУЧЕНИЯ МНОГОСЛОЙНОГО ПЕРЦЕПТРОНА ПРИ РЕАЛИЗАЦИИ С ИСПОЛЬЗОВАНИЕМ РАЗНЫХ ИНСТРУМЕНТОВ ПРОГРАММИРОВАНИЯ'

СРАВНЕНИЕ РАБОТЫ АЛГОРИТМА ОБУЧЕНИЯ МНОГОСЛОЙНОГО ПЕРЦЕПТРОНА ПРИ РЕАЛИЗАЦИИ С ИСПОЛЬЗОВАНИЕМ РАЗНЫХ ИНСТРУМЕНТОВ ПРОГРАММИРОВАНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
37
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / МАТЕМАТИЧЕСКАЯ МОДЕЛЬ / НЕЙРОСЕТЕВОЕ МОДЕЛИРОВАНИЕ / ИСКУССТВЕННАЯ НЕЙРОННАЯ СЕТЬ / ПЕРЦЕПТРОН / ИНСТРУМЕНТ РАЗРАБОТКИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Макляев Илья Васильевич, Дударов Сергей Павлович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Макляев Илья Васильевич, Дударов Сергей Павлович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPARISON OF DIFFERENT PROGRAMMING TOOLS FOR IMPLEMENTING A MULTI-LAYER PERCEPTRON LEARNING ALGORITHM

With the help of various development tools, multifunctional software applications were created for mathematical modeling of phenomena and processes using neural networks. The advantages and disadvantages of the selected development tools are considered. The analysis of the effectiveness of programs implemented by various means is carried out. Recommendations on the choice of development tools for various application purposes are given.

Текст научной работы на тему «СРАВНЕНИЕ РАБОТЫ АЛГОРИТМА ОБУЧЕНИЯ МНОГОСЛОЙНОГО ПЕРЦЕПТРОНА ПРИ РЕАЛИЗАЦИИ С ИСПОЛЬЗОВАНИЕМ РАЗНЫХ ИНСТРУМЕНТОВ ПРОГРАММИРОВАНИЯ»

УДК 004.8

Макляев И.В., Дударов С.П.

СРАВНЕНИЕ РАБОТЫ АЛГОРИТМА ОБУЧЕНИЯ МНОГОСЛОЙНОГО ПЕРЦЕПТРОНА ПРИ РЕАЛИЗАЦИИ С ИСПОЛЬЗОВАНИЕМ РАЗНЫХ ИНСТРУМЕНТОВ ПРОГРАММИРОВАНИЯ

Макляев Илья Васильевич, студент 3 курса бакалавриата факультета цифровых технологий и химического инжиниринга;

Дударов Сергей Павлович, к.т.н., доцент кафедры информационных компьютерных технологий, e-mail: dudarov@muctr.ru,

Российский химико-технологический университет имени Д. И. Менделеева, Москва, Россия 125047, Москва, Миусская пл., д. 9

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

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

COMPARISON OF DIFFERENT PROGRAMMING TOOLS FOR IMPLEMENTING A MULTI-LAYER PERCEPTRON LEARNING ALGORITHM

Maklyaev I.V., Dudarov S.P.

D. Mendeleev University of Chemical Technology of Russia, Moscow, Russia

With the help of various development tools, multifunctional software applications were created for mathematical modeling of phenomena and processes using neural networks. The advantages and disadvantages of the selected development tools are considered. The analysis of the effectiveness of programs implemented by various means is carried out. Recommendations on the choice of development tools for various application purposes are given. Key words: software, mathematical model, neural network modeling, artificial neural network, perceptron, development tool.

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

Для создания нейросетевых моделей необходимо использовать специальное программное

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

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

временных рядов и других, с помощью двух разных языков программирования.

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

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

нейросетевого программного обеспечения

своего языка проектирование дружественного понятного и

базируются на полученном ранее собственном опыте и опыте создателей аналогичного программного обеспечения [1].

Вторым инструментом разработки была выбрана интегрированная среда программирования Microsoft .NET с использованием языка C++/CLI. Данная платформа имеет широкий круг программных инструментов, которые позволяют реализовать все поставленные нами задачи нейросетевого моделирования, а также создать удобный и современный графический интерфейс для взаимодействия с пользователем.

Рассмотрим функции, реализованные с использованием обоих инструментов разработки.

В структуру любого перцептрона входят один (или большее количество) слоя нейронов. Выходной слой - это слой результатов. Его выходы соответствуют выходам нейросетевой

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

1

коррекции весовых коэффициентов до значений, обеспечивающих минимальное (в пределах требуемого уровня) рассогласование выходных значений примеров обучающей выборки и выходов, рассчитанных по нейронной сети с текущими значениями весов, при одинаковых наборах значений входных переменных обучающей выборки [2]. В обеих созданных программах весовые коэффициенты многослойного перцептрона корректируются синхронно по методу обратного распространения ошибки, а весовые коэффициенты однослойного перцептрона корректируются по методу Уидроу-Хоффа.

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

1

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

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

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

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

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

На основе опыта разработки нейросетевого моделирующего программного обеспечения можно отметить следующее:

- Delphi проще в освоении, в этой среде легче создать графический, дружественный пользователю интерфейс;

- Delphi на данный момент не является популярным инструментом разработки, вследствие чего данная среда имеет меньшее количество библиотек и обновлений для современных технологических решений;

- в Delphi-парадигме форм вся информация о них, включая свойства, параметры настройки компонентов, значения по умолчанию, хранится в исполняемом файле, причём не самым оптимальным образом, из-за чего такие файлы получаются значительно большего размера в сравнении с аналогами, создаваемыми C++/CLI;

- преимуществом C++/CLI является возможность использования специальной библиотеки стандартных алгоритмов, реализованных на языке

C++.

Проведено сравнение скорости работы алгоритма обучения многослойного перцептрона,

реализованного в C++/CLI и Delphi в двух режимах: режиме фоновой работы и режиме графического отображения результатов обучения в реальном времени.

В качестве тестовой структуры нейронной сети был выбран двухслойный перцептрон с 2 нейронами в скрытом слое. Обучающая выборка, полученная из открытого хранилища данных, включала 1593 примера с 12 переменными: 11 входными и 1 выходной.

По диаграмме на рис. 2 видно, что время обучения нейронной сети в режиме графического отображения с помощью программы, разработанной в интегрированной среде Delphi, занимает больше времени в сравнении с программой, реализованной на языке C++/CLI.

350 300 250 200 150 100 50

т,

.262

57 53

И1102

II

223

207

167152 ■

II

50000 100000 150000 200000 250000 Количество эпох ■ Delphi | C++/O.I Рис. 2. Зависимость времени обучения от количества эпох в режиме графического отображения

Режим фоновой работы - режим, когда программное обеспечение не тратит вычислительные ресурсы и время на отображение результатов обучения в реальном времени. В данном режиме Delphi значительно ускоряется, как видно на диаграмме (рис. 3).

350 и 300

I 250 х

У 200

о 150

100 50 О

235

244

ш

142148

45 50

54 97

II

167193

II

50000 100000 150000 200000 250000 Количество эпох ■ Delphi С—/CLI Рис. 3. Зависимость времени обучения от

количества эпох в фоновом режиме работы

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

Список литературы

1. Макляев И. В., Дударов С. П. Разработка программного инструмента нейросетевого моделирования с гибкой настройкой структуры сети, алгоритма и сценария обучения/ И. В. Макляев, С. П. Дударов. - Успехи в химии и химической технологии: сб. науч. тр. Том XXXIV, №3. - М.: РХТУ им. Д. И. Менделеева, 2020. - с. 55-58.

2. Дударов С. П., Папаев П. Л. Теоретические основы и практическое применение искусственных нейронных сетей. - М.: РХТУ им. Д. И. Менделеева, 2014. - 104 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.