Научная статья на тему 'Экспериментальное исследование нейросетевого алгоритма решения коэффициентной обратной задачи'

Экспериментальное исследование нейросетевого алгоритма решения коэффициентной обратной задачи Текст научной статьи по специальности «Математика»

CC BY
183
92
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОЭФФИЦИЕНТНАЯ ОБРАТНАЯ ЗАДАЧА / РАДИАЛЬНАЯ БАЗИСНАЯ НЕЙРОННАЯ СЕТЬ / ГРАДИЕНТНЫЙ МЕТОД / COEFFICIENT INVERSE PROBLEM / RADIAL BASIS NEURAL NETWORK / GRADIENT METHOD

Аннотация научной статьи по математике, автор научной работы — Егерев Д. Ю., Горбаченко В. И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Experimental Research of the Neuronet Algorithm for the Solution of a Coefficient Inverse Problem

Neuronet algorithms for the solution of coefficient inverse boundary value problems were experimentally researched with the help of radial basis function networks, which have offered the opportunity of using neuronic networks for the approximation of the unknown coefficient and the solution of direct and adjoint problems.

Текст научной работы на тему «Экспериментальное исследование нейросетевого алгоритма решения коэффициентной обратной задачи»

ИЗВЕСТИЯ

ПЕНЗЕНСКОГО ГОСУДАРСТВЕННОГО ПЕДАГОГИЧЕСКОГО УНИВЕРСИТЕТА имени В. Г. БЕЛИНСКОГО ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ №26 2011

IZVESTIA

PENZENSKOGO GOSUDARSTVENNOGO PEDAGOGICHESKOGO UNIVERSITETA IMENI V.G. BELINSKOGO PHYSICAL AND MATHEMATICAL SCIENCES №26 2011

УДК: 004.032.26:517.9

ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ НЕЙРОСЕТЕВОГО АЛГОРИТМА РЕШЕНИЯ КОЭФФИЦИЕНТНОЙ ОБРАТНОЙ ЗАДАЧИ

© Д.Ю. ЕГЕРЕВ1, В.И. ГОРБАЧЕНКО2 1Пензенский государственный педагогический университет им. В. Г. Белинского, кафедра информатики и вычислительных систем e-mail: gorvi@mail.ru 2 Пензенский государственный педагогический университет им. В. Г. Белинского, кафедра информатики и вычислительных систем e-mail: gorvi@mail.ru

Егерев Д. Ю., Горбаченко В.И. — Экспериментальное исследование нейросетевого алгоритма решения коэффициентной обратной задачи // Известия ПГПУ им. В. Г. Белинского.

2011. № 26. С. 392—398. — Экспериментально исследованы нейросетевые алгоритмы решения коэффициентной обратной краевой задачи с использованием радиальных базисных нейронных сетей, показавшие возможность использования нейронных сетей для аппроксимации неизвестного коэффициента и решения прямой и сопряженной задач.

Ключевые слова: коэффициентная обратная задача, радиальная базисная нейронная сеть, градиентный метод, MATLAB

Egerev D.U., Gorbachenko V.I. — Experimental Research of the Neuronet Algorithm for the Solution of a Coefficient Inverse Problem // Izv. Penz. gos. pedagog. univ. im.i V.G. Belinsko-

go. 2011. № 26. P. 392-398. — Neuronet algorithms for the solution of coefficient inverse boundary value problems were experimentally researched with the help of radial basis function networks, which have offered the opportunity of using neuronic networks for the approximation of the unknown coefficient and the solution of direct and adjoint problems.

Keywords: coefficient inverse problem, radial basis neural network, gradient method, MATLAB

Введение

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

Целью настоящей работы является реализация и исследование указанного алгоритма в системе МАТЬАБ.

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

Решалась коэффициентная обратная задача

д ( с) \

~дх ~дх) = ^(х), ^(х) = 3х2 11 < х < 12 (1)

с граничными условиями:

«(¿1) = Р1 = 13, «(^) = Р2 = ¿2,

где 11 = 0.1, 12 = 1.0.

При к(х) = X задача имеет аналитическое решением = х3.

В коэффициентной обратной задаче зависимость к(х) неизвестна и ее необходимо найти по приближенно известным в результате измерений значениям решения ^>т в некотором множестве zm точек

