авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

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


Pages:     | 1 |   ...   | 4 | 5 || 7 | 8 |   ...   | 10 |

«Федеральное агентство по образованию САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ А.Н.ВАСИЛЬЕВ, Д.А.ТАРХОВ НЕЙРОСЕТЕВОЕ ...»

-- [ Страница 6 ] --

входят переменные или главные компоненты одного или нескольких разных узлов. Вид моделей такой же, как и у соответствующего локального алгоритма, – см. главу 2.

Сети, которые были произведены на предыдущем шаге, 3.

пересылаются на узлы, данные из которых они используют, и обучаются там.

Выбирается некоторое число лучших сетей, при этом учитываются 4.

результаты обучения сети на всех компьютерах, на которых она обучалась.

На каждом новом ряде селекции используются сети с небольшим 5.

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

Рис.3.17. Блок-схема многорядного МГУА-алгоритма обучения нейронной сети на распределённой базе данных Если хранилища данных непрерывно пополняются, то помимо приведённых выше алгоритмов, можно строить локальные динамические модели – либо в виде линейной авторегрессии, либо используя динамические нейронные сети из предыдущей главы.

Алгоритм 3.43. Распределённое обучение нейронной сети на моделях данных.

На каждом узле, содержащем данные, строится их локальная 1.

модель по одному из алгоритмов типа 2.19 или 2.20.

Реализуем один из предыдущих алгоритмов данного параграфа, 2.

вместо самих данных пересылая модели, считая, что они достаточно хорошо их описывают. Оправдана такая замена только в том случае, когда объём пересылаемых данных существенно сокращается.

Обучаем общую нейронную сеть, используя вместо данных их 3.

модели.

Время от времени заменяем старые модели новыми, построенными 4.

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

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

Обратимся теперь к задаче построения и обучения распределённых нейронных сетей, т.е. таких сетей, у которых отдельные части находятся на различных компьютерах. Так как большинство алгоритмов обучения требуют для модификации отдельного веса (или группы весов) информации о работе всей сети – значений функционала ошибки, производной этого функционала по данному весу, которая зависит от других весов и т.д. – встаёт проблема разумной организации взаимодействия локальных процессов.

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

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

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

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

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

• Во-первых, необходимо синхронизировать сигналы, приходящие на входы, и ошибки, возвращающиеся к выходам, если для вычисления градиента используется метод обратного распространения ошибки.

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

Однако более привлекательным представляется локальный подбор структуры сети с использованием разного рода генетических алгоритмов, что в сильной степени нивелирует разный масштаб скоростей локальных и глобальных вычислений. В особенности перспективным представляется применение методологии МГУА.

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

Рассмотренные в данном параграфе алгоритмы позволяют сделать вывод о том, что нейронные сети могут быть применены в более сложной ситуации по сравнению с предыдущим параграфом. Конечной целью этих разработок является создание распределённой по Интернет системы, обрабатывающей хранящиеся и появляющиеся там данные. Такая система призвана снабжать пользователей интересующей их информацией, в частности, прогнозами в соответствии с их запросами, независимо от местоположения источников исходных данных. Одним из вариантов подобного приложения может стать, например, распределённая система прогноза погоды.

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

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

На этой модельной задаче продемонстрированы возможности нейросетевой методологии, которые затем будут распространены на более сложные плоские и пространственные задачи.

Отметим, что некоторые возможные направления усложнения задачи:

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

4.1. Новые подходы на основе RBF-сетей к решению краевых задач для уравнения Лапласа на плоскости Рассматривается задача Дирихле для оператора Лапласа в единичном круге G. Свойства решений эллиптических краевых задач во многом схожи со свойствами решения этой модельной задачи, для которого имеется явное интегральное представление (есть возможность тестирования получаемых результатов). По теореме Римана любая односвязная область, граница которой состоит из более чем одной точки, может быть конформно отображена на круг;

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

Пусть ( x, y ) – точка на плоскости R 2, r, – ее полярные координаты, : r 1, единичный круг, гармоническая функция u ( x, y ) – решение задачи u = 0 при r 1, 2u 2u здесь u = 2 + 2 – оператор Лапласа.

u= f при r = 1, x y Известно [95, 170], что решение u представляется интегралом Пуассона 1 r u ( r, ) = f ( ) 2 d.

2 r 2r cos( ) + Вычислить аналитически этот интеграл можно только в исключительных случаях (например, когда граничная функция f ( ) – рациональная функция от cos и sin ), поэтому его, как правило, приходится находить численно.

С другой стороны, для решения этой задачи можно применить какой-либо численный метод – сеток, конечных элементов, Галёркина и т.п. Последние два n заключаются в поиске приближённого решения в виде u = ciui (r, ), где i = ui (r, ) – изначально заданные функции.

Далее минимизируется некоторый функционал ошибки – для задачи Дирихле это u 2 u J (u ) = + dxdy, x y если не считать слагаемого, связанного с граничным условием. Минимизация функционала J (u ) позволяет определить коэффициенты ci, при этом структура функций в методе конечных элементов подбирается таким образом, чтобы матрица получающейся системы линейных уравнений содержала больше нулей.

В работах [55,60] отмечено, что эта конструкция очень напоминает один из видов нейронных сетей – RBF (сети с радиальными базисными функциями, см. параграф 1.3). Для этих сетей выбираются базисные функции ui, которые характеризуются центрами x i ( {xi }i=1 – некий набор точек плоскости) и m поведением функции вдоль лучей, выходящих из центра, т.е. ui = ui (, ), где (, ) – полярные координаты вектора x xi, x(r, ) – текущая точка.

рассматривались функции, не зависящие от, т.е.

Для RBF-сетей ui = v( i x xi ). В качестве функции v ( r ) обычно берут Гауссов пакет v = exp(r 2 ) или функцию Коши v =. В процессе обучения (минимизации 1+ r J (u ) ) помимо ci можно изменять i, x i и даже само выражение нормы, задавая ai ( x xi ) + bi ( x xi )( y yi ) + di ( y yi ), 2 её квадратичной формой коэффициенты которой тоже изменяются в соответствии с выбранным алгоритмом обучения. При нейросетевом подходе отпадает проблема разбиения (как правило, триангуляции) области, в которой ищется решение.

Рассмотрим конкретные реализации указанного в [39,49] подхода – ищем решение модельной задачи в виде { } { } N N u ( x, y ) = ci exp ai ( x xi ) + ( y yi ) = ci exp ai r 2 + ri 2 2rri cos( i ), 2 i =1 i = где x = r cos, y = r sin ;

xi = ri cos i, yi = ri sin i.

В качестве минимизируемого функционала выбираем интеграл Дирихле, краевое условие введем в функционал в виде штрафного слагаемого u 2 u J (u ) = + dxdy + [u f ] d, x y здесь – большой параметр. Проводя интегрирование по угловой переменной в первом интеграле, получаем представление для функционала в виде { } exp (a + a ) N J (u ) = 8 ci ck ai ak exp ai ( x + y ) + a (x + y ) 2 2 2 2 i i k k k i k i,k =1 I (2 (a x + a x ) 2 + (a y + a y ) 2 ) 2 + ( x x + y y ) + ik 0 ii kk ii kk ik d + [ ( x + x )( a x + a x )( y + y )( a y + a y )] I1 (2 (ai xi + ak xk ) + (ai yi + ak yk ) ) + 2 i k ii kk i k ii kk ( ai xi + ak xk )2 + ( ai yi + ak yk ) { } N + ci exp ai 1 + xi2 + yi2 2 xi2 + yi2 cos( i ) f ( ) d.

