Метод сопряженных градиентов для задачи наименьших

advertisement
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
Е.В. АРТЮХИНА, В.И. ГОРБАЧЕНКО
Пензенский государственный педагогический университет
им. В. Г. Белинского
gorvi@mail.ru
МЕТОД СОПРЯЖЕННЫХ ГРАДИЕНТОВ ДЛЯ ЗАДАЧИ
НАИМЕНЬШИХ КВАДРАТОВ И ЕГО ПРИМЕНЕНИЕ
ДЛЯ ОБУЧЕНИЯ ВЕСОВ РАДИАЛЬНЫХ БАЗИСНЫХ
НЕЙРОННЫХ СЕТЕЙ ПРИ РЕШЕНИИ ДИФФЕРЕНЦИАЛЬНЫХ
УРАВНЕНИЙ
В ЧАСТНЫХ ПРОИЗВОДНЫХ1
Разработан модернизированный алгоритм обучения весов радиальных
базисных нейронных сетей при решении дифференциальных уравнений в
частных производных. Экспериментально показано, что данный алгоритм
позволяет сократить время решения задачи по сравнению с алгоритмом
сопряженных градиентов для минимизации квадратичного функционала.
Ключевые слова: радиальные базисные нейронные сети, метод сопряженных градиентов, метод наименьших квадратов
Введение
В последнее десятилетие в области решения краевых задач математической физики появилось перспективное направление, связанное с применением радиальных базисных нейронных сетей [1, 2, 3].
В работах авторов [4] разработан и исследован алгоритм обучения весов RBFNN на основе метода сопряженных градиентов, минимизирующий квадратичный функционал ошибки. Данный алгоритм обладает высокой вычислительной эффективностью, позволяет сократить время решения задачи на порядок по сравнению с методом доверительных областей, сокращение времени более значимое по сравнению с методом скорейшего спуска и градиентным методом с подбираемым коэффициентом
обучения для весов.
1 Работа выполнена по тематическому плану научно-исследовательских работ
Пензенского государственного педагогического университета, проводимых по
заданию Федерального агентства по образованию.
УДК 004.032.26(06) Нейронные сети
224
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
Многие практически чрезвычайно важные классы реальных задач описываются как краевые задачи математической физики для неоднородных
и нелинейных сред, например, реальная задача фильтрации нефти в неоднородном пласте [5]. Решение таких задач на RBFNN до настоящего времени не рассматривалось.
Целью данной работы является разработка и исследование модернизированного алгоритма обучения весов RBFNN для решения краевых задачи
математической физики для неоднородных и нелинейных сред.
Обучение линейного слоя RBFNN методом сопряженных
градиентов для задачи наименьших квадратов
Рассмотрим обучение на примере уравнения Пуассона
 2u  2u

 f  x , y  ,  x, y    ,
x 2 y 2
u  p  x, y  ,  x, y    ,
где  – граница области; f и p – известные функции ( x, y) .
RBFNN выступает аппроксиматором функции решения
m
m
k 1
k 1
u  x    wk k  rk    wk exp  rk2 / ak2  ,
(1)
(2)
где m – число нейронов, wk – веса сети, rk – расстояние от точки x до
центра нейрона c k , ak – ширина нейрона k .
Обучение сети сводится к настройке векторов параметров RBFNN
w, a, c (соответственно, весов, центров и ширины), минимизирующих
функционал ошибки
(3)
I  0,5  R1 , R1   0,5  R2 , R2  ,
где  – штрафной множитель, R 1 , R 2 – векторы невязки решения во
внутренних и граничных контрольных точках соответственно.
(4)
R1  Mw  f , R 2  Nw  p ,
где M – матрица N  m с элементами mik  4 exp  rik2 / ak2 
rik2  ak2
; N –
ak4
матрица K  m с элементами nik  exp  rik2 / ak2  ; w – вектор весов, N и
K – количество внутренних и граничных контрольных точек; f и p –
УДК 004.032.26(06) Нейронные сети
225
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
векторы, компоненты которых равны значениям функций
f  x, y  и
p  x, y  в контрольных точках.
Очевидно, что задача обучения RBFNN представляет собой нелинейную задачу наименьших квадратов [6, 7]. Вектор весов w входят в функционал ошибки (3) линейно, для обучения выходного слоя сети можно
использовать алгоритм сопряженных градиентов. С учетом (4) имеем
(5)
I   Aw, w   2  s, w   0.5  f , f   0,5  p, p  ,
где A  0.5  MT M  NT N  , s  0.5  MTf  NTp  . Из (5) видно, что дан-
ная задача является задачей минимизации квадратического функционала с
симметричной положительно определенной матрицей A .
Функционал, используемый в линейном методе наименьших квадратов, содержит симметричную положительно определенную матрицу Грама. В случае обучения RBFNN для решения краевых задач получаем мат1
рицу A   MT M  NT N  , отличающуюся от матрицы Грама.
2
Алгоритм минимизации квадратичного функционала эквивалентен
решению системы линейных алгебраических уравнений Aw  s , или
(6)
 MTM  NT N w  MTf  NTp .