м(^ш) ~ (Pm, т 1, 2 ..., ^^. (2)

Необходимо найти и(х) и к(х) из (1)-(2).

Нейросетевой алгоритм решения коэффициентной обратной задачи

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

м

4(к) = ^ (м(гт,к) - ^т)2, (3)

т=1

гдеи — решение прямой задачи, ^>т определяются из (2).

Градиент функционала 4, необходимый для минимизации (3), для внутренних точек области решения Vможет быть найден по формуле [1]

4 = (4)

дх дх

Градиент функционала для граничных точек находится по формуле

4 = (5)

В (4) и (5) и — решение прямой задачи (1), ф — решение сопряженной задачи

дх (к2) = ^ (и - ^т) 5 (х - zm), ф = 0, (6)

' ' т=1

где 5(х — zm) - дельтафункция.

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

Итерационный нейросетевой алгоритм для решения коэффициентной задачи имеет следующий вид

[1]:

1. Задание начальных значений функции коэффициента на множестве zm контрольных точек.

2. Аппроксимация функции коэффициента с помощью радиальной базисной нейронной сети.

3. Решение прямой задачи на радиальной базисной нейронной сети. 4. Решение сопряженной задачи на радиальной базисной нейронной сети аналогично пункту 3.

5. Вычисление вектора градиента функционала (4)-(5) на множестве контрольных точек.

6. Коррекция вектора значений коэффициента на множестве контрольных точек.

7. Если норма невязки решения прямой задачи в контрольных точках больше заданной малой величины, то на шаг 2, иначе конец алгоритма.

Рассмотрим реализацию алгоритма в системе MATLAB с использование пакета Нейронные сети (Neural Network Toolbox) [3, 4].

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

net=newrb(X,T,goal,spread),

где X - массив координат точек, в которых известно приближенное значеник коэффициента; T - массив целей, т. е. известных приближений коэффициента; goal — допустимая средняя квадратичная ошибка; spread — мширинамрадиальных базисных функций (RBF) нейронов сети.

Функция создает сеть, добавляя по одному нейрону на каждом шаге обучения, пока не будет достигнуто требуемое значение goal. Необходимые в дальнейшем свойства сети определяются из свойств объекта net:

mf=net.layers{1}.size; % Число нейронов первого слоя cf=net.IW{1}; %Массив координ центров RBF v=net.LW{2}; % Массив весов второго слоя bf=net.b{1}; % Массив величин, обратных ширине RBF bias2=net.b{2}; % Смещение второго слоя

В качестве радиальной базисной функции использовался Гауссиан ^(ж) = exp(-г|/а|), где ж — координата точки, r k = |ж — c k | — радиус RBF кго нейрона (расстояние от точки до центра RBF), ak — ширина RBF кго нейрона, ck — координата центра RBF кго нейрона. Тогда аппроксимация коэффициента описывается выражением

mk mk _r!i

к(ж) = wko + ^ wki^ki(x)= wko + ^ wkie "kl , (7)

i=1 i=1

где wko — смещение, wki — веса второго слоя сети, mk — число нейронов сети, индекс к показывает параметры сети, аппроксимирующей функциюк(ж).

Для решения уравнения прямой задачи (1) в работе [1] предложено представить уравнение в виде

дк ди i.,d2u г (о\

дж дж + дж2

Решение уравнения (8) аппроксимировалось радиальной базисной нейронной сетью

2

mu mu ruj

и(ж) = w„o + ^2 WujVuj (ж) = w„o + ^2 Wuje “uj. (9)

j=1 j=1

Задав центры и ширину RBF нейронов, веса нейронной сети можно определить, приравнивая нулю невязки в внутренних и граничных контрольных точках. В качестве контрольных точек было выбрано множество точек zm, в которых известно решение (2). Примем, что в граничных точках решение известно. Уравнения для невязки во внутренних контрольных точках имеют вид

^к(ж.)^ — f (ж.) = 0.

дж дж дж2

Уравнения для невязки в граничных контрольных точках имеют вид

и(Х) - Р = °.

Вычисляя невязку на левой границе, во внутренних контрольных точках и правой границе и определяя производные дифференцированием (7) и (9), получаем переопределенную систему линейных алгебраических уравненийАт = /, матрица А которой имеет вид

A

( 1 0

a12

«22

a1mu

a2m.

1 a,

n2

\

/

У вектора т первый компонент представляет собой смещение второго слоя сети. Компоненты вектора / правой части равны f (ж*) для уравнений, соответствующих внутренним контрольным точкам, и р(ж^-) для уравнений, соответствующих граничным контрольным точкам. Матрица имеет столько строк, сколько имеется контрольных точек. Число контрольных точек должно быть больше числа нейронов, поэтому система будет переопределенной.

Элементы матрицы строк со второй по (п — 1)ю (соответствующие внутренним контрольным точкам), имеют вид

(xi-cuj )

= 4e

a1

uj

c«j (xi — cuj) - ° 5aUj

------+ a2-----------------4---------------

auj

i = 2, 3, ...,n — 1, j = 2, 3, ..., mu

где

(xi-ckl)

mk

ai = ^2 Wkie "kl l=1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

mk (xi- Ckl)2

xi — cki ——

------2-----, a2 = wk0 + 2_^ wkle kl

akl l=1

Элементы первой и последней строк матрицы, соответствующие граничным контрольным точкам, имеют

вид

(xi-cuj )

1, n,

j

2, 3,..., mu.

Для упрощения расчетов центры нейронов сетей, аппрокимирующих коэффициент и формирующих решение прямой задачи, размещались в узлах одной и той же сетки, причем число нейронов этих двух сетей равно:т^ = mu. В экспериментах использовался решатель MATLAB w=A\f, который в случае переопределенной системы применяет метод наименьших квадратов. После определения весов решение прямой задачи находилось по (9).

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

Градиент функционала (4) вычислялся на множестве контрольных точек. Используя представления решения прямой и сопряженной задач в виде (9), пространственные производные легко вычисляются аналитически. На множестве контрольных точек вычислялся вектор градиента функционала j(n). Искомые значения коэффициента, определенные на том же множестве контрольных точек, также представляют собой вектор. Вектор коэффициентов корректируется по формуле

Л(п) = k(n-1) — nj (n),

где п — подбираемый коэффициент скорости обучения, п — номер итерации.

a

nm

a

j

a

e

j

Экспериментальное исследование алгоритма

При решении прямой и обратной краевых задач центры радиальных базисных функций располагались на регулярной сетке. Количество нейронов равнялось 20, число внутренних контрольных точек, также расположенных на регулярной сети, равнялось 50. На рис. 1-4 показаны результаты, полученные за 500 итераций при значении коэффициента = 0.05.

Нейросетевая аппроксимация функции

Рис. 1. Аппроксимация коэффициента

Решение прямой задачи

і

і : ^ і ^ Решение на НС Аналитическое решение

і /

; і /

; /

; : "ЗГ Яг

| ли яг

| а/г

р3

Рис. 2. Решение прямой задачи

х -ц)"4 Решение сопряженной задачи

X

Рис. 3. Решение сопряженной задачи

Градиент

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

х

Рис. 4. Градиент функционала

Из рис. 2 видно, что решение прямой задачи с вычисленным коэффициентом неплохо совпадает с аналитическим решением. В то же время рассчитанный коэффициент (рис. 1) в части области решения заметно отличается от аналитического. Наиболее заметно отличие наблюдается в области малого изменения градиента функционала (рис. 4) градиента функционала Ук. Поэтому дальнейшие исследования целесообразно посвятить точности определения градиента функционала, использованию теории регуляризации, и повышению скорости обучения сети.

Заключение

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

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

Благодарности

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

СПИСОК ЛИТЕРАТУРЫ

1. Горбаченко В. И. Нейрокомпьютерный алгоритм решения коэффициентной обратной задачи // Известия ПГПУ им. В. Г. Белинского. 2011. № 26. С. 367-374.

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

3. Медведев В. С., Потемкин В. Г. Нейронные сети. MATLAB 6. М.: ДИАЛОГМИФИ, 2002. 496 с.

4. Beale M. H., Hagan M. T., Demuth H. B. Neural Network Toolbox. User’s Guide. Natick: MathWorks, Inc., 2011. 404 p.

i Надоели баннеры? Вы всегда можете отключить рекламу.