0 i =1 Первый интеграл выглядит устрашающе, однако при внимательном рассмотрении видно, что он распадается на три слагаемых, которые сводятся к двум интегралам, зависящим от двух комбинированных параметров { } N exp ai ( xi2 + yi2 ) + ak ( xk + yk ) 8 c c a a 2 ikik i,k = [ ( xi + xk )( ai xi + ak xk )( yi + yk )( ai yi + ak yk )] exp [ (ai + ak ) ] I 0 (2 (ai xi + ak xk ) 2 + (ai yi + ak yk ) 2 ) + 2 ( ai xi + ak xk ) 2 + ( ai yi + ak yk ) [ ( xi + xk )( ai xi + ak xk )( yi + yk )( ai yi + ak yk )] + ( xi xk + yi yk ) K1 (ai + ak, (ai xi + ak xk ) 2 + (ai yi + ak yk ) 2 ) +, ( ai xi + ak xk ) 2 + ( ai yi + ak yk ) ( ai + ak )[ ( xi + xk )( ai xi + ak xk )( yi + yk )( ai yi + ak yk )] + 1+ K 3 (ai + ak, (ai xi + ak xk ) 2 + (ai yi + ak yk ) 2 ) ( ai xi + ak xk ) + ( ai yi + ak yk ) где K p (, ) = exp( 2 ) I 0 (2 ) p d, p = 1,3.

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

Штрафное слагаемое также может быть упрощено и преобразовано к виду N {2 ci ck exp[ ai (1 + xi2 + yi2 ) ak (1 + xk2 + yk2 )]I 0 (2 (ai xi + ak xk ) 2 + (ai yi + ak yk ) 2 ) i,k = 2 N 2 ci exp[ ai (1 + x + y )] exp[2ai ( xi cos + yi sin )] f ( ) d + [ f ( )]2 d}.

2 i i i =1 0 Заметим, что определяющие уравнения для коэффициентов ci в случае квадратичного функционала будут линейными.

Другим интересным для приложений вариантом J (u ) является функционал, первое слагаемое в котором имеет вид:

M u( x, y ).

j j j = При этом точки, в которых вычисляется лапласиан, вообще говоря, отличаются от центров сетей. Они могут выбираться внутри круга (, ) регулярным образом – равномерное по ( x, y ) или (или иное) распределение контрольных точек. Более целесообразным представляется случайное распределение точек, генерируемое через определенное число эпох обучения (шагов оптимизации) с помощью постоянной (или иной) плотности вероятности, что обеспечивает более устойчивый ход обучения и предотвращает «слипание» центров RBF-сети. Кроме того, такой подход позволяет контролировать качество обучения с помощью стандартных статистических процедур (см. [2]-[4]). Возможно и сочетание регулярного и случайного распределения контрольных точек, например, для более точной оценки нормальной производной решения на границе оказалось полезным к случайному набору точек добавить некоторый регулярный набор точек, достаточно близких к границе.

Такой вид функционала J (u ) полезен в случаях, когда трудно сопоставить уравнению вариационный принцип – некий аналог интеграла Дирихле, например, при рассмотрении нелинейных уравнений, задач с комплекснозначными коэффициентами и т.д. В случае линейной задачи действие оператора сводится к вычислению его для каждой из базисных N функций : u = ci v( i x xi ). Выражение для лапласиана в случае i = функции Гаусса или функции Коши соответственно имеет вид N u = 4 ci exp[ ai (( x xi ) 2 + ( y yi ) 2 )]ai2 [( x xi ) 2 + ( y yi ) 2 ai1 ], i = N u = 4 ci [ai (( x xi ) 2 + ( y yi ) 2 ) + 1]3 ai2 [( x xi ) 2 + ( y yi ) 2 ai1 ].

i = На этих формулах основывается еще один специальный метод настройки весов – метод «внутренних» кругов и его вариант – метод «внешних» кругов (см. «Компенсационные методы» – алгоритм 4 из параграфа 4.4).

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

Следует отметить еще один подход, при котором выбираем в качестве функций фундаментальные решения линейного дифференциального оператора с центрами вне области, где ищется решение. При этом мы заведомо удовлетворим дифференциальному уравнению – обучение сети сведется к удовлетворению краевых условий. В случае нашей модельной задачи N N u ( x, y ) = ci ln(( x xi ) 2 + ( y yi ) 2 ) = ci ln r 2 + ri 2 2rri cos( i ), i =1 i = в качестве минимизируемого функционала выступает, скажем, N J (u ) = ci ln 1 + ri 2 2ri cos( i ) f ( ) d.

0 i =1 Известно, что такими RB-функциями можно приблизить решение сколь угодно точно. Соответствующие оценки и подробное обсуждение см. в [232].

Отсюда просматривается еще один способ построения RBF-сети:

приближаем граничные данные (к примеру, среднеквадратично) радиальными базисными функциями, затем вычисляем решение задачи Дирихле u N ( x, y ) по формуле Пуассона, выбрав в качестве краевого условия это приближение N f N ( ) = c j (1 2rj cos( j ) + rj2 ).

j = Несложные вычисления показывают, что в случае Гауссовых базисных функций решение u N имеет вид N u N (r, ) = ck e ak (1+ rk ) n r n cos n I n (2ak rk ) cosk, k =1 n = где I n ( z ) – модифицированная функция Бесселя порядка n, 0 = 1, n = 2, n 1.

Можно получить приближение для решения и не в форме ряда Фурье, а в виде конечной суммы довольно громоздких выражений, составленных из элементарных функций, если приблизить Гауссов пакет «срезанной шапочкой»

2 = ce a[( x x ) +( y y ) ] c[1 a[( x xc )2 + ( y yc ) 2 ]]+.

c c Такое приближение для решения имеет вид sin( i ) 1 2r cos( i i ) + r 2 cos( i ) N u N ( r, ) = (1 r ) ci ai ri { i + ln 1 2r cos( i + i ) + r r r i = i ) 2 1 r 2 (1 + 2r cos i + r 2 )tg ( [2r cos( i ) + (1 + r 2 ) cos( i )] + }, arctg a 1 (ri 1) r 1 r2 + 4r sin ( i ) (1 + 2r cos i + r ) i 1 r 2 2 (ri + 1) 2 ai 1 + ri 2 ai1 где xi = ri cos(i ), yi = ri sin(i );

i = arccos, ai [(1 ri ) 2 ;

(1 + ri )2 ];

i = i.

2ri Ещё более удобный результат получается при использовании ядра Коши – в этом случае интеграл Пуассона вычисляется явно, поэтому, приблизив граничное условие, мы можем сразу получить приближение для решения задачи Дирихле (в тех же обозначениях) 1 r N u N (r, ) = ci {Ai sign(1 r ) + Bi }, ai4 + 2ai2 (1 + ri 2 ) + (1 ri 2 ) i = r[r (ai2 + 1 + ri 2 ) ri (1 + r 2 )cos( i )] где Ai = 2, ri (1 + r 2 ) 2 2ri r (1 + r 2 )(ai2 + 1 + ri 2 )cos( i ) + r 2 (ai2 + 1 + ri 2 ) 2 4ri 2 r 2 sin 2 ( i ) ri [ri (1 + r 2 ) r cos( i )(ai2 + 1 + ri 2 )] Bi = 2.

ri (1 + r 2 ) 2 2ri r (1 + r 2 )(ai2 + 1 + ri 2 )cos( i ) + r 2 (ai2 + 1 + ri 2 ) 2 4ri 2 r 2 sin 2 ( i ) В некоторых случаях, обычно связанных с симметрией задачи и специальным видом граничных данных, удается получить явные формулы для функционала ошибки или для самого приближенного нейросетевого решения, что, конечно же, ускоряет процесс нейрокомпьютинга.

Подобно тому, как это сделано в [286], можно искать решение в виде двух слагаемых – одно удовлетворяет граничному условию и не содержит подбираемых параметров, а другое – уравнению с учётом первого слагаемого и содержит подбираемые параметры. Этот прием подходит только для линейных задач. Сочетание этого подхода с нейросетевой аппроксимацией краевых условий f приводит еще к одному алгоритму обучения, в котором участвуют две сети: вначале построим RBF (или иную) нейронную сеть, приближающую N f f N = cii, функция порождает в области данные Дирихле fN i = приближение для решения u N и для v = u u N однородную задачу Дирихле для уравнения Пуассона v = u N в G, v | = (ибо удовлетворены лишь краевые условия, а не само уравнение Лапласа).

K Построим вторую сеть, аппроксимирующую g = u N : g g K = di i.

