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

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

CC BY
60
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / МАТЕМАТИЧЕСКАЯ МОДЕЛЬ / МОДЕЛИРОВАНИЕ / ИСКУССТВЕННАЯ НЕЙРОННАЯ СЕТЬ / МНОГОСЛОЙНЫЙ ПЕРЦЕПТРОН / SOFTWARE / MATHEMATICAL MODEL / MODELING / ARTIFICIAL NEURAL NETWORK / MULTILAYER PERCEPTRON

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

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

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

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

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

DEVELOPMENT OF A NEURAL NETWORK MODELING SOFTWARE WITH FLEXIBLE SETTING OF NETWORK STRUCTURE, ALGORITHM AND TRAINING SCENARIO

A multifunctional application for mathematical modeling of phenomena and processes by neural networks has been developed. Its basic functions have been considered on example of creation of model in kind of the multilayer perceptron. Limitations and advantages of the software as well directions of further research and development have been formulated.

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

УДК 004.8

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

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

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

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

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

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

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

DEVELOPMENT OF A NEURAL NETWORK MODELING SOFTWARE WITH FLEXIBLE SETTING OF NETWORK STRUCTURE, ALGORITHM AND TRAINING SCENARIO

Maklyaev I.V., Dudarov S.P.

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

A multifunctional application for mathematical modeling of phenomena and processes by neural networks has been developed. Its basic functions have been considered on example of creation of model in kind of the multilayer perceptron. Limitations and advantages of the software as well directions offurther research and development have been formulated. Key words: software, mathematical model, modeling, artificial neural network, multi-layer perceptron.

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

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

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

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

Данная статья посвящена описанию опыта создания программного инструмента нейросетевого моделирования Neural Network Modeler (NNModeler), характеризующегося гибкой настройкой

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

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

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

организации информационно-моделирующего

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

Рассмотрим порядок работы с программой Neural Network Modeler при создании и использовании нейросетевой модели в виде многослойного перцептрона.

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

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

На рис. 1 изображена общая структура двухслойного перцептрона с m входами, n выходами и к нейронами в единственном скрытом слое.

Рис. 1. Общая структура двуслойного перцептрона

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

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

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

Ф NNModeler

Начало Настройка Обучение Результат

C:\Users\Ilya\Desktop\HP\Y10Y30YlX2_Y3.txt

7.770852012 7.770852012 7.770852012 7.770852012 7.770852012 7.770852012 7.770852012 7.770852012 7.770852012 7.770852012 7.806179974 7.806179974 7.806179974 7.806179974 7.806179974 7.806179974 7.806179974 7.806179974 7.806179974

7 ЯПЙ170074 <

0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.938333334 0.938333334 0.938333334 0.938333334 0.938333334 0.938333334 0.938333334 0.938333334 0.938333334 п очато^зл

7.770852012 0 0.81

7.851258349 2 1.038333333

8.73239376 4 1.323333333

8.84509804 6 1.29

8.62324929 8 1.178333333

8.602059991 10 1.015

8.968482949 25 1.108333333

8.944482672 28 0.986666667

8.913813852 31 0.998333333

9.004321374 45 0.916666667

7.806179974

7.851258349

8.7887459

8.748188027

8.690105621

8.784803984

8.812450301

8.802760262

8.819344443

n anaçça7i Б

0 2 4

6

8

23 26 28 31

0.9383333] 1.2616666É 1.1683333: 1.0283333] 0.9966666É 0.705

0.7233333] 0.6966666É 0.6816666Ê П KQ1

>

Обзор

Загрузить

Количество входов: 4

Количество выходов: 1

Изменить

Рис. 2. Работа с обучающей выборкой

Ф Г\11\1Мос)е1ег

Начало Настройка обучение Результат

Количество скрытых слоёв

Параметр насыщения Скорость обучения Количество эпох

№ слоя Кол-во

1 6

200000

Настроить

Минимальное значение значение Минимальное значение значение Минимальное значение значение Минимальное значение значение Минимальное значение значение Количество связей: 37

