Нейросетевой подход к решению коэффициентной обратной

advertisement
СЕКЦИЯ 1
В.И. ГОРБАЧЕНКО, С.А. МОСКВИТИН
Пензенский государственный педагогический университет им. В.Г. Белинского
gorvi@mail.ru
НЕЙРОСЕТЕВОЙ ПОДХОД К РЕШЕНИЮ
КОЭФФИЦИЕНТНОЙ ОБРАТНОЙ ЗАДАЧИ
МАТЕМАТИЧЕСКОЙ ФИЗИКИ1
Аннотация
Предлагается нейросетевой подход к решению коэффициентной обратной задачи, приводятся результаты решения модельной задачи.
Обучение нейронной сети с учителем является типичной обратной задачей восстановления причины по следствию, поэтому естественен интерес к применению нейронных сетей для решения обратных задач, в том
числе, задач математической физики [1, 2]. Рассмотрим решение коэффициентной обратной задачи математической физики. В такой задаче коэффициенты уравнения и (или) правая часть неизвестны, а известно решение
в некоторых точках области [3]. Коэффициентные обратные задачи играют важную роль во многих областях, например, в теплотехнике [4 – 6].
Рассмотрим сеточную обратную задачу [3], в результате решения которой определяются неизвестные коэффициенты разностной схемы. Идея
нейросетевого подхода состоит в построении клеточной нейронной сети
[7] для решения соответствующей прямой задачи и настройке весов сети,
соответствующих коэффициентам разностной схемы, по известному решению. Причем предлагаемый подход может быть использован без аппаратной реализации нейронной сети. В качестве примера рассмотрим
уравнение

u 
(1)
 k  x    f  x  , l1  x  l2
x 
x 
с граничными условиями
u l1   u1 , u l2   u2 .
(2)
Прямая задача заключается в нахождении функции u  x  , удовлетворяющей уравнению (1) и граничным условиям (2). Обратная задача за1
Работа поддержана грантом РФФИ № 02-07-90282 «Нейросетевой распределенный вычислительный кластер и решение некоторых актуальных задач тепломасообмена и гидродинамики».
УДК 004.032.26(06) Нейронные сети
60
СЕКЦИЯ 1
ключается в определении коэффициента k  x  , если известны граничные
условия (2) и решение u  x  прямой задачи. Обычно рассматривается
простейшая задача [3], когда k  x   const и задача сводится к нахожде-
 
нию k  x  и u  x  при известном решении u x* в некоторой точке x* . В
рассматриваемом примере необходимо найти все коэффициенты разностной схемы, связанные известными соотношениями [8, 9] с коэффициентами k  x  . Для этого необходимо знать решения в каждой узловой точке.
Погрешность разностной аппроксимации учитывать не будем. Причем
нейронная сеть в результате обучения будет «подстраивать» коэффициенты разностной схемы, минимизируя погрешность между известным решением и решением прямой разностной задачи.
Сеточный аналог прямой задачи построим, используя равномерную
сетку xi  l1  ih, i  0, 1, 2, ... , где h – шаг сетки. Применяя трехточечный шаблон и интегро-интерполяционный метод [8, 9], получим разностный аналог уравнения (1) для узла i
где
aii ui  ai ,i 1ui 1  ai ,i 1ui 1   fi ,
(3)
aii  ai ,i 1  ai ,i 1 ,
(4)
h
h


(5)
ai ,i 1  k  xi   h2 ,
ai ,i 1  k  xi   h2 .
2
2


В матричной форме система разностных уравнений (3) запишется в виде
(6)
AU  F ,
где A – симметричная положительно определенная матрица.
Рассмотрим рекуррентную клеточную нейронную сеть, осуществляющую прямое решение системы (6) простейшим итерационным методом
Ричардсона [7]. Сеть (рис. 1) включает два основных слоя. Первый слой
рассчитывает невязку
k
k
R    AU   F ,
(7)
где k – номер итерации.
Второй слой формирует новое приближение решения
U   U   R   ,
где  – скалярный коэффициент.
k 1
k
k
УДК 004.032.26(06) Нейронные сети
(8)
61
СЕКЦИЯ 1
h
Задержка
на один такт
Слой 2
Слой 1
A, F
U
R
k
 0
U
R
k 
U
k
k
U
U
k 1
 k  1
Слой 3
R
k
2
 R  , R  
k
k
Рис. 1. Структура сети, реализующей метод Ричардсона
Процесс решения завершается, если выполняется условие
R
k
F .
На рис. 1 третий слой сети формирует R 
(9)
k
2
.
Из (7) – (8) получаем описание сети в виде одного уравнения
U
k 1
  E  A  U    F ,