i = Решив серию специальных однородных задач Пуассона vi = i, vi | = 0, i = 1,..., K, K найдем v = ci vi, а следовательно, и u = u N + v. Решение каждой такой задачи i = для конкретной RB-функции дается явными формулами [116,117] r 2 2r cos( ) + ln v ( r, ) = (, ) d d, 2 r 2 2 2r cos( ) + { } где (, ) = exp ai 2 + ri 2 2 ri cos( i ) { } или (, ) = ai 2 + ri 2 2 ri cos( i ) + 1.

Обсудим способы включения параметров в схему оптимизации:

параметры ai можно выбрать одинаковыми для всех центров RBF сети, можно считать их меняющимися от центра к центру, возможно увеличение числа таких параметров изменением структуры аргумента базисной функции при замене его на квадратичную форму ai ( x xi ) + bi ( x xi )( y yi ) + di ( y yi ).

2 Выбор центров может быть регулярно детерминированным ( xi, yi ) (фиксированные центры, введение на основе физических соображений и т.п.), случайным по специальному закону распределения (равномерному, нормальному и др.), целенаправленным на основе минимизации функционала.

Более детальное рассмотрение выбора центров см. в [55,60].

Ещё одно важное преимущество нейросетевого подхода – достаточно развитая методика подбора оптимальной структуры сети – см. главу 2. В рассматриваемой задаче предлагается следующий вариант подобного метода:

1) Выбирается достаточно небольшое число нейронов и строится начальное приближение.

Вычисляются ошибки zi на некотором множестве точек {xi, yi }im 2) = границы и лапласиан в случайном наборе точек {xi, yi }im+ M1 внутри круга.

=m+ 3) Происходит кластеризация точек {xi, yi, zi }im+ M в соответствующем = трёхмерном пространстве.

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

5) Коэффициенты общего набора уточняются исходя из условия минимизации соответствующего функционала.

6) Процедура повторяется необходимое число раз.

В качестве алгоритма кластеризации можно взять, например, алгоритм «k средних» или его нейросетевой аналог – сеть Кохонена:

1.Выбирается начальное разбиение выборки на непересекающиеся классы.

2.Вычисляются средние значения элементов каждого класса.

3.В i-й класс относим элементы, расстояние от которых до i-го среднего меньше, чем до остальных.

4.Если новое разбиение не совпадает со старым, шаги 2 и 3 повторяем.

Наряду с указанными выше способами задания центров ( xi, yi ) и коэффициентов ai возможен выбор центров (или центров и коэффициентов) оптимальным образом для некоторых классов граничных условий f. Для этого на заданном классе функций (например, на L2 [ 0;

2 ] или на множестве Pn тригонометрических полиномов степени не выше n ) вводится какая-либо мера (скажем гауссова). Коэффициенты ci выбираются для каждой граничной функции индивидуально, а центры ( xi, yi ) и коэффициенты ai исходя из минимизации функционала, получаемого усреднением исходного – интегрированием его по введенной мере. Для каждого конкретного граничного условия f остается только найти коэффициенты ci. Как уже отмечалось, уравнения, из которых определяются эти коэффициенты, получаются линейными.

Вместо RBF можно использовать и другие нейросетевые модели, например, многослойный персептрон. Его применение будет рассмотрено в дальнейшем.

Интересное обобщение описанного выше нейросетевого подхода к решению задачи Дирихле получается, если в качестве входов сети использовать не только x и y (или r и ), но и граничные значения u в некотором наборе точек. Обученная таким образом нейронная сеть позволяет получить решение задачи Дирихле не при фиксированных, а при произвольных граничных условиях (функция f задаётся таблично в этом наборе точек). При этом имеет смысл использовать гибридную сеть, т.е. граничные значения подавать на многослойный персептрон, а выход персептрона наряду с x и y подавать на RBF-сеть.

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

1) Находится решение u в заданном множестве точек круга при различных граничных условиях f. Таким образом, создается набор данных для обучения сети, причем этот набор должен быть достаточно представительным.

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

3) Обученная сеть может выдавать граничные условия f по требуемым значениям решения u в заданном множестве внутри круга.

Вместо решения в наборе точек можно использовать и другие условия – минимум некоторого вспомогательного функционала, ограничение решения некоторыми дополнительными условиями и т.п. Обобщения – в главах 6 и 7.

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

На основе вышеописанных подходов и схем оптимизации были проведены исследования численных характеристик различных методов.

Результаты вычислений. Как и следовало ожидать, быстрее всего работают методы, в максимальной степени учитывающие особенности задачи.

Метод «внутренних» кругов даёт сразу сравнительно хорошее приближение, но процесс его итерационного уточнения оказался неустойчивым. Метод «внешних» кругов оказался даже более эффективным, чем ожидалось, и сходится очень быстро. Также быстро сходится метод, основанный на использовании фундаментальных решений (логарифмов). Учёт особенностей задачи имеет и обратную сторону – эти методы трудно распространить на более сложные случаи, например, на нелинейные задачи.

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

Что же касается подхода с приближением функций «эллиптическими»

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

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

Минимизация функционала. Одним из вариантов подбора параметров нейронной сети (1.24), дающей приближенное решение задачи (1.21), является поиск методами нелинейной оптимизации [125,189,217] минимума функционала ошибки. Заметим, что этот подход применим в достаточно общей ситуации, ибо не предъявляет особых требований к геометрии области, типу уравнения, гладкости коэффициентов и т.д., лишь бы на основе невязок, связанных с удовлетворением уравнения и краевых (или иных) условий можно было составить такой функционал.

M M J (u ) = A(u (x j )) g (x j ) + B(u (x j )) f (x j ), 2 j =1 j = здесь {x j } – пробные точки в области, {x j } M M – на её границе.

j=1 j= Следующие специальные методы построения нейросетевого решения задачи (1.21) применимы, как правило, в случае линейных задач.

Интегральное представление. Интегральное представление решения задачи (1.21) P(x, y ) f (y )d + G (x, y )g (y )d u ( x) = y y дает еще один способ построения RBF-сети в случае гладких коэффициентов (или сети другого типа в случае разрывных данных): приближаем функции, входящие в правые части g и в граничные условия (к примеру, f среднеквадратично) нейросетевыми (например, радиальными) базисными функциями v : g g N, f f N, затем вычисляем решение задачи Дирихле u N с помощью интегрального представления, выбрав в качестве g и эти f приближения g N и f N.

Эти формулы в случае задачи Дирихле для оператора Лапласа в круге или шаре приведены в [55,56]. При использовании в качестве нейросетевой функции v ядра Коши интеграл Пуассона вычисляется явно, поэтому, приблизив граничное условие, мы сразу получаем приближение для решения задачи Дирихле [55]. Явные представления существенно ускоряют процесс построения нейросетевой модели.

Фундаментальные решения. При этом подходе в представлении (1.24) для решения однородной задачи ( g = 0 ) в качестве функций v выбираются линейного дифференциального оператора A с фундаментальные решения центрами x вне области, где ищется решение. При этом мы заведомо i удовлетворим дифференциальному уравнению – обучение сети сведется к удовлетворению краевых условий (в минимизируемом функционале J (u ) остается только второе слагаемое). Фундаментальные функции применялись ранее в приближенных решениях граничных задач, но с другой точки зрения [7].

Явные формулы. Для областей, обладающих симметрией (круг, квадрат и т.д.) интегралы, входящие в выражение для минимизируемого функционала, вычисляются в явном виде или достаточно просто аппроксимируются [55,57].

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

«Компенсационные» методы. Можно воспользоваться особенностью задачи – ее линейностью: действие оператора A сводится к вычислению его N для каждой из базисных функций v : Au = ci Av(x, ai ). Явные выражения для i = лапласиана A = в случае функции Гаусса или функции Коши приводят к «компенсационным» методам [55,56], связанным со специальными способами расстановки центров RB-функций.

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

В первой такой задаче уравнение Лапласа заменяется уравнением Шредингера со случайным потенциалом u + u = 0, т.е. каждой точке круга ставится в соответствие независимая случайная величина, распределённая равномерно на промежутке [, ]. Численные эксперименты проводились при равном 0.01, 0.1 и 1. В первом случае результаты не отличаются от результатов в отсутствие шума, при этом обучение происходит даже несколько быстрее. Для амплитуды = 0.1 результат тоже оказался достаточно близким.

