Мифы о звукоизоляции Как построить дом из пеноблоков Как построить лестницы на садовом участке Подбираем краску для ремонта Каркасные дома из дерева |
Главная » Аппроксимативный анализ Аппроксимативный анализ с использованием нейронной сети HRBF с произвольными функциями активации Солдатова О.П., Каюкова А.С.(ап 82@mail.ru ) Самарский государственный аэрокосмический университет имени академика С.П. Королева (СГАУ) 1 Постановка задачи аппроксимации При исследовании сложных объектов проводят, как правило, большое число испытаний. При этом происходит накопление массивов числовых и функциональных характеристик значительной размерности, что затрудняет хранение, анализ и интерпретацию полученных результатов.[1] Предположим, что в результате опыта мы получили ряд экспериментальных точек и построили график зависимости yt = f (xt). Желательно обработать экспериментальные данные таким образом, чтобы по возможности наиболее точно отразить общую тенденцию зависимости y от X и вместе с тем сгладить случайные отклонения, вызванные погрешностями самого эксперимента. Один из возможных способов решения этой проблемы заключается в применении аппроксимативных методов, суть которых заключается в нахождении подходящего аналитического выражения f(X(t),ai,a2,...an) с неизвестными параметрами ai,a2,...an, удовлетворяющими заданному критерию оптимальности, которое описывало бы найденные экспериментальные результаты. Основными преимуществами аппроксимативного подхода являются: - наглядность и компактность полученного аналитического выражения, лёгкость визуализации; - возможность использования аналитического выражения для дальнейших исследований и преобразований, с целью получения обобщённых вероятностных характеристик; - сокращение объёма хранимых данных. К недостаткам метода следует отнести наличие методической погрешности, возникающей при замене полученных экспериментальных данных или другой функции аналитическим выражением[1]. Одной из самых сложных и плохо формализуемых задач, от правильного решения которой будет зависеть точность, достоверность полученных результатов, простота технической реализации, является выбор модели аппроксимирующего выражения. В качестве моделей аппроксимирующего выражения, основываясь на информации о свойствах входной выборки, наиболее часто принимают[1]: - линейную комбинацию конечного числа функций; - бесконечный (или конечный) ряд некоторой определенной системы функций (в частности возможна аппроксимация степенными рядами, ортогональными полиномами и функциями). Приближение функций многочленами и рациональными функциями имеет давнюю историю. Теорема Вейерштрасса утверждает, что непрерывную функцию нескольких переменных на замкнутом ограниченном множестве можно равномерно приблизить последовательностью полиномов[2]. Сильным обобщением теоремы о возможности равномерного приближения непрерывных функций многочленами является теорема Стоуна: достаточно взять произвольный набор функций, разделяющих точки, построить кольцо многочленов от них, и получим плотное в алгебре компактного пространства множество функций. Кроме аппроксимации функций многочленами и их обобщениями из колец функций, разделяющих точки, в последнее время все больше внимания уделяется приближению функций многих переменных с помощью линейных операций и суперпозиций функций одного переменного. Такое приближение осуществляется специальными формальными устройствами - нейронными сетями.[2] Нейронные сети - это раздел искусственного интеллекта, в котором для обработки сигналов используются явления, аналогичные происходящим в нейронах живых существ. Каждая сеть состоит из формальных нейронов. Нейрон получает на входе вектор сигналов X, вычисляет его скалярное произведение на вектор весов и некоторую функцию одного переменного. Результат пересылается на входы других нейронов или передается на выход. Таким образом, нейронные сети вычисляют суперпозиции простых функций одного переменного и их линейных комбинаций. Поставим задачу получить аппроксимирующее выражение для функции F, используя нейронную сеть. Пусть функция F задана набором своих значений в случайных точках пространства RN. Осуществим ее аппроксимацию при помощи суперпозиции функций из набора, гладких и непрерывно дифференцируемых. Мерой приближения выберем минимум функционала, соответствующего квадрату отклонения приближенного значения от действительного (1.1). н=\Е 2 j=i k=1 i=1 (1.1) где P- число обучающих примеров, N- число переменных функции F(размерность пространства RN ), wk2)- вес синапса второго уровня k-ого нейрона , -вес синапса первого уровня k-го нейрона для i-ой переменой, xj - j-ое значение i-ой переменной, dj - точное j-ое значение функции F, fk - функция активации k-го нейрона , а - вектор параметров функции активации. В качестве аппарата, реализующего представление аппроксимируемой функции в виде ряда, будем использовать радиально-базисную нейронную сеть с неизвестным заранее количеством нейронов в скрытом слое и видом функции активации нейронов. Радиальная нейронная сеть имеет структуру, представленную на рисунке 1. Рисунок 1 - Структура радиальной нейронной сети Нейронная сеть радиального типа функционирует по принципу многомерной интерполяции[3], состоящей в отображении P различных входных векторов Xi (i = 1, 2, ...,P) из входного N-мерного пространства во множество из P рациональных чисел di (i = 1, 2, P). Для реализации этого процесса необходимо использовать P скрытых нейронов радиального типа и задать такую функцию отображения F(x), для которой выполняется условие интерполяции (1.2): F (Xi) = di. (1.2) С практической же точки зрения использование в разложении P базисных функций недопустимо, поскольку обычно количество обучающих выборок очень велико, и в результате вычислительная сложность обучающего алгоритма становится чрезмерной. Поэтому необходимо редуцировать количество весов, что в этом случае сводится к уменьшению количества базисных функций. Ищется субоптимальное решение в пространстве меньшей размерности, которое с достаточной точностью аппроксимирует точное решение. Если ограничиться K базисными функциями, то аппроксимирующее решение можно представить в виде: ~(1) = Е <}Л (Е x( 1 ),a), j = 1,2,.., p, (i.3) k=1 i=1 где P- число обучающих примеров, N-число переменного функции Б(размерность пространства RN), w{)- вес синапса второго уровня k-ого нейрона , w- вес синапса первого уровня k-го нейрона для i-ой переменой, xj - j-ое значение i-ой переменной, dj - точное j-ое значение функции F, fk - функция активации k-го нейрона , a - вектор параметров функции активации. Структуру радиальной сети можно усилить путем применения масштабирования входных сигналов аналогичного сигмоидальной нейронной сети (HRBF-сеть, рисунок 2). Масштабирующая система вводит дополнительные степени свободы сети, что позволяет лучше приблизить выходной сигнал сети к ожидаемому значению функции. Коэффициенты масштабирования входных сигналов представляют собой группу подбираемых параметров. За счет увеличения количества подбираемых параметров удовлетворительная точность аппроксимации может быть достигнута при меньшем числе нейронов. Рисунок 2 - Структура гипер-радиальной нейронной сети Решение задачи приближения функции F, заданной исходной выборкой точек, при помощи нейронной сети может быть представлено как итерационный процесс, состоящий из следующих этапов: - наращивание сети путем подключения нового нейрона по механизму сети каскадной корреляции Фальмана. - оптимизация функционала качества приближения функции для нового нейрона путем подбора функции активации из набора, обучения ее параметров и весовых коэффициентов. Процесс обучения нового нейрона можно остановить при достижении заданного значения точности аппроксимации, по прошествии заданного числа итераций обучения или при ухудшении точности аппроксимации на следующей итерации обучения. 2 Аналитическая запись решения Приближаемое нейронной сетью со структурой, представленной на рисунке 2, значение функции можем записать как (1.3). Мерой приближения был выбран минимум функционала, соответствующего квадрату отклонения приближенного значения от действительного (1.1). Функция H является непрерывной и дифференцируемой в силу требования о непрерывности и дифференцируемости функций активации из набора. Тогда для нахождения минимума функции необходимо решить систему уравнений (2.1). dw(2) dH da (2.1) Аналитические выражения для частных производных функционала качества по всем параметрам сети (2.3,2.4,2.5) в виду большой размерности параметров функции H, что довольно обычное явление в задачах, решаемых с помощью нейронных сетей, следует признать неприемлемым. dH, P f N (2.2) n N dfk(Еwk>x(j),a) N fk (Е x(j),a) - dj) wf (Е--) (Е x- (2.3) dwk(2) Е (2.4) dHk da Е N dfk (EwKa) (wf fk (E x( j),a) - dj) wf)--н- (2.5) Таким образом, приходим к необходимости поиска альтернативного метода решения задачи минимизации целевой функции H. 3 Запись решения в концепции нейронной сети Структура нейронной сети представляет собой ничто иное как ориентированный граф, по которому прохождение сигнала в прямом направление инициирует сигнал от входных элементов (значение аргументов аппроксимируемой функции). Тогда для нейронной сети можем построить двойственную структуру - граф, направления всех дуг которого изменены на противоположные. Прохождение сигнала по двойственной системе будем инициировать отклонением вычисленного сетью приближенного значения функции на прямом такте ее функционирования и точным значением функции. Тогда аналитические выражения для частных производных (2.3-2.5) можно записать в более простом виде (3.1-3.3). М2) 1=1 Ек zk) (3.1) где z]j = w(k) fk(Еxi(j),a) - dj - сигнал, проходящий по двойственной системе к синапсу второго уровня k-го нейрона через выход сети (формула 2.2); vk = fk (Е x( 1 ),a)- сигнал, проходящий по системе к синапсу второго уровня k-го нейрона через вход сети, синапсы первого уровня k-го нейрона , преобразователь k-го нейрона . da 1=1 У da j = ЕК daa I (3.2) где zk = w(k2) fk(Еw(kr)x( 1 ),a) - dj) w(2)- сигнал, проходящий по двойственной системе к преобразователю k-го нейрона через выход сети, синапс второго уровня; vJk = fk (Е x( 1 ),a)- сигнал, проходящий по системе через вход сети, синапсы первого уровня k-го нейрона . Ек zk) (3.3) dHk = dw? 1=1 dfk (Е x( 1 ),a) где zk = wf fk(Еwk>x(1),a) - d}) wf (Е--)-сигнал, проходящий по двойственной системе к синапсу первого уровня k-го нейрона через выход сети, синапс второго уровня, преобразователь; vJk = (Е x( 1))- сигнал, проходящий по системе через вход сети (j-ый примером из задачника) Вычисление компонент вектора градиента для параметров сети производится на каждой итерации обучения последнего подключенного нейрона. Цикл обучения нейрона последовательно инициируется для всех функций из набора. После завершения цикла обучения нейрона (по условию достижения заданного значения целевой функции (1.1) или по прохождении заданного числа итераций) фиксируются действующие значения параметров сети и окончательное значение целевой функции H для функции-кандидата из набора. После перебора всех функций из набора к обучаемому нейрону применяется та функция и те параметры, для которых функция H принимала минимальное значение. 4 Принципы объектно-ориентированного программирования для реализации нейронной сети Осуществим декомпозицию структурной единицы сети нейрон на последовательно соединенные и взаимодействующие друг с другом элементарные структуры: синапсы первого уровня, сумматор, нейрон (как функция-преобразователь), синапс второго уровня. Тогда под нейроном будем понимать структуру, изображенную на рисунке 3. Рисунок 4 - Результат декомпозиции нейронной сети Удачная декомпозиция нейронной сети и ее элементов позволяет успешно применить объектно-ориентированный подход к созданию программной модели нейронной сети. Для элементарных структур нейрона и нейронной сети введем абстракцию - элемент сети , - характеризующийся рядом общих свойств и функций, в независимости от расположения и функциональной семантики. Используя принципы объектно-ориентированного программирования, данную абстракцию представим в виде абстрактного класса TNetElement с атрибутами: FOut- выходной сигнал элемента сети на такте прямого функционирования, Bout-выходной двойственный сигнал элемента сети1 1 на такте обратного функционирования, Next, Prev - ссылки на следующий (предыдущий) элемент сети, и с методами: FAction() - поведение элемента на такте прямого функционирования сети, BAction() - поведение элемента на такте обратного функционирования сети. Для каждой группы элементов сети создадим свой класс, являющийся потомком абстрактного класса TNetElement, а значит наследующий свойства и методы родительского класса. В соответствии со структурной семантикой классы-потомки могут приобрести дополнительные атрибуты, в частности параметры нейронной сети и двойственные им характеристики. Также для каждого класса будут переопределены методы FAction(), BAction(). На рисунке 5 представлена диаграмма всех созданных классов в нотации UML. м TNetElement
Рисунок 5 - Диаграмма классов (UML) 5 Выводы В соответствии с изложенными в данной работе соображениями был разработан комплекс программ, предназначенный для аппроксимативного анализа функций. Комплекс программ обладает следующей функциональностью: 1. Построение и обучение нейронной сети 2. Настройка параметров алгоритма обучения, выбор обучающей выборки из текстового файла. 3. Визуализация хода процесса обучения, отображение информационной структуры построенной нейронной сети. 4. Аппроксимация массива числовых данных, хранящегося в текстовом файле. 5. Отображение результатов аппроксимации и оценка качества аппроксимации через СКО и максимум модуля отклонения приближенного значения от точного. В качестве функционального базиса нейронной сети (набор функций активации для преобразователя) был выбран набор из трех радиально-базисных функций: (x - a )2 1. Функция Гаусса f (x, ac ,an) = exp(--2-), 2. f (x,a ,a ) = (x2 +a 2Г, 3. f (x,ac,а„) = (х + ас )ln(x + ап) . Результаты испытания комплекса программ можно оценить как хорошие, что позволяет утверждать об успешном применении нейронной сети HRBF для решения задачи аппроксимативного анализа массивов числовых данных. Также интерес представляет разработанный и реализованный автоматизированный подход к построению оптимальной структуры нейронной сети от простого к сложному . Применение данного подхода устраняет неопределенность в выборе архитектуры сети в части количества скрытых нейронов. Алгоритмизация выбора функции активации индивидуально для каждого нейрона предоставляет дополнительные возможности для исследования качества функционального базиса для представления функции. Разработанная объектно-ориентированная модель нейронной сети предоставляет возможности для решения задачи аппроксимации многомерных функций. Список использованной литературы 1. С.А. Прохоров, А.В. Графкин. Программный комплекс корреляционно-спектрального анализа в ортогональных базисах. СНЦ РАН, 2005 - 198с. 2. Обобщенная аппроксимационная теорема и вычислительные возможности нейронных сетей. А.Н. Горбань. Сибирский журнал вычислительной математики, 1998. Т.1, №1, с.12-24. 3. Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. - М.: Финансы и статистика, 2002. - 344 с. |
© 2024 РубинГудс.
Копирование запрещено. |