Известно, что обучение RBFNN является плохо обусловленной задачей [8]. Модифицируем метод сопряженных градиентов минимизации
функционала (5), основываясь на идеях метода сопряженных градиентов
для метода наименьших квадратов (CGLS – Conjugate Gradient Method for
Least-Squares) [7, 9].
За основу возьмем алгоритм метода сопряженных градиентов, минимизации квадратичного функционала [4], формально заменив матрицу A
на MT M  NT N , вектор s – на M T f  N T p . Чтобы не использовать
плохо обусловленную матрицу MT M  NT N , учтем, что невязка системы равна
r  k   M T f  N T p   M T M  N T N  w  k   M T R1 k   N T R 2k  .
(7)
Учтем также свойство скалярных произведений:
 Ap k  , p k      M T M  NT N  p k  , p k     Mp k  , Mp k      Np k  , Np k   .
Получим выражения для невязок с учетом (4), (7) и w  k 1  w  k    k p  k  .
R1 k 1  R1 k    k Mp k  ,
УДК 004.032.26(06) Нейронные сети
226
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
R2k 1  R2k   k Np k  ,
r k 1  MT R1 k    NT R2k 1 .
Тогда метод сопряженных градиентов минимизации функционала (5)
примет вид.
На "нулевой" итерации выполняются подготовительные действия:
1. Полагается k  0 .
2. По заданному начальному приближению весов w 0 вычисляется
k
k
0
0
невязки R1  , R 2  и r 0  MT R1   NT R2  .
3. В качестве направления движения выбирается p 0  r  0  .
На первой и следующих итерациях выполняются следующие действия:
4. Вычисляется номер текущей итерации k  k  1 .
5. Находится новое приближение решения w  k 1  w  k    k p k  , где
k 
 r k  , r k  
.
 Mp k  , Mp k      Np k  , Np k  
6. Вычисляются новые невязки R1  , R2  , r k1 .
7. Проверяется условие окончания итерационного процесса, например,
k 1

r
s   . Если условие выполняется, то – конец итерационного проk 1
k 1
цесса, иначе – переход на следующий шаг алгоритма.
8. Определяется новое направление движения p k 1  r  k 1  k p k  ,
где k   r  k 1 , r  k 1   r  k  , r  k   .
9. Переход на шаг 4.
10. Конец алгоритма.
Экспериментальное исследование проводилось на примере модельной
задачи (1), для f  x, y   sin  x   sin  y  , p  x, y   0 . Данная задача име1
sin  x   sin  y  , для оценки
22
погрешности решения рассчитывалась относительная среднеквадратиче-
ет аналитическое решение ua  x, y   
ская погрешность решения
N K
N K
i 1
i 1
  ui  uai 2
 u ai2