При амплитуде шума = 1 существенные отличия наблюдаются только в точках максимума и минимума решения, а его общий характер не меняется.

Во второй – аналогичная случайная добавка вводится в граничное условие: функция f заменяется данными f +. Здесь – случайная функция типа равномерного белого шума определённой амплитуды. Численные эксперименты дали аналогичные результаты: малый шум практически не изменял решение и даже ускорял обучение на начальном этапе, значительное увеличение амплитуды шума не меняет характера решения, сказываясь лишь в окрестности экстремумов.

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

В четвертой задаче рассматривался случай составной области, в подобласти D которой выполняется уравнение u = u 1, – малая случайная функция, а в дополнении \ D – уравнение u = 0, на границе = f, на D – естественное выполняется, например, условие Дирихле u условие согласования. И в этом случае можно говорить о хорошем качестве построенной нейросетевой модели.

Для численных экспериментов в качестве области, по-прежнему, выбирался единичный круг, а в качестве D – круг радиуса 0.4, центр которого f ( ) = sin(2 ), = 0.01, смещён на 0.4 относительно начала координат, нейросеть – из 150 персептронов. Результаты нейрокомпьютинга сравнивались с численными решениями, найденными с помощью стандартного пакета FEM – получено хорошее согласие.

0. -0. - 0. -0. - - -0. 0. Рис.4.1. График решения u 0. 1 2 3 4 5 -0. - Рис.4.2. Удовлетворение краевому условию f 0. 0. 0. 0. -1 -0.5 0.5 Рис.4.3. График решения u на сечении y = -1 -0.5 0.5 -2. - -7. - -12. - Рис.4.4. График значения u на сечении y = В итоге можно сказать, что регулярные возмущения коэффициентов уравнений и функций, входящих в описание краевых условий, практически не меняют приближенное решение исходной задачи при изменении амплитуды решения в весьма широком диапазоне. Это нельзя пока утверждать относительно случайных возмущений границы области, при малом неслучайном возмущении результаты будут аналогичны результатам, полученным в первых двух задачах (ибо в этом случае заменой переменных шевеление границы пересчитывается в возмущение коэффициентов задачи).

4.3. Сложные граничные условия. Нелинейные уравнения Один из таких вариантов – задание граничного условия не на всей границе, а только на её части. Численное исследование такой задачи, когда граничное условие задано только на полуокружности, привело к интересному результату: на другой половине окружности обученная сеть даёт естественное граничное условие – равенство нулю нормальной производной. Другой вариант задания нетрадиционного граничного условия – добавить к условию на границе условие на луче, выходящем из начала координат. Вычислительный эксперимент показал вполне приемлемую точность и сходимость процесса обучения, если не считать окрестность начала координат, в которой возникает естественная особенность. Аналогичный результат получается и в задаче Зарембы, когда на части границы задана функция, а на другой части – нормальная производная. Следует отметить, что в этой задаче «эллипсоидальные» RBF-сети показали себя намного эффективней обычных.

Возможным усложнением задачи является рассмотрение нелинейных уравнений. Первый естественный шаг в таком направлении – заменить уравнение Лапласа уравнением u = h(u ), где h(u ) – некоторая нелинейная функция. Рассматривались два примера таких функций. В первом – h(u ) = u 2 1, где вычитание единицы позволяет рассматривать нетривиальное решение при однородном граничном условии. В этой задаче получилась достаточно хорошая сходимость (значительно быстрее, чем в задаче Дирихле для уравнения Лапласа). Во втором – h(u ) = eu. Это известное уравнение в теории горения при однородном условии на границе: u = 0 при r = 1, – имеет два решения – одно ограниченное и отрицательное, другое положительное и неограниченное. Процесс обучения достаточно быстро сходится к первому решению. Для получения второго, по-видимому, следует рассмотреть неограниченные базисные функции. Уравнение Шредингера с кубической нелинейностью [83,296] рассмотрено в главе 5.

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

Уравнение и граничные условия могут быть и нелинейными, достаточно сопоставить им минимизируемый функционал типа J (u ). Если область имеет особенности, например, острые углы, в их окрестности можно взять больше точек (как при аппроксимации интегралов вида J (u ), так и при интерполяции u ). Использование гетерогенных нейронных сетей специальной архитектуры делает возможным рассмотрение сингулярных задач.

4.4. Нейросетевой подход к решению линейных эллиптических задач в пространстве В математической физике имеется достаточно широкий круг задач (относящихся, как правило, к описанию систем с распределенными параметрами), которые приводят изучению краевых задач для уравнений в частных производных. Некоторые из этих задач решены аналитически, а к исследованию остальных найдены различные численные подходы (метод сеток, конечных элементов, граничные интегральные уравнения, асимптотические разложения и др.). Однако это не мешает рассматривать использование нейронных сетей в качестве новой методологии решения как старых, так и новых задач. Далее приведены пространственные аналоги задач раздела 2.1.

Рассмотрим, к примеру, эллиптическую краевую задачу: в области R3 с гладкой границей = требуется найти гармоническую функцию u ( x, y, z ) – решение уравнения Лапласа 2 u 2u 2 u + + = 0, x 2 y 2 z u u удовлетворяющее краевым условиям ( + u ) | = f, где – производная n n по нормали к границе. Условие Дирихле получается при = 0, = 1 ;

условие Неймана – = 1, = 0 ;

третье краевое условие – = 1, 0. Подобная задача для области R 2 и нейросетевые методы ее решения рассмотрена в разделе 4.1 и работах [55,60].

Из метода потенциалов известно, что решение внутренней задачи Дирихле (или внешней задачи Неймана) единственно, существует и может быть представлено в виде u ( x, y, z ) = G ( x, y, z;

,, ) f (,, )d.

Найти функцию обычно удается для областей, обладающих G симметрией: например, для единичного шара R 3 решение задачи Дирихле u представляется интегралом Пуассона [170] 1 x2 y 2 z 4 [( x )2 + ( y )2 + ( z )]3 f (,, )d.

u ( x, y, z ) = (4.1) Вычислить аналитически подобный интеграл можно только в исключительных случаях, поэтому его, как правило, приходится находить численно.

С другой стороны, для решения краевой задачи можно применить какой либо численный метод – сеток, конечных элементов, Галёркина и т.п.

Последние два заключаются в поиске приближённого решения в виде n u ( x, y, z ) = ciui ( x, y, z ), i = где ui – изначально заданные функции. При таком подходе в методе конечных элементов существенно меняется и постановка задачи: уравнение и сопутствующее краевое условие возникают как необходимое условие экстремума соответствующей вариационной проблемы. Строится и затем минимизируется некоторый функционал – для задачи Дирихле это u 2 u 2 u J (u ) = + + d, x y z если не считать слагаемого, связанного с граничным условием. Это слагаемое записывается очевидным образом для каждого рода граничных условий:

скажем, при численной минимизации условие Дирихле u | = f может быть учтено введением в функционал аддитивного штрафного слагаемого u f d, 1.

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

Другим интересным для приложений вариантом J (u ) является u d, или в функционал, первое слагаемое в котором имеет вид:

M u ( x, y, z ). В этом случае при минимизации дискретном варианте: j j j j = функционала J (u ) выражение u вычисляется аналитически. При этом точки, в которых вычисляется лапласиан, могут выбираться внутри области регулярным образом или случайно.

Такой способ задания функционала допускает обобщения на нелинейные уравнения с комплексными коэффициентами A(u ) = g, u = u (t, x), (t, x) R p +1;

в случае смешанной начально-краевой задачи = f i, = = i Bi (u ) i i в виде J (u ) = A(u ) g d + i Bi (u ) fi d.

2 i i Выбор подходящего решения в некоторых задачах может быть сведен к изучению совместных экстремумов системы функционалов {J s (u )} методами многокритериальной оптимизации.

Минимизация функционала J (u ) позволяет определить коэффициенты ci, при этом структура функций ui в методе конечных элементов подбирается таким образом, чтобы была обеспечена требуемая гладкость решения (принадлежность соответствующему функциональному пространству) и матрица получающейся системы линейных уравнений содержала больше нулей (что обусловлено финитностью элементов).

