Isbn 978-5-7262-1226 нейроинформатика 2010

Вид материалаДокументы

Содержание


1. Структура радиально-базисной нейронной сети
2. Постановка задачи
3. Алгоритм сопряженных градиентов обучения весов сети
4. Экспериментальное исследование алгоритмов обучения
Подобный материал:

ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2

В.И. ГОРБАЧЕНКО, Е.В. АРТЮХИНА, В.В. АРТЮХИН

Пензенский государственный педагогический университет им. В.Г. Белинского

gorvi@mail.ru


РАДИАЛЬНО-БАЗИСНЫЕ НЕЙРОННЫЕ СЕТИ

ДЛЯ РЕШЕНИЯ КРАЕВЫХ ЗАДАЧ БЕССЕТОЧНЫМИ

МЕТОДАМИ1


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


Введение


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

Альтернативным подходом является использование различных вариантов метода взвешенных невязок, когда в качестве базисных функций применяются радиально-базисные функции (RBF – radial basis function) [1 – 4]. Использование RBF-функций рассматривается как бессеточный метод (meshless, meshfree). Применение радиально-базисных функций позволяет исключить трудоемкий процесс построения сетки и позволяет получить приближенное дифференцируемое решение в произвольных точках области. Недостатком метода является сложность определения параметров радиально-базисных функций.

Бессеточные методы эффективно реализуются на радиально-базисных нейронных сетях (RBFNN) [5-7]. RBFNN отличаются простотой, так как содержат только один скрытый слой, поэтому исключается неформализуемый подбор структуры сети. RBFNN могут быть реализованы на универсальных вычислительных системах, а не только на специализированных нейрокомпьютерах. Главное достоинство RBFNN состоит в использовании принципов обучения для формирования оптимальных параметров радиально-базисных функций. Однако в настоящее время отсутствуют эффективные алгоритмы обучения RBFNN.

Целью данной работы является исследование различных алгоритмов обучения весов RBFNN.


1. Структура радиально-базисной нейронной сети


Радиально-базисная нейронная сеть представляет собой сеть с двумя слоями [5, 6]. Первый слой осуществляет преобразование входного вектора с использованием радиально-базисных функций. Практически используются различные радиально-базисные функции. Наиболее часто употребляемая функция – гауссиан, имеющий вид для -го нейрона , где – входной вектор, – ширина RBF -го нейрона, – центр RBF -го нейрона, . Выход сети описывается выражением , где – вес, связывающий выходной нейрон с -м нейроном первого слоя; – число нейронов первого слоя.


2. Постановка задачи


Рассмотрим градиентный алгоритм обучения радиально-базисной нейронной сети на примере решения двумерного уравнения Пуассона

, 

, 

где – граница области; и – известные функции .

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

, 

где – число радиально-базисных функций (скрытых нейронов), , координаты центра нейрона ,  – ширина RBF нейрона .

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



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

Функционал  необходим для обучения сети. При обучении используется пакетный режим обучения. Для оценки невязки как меры близости к решению целесообразно использовать одну из норм вектора невязки (вектор невязки вычисляется во внутренних и граничных контрольных точках). Очень важно соблюдать при обучении соотношение между оптимальным количеством нейронов и количеством контрольных точек [5]

, 

где – знак пропорциональности.

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

, 

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

, , 

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

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


3. Алгоритм сопряженных градиентов обучения весов сети


Существенно большую скорость сходимости, чем метод скорейшего спуска, обеспечивают метод сопряженных градиентов и метод Ньютона [5]. Метод сопряженных градиентов требует порядка арифметических операций, в отличие от метода Ньютона . Поэтому применим метод сопряженных градиентов.

Метод сопряженных градиентов используется для минимизации квадратичного функционала вида [9]

, 

где – симметричная положительно определенная матрица, – искомый вектор, – вектор.


3.1. Обучения весов RBFNN на основе формального использования метода

сопряженных градиентов для многослойного персептрона


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

Использование метода сопряженных градиентов при обучении нейронных сетей основано на известном в оптимизации [10] разложении функционала качества  в ряд Тейлора в окрестности точки минимума (ограничиваются тремя членами в разложении)

