А.Н.ВАСИЛЬЕВ, Д.А.ТАРХОВ Санкт-Петербургский Государственный Политехнический Университет a.n.vasilyev@gmail.com, dtarkhov@hotbox.ru НЕКОТОРЫЕ ЭВОЛЮЦИОННЫЕ ПОДХОДЫ К НЕЙРОСЕТЕВОМУ РЕШЕНИЮ ЗАДАЧ МАТЕМАТИЧЕСКОЙ ФИЗИКИ В данной статье авторы модернизируют свои подходы к численному решению задач математической физики с помощью нейронных сетей так, чтобы они могли применяться в распределённых вычислениях. В частности, представлены генетические и эволюционные варианты алгоритмов. Наши подходы [1,2] для областей, допускающих декомпозицию, обсуждаются на примере следующей модельной задачи. Рассмотрим краевую задачу для уравнения Лапласа на плоскости: u u( x, y) удовлетворяет уравнению min( x, y) d a; u 0 в области на участках границы L L R2 : 0 x, y a , 6 k функция u k 1 удовлетворяет условиям Дирихле: u f k . k Подход I. Для приближенного решения задачи используем нейросетевую аппроксимацию: ищем u( x, y) как выход нейронной сети N u ( x, y) ci ( x, y; ai ), (*) i 1 веса которой – линейно входящие параметры ci и нелинейно входящие параметры a i – находятся в процессе поэтапного обучения сети, построенном на минимизации некоторого функционала ошибки J (u) . В качестве нейросетевых базисных функций могут использоваться Гауссовы пакеты: «круглые» экспоненты ( x, y; xi, yi, ai ) exp{ai [( x xi) 2 ( y yi) 2 ]}, «эллиптические» экспоненты ( x, y; xi, yi, ai , bi , ci ) exp{ai ( x xi) 2 bi ( x xi)( y yi) ci ( y yi) 2 }, функции Коши ( x, y; xi, yi, ai ) {1 ai [( x xi) 2 ( y yi) 2 ]}1 , или ( x, y; xi, yi, ai , bi , ci ) {1 ai ( x xi) 2 bi ( x xi)( y yi) ci ( y yi) 2 }1 , фундаментальные решения ( x, y; xi, yi) ln[( x xi) 2 ( y yi) 2 ] , и другие функции. Функционал ошибки J (u) выберем в такой форме, которая допускает обобщения на случай нелинейных уравнений с комплексными коэффициентами M 6 Mk k 1 jk 1 J (u) u( x j , y j ) k u ( x jk , y jk ) f k ( x jk , y jk ) , 2 j 1 2 Первое слагаемое в функционале отвечает за удовлетворение уравнению, следующие слагаемые, входящие со штрафными множителями k 0 , отвечают за удовлетворение краевым условиям на соответствующих участках границы; условия проверяются на множествах контрольных точек: внутри области L – {( x j , y j )}Mj 1 , на частях k границы – {( x jk , y jk )}Mjk k1 , k 1,...,6. Эти тестовые множества перегенерируются после завершения каждого этапа обучения (прохождения определенного числа шагов в процессе минимизации функционала). Такой подход уже применялся авторами ранее и приводил к положительным результатам [1,2]. В этой работе рассмотрены и иные подходы. Подход II. Заметим, что L представляет собой объединение областей простой формы (прямоугольников) L1 : (0; a) (0; d ), и L2 : (0; d ) (0; a), с непустым пересечением L1 L2 (0; d ) (0; d ). Тип уравнения и структура области позволяют провести процедуру распараллеливания задачи на основе следующей модификации известного метода Шварца. С точки зрения методологии нейронных сетей эта декомпозиция задачи выглядит следующим образом: 1. подобно тому, как это было реализовано при подходе I для всей сложной области L , в каждой из подобластей L1 и L2 строим свою нейросетевую аппроксимацию для решения u1 и u2 соответственно, используя при задании соответствующего функционала ошибки краевые условия лишь на части границы – контрольные множества точек берутся на границе пока лишь там, где известны краевые условия; 2. после определенного числа этапов обучения каждой из нейронных сетей возникают приближения для неизвестной части краевых условий; 3. происходит обмен данными – в каждый из функционалов ошибки вводятся дополнительные слагаемые, обусловленные информацией о решении на той части границы подобластей L1 и L2 , на которых они не заданы (классический вариант метода Шварца) или на L1 L2 (что даёт более гладкую стыковку); этой информацией является решение, построенное на другой подобласти; 4. процедура вычислений повторяется заданное число раз или до достижения уровня требуемой точности. Подход III. При этом подходе используется идеология МГУА [3,5]. Одним из простейших вариантов может быть следующий многорядный алгоритм: 1. берем некоторый набор случайно заданных центров сети ( xi, yi) и параметров ai ; 2. рассматриваем парные линейные комбинации нейросетевых функций и подбираем веса ci для каждой подобласти (прямоугольника) Ll отдельно; 3. выбираем пары, дающие минимальное рассогласование в L1 L2 ; 4. повторяем шаги 2 и 3 с получившимися функциями. В более изощренном варианте можно подбирать не только коэффициенты ci , но и другие веса сети, причем отбор проводить можно и не по области L1 L2 , а по другому прямоугольнику. Заметим, что, используя разные типы функций , мы можем строить на этом пути гетерогенные сети различной архитектуры. Можно модифицировать данный алгоритм, добавив к нему процедуру кластеризации ошибок. На шаге 1 выбираем достаточно небольшое число базисных функций. После шага 3 осуществляем следующую процедуру: 1. вычисляем ошибки z j u ( x j , y j ) f k ( x j , y j ) на некотором множестве точек {( x j , y j )}mj 1 границы Ll z j u ( x j , y j ) в случайном наборе точек из k и лапласиан m M j m 1 {( x j , y j )} внутри соответствующей области Ll ; 2. проводим кластеризацию точек соответствующем трёхмерном пространстве; {( x j , y j , z j )}mj 1M в 3. некоторое множество кластеров, соответствующих максимальным средним по кластеру ошибкам, приближаем соответствующими нейросетевыми функциями; 4. получившиеся функции добавляем к основному набору; 5. повторяем основную процедуру необходимое число раз. Подход IV. При этом подходе происходит обучение ансамбля сетей, по духу близкое тому, как это делалось в [4,5]: 1. проводится декомпозиция сложной области L – разбиение в некоторую конечную систему подобластей, покрывающую ее; 2. обучается набор обычных сетей, порождающих решение для всей области L ; 3. для каждой подобласти выбирается сеть, дающая наилучший результат; 4. выбранные сети доучиваются на своих подобластях с учётом уже полученной аппроксимации решений в соседних подобластях; 5. получившийся коллектив сетей дает локальное представление для решения задачи во всей области. Подход V. Здесь используются идеи эволюционного обучения: 1. в случае области L обучаем два коллектива из K сетей каждый: один обучаем по области L1 , другой – по области L2 ; 2. выбираем лучшие нейронные сети в числе K1 K , исходя из минимума ошибки по другой области; 3. производим случайные мутации сетей, вероятность которых тем больше, чем больше ошибки по своей и по чужой области (например, сумма ошибок); эти мутации могут быть разного типа: удаление слагаемого в сумме (*) с минимальным коэффициентом ci или удаление случайно выбранного слагаемого; добавление функции i со случайным центром ( xi, yi) и параметром ai ; случайное изменение центров ( xi, yi) и параметром ai на некоторое значение и т.д.; 4. делаем случайные транслокации – например, симметрично отражая центры ( xi, yi) или обменивая коэффициенты ci у двух поднаборов функций; 5. проводим скрещивание – берем две сети из лучших K 2 K1 и часть функций берем от одной сети, часть – от другой сети, при этом часть потомков производится от сетей одной популяции, часть – от разных; этими потомками дополняем каждую популяцию до K ; 6. повторяем предыдущие шаги определенное число раз. Численный эксперимент показал весьма хорошее совпадение точного решения модельной задачи (полученного при выборе краевых условий: f1 ( x) sin( x a) , f 2 ( y) f1 ( y) , fi 0, i 3, 4,5, 6 ) и нейросетевых аппроксимаций решения, найденных на основе предложенных нами подходов. При этом уже сеть из 32 нейронов, построенная на основе генетического алгоритма (подход V) дает решение, практически совпадающее с точным (Рис.1), и даже использование сети из 12 нейронов (обучение ансамбля сетей-экспертов на основе подхода IV) дает вполне приемлемую точность (Рис.2). 1 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1 Рис.1 Удовлетворение граничного условия на отрезке 1 (подход V) 1 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1 Рис.2 Удовлетворение граничного условия на отрезке 1 (подход IV) Предложенные подходы легко распространяются на случай более сложных уравнений и граничных условий – для этого достаточно внести соответствующие изменения в функционал J (u) . Линейность уравнения или краевых условий не является принципиальной при данных подходах. Обсудим обобщение на случай более сложных областей и системы уравнений. Подход I не зависит от формы области L , однако усложнение этой формы приводит к трудности выбора начальных приближений для весов сети, увеличению требуемого числа функций для достижения заданной точности решения и соответствующем замедлении процесса нелинейной оптимизации. Рассмотрение системы уравнений также не приводит к принципиальным изменениям алгоритма, достаточно только взять соответствующее число функций ui вида (*) и сформировать функционал ошибки J J (u1 , u2 ,...) . Процедура декомпозиции области, на которую опирается подход II, может быть проведена и в случае областей более сложной формы, просто область разбивается на большее число компонент. Распространение на системы уравнений также не вносит существенных изменений, если процедуру согласования производить для каждой из неизвестных функций по отдельности. Расчет весов нейросетевых решений для подобластей и обмен данными при построении решения во всей области может быть реализован в рамках grid-технологий. При этом решение для каждой подобласти подбирается на своём компьютере с учётом аппроксимаций решений на пересечении с соседними областями, информация о которых пересылается время от времени с соответствующих компьютеров. Реализация подхода III в случае разбиения области L на большее число подобластей может быть проведена различными способами, опишем наиболее простые из них. Можно на каждом шаге выбирать парные комбинации функций. При этом либо каждая пара функций должна соответствовать паре пересекающихся областей, тогда лучшие нейросети выбираются по минимуму функционала по пересечению, либо области не обязаны пересекаться, тогда минимум берётся по той области, по которой коэффициенты не подбирались. Возможно использование линейных комбинаций с большим числом слагаемых, наиболее разумным представляется взять слагаемых столько, сколько подобластей. Обобщение на случай систем уравнений не вызывает особых трудностей: Пусть задан набор условий Aq (u1 , u2 ,..., ur ) q 0 Q q 1 , где q - некоторое множество, на котором соответствующее условие должно быть выполненным, u s - неизвестные функции. Операторы Aq могут задавать уравнения, а также граничные и иные условия – например, законы сохранения или данные, полученные из опыта. К рассматриваемой задаче можно применить некоторый вариант многорядного алгоритма МГУА. На каждом этапе обучения часть условий может быть использована для подбора весов обучаемой нейронной сети, а часть – для выбора наилучших функций. Разумно эти части менять от этапа к этапу. При реализации распределённых вычислений проще всего, так же как и для подхода II, каждой подобласти сопоставить свой узел, однако возможны и иные варианты. Если число подобластей существенно больше числа компьютеров, то имеет смысл сопоставить одному компьютеру несколько близких подобластей, если, наоборот, существенно меньше, то имеет смысл на разных компьютерах подбирать структуру части неизвестных функций в своих подобластях. Подход IV без изменений распространяется на случай более сложных областей. Если рассматривается система уравнений, то каждой подобласти соответствует не одна лучшая сеть, а целый их набор – по одной сети для каждой неизвестной функции, поэтому затрудняется процедура перебора. Подход V характеризуется наибольшим разнообразием возможных вариантов обобщения на случай сложной области и системы уравнений – и рамки статьи не позволяют их отразить. Существенным обобщением является приложение рассмотренных подходов к построению математической модели в виде уравнения в частных производных A(u) f , B(u) g , по данным измерений. Коэффициенты такой модели определяются как некоторые нейросетевые функции. В частности, в классе нейросетевых функций можно подбирать коэффициенты операторов A(u ) , B (u ) , функции f , g а также функцию, которая задаёт границу . Аналогично рассматривается набор условий. Многорядный алгоритм построения многослойной модели с частными производными практически не отличается от рассмотренного выше, только на каждом ряду селекции следует рассматривать модели вида yl 1 wi yi ,l w j y j ,l w , k ( yk ,l ) wp , k ( yk , l ) , x p где - некоторая нелинейная активационная функция (например, сигмоидного типа), коэффициенты w - искомые нейросетевые функции. Можно также рассмотреть и временную модель с частными производными, и задачу управления объектом, который можно описать такой моделью, однако принципиальных изменений по сравнению с приведёнными выше рассуждениями решение задач такого рода не имеет. Список литературы 1. 2. 3. 4. 5. А.Н.Васильев, Д.А.Тархов, «Нейросетевые подходы к решению краевых задач в многомерных составных областях», Известия ТРТУ. 2004, №9. А.Н.Васильев, Д.А.Тархов, «Нейронные сети как новый универсальный подход к численному решению задач математической физики», Нейрокомпьютеры: разработка, применение. М.: Радиотехника, 2004, №7-8. А.Г.Ивахненко, Ю.П.Юрачковский, «Моделирование сложных систем по экспериментальным данным». – М.: Радио и связь, 1987. Л.А.Растригин, Р.Х.Эренштейн, «Метод коллективного распознавания». – М.: Энергоиздат, 1981. Д.А.Тархов, Научная серия «Нейрокомпьютеры и их применение», книга 18 - «Нейронные сети. Модели и алгоритмы». – М.: Радиотехника, 2005.