Эта конструкция, связанная с минимизацией функционала ошибки J (u ), очень напоминает процесс обучения для одного из видов нейронных сетей – RBF (сети с радиальными базисными функциями). Для этих сетей ui = v( i x xi ), где x – текущая точка, а {xi }i=1 – некий набор точек R p. В m качестве функции v ( r ) обычно берут Гауссов пакет v = exp(r 2 ) или функцию, иногда используют и другие функции (1 + r 2 ), r 2 k, r 2 k ln r и т.п.

Коши v = 1+ r При этом метод конечных элементов в случае симметричных базисных функций получается как частный случай RBF-сети при соответствующем выборе функции v и нормы x. Идеология нейронных сетей позволяет даже для конечноэлементных базисных функций (кусочно-линейных или кусочно полиномиальных) предложить другой подход к разбиению области и подбору числа элементов (см. параграф 1.3). Если решение искать в виде линейной комбинации этих функций (имеющих вид пирамидальных или иных «шапочек»

конечного размера), одновременно с коэффициентами линейной комбинации подбирая и другие параметры в процессе минимизации функционала (положение центра «шапочки» и размеры её основания), то при этом разбиение области (триангуляция) получается автоматически. Парадигма нейронных сетей позволяет подойти к этому вопросу по-другому: в процессе обучения (минимизации J (u ) ) помимо ci можно изменять i, x i и даже само выражение нормы, задавая её некоторой квадратичной формой (или положительно определенной функцией), коэффициенты которой тоже изменяются в соответствии с выбранным алгоритмом обучения.

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

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

Используя известные свойства RBF сетей как универсальных аппроксиматоров и регуляризаторов [217,232,275,293,295], рассмотрим конкретные реализации указанного подхода – ищем решение модельной задачи в виде { } N u ( x, y, z ) = ci exp ai ( x xi ) + ( y yi ) + ( z zi ), 2 2 i = или N u ( x, y, z ) = ci.

ai ( x xi ) + ( y yi ) + ( z zi ) + 2 2 i = Рассмотрим некоторые возможные алгоритмы обучения сети.

1. «Интеграл Дирихле со штрафным слагаемым».

В качестве минимизируемого функционала выбираем интеграл Дирихле, краевое условие введем в функционал в виде штрафного слагаемого u 2 u 2 u J (u ) = + + d + [u f ] d, x y z здесь – достаточно большой параметр. Такой подход удобен для областей, обладающих симметрией. Получающиеся при подстановке выражения для u интегралы выглядят устрашающе, однако при внимательном рассмотрении видно, что они распадаются на слагаемые, каждое из которых зависит от комбинированных параметров. Для того чтобы не вычислять эти интегралы на каждом шаге итерационного процесса, их можно вычислить в некотором достаточно представительном множестве точек и проинтерполировать, например, при помощи отдельной RBF–сети. Заметим, что определяющие уравнения для коэффициентов ci (как и в случае любого квадратичного по ci функционала) будут линейными.

2. «Метод фундаментальных решений».

Следует отметить еще один подход, при котором выбираем в качестве функций фундаментальные решения линейного дифференциального оператора с центрами вне области, где ищется решение. При этом мы заведомо удовлетворим дифференциальному уравнению – обучение сети сведется к удовлетворению краевых условий. В случае нашей модельной задачи N u ( x, y, z ) = ci [( x xi ) 2 + ( y yi ) 2 + ( z zi ) 2 ]1 2, i = в качестве минимизируемого функционала выступает, скажем, J (u ) = u f d.

Известно, что такими функциями можно приблизить решение сколь угодно точно. Соответствующие оценки и подробное обсуждение см. [7].

3. «Интегральное представление».

В случае, когда решение может быть представлено через граничные (или начальные) условия, просматривается еще один способ построения RBF-сети:

приближаем граничные данные (к примеру, среднеквадратично) радиальными базисными функциями, вычисляем решение задачи Дирихле u N ( x, y, z ) по формуле (2.1), выбрав в качестве краевого условия это приближение N f N = ci (ai, xi, yi, zi ).

i = 4. «Компенсационные методы».

а) «Внутренние шары»

Расстановка (выбор) центров базисных функций начинается с границы области при достаточно больших значениях параметров ai и значениях ci, обеспечивающих удовлетворение граничных условий с дальнейшим движением внутрь области. При этом положение центров следующего слоя выбирается в точках максимума значения оператора Лапласа на решениях предыдущего шага, значения параметров ci выбираются из соображений компенсации этих значений. Далее проводится минимизация функционала, сопровождающаяся уменьшением значений ai на каждом шаге итерационного процесса.

б) «Внешние шары»

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

в) Комбинированный метод позволяет сочетать расстановку центров как внутри, так и вне области.

5. «Кластеризация ошибок».

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

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

Вместо RBF можно использовать и другие нейросетевые модели, например, многослойный персептрон. Этот вид сети является наиболее употребительным и исследованным. Хорошо известны его свойства как универсального аппроксиматора. Выбор архитектуры нейросети, то есть числа слоев, количества нейронов в каждом слое является нетривиальной задачей, которую мы здесь оставляем в стороне. При этом наиболее перспективными представляются такие алгоритмы обучения, согласно которым подбирается и архитектура сети, а не только ее веса – см. главу 2. Общая методика использования многослойного персептрона в данных задачах похожа на обсуждаемую выше для RBF-сети, поэтому подробно не обсуждается. Укажем только, что персептрон лучше работает в задачах экстраполяции и в задачах с разрывами – например, когда решение меняет характер при переходе через некоторую поверхность раздела.

Для сингулярных задач можно использовать гетерогенные сети, в которых часть нейронов имеет два входа x1 и x2 и функцию активации x1 x2, а часть – функцию активации 1 x. Класс таких моделей включает в себя и аппроксимации Паде. Можно использовать и другие сингулярные функции, вид которых подбирается в процессе решения задачи.

Интересное обобщение описанного выше нейросетевого подхода к решению задачи Дирихле получается, если в качестве входов сети использовать не только x, y и z, но и граничные значения u в некотором наборе точек.

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

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

1. Находится решение u в заданном множестве точек области при различных граничных условиях f. Так создается набор данных для обучения сети, причем этот набор должен быть достаточно представительным.

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

3. Обученная сеть может выдавать граничные условия по f требуемым значениям решения u в заданном множестве внутри области.

Вместо решения в наборе точек можно использовать и другие условия – минимум некоторого вспомогательного функционала (или системы функционалов), ограничение решения некоторыми дополнительными условиями и т.п. Как отмечалось, здесь могут быть использованы методы многокритериальной оптимизации. Обобщения – в главе 7.

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

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


Уравнение и граничные условия могут быть и нелинейными, достаточно сопоставить им минимизируемый функционал типа J (u ). Если область имеет особенности, например, острые углы, в их окрестности можно взять больше точек (как при аппроксимации интегралов вида J (u ), так и при интерполяции u ).

Аналогично ставятся и решаются комбинированные задачи, когда рассматриваемое уравнение в разных подобластях имеет разный вид. Более того, переменной, подлежащей определению, можно считать и саму форму области. При этом границу можно задавать некоторым набором точек или рассматривать как элемент некоторого параметрического семейства, параметры которого подлежат определению. Обобщение – в главе 6 и главе 7.

Методология нейронных сетей позволяет не только переформулировать постановку задачи в нейросетевом базисе, но и рассмотреть случаи нелинейных моделей. Самый простой вариант – искать u ( x) как нейросетевую функцию своих аргументов, подбирая веса сети так, чтобы получалось решение краевой задачи, и далее находить из условия экстремума J. При этом для каждых и f строится своя сеть. Далее можно строить сеть, у которой входами будут и значения f в некотором фиксированном наборе точек, а выходом –. При этом надо будет набрать исходную базу данных, т. е. решить задачу для достаточно представительного набора параметров. Оба этапа совместимы с помощью одной гетерогенной сети. Очевидно, что нелинейность практически не усложняет задачу.

Аналогично решаются задачи восстановления уравнения (или граничного условия) как элемента некоторого параметризованного семейства.