k
(10)
где E – единичная матрица.
Как уже указывалось, в обратной сеточной задаче будем считать точками наблюдения внутренние узлы сетки, в которых известно решение
прямой задачи i . В качестве меры близости приближенного решения ui
обратной задачи к решению i используем принятый в нейронных сетях
функционал ошибки [10 – 11]
J  0.5  ui  i   0.5  i2 ,
(11)
УДК 004.032.26(06) Нейронные сети
62
2
i
i
где i  ui  i .
СЕКЦИЯ 1
Обучение сети заключается в вычислении градиента функционала (11)
по каждому весу сети, равному коэффициенту разностной схемы, и корректировке каждого веса. Ограничимся методом скорейшего спуска
(принципиально возможно применение любого градиентного метода [11]).
Рассматриваемое обучение сети укладывается в схему метода обратного
распространения ошибки: в прямом ходе решается прямая задача с приближенными значениями весов, в обратном ходе корректируются веса,
соответственно, искомые коэффициенты разностной схемы.
Рассмотрим вычисление компонентов вектора градиента функционала
 n
(11) на примере вычисления компонента  J ai ,i 1 
для коррекции ко-
эффициента ai ,i 1 , связывающего узловые точки  i  и  i  1 , где n – номер цикла обучения. С учетом (3) и (4) компонентная запись выражения
(10) имеет вид
ui
k 1


 1    ai ,i 1  ai ,i 1  ui   ai ,i 1ui1  ai ,i 1ui1  fi .
k
k
k
(12)
Правая часть выражения (12) в явном виде показывает связь между
приближенными значениями решения с учетом используемого разностного шаблона и нейросетевого алгоритма решения. Соотношение (12) справедливо для любого номера итерации k , поэтому номер итерации в дальнейшем выводе опустим. Заметим также, что с учетом симметрии матрицы A значение коэффициента ai ,i 1 для узловой точки i равно значению
коэффициента ai ,i 1 для узловой точки i  1 . Из выражения (11) с учетом
(12) получаем
J


 0.5
 i2  i a  ai,i 1 xi  ai ,i 1 xi 1  
ai ,i 1
ai ,i 1 i
i , i 1
  i 1

 ai 1,i xi 1  ai 1,i xi   i  xi 1  xi  
ai ,i 1
(13)
 i 1  xi 1  xi     xi 1  xi   i   i 1  .
В выражении (13) учтена симметрия системы разностных уравнений.
Уточнение весов сети и, соответственно, коэффициентов разностной
схемы производится по формуле метода скорейшего спуска
 n
ai,i 1  ai,i  1    J ai ,i 1  ,
n 1
n
(14)
где n – номер итерации уточнения весов,
УДК 004.032.26(06) Нейронные сети
63
СЕКЦИЯ 1
 J 


 ai ,i 1 
 n

  uin1  ui n 
        ,
n
i
n
i 1
 – коэффициент скорости обучения.