, 

где – вектор градиента, – гессиан. Разложение  является квадратичным приближением функционала качества.

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

1. Вычисляется вектор весов , где – направление поиска, , – вектор градиента; – вычисляемый коэффициент.

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

,

где

, ,

, .

2. Вычисляется градиент .

3. Определяется новое направление поиска .

Классическая оптимизация по методу сопряженных градиентов требует знания матрицы (в нашем случае – гессиана) для определения . В теории нейронных сетей [5, 6] применяются известные в оптимизации [11 – 13] формулы:

формула Полака Райбера (Polak-Ribiere) ,

формула Флетчера-Ривса (Fletcher Reeves) .

В случае обучения выходного слоя радиально-базисных нейронных сетей решается задача квадратичной оптимизации и формулы Полака Райбера и Флетчера-Ривса эквивалентны.

Условием окончания процесса обучения являются малые нормы невязок во внутренних и граничных контрольных точках . Если условия окончания процесса обучения не выполнены, то переход на пункт 1. Иначе – выход из цикла обучения.


3.2. Алгоритм обучения весов RBFNN методом сопряженных градиентов

минимизации квадратичного функционала ошибки


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



где – симметричная положительно определенная матрица.

Аналогично получаем

. 

Из  –  получаем

. 

Введем обозначения , , где – симметричная положительно определенная матрица. Тогда  примет вид

. 

Сравнивая  с , видим, что наша задача является задачей минимизации квадратического функционала с симметричной положительно определенной матрицей. Применяя метод сопряженных градиентов для минимизации , используем алгоритм минимизации квадратичного функционала [14].

1. Полагается . На "нулевой" итерации по заданному начальному приближению весов вычисляется невязка . В качестве направления движения выбирается .

На первой и дальнейших итерациях выполняются следующие действия:

2. Вычисляется номер текущей итерации .

3. Находится новое приближение решения

, где .

4. Вычисляется новая невязка .

5. Проверяется условие окончания итерационного процесса, например, .

Если условие выполняется, то – конец итерационного процесса, иначе – переход на следующий шаг алгоритма.

6. Определяется новое направление движения , где .

7. Переход на шаг 1.

8. Конец алгоритма.

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


4. Экспериментальное исследование алгоритмов обучения


Экспериментальное исследование проводилось на примере модельной задачи  – , для , . Данная задача имеет аналитическое решение , для оценки погрешности решения рассчитывалась относительная среднеквадратическая погрешность решения , где – аналитическое решение в точке.

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

Приведенные алгоритмы подразумевают обучение весов при зафиксированных центрах и ширине. Для обучения центров и ширины можно использовать различные алгоритмы обучения [15], в данной работе применялся простейший алгоритм градиентного спуска с подбираемым коэффициентом скорости обучения. Алгоритм совместного обучения весов, центров и ширины строится путем чередования нескольких циклов обучения весов с несколькими циклами обучения центров и ширины. Число циклов обучения для весов должно быть большим, чем для нелинейных параметров сети – центров и ширины. Это необходимо для обеспечения достаточно малой погрешности, обусловленной неоптимальностью линейных параметров , при измененных нелинейных параметрах и . Другими словами, необходимо обучать веса до достаточно малой погрешности при каждом наборе центров и ширины.

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

Эксперименты проводились при следующих условиях. Число нейронов равно 64. Число внутренних контрольных точек равно 100, число граничных контрольных точек равно 124. Нейроны первоначально располагались на квадратной сетке, включающей область решения и один слой законтурных точек. Контрольные точки располагались случайным образом равномерно внутри области решения, на каждой стороне границы и в углах области. Для каждого набора случайных контрольных точек проводился один цикл обучения центров и ширины нейронов и несколько циклов обучения весов. Число циклов обучения для весов подбиралось экспериментально, лучшие результаты получены при следующих значениях: 70 циклов для метода скорейшего спуска и градиентного метода с подбираемым коэффициентом обучения для весов, 5 циклов для метода с формальным применением МСГ для многослойного персептрона, 50 циклов для МСГ минимизации квадратичного функционала.