Нейросетевой подход к решению обратных задач такого рода может рассматриваться как один из методов их регуляризации. При стандартной процедуре регуляризации – см. [225] – из возможного набора решений выбирается некоторое искусственным образом – например, имеющее минимальную норму. Это может не соответствовать неформальным требованиям к решаемой задаче. Более перспективным представляется создание набора образцов с помощью эксперта, совершающего неформальный выбор, и в дальнейшем обучение нейросети (или сетей) не только с помощью минимизации функционала (или функционалов) J (u ), но и в соответствии с этими образцами.

4.5. Сложная геометрия. Эволюционные алгоритмы подбора структуры и весов Следующей ступенью в усложнении постановки могут быть задачи, допускающие декомпозицию, то есть задачи, алгоритм решения которых сводится к некоторой итерационной последовательности решений однотипных «простых» задач. Одним из подобных алгоритмов в случае уравнений эллиптического типа является достаточно хорошо известный и весьма широко применяемый альтернирующий метод Шварца [95]. Нейросетевая методология обобщает некоторые хорошо известные численные подходы к решению краевых задач, такие как метод сеток [1,95,199,231], метод конечных элементов [1,213,231,235], метод граничных интегральных уравнений, дает модификации методов типа Шварца и предлагает оригинальные весьма эффективные алгоритмы построения аппроксимаций решений подобных задач.

Большинство стандартных численных методов решения задач математической физики (метод сеток, конечных элементов, граничные интегральные уравнения, асимптотические разложения и др.) трудно применять в случае областей сложной геометрии. Алгоритм решения для каждой такой задачи приходится существенно перерабатывать для того, чтобы учесть её особенности. Использование нейронных сетей в качестве новой методологии решения задач такого рода позволяет с одной стороны строить алгоритмы единообразно, а с другой – рассмотреть набор принципиально различных алгоритмов, каждый из которых является самым эффективным для определённого круга задач.

В этом разделе обсуждаются пять подходов к построению аппроксимации решения задачи на основе методологии нейронных сетей. При этом используются хорошо известные свойства нейронных сетей как универсальных аппроксиматоров [232,257,261,267,271,275,287,288,292,293,295].

Подход I. Для приближенного решения задачи используем нейросетевую аппроксимацию: ищем приближенное решение краевой задачи u N ( x, y ) как выход нейронной сети N u N ( x, y ) = Ci ( x, y;

ai ), (4.2) i = веса которой – линейно входящие параметры Ci и нелинейно входящие параметры ai – находятся в процессе поэтапного обучения сети, построенном на минимизации некоторого функционала ошибки J (u ). Напомним, что отличие такого подхода от классических методов типа Галёркина состоит в том, что одним из методов нелинейной оптимизации (см. главы 2 и 3) подбираются не только линейно входящие параметры Ci, но и сами базисные функции, содержащие нелинейно входящие параметры ai.

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

В качестве нейросетевых базисных функций могут использоваться Гауссовы пакеты:

«круглые» экспоненты ( x, y;

xi, yi, ai ) = exp{ai [( x xi) 2 + ( y yi) 2 ]}, ai = ( xi, yi, ai ), для задач, в которых есть основание надеяться построить изотропное решение или «эллиптические» экспоненты ( x, y;

xi, yi, ai, bi, ci ) = exp{ai ( x xi)2 bi ( y yi) 2 ci ( x xi)( y yi)}, в задачах, в которых предполагается наличие анизотропии у решения, хотя можно использовать и другие функции [217,230], например, персептроны.

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

Функционал ошибки J (u ) выберем в такой форме, которая допускает обобщения на случай нелинейных уравнений с комплексными коэффициентами k J (u ) = A(u ) g d + i u fi d.

i i = i Первое слагаемое в функционале отвечает за удовлетворение уравнению, следующие слагаемые, входящие со штрафными множителями k 0, отвечают за удовлетворение краевым условиям на соответствующих участках границы.

Для расчетов используется дискретный вариант функционала ошибки Mi M k J (u ) = A(u ) g ( x j, y j ) + i u f i ( x ji, y ji ).

2 (4.3) j =1 i =1 ji = При этом условия проверяются на множествах контрольных точек:

внутри области – {( x j, y j )}M=1, на частях i границы – {( x ji, y ji )}M=1, i = 1,..., k.

i j ji Как указывалось, эти тестовые множества обновляются после завершения каждого этапа обучения (прохождения определенного числа шагов в процессе минимизации функционала). Дело в том, что обучение сети при фиксированном наборе контрольных точек и при большом числе функций часто приводит к переобучению, когда малые ошибки в точках тестового множества сопровождаются большими ошибками вне него. Перегенерация тестовых точек делает процесс обучения сети более устойчивым. Если она производится на каждом шаге, тогда процесс обучения слишком сильно замедляется. Чересчур редкая перегенерация приводит к тому, что сеть успевает переобучиться и на новом множестве точек обучение начинается практически заново. Разумный выбор частоты перегенерации позволяет избежать той и другой опасности.

Такой прием систематически применяется авторами [55-76] и приводит к положительным результатам.

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

Будем искать решение u = u ( x, y ) двумерного уравнения Лапласа u = 0 в области L : 0 x, y a, min( x, y ) d a, являющейся объединением двух прямоугольников 1 : 0 x a;

0 y d и 2 : 0 x d ;

0 y a ;

на участках { k }k =1 границы области решение удовлетворяет условиям Дирихле: u = fk.

k Рис.4.5. Область L, в которой ищется решение Решение этой модельной задачи для L области может быть найдено в явном виде через решения в канонических подобластях 1, 2, полученные, например, с помощью метода разделения переменных. Для выбранных краевых условий f1 ( x) = sin( x a ), f 2 ( y ) = sin( y a ), f 3 = f 4 = f5 = f 6 = 0, это решение u, продолженное нулем на квадрат Qd,a = (d ;

a) (d ;

a), имеет вид sh( (d y ) a) u ( x, y ) = sin( x a ) (1 + sign(d y )) + 2sh( d a ) sh( (d x ) a ) + sin( y a ) (1 + sign(d x)).

2sh( d a ) 0. 0.5 0. 0. 0 0. 0. 0. 0. 0. 0. 0. Рис.4.6. График точного решения u (a = 1, d = 0.2) Приближенное решение задачи в соответствии с подходом I находилось с помощью единой нейронной сети, построенной на основе «эллиптических»

экспонент. Обучение сети (подбор ее весов) проводилось по методу облака (см.

параграф 3.6). График приближенного решения u N для N = 128 визуально неотличим от Рис.4.6. Более информативным оказывается следующий график:

0. 0. 0. 0. 0.2 0.4 0.6 0.8 Рис.4.7. Сравнительный график удовлетворения краевому условию на Следует заметить, что предложенный метод не предъявляет особых требований ни к уравнению (линейность, вещественность коэффициентов), ни к форме области (односвязность, возможность декомпозиции), однако усложнение этой формы приводит к трудности выбора начальных приближений для весов сети, увеличению требуемого числа функций для достижения заданной точности решения и соответствующем замедлении процесса нелинейной оптимизации. Для некоторых типов уравнений возможен и иной выбор функционала ошибки: скажем, для уравнения Лапласа первое слагаемое в J (u ) может быть взято в виде интеграла Дирихле – {(u x) + (u y )2 }d.

Рассмотрение системы уравнений также не приводит к принципиальным изменениям алгоритма, достаточно только взять соответствующее число функций u N и сформировать функционал ошибки J = J (u1N1, u2 N2,...). Соответствующие обобщения см. в главе 7.

Подход II. В этом случае существенно используется возможность L декомпозиции исходной области: для модельной задачи область представляет собой объединение прямоугольников 1 и 2 с непустым пересечением Q0,d. Тип уравнения и структура области позволяют провести процедуру распараллеливания задачи на основе следующей модификации известного метода Шварца:


1. Подобно тому, как это было реализовано при подходе I для всей сложной области L, в каждой из подобластей 1 и 2 строим свою нейросетевую аппроксимацию для решения u1N1 и u2 N2 соответственно, используя при задании соответствующего функционала ошибки J1 и J краевые условия лишь на части границы – контрольные множества точек берутся на границе пока лишь там, где известны краевые условия.