, где u ai – анали-
тическое решение в точке. Для обучения центров и ширины можно использовать различные алгоритмы обучения, в данной работе применялся
УДК 004.032.26(06) Нейронные сети
227
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
простейший алгоритм градиентного спуска с подбираемым коэффициентом скорости обучения. Алгоритм совместного обучения весов, центров и
ширины строится путем чередования нескольких циклов обучения весов с
несколькими циклами обучения центров и ширины. Для обеспечения
обобщающей способности RBFNN необходимо соблюдать при обучении
соотношение между оптимальным количеством нейронов и количеством
контрольных точек m  3 N  K . Большое количество контрольных точек
ведет к увеличению времени решения задачи. Эксперименты показали,
что многократная случайная генерация относительно небольшого числа
контрольных точек внутри и на границе области решения компенсирует
нарушение пропорции.
Рис. 1. Сравнение алгоритмов
Эксперименты проводились при следующих условиях. Число нейронов равно 64. Число внутренних контрольных точек равно 100, число граничных контрольных точек равно 124. Нейроны первоначально располаУДК 004.032.26(06) Нейронные сети
228
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
гались на квадратной сетке, включающей область решения и один слой
законтурных точек. Контрольные точки располагались случайным образом равномерно внутри области решения, на каждой стороне границы и в
углах области. В процессе исследования приведенных алгоритмов получены следующие результаты: достигнуто значение относительной среднеквадратической погрешности решения 0,0005, что лучше, чем 0,005 в [1],
абсолютная погрешность по сравнению с аналитическим решением не
превышает 0,00003.
В процессе исследования разработанного алгоритма получены следующие результаты в сравнении с алгоритмом сопряженных градиентов для
минимизации квадратичного функционала.
Результаты экспериментов показывают, что разработанный алгоритм
превосходит по эффективности алгоритм сопряженных градиентов для
минимизации квадратичного функционала обучения весов RBFNN.
Решение эллиптических краевых задач
в неоднородной середе
Рассмотрим уравнение, описывающее процессы в неоднородной среде,
на примере задачи Дирихле для двумерного уравнения эллиптического
типа
(8)
  u   f  x  ,
x   , u  p  x  , x  .
Для нахождения u , определяем функционал ошибки как сумму квадратов невязок, получаемых при подстановке u (2) и производных в уравнение и в граничные условия (8)
K
2 1
2
1 N
I  w, c, a        x i   u  x i     f  x i     u  x j    p  x j   ,
2 i 1
2 j 1
(9)
где x i   , x j    , i  1, 2,..., N , j  1, 2,..., K – некоторые фиксированные дискретные точки, N и K – количество внутренних и граничных
контрольных точек,  – штрафной множитель.
В случае линейной задачи с зависимостью  от координат получаем
  u    u   u  u
  2u  2u 
  u  

  2  2 




x1  x1  x2  x2  x1 x1 x2 x2
 x1 x2 
Учитывая представление решения в форме (2) и вид базисных функций,
получаем:
УДК 004.032.26(06) Нейронные сети
229
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
r2
 k
ak2
r 2  a2 
1  

 x1  c1k  
 x2  c2k   2 k 2 k  , (10)

2
ak  x1
x2
ak 
k 1
Введем обозначения, невязка во внутренних контрольных точках
m
  u   2 wk e
m
R1i      x i   u  x i     f  x i     wk mik  f  x i   ,
(11)
k 1
rik2

2  2  r 2  a 2  (i )
 (i )
где
mik  2 e ak  2 ik 2 k 
x1  c1k 
x2  c2k  ,
ak
ak
x1
x2


тогда вектор невязки о внутренних контрольных точках имеет вид
R1  Mw  f , где M – матрица N  m с элементами mik , R 1 – вектор с
элементами (11).
Вектор невязки в граничных контрольных точках равен R 2  Nw  p ,

где N – матрица K  m с элементами n jk  e




r jk 2
ak2
, p – вектор с элемен-
тами p j .
В матрично-векторной формулировке функционал ошибки примет
вид:
1

I  w, c, a    R1 , R1    R 2 , R 2  .
2
2
Будем использовать градиентный алгоритм обучения для минимизации
квадратичного функционала для нахождения весов линейного слоя сети
RBFNN. Для обучения нелинейных параметров центров и ширины градиентный алгоритм обучения, приведем формулы для расчета компонентов
градиента функционала по параметрам сети. Так как веса входят линейно
в функционал ошибки, то для обучения сети можно использовать предлагаемый авторами алгоритм.
Для экспериментального исследования рассмотрим задачу Дирихле
для двумерного уравнения эллиптического типа (8), где f  3 x12  x22  ,
p  x13 x23 , функция  зависит от координат области решения:  
1
.
x1 x2
Данная задача имеет аналитическое решение: u  x13 x23 .
Экспериментальное исследование проводилось на RBFNN со следующими параметрами: число нейронов m  64 , число внутренних контрольных точек N  100 , число граничных контрольных точек K  124 , коэфУДК 004.032.26(06) Нейронные сети
230
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
фициент обучения ширины и центров нейронов   0, 0000005 и
  0,0000000001, штрафной множитель   2000 . В результате эксперимента получены следующие результаты. Средняя относительная погрешность на сетке 0,0008. Число внешних итераций – 18. Общее число итераций – 900. Число различных контрольных точек 3964. Время решения задачи сократилось в 2 раза по сравнению с алгоритмом сопряженных градиентов для минимизации квадратичного функционала [4].
