УДК 004.032.26
О ПРИМЕНЕНИИ НЕЙРОННЫХ СЕТЕЙ ДЛЯ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ
УРАВНЕНИЙ В ЧАСТНЫХ ПРОИЗВОДНЫХ
ON THE NEURAL NETWORKS APPLICATION FOR SOLVING OF PARTIAL
DIFFERENTIAL EQUATIONS
А.Н. Коваленко, А.А. Черноморец, М.А. Петина A.N. Kovalenko, A.A. Chernomorets, M.A. Petina
Белгородский государственный национальный исследовательский университет, Россия, 308015, Белгород, ул. Победы, 85
Belgorod State National Research University, 85 Pobeda St, Belgorod, 308015, Russia
e-mail: chernomorets@bsu.edu.ru
Аннотация
В работе рассматриваются методы решения дифференциальных уравнений в частных производных (ДУЧП) с использованием радиально-базисных нейронных сетей (RBF-сети), сетей прямого распространения и модифицированной нейронной сети. Проанализированы точность полученных результатов, простота реализации и эффективность нейронных сетей различного типа.
Abstract
In this paper, we consider the methods of solving of the partial differential equations (PDE) using radialbasic neural networks (RBF-networks), networks of direct propagation and a modified neural network are considered. The accuracy of the results obtained, the ease of implementation and efficiency of neural networks of various types are analyzed.
Ключевые слова: дифференциальные уравнения в частных производных, нейронные сети, радиально-базисные функции, персептрон, рекуррентная нейронная сеть.
Keywords: partial differential equations, neural networks, radial basis functions, perceptron, feed-forward neural network.
Применение дифференциальных уравнений играет важную роль в различных областях техники и науки. Традиционные численные алгоритмы решения дифференциальных уравнений либо не позволяют достичь необходимой точности результата, либо требуют большого времени для своей работы. Поэтому, в настоящее время разрабатываются новые методы решения дифференциальных уравнений. Особый интерес представляет применение нейросетевого подхода. Эффективность использования нейронных сетей для решения дифференциальных уравнений основана на ряде свойств нейросетей [Корсунов НИ. 2014; Васильев А.Н. 2009].
Важной особенностью нейросетевого подхода является устойчивость нейросетевой модели по отношению к ошибкам в данных, а именно неточностям в задании коэффициентов уравнений, граничных и начальных условий, возмущениям границы, погрешностям вычислений [Васильев А.Н. 2015].
Другим важным моментом является возможность распараллеливания решения задачи и возможность использования набора сетей, в том числе сетей разного типа.
В настоящее время одними из наиболее распространенных типов нейронных сетей, используемых для решения дифференциальных уравнений в частных производных (ДУЧП) являются радиально-базисные нейронные сети (RBF-сети), сети прямого распространения (многослойный персептрон) и модифицированные нейронные сети.
Выбор типа сети, ее структуры и методов обучения определяется свойствами коэффициентов рассматриваемой задачи решения ДУЧП. В задачах с гладкими коэффициентами успешно применяются RBF-сети, в задачах с негладкими коэффициентами, разрывными решениями более предпочтительным является использование персептрона. В нестационарных задачах могут использоваться рекуррентные сети, они могут применяться и в стационарной ситуации для составных областей сложной формы с алгоритмами обучения сети типа альтернирующего метода Шварца [Васильев А.Н. 2004].
В настоящее время получили распространение методы решения ДУЧП с применением радиально-базисных функций (RBF) [Яничкина Е.В. 2006]. Эти методы могут быть эффективно реализованы в радиально-базисных нейронных сетях (RBFNN).
Радиально-базисная нейронная сеть состоит из трёх слоёв: входной слой, на который подаётся входной сигнал - вектор X = (х1,х2,...,хп), скрытый слой, состоящий из нейронов радиального типа и выходной слой, осуществляющий взвешенное суммирование результата работы скрытого слоя. Структура радиальной нейронной сети представлена на рисунке 1.
Рис. 1. Структура радиально-базисной нейронной сети Fig. 1. Structure of radial-basic neural network
Скрытый слой преобразует входной вектор X, используя различные радиально-базисные функции. Для создания эффективно функционирующей сети используют различные виды радиально-базисных функций RBF, наиболее часто используемыми являются мультиквадрик (MQ)
ф = (r2 + a2)n/2, n = -1,1,2,3,... и функция Гаусса, имеющая для к-го нейрона следующий вид:
срк (X )= exp(- r-7 al ), (1)
где
r =| X - d ;
X - входной вектор; rk - радиус, Ck - вектор координат центра RBF; a - параметр функции, называемый шириной.
Выходной слой сети представляет линейный сумматор - значение выхода сети u определяется соотношением:
u = ^WM (X ), (2)
к=1
где Wk - вес, связывающий выходной нейрон с k-м нейроном скрытого слоя.
Выражение (2) соответствует применению метода коллокации для аппроксимации функций и решения дифференциальных уравнений.
При решении ДУЧП нейронная сеть RBFNN реализуется следующим образом.
На вход сети подаются координаты точек области (точек коллокации) X = (x1, x2,..., xN), N - размерность пространства. При этом часть точек располагается внутри области, а часть на ее границе.
Радиальная функция каждого нейрона характеризуется следующими параметрами: центром с' = (cj,c2,...<) и шириной a' > 0, которые уточняются в процессе обучения. Центры в общем случае могут не совпадать с точками коллокации.
Каждый нейрон радиально-базисного слоя выполняет нелинейное преобразование ф(г), аргументом которого является расстояние от точки x до соответствующего центра с'.
Обучение сети сводится к нахождению неизвестных параметров w, a, с .
При решении дифференциальных уравнений в частных производных возникает вопрос о расстановке центров ck радиально-базисных функций RBF. Местоположение точек коллокации может отличаться от местоположения центров RBF, для регулярной области удобно располагать центры в узлах сетки или распределять случайным образом. Один из вариантов - расположение основного количества нейронов на границе области, и некоторого количества - внутри и вне области. Вариант корректировки расположения центров во время обучения сети дает лучшие результаты.
Вопрос о количестве нейронов можно решать экспериментально, либо производить постепенное наращивание сети (неоднократно вставляя узел в той точке области, компонент функционала ошибки которой наибольший). Рекомендуется использовать RBF-сети с различными типами функций активации нейронов. Следует указать отсутствие строгих рекомендаций, определяющих выбор типа RBF при добавлении нового узла. Выбор таких функций требует наличия опыта. При этом следует в максимальной степени учитывать особенности данной задачи, моделирующей конкретный физический процесс [Горбаченко В.И. 2007].
Задача обучения радиальной сети ставится как задача аппроксимации некоторой функции g : X^ Y , которая задана обучающей выборкой (Xk,dk),k = 1,2,...,p.
Как правило, процесс обучения радиально-базисной нейронной сети состоит из двух
этапов:
- поиск весов нейрона выходного слоя;
- подбор координат центров и весовых матриц для базисных функций.
Каждый из этапов обучения проводится при фиксированных значениях параметров сети, модифицируемых на другом этапе, поэтому обычно рассматриваются различные комбинации использования алгоритмов поиска для разных этапов.
Для радиально-базисных нейронных сетей в большинстве случаев используют градиентный и гибридный алгоритмы обучения сети [Горбаченко В. И. 2007].
Достоинством применения радиально-базисных нейронных сетей является возможность эффективной реализации не только на специальных параллельных вычислительных структурах, но и на компьютерах традиционной архитектуры.
Для решения ДУЧП также используется нейронная сеть прямого распространения, для обучения которой обычно применяют метод обратного распространения ошибок для минимизации функции ошибки и модификации параметров (весов и смещений) [Mall S., Chakraverty S., 2013]. На рисунке 2 представлена трехслойная архитектура нейронной сети прямого распространения.
Число нейронов в скрытом слое определяется экспериментальным путем. На рисунке 2 показана нейросетевая модель, в которой входной слой состоит из одного элемента, выходной слой также состоит из одного выходного элемента.
Количество элементов в скрытом слое фиксируется в зависимости от степени полинома, который необходимо учитывать. Если рассматривается полином n-й степени, то число узлов в скрытом слое будет п + 1, а коэффициенты многочлена можно рассматривать
как начальные веса от входа до скрытого слоя, а также от скрытого до выходного слоя или как произвольную комбинацию случайных и регрессионных весов.
Архитектура сети, основанная на использовании полинома пятой степени, показана на рисунке 2, шесть коэффициентов принимаются в качестве начальных весов в два этапа: от входа до скрытого слоя и от скрытого слоя до выходного слоя. Константы многочлена берутся в качестве начальных весов для шести узлов в скрытом слое.
Функция активации нейронов скрытого слоя - сигмоидальная функция следующего вида:
ст(х)= 1/(1 + е-). (3)
Input layer
Output layer
Рис. 2. Трехслойная архитектура нейронной сети прямого распространения Fig. 2. Three-layer architecture of a Feed-forward neural network
Для обучения нейронной сети прямого распространения используется алгоритм обратного распространения ошибки. Веса принимаются как произвольные, так и регрессионные для сравнения метода обучения.
В качестве примера использования нейронной сети прямого распространения для решения ДУЧП рассмотрим решение дифференциального уравнения второго порядка [Mall S., Chakraverty S., 2013]:
4гт = f \ x 6 [a, b]
dx ^ dx J
с начальными условиями
i//(a) = A i//'(a) = A'.
Решение искусственной нейронной сети (ANN) можно представить как:
(4)
(х,р) = А + А'(х - а)+(х - а)2N(х, р), (5)
где N (х, р) - нейронный выход сети прямого распространения с одним входным элементом х с параметрами р, ^ (х, р) - пробное решение, которое удовлетворяет начальным условиям.
Функция минимума ошибок для обыкновенного дифференциального уравнения второго порядка имеет вид
Etp)=i f - f f x, , p),df
1=T ^ dx ^ dx
Применим следующее правило обновления весов от входного до скрытого слоя:
w.. = w.. -n
11 j t
dE
dwJ
J1 У
где
d
dE
dw], dw],
VI d(x,p) f
—Лс2 f
, (x, p), df dx
2\
(6)
(7)
(8)
В качестве примера рассмотрим обыкновенное дифференциальное уравнение первого порядка [Mall S., Chakraverty S., Г013]:
dw ( 1 + 3x2 I 3 „ 2 - +1 x +-- w = x + 2 x + x
dx ^ 1 + x + x3 J ^ 1 + x + x3 J (9)
x 6 [0,1],
с начальным условием w(o) = 1.
Пробное решение записывается так:
W (x, p) = 1 + xN (x, p). (10)
Для решения уравнения (9) используем нейронную сеть (рис. 2) для 20 равноудаленных точек на отрезке [0,1] и сравним результаты, полученные аналитическим способом с вычислениями, полученными с помощью нейросети с произвольными и регрессионными весами с четырьмя, пятью и шестью нейронами в скрытом слое.
Сравнение аналитических и нейронных результатов с произвольными и регрессионными весовыми коэффициентами приведено в таблице 1 [Mall S., Chakraverty S., 2013]. Результаты аналитического решения приведены во второй колонке. Результаты, полученные с помощью нейросети для произвольных весов w(A) (от входа до скрытого слоя) и v (Л) (от скрытого до выходного слоя) с четырьмя, пятью и шестью нейронами приведены в третьем, пятом и седьмом столбцах. Аналогично, результаты нейронов с весами регрессии w (R) (от входа до скрытого слоя) и v (R) (от скрытого до выходного слоя) с четырьмя, пятью и шестью узлами приведены в четвертом, шестом и девятом столбцах.
Таблица 1 Table 1
Результаты аналитического решения и с использованием нейронной сети с произвольными
и регрессионными весами The results of the analytical solution and using a neural network with arbitrary and regression scales
Входные данные Аналитическое решение Результаты нейросети
w(A), v(A) (четыре) w(R), v(R) (четыре) w(A), v(A) (пять) w(R), v(R) (пять) w(A), v(A) (шесть) Отклонение % w(R), v(R) (шесть) Отклонение %
0 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.00 1.0000 0.00
0.05 0.9536 1.0015 0.9998 1.0002 0.9768 0.9886 3.67 0.9677 1.47
0.10 0.9137 0.9867 0.9593 0.9498 0.9203 0.9084 0.58 0.9159 0.24
0.15 0.8798 0.9248 0.8986 0.8906 0.8802 0.8906 1.22 0.8815 0.19
0.20 0.8514 0.9088 0.8869 0.8564 0.8666 0.8587 0.85 0.8531 0.19
0.25 0.8283 0.8749 0.8630 0.8509 0.8494 0.8309 0.31 0.8264 0.22
0.30 0.8104 0.8516 0.8481 0.8213 0.9289 0.8013 1.12 0.8114 0.12
0.35 0.7978 0.8264 0.8030 0.8186 0.8051 0.7999 0.26 0.7953 0.31
0.40 0.7905 0.8137 0.7910 0.8108 0.8083 0.7918 0.16 0.7894 0.13
0.45 0.7889 0.7951 0.7908 0.8028 0.7948 0.7828 0.77 0.7845 0.55
0.50 07931 0.8074 0.8063 0.8007 0.7960 0.8047 1.46 0.7957 0.32
0.55 0.8033 0.8177 0.8137 0.8276 0.8102 0.8076 0.53 0.8041 0.09
0.60 0.8200 0.8211 0.8190 0.8362 0.8246 0.8152 0.58 0.8204 0.04
0.65 0.8431 0.8617 0.8578 0.8519 0.8501 0.8319 1.32 0.8399 0.37
0.70 0.8731 0.8896 0.8755 0.8685 0.8794 0.8592 1.59 0.8711 0.22
0.75 0.9101 0.9281 0.9231 0.9229 0.9139 0.9129 0.31 0.9151 0.54
0.80 0.9541 0.9777 0.9613 0.9897 0.9603 0.9755 2.24 0.9555 0.14
0.85 1.0053 1.0819 0.9930 0.9956 1.0058 1.0056 0.03 0.9948 1.04
0.90 1.0637 1.0849 1.1020 1.0714 1.0663 1.0714 0.72 1.0662 0.23
0.95 1.1293 1.2011 1.1300 1.1588 1.1307 1.1281 0.11 1.1306 0.11
1.00 1.2022 1.2690 1.2195 1.2806 1.2139 1.2108 0.71 1.2058 0.29
Результаты, приведенные в таблице 1, показывают, что увеличение количества нейронов в скрытом слое с 4 до 6 позволяет улучшить результаты вычислений. Дальнейшее увеличение количества нейронов нейросети не улучшает полученных результатов [Mall S., Chakraverty S., 2013].
Для решения дифференциальных уравнений в частных производных также используется подход, основанный на модифицированной искусственной нейронной сети и методе оптимизации [Еман А. Хуссиан, 2015].
Использование модифицированной искусственной нейронной сети позволяет выбирать точки обучения на открытом интервале без обучения сети в диапазоне начальных и конечных точек.
Таким образом, объем вычислений, включающий вычислительную ошибку, уменьшается. Учебные точки в зависимости от расстояния, выбранного для обучения нейронной сети, преобразуются в аналогичные точки в открытом интервале с использованием подхода на основе модифицированной искусственной нейронной сети, затем сеть обучается в этих похожих областях.
Рассматриваемый метод основан на замене каждого x во входном векторе
(обучающий набор) x = (x1,x2,......,xn),xj e[a,b] многочленом первой степени. Для этого
используется функция:
Q(x) = s(x + 1),££ (0,1) (11)
Тогда входным вектором будет следующий вектор (Q(x1),Q(x2),......Q(xn)),Q(x) e (a,b).
Использование модифицированной искусственной нейронной сети позволяет выбирать точки обучения на открытом интервале (a, b) без обучения нейронной сети в диапазоне первой и конечной точек.
Для заданного входного вектора (x1,x2,......xn),xj e [a,b] выход модифицированной
искусственной нейронной сети равен:
N = ZH=1 vts(zt), (12)
где
z = X"J=1WijQ(xJ) + b и Q(xi) = e(x, + 1),s e (0,1) иxt e [a,b], тогда Q(x,) e (a,b)
dN = s(WQ( xj)+b) = s(s( x} + 1)Wj + b)
dN = vs' (WijQ( x) + bi = vis' (s( xj + 1)Wj + bi) (13)
dN
— = vQ( x )s' (WjQ( xj + b,) = Q( xj )s' (e( xj + 1)W + b,)
dwv
На рисунке 3 представлена архитектура модифицированной нейронной сети. Нейросетевая архитектура представляет собой нейронную сеть прямого распространения с двумя входами (принимающими координаты x и y каждой точки), 10 элементами на скрытом слое и одним линейным выходным элементом [Еман А. Хуссиан, 2015].
Входной сигнал в скрытый слой равен:
Netj = xwj1 + ywj 2 + Bj, j = 1,2,......, m (14)
где wj1 и wj2 - весовые коэффициенты от входного слоя до элемента j в скрытом слое, Bj - j-е смещение для j-го элемента в скрытом слое. Выходной сигнал скрытого слоя равен:
Zj = s(netj), j = 1,2,......, m. (15)
Выходной сигнал выходного нейрона равен выходу:
N . (16)
Для модифицированной нейронной сети (MANN) уравнение (14) будет иметь вид:
netj = Q( x)wn + Q(y)wj 2 + Bj = s( x + 1)wn + s(y +1) wj 2 + Bj (17)
Zj = s(e( x + 1)wj1 + S(y + 1)wj 2 + Bj) (18)
N = Zm=1Vjs(s( x + 1)wj1 + s(y + 1)wj 2 + Bj (19)
где j = 1,2,.......,m,s e (0,1) иQ(x),Q(y) e (a,b).
Далее рассматриваются некоторые численные результаты решения ряда модельных задач. Используется нейронная сеть с архитектурой, приведенной на рисунке 3. Функцией активации является гиперболический тангенс:
X - X
(20)
s( x) = -
x I „-x
e + e
hidden units
input unit
bias unit
Рис. 3. Архитектура модифицированной нейронной сети прямого распространения Fig. 3. The architecture of the modified Feed-forward neural network
Для каждой тестовой задачи аналитическое решение ua (X) было известно заранее, поэтому проверить точность полученных результатов можно при помощи вычисления отклонения: Au(X) = |u((X)-ua(X) |.
Для минимизации функции ошибки использован квазиньютоновский метод. Проведено [Еман А. Хуссиан, 2015] сравнение между обычной искусственной нейронной сетью (UANN) и модифицированной искусственной нейронной сетью (MANN) на основе числовых результатов, полученных ранее. Результаты решения представлены в таблице 2 [Еман А. Хуссиан, 2015].
Таблица 2 Table 2
Результаты решения, полученные обычной искусственной нейронной сетью (UANN) и модифицированной искусственной нейронной сетью (MANN) Solution results obtained by a conventional artificial neural network (UANN) and a modified artificial
neural network (MANN)
x y ua(x,y) UANN ut(x,y) ошибка MANN ut(x,y) ошибка
0 0 0 0 0 0 0
0.1 0.1 0.008537828 0.008525483 0.000012345 0.008537786 0.000000042
0.2 0.2 0.034097183 0.034074725 0.000022458 0.034097144 0.000000039
0.3 0.3 0.076183058 0.076231065 0.000048007 0.076183619 0.000000561
0.4 0.4 0.132865960 0.132947134 0.000081174 0.132866552 0.000000592
0.5 0.5 0.199152886 0.198921655 0.000231231 0.199153514 0.000000628
0.6 0.6 0.264808483 0.264353083 0.000455400 0.264809191 0.000000708
0.7 0.7 0.311834910 0.311176780 0.00065813 0.311835847 0.000000937
0.8 0.8 0.312025528 0.312814326 0.000788798 0.312019907 0.000005621
0.9 0.9 0.225309818 0.225765479 0.000455661 0.225305948 0.000003870
1 1 0 0 0 0 0
Из представленных результатов видно, что модифицированная искусственная нейронная сеть дает лучшие результаты и лучшую точность по сравнению с обычной искусственной нейронной сетью. Данный метод может эффективно обрабатывать все типы дифференциальных уравнений с частными производными и обеспечивать точное приближенное решение во всей области, а не только на обучающем множестве [Еман А. Хуссиан, 2015].
Радиально-базисные нейронные сети в отличие от сигмоидальных (многослойный персептрон) обладают большей простотой и эффективностью. Важное достоинство радиальных НС - более простой алгоритм обучения. При наличии только одного скрытого слоя и тесной связи активности нейрона с соответствующей областью пространства обучающих данных точка обучения оказывается гораздо ближе к оптимальному решению, чем это имеет место в многослойных сетях.
Также для радиально-базисных сетей формирование оптимальной структуры сети оказывается естественным этапом процесса обучения, не требующим дополнительных усилий.
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 16-07-00451.
Список литературы References
1. Mall S., Chakraverty S., Г013. Comparison of Artificial Neural Network Architecture in Solving Ordinary Differential Equations. Hindawi Publishing Corporation Advances in Artificial Neural Systems Volume Г013: Г-1Г.
Г. Eman A. Hussian, Mazin H. Suhhiem., Г015. Numerical Solution of Partial Differential Equations by using Modified Artificial Neural Network. Network and Complex Systems. 5(6): 11-Г1
3. Горбаченко В.И. Артюхина Е.В., Г007. Два подхода к обучению радиально-базисных нейронных сетей при решении дифференциальных уравнений в частных производных. Известия высших учебных заведений. Поволжский регион. Технические науки 2: 56-66.
Gorbachenko V.I. Artyuhina E.V., Г007. Two approaches to the training of radial-basic neural networks in the solution of partial differential equations. Izvestiya vyisshih uchebnyih zavedeniy. Povolzhskiy region. Tehnicheskie nauki [News of higher educational institutions. The Volga region. Technical science] Г: 56-66.
4. Васильев А.Н., Тархов Д.А., Г004. Нейросетевые подходы к решению краевых задач в многомерных составных областях. Известия Южного федерального университета. Технические науки. 44 (9): 80-89.
Vasilev A.N., Tarhov D.A. Г004. Neural network approaches to solving boundary value problems in multidimensional composite domains. Izvestiya Yuzhnogo federalnogo universiteta. Tehnicheskie nauki [Izvestiya Southern Federal University. Technical science] 44 (9): 80-89.
5. Васильев А.Н., Тархов Д.А., Г009. Нейросетевое моделирование. Принципы. Алгоритмы. Приложения. СПб: Издательство Политехнического университет, 527.
Vasilev A.N., Tarhov D.A., Г009. Neural network modeling. Printsipyi. Algoritmyi. Prilozheniya. SPb: Izdatelstvo Politehnicheskogo universitet [Principles. Algorithms. Applications. St. Petersburg: Publishing house of Polytechnic University], 5Г7.
6. Васильев А.Н., Тархов Д.А., Г015. Нейросетевой подход к задачам математической физики. СПб: Нестор-История, г59.
Vasilev A.N., Tarhov D.A., Г015. Neural network approach to problems of mathematical physics SPb: Nestor-Istoriya [St. Petersburg: Nestor-History], Г59.
7. Корсунов Н.И., Ломакин А.В., 2014. Моделирование процессов, описываемых волновым дифференциальным уравнением, с использованием ячеистых нейронных сетей. Научные ведомости БелГУ. Сер. История. Политология. Экономика. Информатика. 15(186): 103-107.
Korsunov N.I., Lomakin A.V. Г014. Modeling of processes described by the wave differential equation, using cellular neural networks. Nauchnye vedomosti BelGU. Istorija. Politologija. Jekonomika. Informatika [Belgorod State University Scientific Bulletin. History Political science Economics Information technologies] 15(186): 103-107.
8. Яничкина Е.В., Горбаченко В.И., Г006. Решение эллиптических дифференциальных уравнений в частных производных с использованием радиально-базисных нейронных сетей. Научная сессия МИФИ-2006. Нейроинформатика. Часть 3. Теория нейронных сетей. Применение нейронных сетей. Нейронные сети и когнитивные системы: 15-г1.
Yanichkina E.V., Gorbachenko V.I. г006. Solution of elliptic partial differential equations using radial-basic neural networks. Nauchnaya sessiya MIFI-2006. Neyroinformatika. Chast 3. Teoriya neyronnyih setey. Primenenie neyronnyih setey. Neyronnyie seti i kognitivnyie sistemyi: 15-Г1. [Scientific session of MEPhI-2006. Neuroinformatics. Part 3. The theory of neural networks. Application of neural networks. Neural networks and cognitive systems]: 15-г1.