2. После определенного числа этапов обучения каждой из нейронных сетей возникают приближения для неизвестной части краевых условий на границах каждой подобласти;

3. Происходит обмен данными – в каждый из функционалов ошибки вводятся дополнительные слагаемые, обусловленные информацией о решении на той части границы подобластей 1 и 2, на которых решения не были заданы (классический вариант метода Шварца в нейросетевой интерпретации);

этой информацией является решение, построенное на другой подобласти.

4. Процедура вычислений повторяется заданное число раз или до достижения уровня требуемой точности.

Более интересной представляется такая модификация, при которой в п. алгоритма в функционалы ошибки J1 и вводится информация о J рассогласовании решений u1N1 и u2 N2 на Q0,d = 1 2 (что даёт более гладкую стыковку). Именно этот подход использовался при численном эксперименте.

0. 0. 0. 0. 0.2 0.4 0.6 0.8 Рис.4.8. Сравнительный график удовлетворения краевому условию на Процедура декомпозиции области, на которую опирается подход II, может быть проведена и в случае областей более сложной формы, просто область разбивается на большее число компонент. Распространение на системы уравнений также не вносит существенных изменений, если процедуру согласования производить для каждой из неизвестных функций по отдельности.

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

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

Подход III. При этом подходе используется идеология МГУА – Метода Группового Учета Аргументов [130-134]. Одним из простейших его вариантов может быть следующий многорядный алгоритм:

1. Для каждой канонической подобласти берем некоторый набор ( xi, yi) и параметров регулярно (или случайно) заданных центров сети (ai, bi, ci ), i = 1,..., N, ассоциированный с данной подобластью.

Рассматриваем N ( N 1) / 2 парных линейных комбинаций ij, 2.

ij = Ci i + C j j.

i = ( x, y;

a i ) :

1 i j N, нейросетевых функций Подбираем веса Ci, C j для каждой парной комбинации i, j из условия минимума функционала ошибки J для каждой подобласти (прямоугольника ) отдельно;

в качестве функционала ошибки здесь выбирается интеграл Дирихле со штрафным слагаемым J (u ) = {(u x) 2 + (u y ) 2 }d + u f d =.

= u, u + ( u, u ) 2 ( f, u ) + ( f, f ) Из N ( N 1) / 2 парных комбинаций ij с подобранными коэффициентами отбираем N лучших – дающих меньшее значение функционала ошибки по другой подобласти.

3. Повторяем шаги 2 и 3 с получившимися функциями.

Пропишем более детально шаги 2 и 3 итерационного процесса – для этого дадим выражение для функционала ошибки через веса Ci, C j подробнее J ( ij ) = J iiCi2 + 2 J ijCiC j + J jjC 2 2 J 0iCi 2 J 0 jC j + J 00, j kl = ( k, l ), kl = k, l, J kl = kl + kl, здесь введены обозначения J 0i = 0i = ( f, i ), J 00 = 00 = ( f, f ).

аналогично заданы Матричные элементы J в рассматриваемом случае – специальный вид функций (Гауссовы распределения) и простой вид подобластей (прямоугольники) – могут быть найдены в явном виде: они выражаются с помощью довольно громоздких формул. Приведем для примера лишь выражения 2 ii = [ai ( xi e 2 a x + (a xi )e 2 a ( a x ) ) + ai 8(erf ( 2ai xi ) + erf ( 2ai (a xi )))] ii i i [ bi1 8(erf ( 2bi yi ) + erf ( 2bi (b yi )))] + [ ai1 8(erf ( 2ai xi ) + erf ( 2ai (a xi )))] 2 [bi ( yi e 2bi yi + (b yi )e 2bi ( b yi ) ) + bi 8(erf ( 2bi yi ) + erf ( 2bi (b yi )))], 2 ii = (e2 a x + e 2 a ( a x ) ) 8bi (erf ( 2bi yi ) + erf ( 2bi (b yi ))) + ii i i 2 + 8ai (erf ( 2ai xi ) + erf ( 2ai (a xi )))(e2bi yi + e 2bi ( b yi ) ), z et dt. Заметим, что в более общей ситуации интегралы, где erf ( z ) = задающие J kl, могут быть вычислены с помощью интерполяционных формул или метода Монте-Карло, который более эффективен в случае многомерных интегралов.

Оптимальные веса C i, C j для парных комбинаций ij и минимальное значение J на соответствующей парной комбинации находятся по формулам 1 C i = J jj J 0i + ( J ij ) J 0 j, = J ii J jj J ij 2 ;

C i = J ii J ij J 0i или C j = 1 ( J ) J + 1 J J, J ij J jj J 0 j ij 0i ii 0 j C j J min = 1 ( J jj J 02i 2 J ij J 0i J 0 j + J ii J 02 j ) + J 00.

Вычисляем значения функционала ошибки J по другой области на ij = Ci i + C j j :

2 J ( ij ) = J ii C i + 2 J ij C i C j + J jj C j 2 J 0i C i 2 J 0 j C j + J 00 и отбираем N функций i1 j1,..., iN jN, дающих наименьшее значение J ( ij ).

Повторяя шаг 2, составляем новые парные линейные комбинации из этих функций is jsit jt = Cis js is js + Cit jt it jt, где 1 s t N, и вычисляем на них вновь функционал ошибки J ( is jsit jt ) = J is js is js C i2 j + 2 J is jsit jt Cis js Cit jt + J it jt it jt Ci2jt 2 J 0is js Ci 2 J 0it jt Cit jt + J 00, t ss откуда легко выводим соотношения, связывающие матричные элементы этой и предыдущей итерации 2 J is js is js = J isis C is + 2 J is js C is C js + J js js C js, J is jsit jt = J isit C is C it + J jsit C js C it + J is jt C is C jt + J js jt C js C jt, 2 J it jt it jt = J it it C it + 2 J it jt C it C jt + J jt jt C jt, J 0is js = J 0is C is + J 0 js C js, J 0it jt = J 0it C it + J 0 jt C jt.

С помощью этих чисел определяются новые оптимальные коэффициенты C is js, C it jt и т.д. (При этом каждый раз для нахождения новых весов приходится, как и ранее, решать лишь систему из двух линейных уравнений с двумя неизвестными.) При числе итераций, большем чем log 2 N, все нейросетевые функции i данного набора будут вовлечены в процесс вычислений.

Приведенные формулы и явные выражения для исходных параметров позволяют упростить и ускорить его.

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

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

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

1. Обучаем два коллектива из K сетей каждый: один обучаем по области 1, другой – по области 2, т.е. веса каждой сети подбираются с помощью минимизации функционала J1,2 (u ) вида (4.3), в первой сумме которого используются только точки соответствующего прямоугольника, а во второй – части его границы, принадлежащей границе области L.

2. Выбираем для дальнейшей работы из каждого коллектива лучшие нейронные сети в числе K1 K, исходя из минимума ошибки по другой области, т.е. из сетей, обучавшихся с помощью минимизации функционала J1 (u ), выбираем сети, для которых минимально значение функционала J 2 (u ) и наоборот. Другой вариант этого шага – выбирается K1 сетей, дающих минимальное значение функционалу, который использовался для их обучения, а из них K 2 K1 сетей, на которых минимален второй функционал.

3. Производим случайные мутации сетей, вероятность которых тем больше, чем больше ошибки по своей и по чужой области (например, сумма ошибок). Эти мутации могут быть разного типа: удаление слагаемого в сумме (4.3) для данной сети с минимальным коэффициентом ci или удаление случайно выбранного слагаемого;

добавление функции i со случайным ( xi, yi) и параметром ai ;

случайное изменение центров ( xi, yi) и центром параметров ai на некоторое значение и т.д. При этом функции i могут быть разными, что приводит к построению гетерогенных сетей.

4. Делаем случайные транслокации – например, симметрично отражая центры ( xi, yi) или обменивая коэффициенты ci у двух поднаборов функций в (4.3).

5. Проводим скрещивание – берем лучшие K 2 K1 сетей (в смысле минимума соответствующего функционала), выбираем две сети из них и часть функций берем от одной сети, часть – от другой сети, в результате получается новая сеть, которая пополняет множество обучающихся сетей и называется потомком. Эта операция повторяется с некоторым множеством пар таких сетей.

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