В процессе исследования приведенных алгоритмов получены следующие результаты: достигнуто значение относительной среднеквадратической погрешности решения 0,0005, что лучше, чем 0,005 в [7], абсолютная погрешность по сравнению с аналитическим решением не превышает 0,00003 (рис. 1).





Рис. 1. Погрешность по сравнению с аналитическим решением


Относительное время решения задачи различными методами представлено на рис. 2. За единицу принято время решения алгоритмом сопряженных градиентов.

Алгоритм сопряженных градиентов минимизации квадратичного функционала позволяет сократить время решения задачи в 6 раз по сравнению с формальным применением МСГ для персептрона. По сравнению с методом скорейшего спуска и методом градиентного спуска с подбираемым коэффициентом обучения для весов время решения сокращается почти на порядок. Такой значительный эффект объясняется тем, что предлагаемый алгоритм обучения весов радиально-базисной сети учитывает линейный характер выходного слоя сети и реализует эффективный метод сопряженных градиентов минимизации функционала ошибки.




Рис. 2. Сравнение эффективности алгоритмов обучения


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


1. Buhmann M.D. Radial Basis Functions: Theory and Implementations / M.D. Buhmann. – Cambridge University Press, 2004. – 259 p.

2. Liu G.R. An Introduction to Meshfree Methods and Their Programming / G.R. Liu, Y.T. Gu. – Springer, 2005. – 479 p.

3. Meshfree Methods for Partial Differential Equations / Editors M. Griebel, Marc. A. Schweitzer. – Springer, 2008. – 412 p.

4. Толстых А.И. Бессеточный метод на основе радиальных базисных функций / А.И. Толстых, Д.А. Широбоков // Журнал вычислительной математики и математической физики. – 2005, том 45. – № 8. – С. 1498 – 1505.

5. Хайкин С. Нейронные сети: полный курс /С. Хайкин. – М.: Вильямс, 2006. – 1104 с.

6. Осовский С. Нейронные сети для обработки информации /С. Осовский. – М.: Финансы и статистика, 2002. – 344 с.

7. Numerical solution of elliptic partial differential equation using radial basis function neural networks / L. Jianyu, L. Siwei, Q. Yingjiana, H. Yapinga // Neural Networks. – 2003. – 16(5/6). – P. 729 – 734.

8. Горбаченко В. И. Обучение радиально-базисных нейронных сетей при решении дифференциальных уравнений в частных производных / В.И. Горбаченко, Е.В. Артюхина // Нейрокомпьютеры: разработка, применение. – 2007. – № 9. – С. 150 – 159.

9. Васильев Ф. П. Численные методы решения экстремальных задач / Ф.П. Васильев. – М.: Наука, 1988. – 552 с.

10. Гилл Ф. Практическая оптимизация / А. Гилл, М. Райт. – М.: Мир, 1985. – 509 с.

11. Реклейтис Г. Оптимизация в технике. В 2-х к. Кн. 1 / Г. Реклейтис, А. Рейвиндран, К. Рэгсдел. – М.: Мир, 1986. – 349 с.

12. Fletcher R. Practical Methods of Optimization. Volume 1. Unconstrained Optimization / R. Fletcher. – John Weley & Sons, 1980. – 126 p.

13. Nocedal J. Numerical Optimization / J. Nocedal, Stephen J. W. – Springer, 2006. – 685 p.

14. Амосов А. А. Вычислительные методы / А. А. Амосов, Ю. А. Дубинский, Н. В. Копченова. – М.: Издательский дом МЭИ, 2008. – 672 с.

15. Тархов Д. А. Нейронные сети. Модели и алгоритмы / Д. А. Тархов. – М.: Радиотехника, 2005. – 256 с.


1 Работа выполнена по тематическому плану научно-исследовательских работ Пензенского государственного педагогического университета, проводимых по заданию Федерального агентства по образованию.

УДК 004.032.26(06) Нейронные сети