I столбце 0: 7,705472929 I столбце 1: 0.538333333 I столбце 2: 7.705472929 I столбце 3:0 I столбце 4: 0.538333333

Нормализованная выборка

Обучить

0,20184 0,50154 0,02940 0,00000 0,05350 л

0,20184 0,50154 0,06555 0,04444 0,09846

0,20184 0,50154 0,46175 0,08889 0,15458

0,20184 0,50154 0,51243 0,13333 0,14801

0,20184 0,50154 0,41268 0,17778 0,12603

0,20184 0,50154 0,40315 0,22222 0,09386

0,20184 0,50154 0,56791 0,55556 0,11224

0,20184 0,50154 0,55712 0,62222 0,08828

0,20184 0,50154 0,54333 0,68889 0,09058

0,20184 0,50154 0,58403 1,00000 0,07450 V

Рис. 3. Настройка нейронной сети и алгоритма обучения

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

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

- гибкая настройка структуры нейронной сети;

- демонстрация хода обучения в режиме реального времени;

- управление сценарием обучения благодаря возможности коррекции ряда настроек (скорости, предельного количества эпох) в процессе обучения;

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

- возможность пакетного расчёта выходных переменных по обученной нейронной сети.

© 1МММос1е1ег

Начало Настройка Обучение результат

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

Старт

Сохранение

0.095 0,09 0 085 0,08 0.075 0,07 0.065

□ ое

0.055 005 0.045 0,04 0.035 0.03

1

11,1 1, 1

1 . || 1 .

10 000 20 000 30 000 40 ООО 50 000 60 ООО 70 ООО 80 000

Рис. 4. Графическая демонстрация хода обучения

© ШМос)е1ег

Начало Настройка Обучение Результат

Выходы обученной НС по примерам

Коэффициенты нейронной сети

,//08Ь (МНШО 7,77085 0,00000 0,85119

,77085 0,81000 7,В5126 2,00000 0,83639

,77085 0,81000 8,73239 4,00000 1,25498

,77085 0,81000 8,84510 6,00000 1,25175

,77085 0,81000 8,62325 8,00000 0,95470

,77085 0,81000 8,60206 10,00000 0,88271

,77085 0,81000 8,96848 25,00000 1,06356

,77085 0,81000 8,94448 28,00000 1,13931

,77085 0,81000 8,91381 31,00000 1,08310

,77085 0,81000 9,00432 45,00000 0,86299

,80518 0,93833 7,80618 0,00000 1,09936

,80618 0,93833 7,85126 2,00000 1,05937

,80618 0,93833 8,78875 4,00000 1,17083

,80618 0,93833 8,74819 6,00000 1,05321

,80618 0,93833 8,69011 8,00000 0,96368

.80618 0.93833 8.78480 23.00000 0.69316

Сохранить

0 0 0 -3,840024805 3419 Б^

0 0 1 3,9141610209763

0 0 2 33,0495861295552

0 0 3 -0,6082201416437!

0 0 4 18,1360447488253

0 0 5 -3,82042651577301

0 1 0 2,20541300069849

п I 1 Я 31 П77<М3511т *

Набор входных параметров

Рассчитанные значения

Вход 1 1

Вход 2 12

Вход 3 123

Вход 4 1234

Рис. 5. Результат обучения и работа с обученной сетью

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

нейросетевых моделей.

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

1. Дударов С. П., Папаев П. Л. Теоретические

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

2. Янчи С. О., Дударов С. П. Использование объектно-ориентированного подхода при разработке программных средств нейросетевого моделирования/ Успехи в химии и химической технологии: сб. науч. тр. Том XXII, № 1 (81). - М.: РХТУ им. Д. И. Менделеева, 2008. - с. 55-59.

3. Дударов С. П., Папаев П. Л. Информационная система ячеечно-нейросетевого моделирования последствий химических аварий на опасных производственных объектах. - Системы и средства информатики, 2016, Т. 26, № 2. - С. 123-135.

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