6. Повторяем предыдущие шаги определенное число раз или до тех пор, пока ошибка J1,2 (u ) не станет достаточно малой.

Другая модификация рассматриваемого генетического алгоритма J1,2 (u ) получается, если вместо функционалов использовать отдельные слагаемые в формуле (4.3). При этом на шаге 3 отбрасываются сети, худшие с точки зрения каждого из рассматриваемых функционалов, а скрещиванию на шаге 5 разумно подвергать сети, которые дают минимальное значение различным из этих функционалов.

В качестве приближённого решения в прямоугольнике 1 \ 2 берётся выход лучшей сети, обучавшейся по области 1, в прямоугольнике 2 \ 1 – выход лучшей сети, обучавшейся по области 2, а в квадрате 1 2 – полусумма этих выходов.

Важным достоинством такого подхода, по сравнению с подходами I и II, оказалось существенное сокращение числа нейронов, требуемых для достижения такой же точности. Например, сеть из 32 нейронов даёт следующее решение, которое практически совпадает с точным решением:

0. 0. 0. 0. 0.2 0.4 0.6 0.8 Рис.4.9. Удовлетворение граничного условия на отрезке Можно модифицировать данный алгоритм, добавив к нему процедуру кластеризации ошибок – глава 2. На шаге 1 выбираем достаточно небольшое число базисных функций. После шага 3 осуществляем следующую процедуру:

1. Вычисляем ошибки z j = u ( x j, y j ) f k ( x j, y j ) на некотором множестве и лапласиан z j = u ( x j, y j ) в случайном точек {( x j, y j )}m=1 границы Ll из j k наборе точек {( x j, y j )}m=+m+1 внутри соответствующей области Ll.

M j 2. Производим кластеризацию точек {( x j, y j, z j )}m=+1M в соответствующем j трёхмерном пространстве.

3. Некоторое множество кластеров, соответствующих максимальным средним по кластеру ошибкам, приближаем соответствующими нейросетевыми функциями. При этом существенно используется локальный характер RB функций.

4. Получившиеся функции добавляем к основному набору в качестве одного из видов мутаций.

5. Повторяем основную процедуру необходимое число раз.

Легко видеть, что Подход IV практически не зависит от вида уравнения и от граничных условий. Замена уравнения Лапласа u = 0 на уравнение A(u ) = 0, которое может быть нелинейным дифференциальным, интегро дифференциальным и т.д., приводит только к замене первого слагаемого в функционале ошибки. Аналогичное замечание справедливо и для граничных условий.

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

Данный генетический подход легко адаптировать к распределённым вычислениям – см. главу 3. Наиболее естественный вариант возникает, если каждый коллектив сетей обучать в своём узле. При этом пересылаться между узлами должны только отдельные сети (набор весов и информация о структуре) или части сетей, предназначенные для скрещивания. Кроме того, пересылаться может некоторая информация, например, значения оптимизируемых функционалов. Если узлов мало, тогда в одном узле могут обучаться несколько популяций, между ними разумно реализовать более интенсивное скрещивание, чем между популяциями из разных узлов. Если узлов много, то на каждом из них можно размещать часть популяции или даже отдельные элементы. Это не слишком сильно скажется на скорости вычислений, в особенности, если сети большие, так как наиболее трудоёмкая операция – обучение сетей осуществляется локально.

Подход V. При этом подходе происходит обучение ансамбля сетей, по духу близкое идеям, предложенным в [195]:

Проводится декомпозиция области L – разбиение в некоторую 1.

конечную систему подобластей, покрывающую ее;

в рассматриваемой тестовой задаче это, например прямоугольники 1 \ 2 и 2 \ 1, а также квадрат 1 2. Можно делить область и на более мелкие части.

2. Обучается набор обычных сетей (4.2) минимизацией функционала J (u ), т.е. каждая сеть даёт приближённое решение для всей области L.

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

4. Выбранные сети доучиваются на своих подобластях с учётом аппроксимации решений в соседних подобластях. При этом функционал, который используется для обучения каждой сети, пополняется слагаемым, отвечающим за рассогласование значений на стыках. Другой вариант этого этапа заключается в совместном обучении всего коллектива, что даёт уменьшение ошибки, но затрудняет распараллеливание. В этом случае минимизируемый функционал (4.3) приобретает вид M M1 M J (u1, u2, u3 ) = u1 ( x j,1, y j,1 ) + u2 ( x j,2, y j,2 ) + u3 ( x j,3, y j,3 ) + 2 2 j =1 j =1 j =.

mk mk 8 u ( x jk, y jk ) f k ( x jk, y jk ) + k u p ( k ) ( xjk, yjk ) uq ( k ) ( xjk, yjk ) 2 k l (k ) k =1 jk =1 k =1 jk = Множества контрольных точек определяются следующим образом:

{( x j,k, y j,k )}M=k1 – внутри областей 1 \ 2, 2 \ 1 и 1 2 соответственно, j {( x jk, y jk )}mkk=1 – на частях k границы k = 1,...,6 области L, l (k ) – номер j подобласти, соответствующей данной части границы, {( xjk, yjk )}mkk=1 – на стыках j между соседними подобластями, p (k ) и q(k ) – номера подобластей, которым соответствует данный стык. Так же, как и в предыдущем подходе, эти тестовые множества обновляются после завершения каждого этапа обучения.

Получившийся коллектив сетей дает локальное представление для решения задачи во всей области, т.е. каждая сеть даёт решение в своей подобласти.

Этот подход позволил получить вполне приемлемую точность уже при использовании сети из 12 нейронов.

0. 0. 0. 0. 0.2 0.4 0.6 0.8 Рис.4.10. Удовлетворение граничного условия на отрезке 1 сетью, построенной с помощью коллектива сетей-экспертов Подход V без изменений распространяется на случай более сложных областей. Если рассматривается система уравнений, то каждой подобласти ставится в соответствие не одна лучшая сеть, а целый их набор – по одной сети для каждой неизвестной функции, поэтому затрудняется процедура перебора.

Если мы обучаем K сетей для каждой из r неизвестных функций, тогда для каждой подобласти придётся перебрать K r вариантов, т.е. вычислить значение соответствующего функционала и выбрать набор сетей, дающий ему минимальное значение. Даже при не слишком больших значениях K и r прямой перебор оказывается неосуществим, поэтому приходится искать другие методы, одним из которых может быть выбран генетический алгоритм. Такой алгоритм отличается от представленного в Подходе IV тем, что эволюционирующими индивидуумами являются наборы нейронных сетей, а не сами сети.

Так же, как и предыдущий, Подход V допускает достаточно простую и эффективную распределённую реализацию. Наиболее простой вариант такой реализации – обучать на каждом узле свой набор функций, который оказался лучшим на некотором подмножестве. При этом пересылать необходимо только информацию о поведении аппроксимации на стыках и только на те узлы, которым соответствуют области обучения сетей, стыкующиеся с областью для данного узла. Возможен также вариант, при котором одному узлу соответствует несколько наборов функций. Если узлов много, тогда можно обучать один набор на нескольких узлах, реализуя какой-либо распределённый алгоритм из главы 3.

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

5.1. Постановка задачи. Два нейросетевых подхода к решению Рассмотрим многокомпонентную систему, описываемую краевой задачей для нелинейного дифференциального уравнения в частных производных A(u ) = g, u = u (x), x R p в области составного типа = j : A = Aj, j j uj = u = g j ;

с краевыми условиями B (u ) = f на частях i границы,g j j = = i, определяемыми допустимыми операторами B = Bi и f = fi, i i i и условиями согласования компонент решения u j на участке kl стыка = Clk (ul ) подобластей k и l : Ckl (uk ). Функции, входящие в постановку kl kl задачи и коэффициенты операторов, могут быть разрывными, но на каждой из компонент j и i они непрерывны. Вместо одного уравнения может быть рассмотрена система уравнений.

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



Pages:     | 1 |   ...   | 4 | 5 || 7 | 8 |   ...   | 10 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.