УДК 681.3.06:004.8
Маркин И.С., Пысин М.Д., Краснов Д.О., Дударов С.П.
ПРОГРАММНО-АЛГОРИТМИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДЛЯ АППРОКСИМАЦИИ НЕЛИНЕЙНЫХ ЗАВИСИМОСТЕЙ НЕЙРОННОЙ СЕТЬЮ НА ОСНОВЕ РАДИАЛЬНО-БАЗИСНЫХ ФУНКЦИЙ
Маркин Иван Сергеевич, студент 1 курса магистратуры факультета информационных технологий и управления; Пысин Максим Дмитриевич, студент 1 курса магистратуры факультета информационных технологий и управления;
Краснов Дмитрий Олегович, студент 1 курса магистратуры факультета информационных технологий и управления;
Дударов Сергей Павлович, к.т.н., доцент, декан факультета информационных технологий и управления, e-mail: [email protected];
Российский химико-технологический университет имени Д. И. Менделеева, Москва, Россия 125047, Москва, Миусская пл., д. 9
Разработано программно-алгоритмическое обеспечение для аппроксимации нелинейных зависимостей, моделирующее работу искусственной нейронной сети на основе радиально-базисных функций. Представлены функциональные возможности программного обеспечения для получения аппроксимирующей математической модели и визуализации получаемых результатов в виде таблиц и графиков. Рассмотрен пример аппроксимации одномерной сложной функции. Проведено исследование влияния параметра активационной радиально-базисной функции и количества скрытых радиальных элементов в структуре нейронной сети на величину ошибки аппроксимации. Показано значительное уменьшение ошибки при увеличении количества радиальных элементов и оптимальном выборе параметра насыщения функции Гаусса.
Ключевые слова: аппроксимация нелинейных зависимостей, искусственная нейронная сеть, радиально-базисная функция, РБФ-сеть, радиальный элемент, функция Гаусса, ошибка аппроксимации, программно-алгоритмическое обеспечение.
ALGORITHMIC SOFTWARE FOR APPROXIMATION OF NONLINEAR RELATIONS BY NEURAL NETWORK WITH RADIAL-BASIS FUNCTIONS
Markin I.S., Pysin M.D., Krasnov D.O., Dudarov S.P.
D. Mendeleev University of Chemical Technology of Russia, Moscow, Russia
Algorithmic software for approximation of nonlinear dependencies, that simulates the operation of artificial neural network based on radial-basis functions, was developed. Functional capabilities of the software for obtaining an approximating mathematical model and visualization of results, obtained in form of tables and graphs, was presented. An example of approximation of a one-dimensional composite function. Impact of parameter of activation radial-basis function and count of hidden radial elements in structure of neural network on value of approximation error was studied. A significant error decrease was shown with increase in count of radial elements and optimal choice of saturation parameter for Gaussian function.
Keywords: approximation of nonlinear relations, artificial neural network, radial basis function, RBF-network, radial element, Gaussian function, approximation error, algorithmic software.
Искусственные нейронные сети на основе радиально-базисных (иначе - радиально-симметричных) функций (РБФ-сети) широко используются для решения задач аппроксимации одномерных и многомерных данных, а также для кластеризации и классификации данных [1].
Структура РБФ-сети содержит два слоя нейронов. Выходы первого (скрытого) слоя активируются множеством радиально-
симметричных функций, как правило, функциями Гаусса к = к;(х). Выходы нейронной сети представляют собой линейные комбинации выходов нейронов скрытого слоя, взвешенные с учётом весовых коэффициентов выходных нейронов Wjk. Состав и количество входов и выходов сети определяются особенностями решаемой задачи [1].
При решении одномерной задачи аппроксимации РБФ-сеть будет иметь один вход и один соответствующий ему выход (рис.1). Количество нейронов скрытого слоя может варьироваться от одного до числа, не превышающего количество обучающих примеров.
Задача аппроксимации одномерной функции с помощью РБФ-сети ставится следующим образом. Для имеющегося набора экспериментальных данных у = у(х) требуется определить наиболее подходящую структуру и настройки искусственной нейронной сети, а также рассчитать весовые коэффициенты выходного слоя с целью получения нейросетевой математической модели, описывающей зависимость у = у(х) для любого возможного значения независимой переменной.
Рис.1. Структура РБФ-сети для аппроксимации одномерной функции
В случае аппроксимации и-мерных функций радиально-симметричные элементы скрытого слоя принимают ту же размерность, а количество входов сети также увеличивается до и.
В рамках данной работы в среде разработки Qt 5.8 на языке программирования C++ реализовано программно-алгоритмическое обеспечение для аппроксимации нелинейных зависимостей РБФ-сетью. Программа имеет графический, дружественный пользователю интерфейс со стандартными элементами управления и возможностью гибкой настройки формата представления результатов моделирования. Она предназначена для работы в операционных системах семейства Windows, требует около 60 Мб оперативной памяти и около 80 Мб памяти на жёстком диске, наличия видеокарты со 128 Мб памяти и поддержкой DirectX 9.
Исходные данные (экспериментальные точки) могут загружаться пользователем из предварительно
созданного файла или вводиться вручную. Также можно сохранить введённые данные для последующего неоднократного использования. На рис.2 представлена форма настройки РБФ-сети, с помощью которой можно задать её структуру (количество скрытых нейронов), установить параметр насыщения и выбрать центры радиальных элементов функции Гаусса, а также рассчитать весовые коэффициенты выходного слоя. Предусмотрена возможность автоматического задания центров радиальных элементов с учётом количества экспериментальных точек и плотности их распределения вдоль оси независимой переменной.
На рис.3 показана форма графического вывода пользователю результатов аппроксимации одномерной функции. Предусмотрены возможности настройки пользователем формата визуализации графика, его масштабирования, вывода на печать и сохранения в файл.
ГЯ Искусственная нейронная сеть на основе радаальмо-симметричных функций
Настройки Обучающие примеры Использование
Число нейронов в скрытом слое:
Матрица С:
Весовые коэффициенты W:
(§) Использовать D О Использовать г
0,222222
Для использования нейронной сети, необходимо:
1. Загрузить обучающие примеры (или добавить через вкладку обучающие примеры)
2. Ввести кол-во нейронов в скрытом слое (не более кол-ва обучающих примеров)
3. Выбрать матрицу С (столько же сколько нейронов в скрытом слое , можно выбрать автоматически если поставить соотвествующую галочку)
4. Ввести параметр 0(или г)
5. Обучить сеть
0 Выбрать С автоматически
1 -2 2 -1
3 0
4 1
5 2
1 -5.6916
2 17.4823
3 -30.6035
4 30.6609
5 -13.9743
Загрузить примеры
Выбрать С
Обучить сеть
Сохранить настройки Загрузить настройки
Рис.2. Форма настройки РБФ-сети
ПП График
Размер точек на графике i
Толщина линии
1
Цвет основного графика
Красный
Тема
Light
Напечатать график
Сохранить график
I I Сохранять только область графика
□ X
d = 0,222222; Количество нейронов = 5; Ошибка - пап
Для перемещения по график/ щелкните по нему и используйте: W - верх, S-низ, А - лево, D - право, Q-приблизить, Е- отдалить, Esc - маштаб по умолчанию. __Или стрелочки и +,-. Возможно управление мышкой._
Рис.3. Форма графического вывода результата аппроксимации одномерной функции
Таблица 1. Исходные данные и результаты аппроксимации одномерной функции РБФ-сетью
№ примера 1 2 3 4 5 6 7 8 9
X -2,0 -1,5 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0
.Уз -0,48 -0,78 -0,83 -0,67 -0,20 0,70 1,48 1,17 0,20
Ур -0,52 -0,68 -0,87 -0,75 -0,14 0,76 1,38 1,21 0,20
\ Уз - Ур \ 0,04 0,10 0,04 0,08 0,06 0,06 0,10 0,04 0,00
□y, % 1,7 4,3 1,7 3,5 2,6 2,6 4,3 1,7 0,0
Рассмотрим пример решения задачи аппроксимации одномерной функции с использованием разработанного программно-алгоритмического обеспечения. В таблице 1 представлены исходные экспериментальные точки, выходные значения, рассчитанные по РБФ-сети с 5 нейронами в скрытом слое, абсолютные погрешности и их величина относительно диапазона изменения функции.
Как видно из таблицы 1, максимальная относительная ошибка составляет 4,3%, средняя относительная ошибка не превышает 2,5%, что является очень хорошим показателем для аппроксимации функций неизвестной структуры. Визуально качество аппроксимации для данного примера можно оценить по графику на рис.3.
Проведено исследование влияния структуры нейронной сети и величины параметра насыщения функции Гаусса на ошибку аппроксимации. Установлено, что увеличение количества радиально-симметричных элементов до максимально возможного значения, ограниченного числом экспериментальных точек, в целом значительно снижает ошибку аппроксимации. Следует заметить, однако, что данная тенденция не является монотонной. Так, для структуры с 1 радиальным элементом средняя относительная ошибка максимальна - 37,7%, с 2 элементами - 7,8%, с 3 элементами - 15,8% и уже далее монотонно
снижается до 0,4% при 9 радиальных элементах. Также выявлено, что для одной и той же структуры РБФ-сети ошибка аппроксимации может быть снижена в 1,5-2,0 раза за счёт подбора оптимального параметра насыщения. В рассмотренном примере такое оптимальное значение составляло около 1,5, однако в общем случае оно будет зависеть от диапазона изменения независимой переменной, количества известных экспериментальных точек и среднего расстояния между соседними точками.
Полученные результаты позволяют с уверенностью говорить об эффективности математического аппарата РБФ-сетей для решения задач аппроксимации сложных одномерных функций. Дальнейшая работа над программой связана с расширением перечня её функциональных возможностей по аппроксимации многомерных функций и многосвязных зависимостей, а также с исследованием структур и настроек нейронных сетей на основе радиально-базисных функций, использующихся для многомерной и многосвязной аппроксимации.
Список литературы
1. Дударов С.П., Папаев П.Л. Теоретические основы и практическое применение искусственных нейронных сетей: учеб. пособие. М.: РХТУ им. Д.И. Менделеева, 2014. 104 с.