С целью экспериментального исследования предложенного подхода в
системе MATLAB моделировалась работа нейронной сети при решении
обратной задачи для уравнения (1) при k  x   1 x , f  x   3 , h  1 ,
l1  1, l2  12 , u1  1, u12  1728 . При этих условиях прямая задача имеет
аналитическое решение u  x3 .
Моделировались три варианта алгоритма решения обратной задачи:
1. Полное решение прямой задачи в каждом цикле обучения.
2. Использование результата предыдущего обучения при каждом решении прямой задачи.
3. Обучение при настройке весов в каждой итерации обучения.
Сначала решалась прямая задача. Результаты решения прямой задачи
использовались для обучения сети (применение для обучения аналитического решения дало практически те же результаты).
При использовании полного решения прямой задачи в каждом цикле
обучения в каждом цикле обучения сети при некотором приближении
весов сети (коэффициентов разностной аппроксимации) методом Ричардсона решалась прямая задача – система разностных уравнений. Причем
каждое решение начиналось с нулевого начального приближения. После
решения прямой задачи рассчитывался функционал ошибки (11) и градиент функционала ошибки (13). С помощью градиента функционала ошибки уточнялись веса сети (коэффициенты разностной аппроксимации) (14)
и происходил переход к новому циклу обучения сети.
УДК 004.032.26(06) Нейронные сети
64
СЕКЦИЯ 1
Рис. 2. Сравнение восстановленных и расчетных значений весов сети
Решение прямой задачи проводилось при   1 до относительной нормы невязки, равной 0.01. Обучение сети проводилось до значения функционала ошибки, равного 0.001. Начальное значение весов сети бралось
по расчетному значению в среднем узле a6,7 . Коэффициент скорости обучения =0.000001 . При увеличении скорости обучения процесс расходится. Следует отметить, что процесс обучения чувствителен к значению
скорости обучения. В то же время картина обучения мало зависит от значения начального приближения. За n  68389 циклов обучения достигнуто значение функции ошибки J  0.001 . Сравнение восстановленных и
расчетных значений весов сети (рис. 2) показывает, что кроме значения в
узле 1, точность восстановления достаточно высокая. Большая погрешность в узле 1 может быть объяснена относительно малым значением градиента функционала решения вблизи этого узла. График изменения
ошибки обучения – график зависимости функционала ошибки от номера
итерации (рис. 3) показывает, что уменьшение функционала ошибки не
носит монотонный характер. Изменение ошибки обучения может быть
сглажено уменьшением коэффициента скорости обучения  . Причем
обучение очень чувствительно к  : незначительное увеличение этого
УДК 004.032.26(06) Нейронные сети
65
СЕКЦИЯ 1
коэффициента может привести к расходимости процесса обучения, особенно при малых погрешностях (малых значениях J ).
Рис. 3. График изменения ошибки обучения
В случае использования результата предыдущего обучения при каждом решении прямой задачи алгоритм аналогичен предыдущему, но решение прямой задачи, полученное на предыдущем цикле обучения, используется как начальное значение при решении прямой задачи в следующем цикле обучения. Алгоритм хорошо работает при больших значениях функционала (11) ( eps1  1 ). При уменьшении eps1 приходится
уменьшать коэффициент скорости обучения, что резко ухудшает сходимость: достигнута J  0.6478 за n  100000 итераций, общее число итераций решения прямой задачи ns  2095 (во многих циклах обучения не
производится ни одной итерации решения прямой задачи).
УДК 004.032.26(06) Нейронные сети
66
СЕКЦИЯ 1
Обучение при настройке весов в каждой итерации обучения использует расчет невязки и уточнение решения в каждом цикле. После уточнения
решения рассчитываются функционал ошибки и градиент функционала
ошибки. С помощью градиента функционала ошибки уточняются веса
сети (коэффициенты разностной аппроксимации), снова рассчитывается
невязка и т. д. Начальное значение весов сети бралось по расчетному значению в среднем узле a6,7 . Решение уточнялось при   1 . Коэффициент
скорости обучения =0.0000001 . При увеличении скорости обучения
процесс расходится. Следует отметить, что процесс обучения чувствителен к значению скорости обучения. В то же время картина обучения мало
зависит от значения начального приближения. За n  187982 итерации
достигнуто значение функции ошибки J  0.1 . Сравнение восстановленных и расчетных значений весов сети показывает, что кроме значения в
узле 1, точность восстановления приемлема, но немного ниже, чем в других методах.
Таким образом, эксперименты показали, что целесообразно использовать полное решение прямой задачи в каждом цикле обучения.
Предложенному подходу свойственны все особенности градиентных
методов. В частности, подход обеспечивает относительно невысокую скорость сходимости, особенно при наличии областей с малым значением
градиента потенциала. При малых значениях градиента потенциала подход может привести к большой погрешности определения коэффициентов. Если линии сетки совпадают с эквипотенциалями, то коэффициенты
определить невозможно.
Список литературы
1. Uchiyama T., Sonehara N. Solving Inverse Problems in Non-linear PDEs by Recurrent
Neural Networks // IEEE Int. Conf. Neural Networks, San Francisco, Calif. – ICNN'93, vol. 1.
Piscataway (N. Y.), 1993. P. 99 – 102.
2. A Neural Network Approach in a Backward Heat Conduction Problem / F. T. Mikki,
E. I. Issamoto, J. da Luz, P. P. B. de Oliveira, H. F. Campos-Velho, J. D. S. da Silva // Proceedings
of the IV Brazilian Conference on Neural Networks, 1999. P. 19 – 24.
3. Самарский А. А., Вабищевич П. Н. Численные методы решения обратных задач математической физики. М.: Едиториал УРСС, 2004. 480 с.
4. Алифанов О. М. Обратные задачи теплообмена. М.: Машиностроение, 1988. – 280 с.
5. Коздоба Л. А., Круковский П. Г. Методы решения обратных задач теплопереноса.
Киев: Наукова думка, 1982. 360 с.
6. Мацевитый Ю. М., Лушпенко С. Ф. Идентификация теплофизических свойств твердых тел. Киев: Наукова думка, 1990. 216 с.
7. Горбаченко В. И. Нейрокомпьютеры в решении краевых задач теории поля. М.: Радиотехника, 2003. 336 с.
8. Самарский А. А. Теория разностных схем. М.: Наука, 1989. 616 с.
УДК 004.032.26(06) Нейронные сети
67
СЕКЦИЯ 1
9. Самарский А. А., Вабищевич П. Н. Вычислительная теплопередача. М.: Едиториал
УРСС, 2003. 784 с.
10. Осовский С. Нейронные сети для обработки информации. М.: Финансы и статистика, 2002. 344 с.
11. Haykin S. Neural Networks: a Comprehensive Foundation. New Jersey: Prentice Hall,
1999. 842 p.
УДК 004.032.26(06) Нейронные сети
68
Download