Решение нелинейных эллиптических краевых задач
математической физики
Рассмотрим решение нелинейной краевой задачи (8), с зависимостью
функции  от решения     u  . Получаем:
  u  
  u u u u 
  2u  2u 


    2  2 .
u  x1 x1 x2 x2 
 x1 x2 
Если решать данную задачу рассмотренным ранее методом, то есть
путем минимизации функционала ошибки (9), то веса w сети будут входить нелинейно в функционал ошибки, что затруднит процесс обучения
сети. Предлагается решать задачу, фиксируя значение  на каждой итерации, т.о. мы приходим к решению задачи u  f  x  , с итерационным
уточнением-пересчетом функции     u  .
Решение данной задачи может быть представлено в виде следующего
алгоритма:
1. Инициализируется RBFNN.
2. Генерируются координаты контрольных точек.
3. Вычисляется функция решения (2).
4. Фиксируются значения функции  : 1    u  .
5. Производится обучение RBFNN при фиксированном значении ,
то есть решается задача u  f1  x  , где f1  x   f  x  / 1  x  .
6. Рассчитывается функционал ошибки (9), проверяется условие
окончания итерационного процесса, если условие выполнено, то конец
итерационного алгоритма, иначе переход на шаг 2.
Для экспериментального исследования разработанного алгоритма решалась модельная задача, отражающая особенности решения основных
УДК 004.032.26(06) Нейронные сети
231
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
классов уравнений в частных производных и имеющая аналитическое
решение u  x 3 y 3 , что удобно для проверки получаемых результатов
 
u
 
u 
  u      u    f ,
x 
x  y 
y 
где
 u   1 3 u ,
f  3 x12  x22  .
Задача
решалась
в
квадрате
x1  1; 2 , x2  1; 2 с граничными условиями первого рода p  x13 x23 .
Экспериментальные исследования показали эффективность разработанных алгоритмов, средняя относительная погрешность по сравнению с
аналитическим решением не превышает 0,0095.
Разработаны и экспериментально исследованы нейросетевые алгоритмы моделирования физических полей в неоднородных и нелинейных средах. Эксперименты на модельных задачах показали эффективность разработанных алгоритмов.
Заключение
Применительно к обучению весов радиальных базисных нейронных
сетей разработан и исследован метод сопряженных градиентов для задачи
наименьших квадратов. Экспериментальные исследования при решении
дифференциальных уравнений в частных производных, включая эллиптические задачи для неоднородных сред и нелинейные эллиптические задачи, показали его высокую эффективность, что выражается в сокращении
времени обучения.
Список литературы
1. 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.
2. Тархов, Д.А. Нейронные сети. Модели и алгоритмы. – М.: Радиотехника, 2005. – 256 с.
3. Васильев А.Н. Нейросетевое моделирование в математической физике // Нейрокомпьютеры. Разработка и применение. – 2009. № 5. С. 25–
38.
4. Артюхин В.В., Артюхина Е.В., Горбаченко В.И. Радиальнобазисные нейронные сети для решения краевых задач бессеточными методами // Научная сессия НИЯУ МИФИ-2010. XII Всероссийская научноУДК 004.032.26(06) Нейронные сети
232
ISBN 978-5-7262-1377-4. НЕЙРОИНФОРМАТИКА – 2011. Часть 3
техническая конференция «Нейроинформатика-2010»: Сборник научных
трудов. В 2-х частях. Ч.2. М.: НИЯУ МИФИ, 2010. С. 237–247.
5. Азиз Х. Математическое моделирование пластовых систем /
Х. Азиз, Э. Сеттари. – Ижевск: РХД, 2004. 416 с.
6. Дэннис Дж. Численные методы безусловной оптимизации и решения нелинейных уравнений / Дж. мл. Дэннис, Р. Шнабель. – М.: Мир,
1988. 440 с.
7. Dahlquist G. Numerical Mathematics and Scientific Computation.
Vol. 2, 3/ G. Dahlquist, A. Bjoeck. – SIAM, Philadelphia. 1999. 673 p.
8. Хайкин С. Нейронные сети: полный курс. – М.: Вильямс, 2006.
1104 с.
9. Vorst van der, H. Iterative Krylov Methods for Large Linear Systems. –
Cambridge: Cambridge University Press, 2003. 232 p.
УДК 004.032.26(06) Нейронные сети
233
Download