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

Нейросетевые алгоритмы математического моделирования сложных систем с помощью вычислительных комплексов сверхвысокой производительности Текст научной статьи по специальности «Математика»

CC BY
336
201
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЙРОСЕТЕВОЙ АЛГОРИТМ / МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ / ВЫЧИСЛИТЕЛЬНЫЙ КОМПЛЕКС / СВЕРХВЫСОКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ

Аннотация научной статьи по математике, автор научной работы — Васильев Александр Николаевич, Тархов Дмитрий Альбертович

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

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

Похожие темы научных работ по математике , автор научной работы — Васильев Александр Николаевич, Тархов Дмитрий Альбертович

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

Текст научной работы на тему «Нейросетевые алгоритмы математического моделирования сложных систем с помощью вычислительных комплексов сверхвысокой производительности»

Васильев А.Н.1, Тархов Д.А.2

^анкт-Петербургский государственный политехнический университет, профессор,

a . п . vasilyev @gmail.com 2Санкт-Петербургский государственный политехнический университет, профессор,

[email protected]

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

КЛЮЧЕВЫЕ СЛОВА:

Нейросетевой алгоритм, математическое моделирование, вычислительный комплекс, сверхвысокая производительность.

АННОТАЦИЯ:

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

Решение задачи предсказательного моделирования

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

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

Другая проблема состоит в том, что дифференциальные уравнения, краевые (и иные) условия соответствуют моделируемому объекту, явлению или процессу приближённо. В инженерных приложениях точность дифференциальной модели 10-20% является обычным явлением. В такой

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

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

Отдельными проблемами являются параллелизуемость и масштабируемость рассматриваемых алгоритмов, что является необходимой предпосылкой для эффективной реализации их на супер-ЭВМ. Зачастую проблемы распараллеливания вычислительного процесса решаются на этапе программирования, хотя более эффективной представляется разработка и реализация заведомо параллелизуемых методов и алгоритмов.

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

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

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

Представленные в российской и зарубежной литературе методы сильно зависят от особенностей задачи - формы границ, наличия

нелинейных слагаемых, фазовых переходов, химических реакций и т.п. Наши методы [1-3,6,7] требуют только небольшой адаптации, позволяя учитывать конкретные особенности решаемой задачи и единообразно решать прямые, обратные задачи и задачи построения семейства решений, зависящих от параметра.

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

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

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

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

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

Пусть задан набор условий 1Ад (и1, и2,---, иг )| ^ = °}вч=1, где ^ - некоторое множество, на котором соответствующее условие должно быть выполнено, и, - неизвестные функции. Операторы Ач задают уравнения (обычно это дифференциальные уравнения в частных производных или их дискретная аппроксимация при рассмотрении метода сеток), а также граничные и другие условия - например, законы сохранения, уравнения состояния, требования симметрии или данные, полученные из опыта, а также иные требования к решению задачи. В процессе обучения операторы Ад могут изменяться, например, включая в рассмотрение вновь поступающую информацию, или при переходе от функционального к сеточному представлению и обратно.

Будем искать каждую неизвестную функцию в виде разложения:

= г = 1...г' подбирая веса - параметры и с.^ - путём

1=1

минимизации функционала ошибки, составленного из слагаемых вида

мч 2

7=1

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

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

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

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

В-третьих, можно применить один из алгоритмов, сочетающий подбор параметров модели и её структуры. Такой вариант позволяет получить наиболее точное и адекватное решение поставленной задачи. Ниже обсуждаются пять подходов такого рода (подробности и сам вид алгоритмов см. в [1,3]).

Подход I. Обобщённый алгоритм кластеризации ошибок

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

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

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

и их производные по весам сети, если реализуется градиентный алгоритм обучения. Время вычисления данных слагаемых и соответствующих производных может существенно отличаться, что открывает возможности для балансировки нагрузки путём пересылки исходных данных для вычисления Aq с «медленных» узлов на более «быстрые».

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

Подход II. Обобщённый метод Шварца

В этом случае существенно используется возможность декомпозиции

p

исходной области на подобласти: ^ = U ^Р . Сперва на каждой подобласти

p=i

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

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

Подход III. Использование идеологии метода группового учёта аргументов (МГУА)

Шаг 1. Для каждого условия выбираем некоторое множество наборов базисных функций.

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

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

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

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

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

Подход IV. Декомпозиция области. Специализированный генетический алгоритм (модификации)

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

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

Подход V. Обучение коллектива ИНС-моделей (сетей-экспертов)

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

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

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

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

Предлагаемый подход использует возможности

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

Литература

1. Васильев А.Н., Тархов Д.А. Нейросетевое моделирование. Принципы. Алгоритмы. Приложения. - СПб.: Изд-во СПбГПУ 2009. - 528 с.

2. Тархов Д.А. Нейронные сети: модели и алгоритмы. Кн.18. - М.: Радиотехника, 2005. - 256 с.

3. Васильев А.Н., Осипов В.П., Тархов Д.А. Унифицированный процесс построения иерархии нейросетевых моделей и проблема адекватности в математическом моделировании// «Нейрокомпьютеры»: разработка, применение. - М.: Радиотехника, 2010. - №7. - С.20-28.

4. Тархов Д.А. Нейронные сети как средство математического моделирования// «Нейрокомпьютеры»: разработка, применение. - М.: Радиотехника, 2006. - №2. - С.3-48.

5. Manoj K., Neha Y. Multilayer perceptrons and radial basis function neural network methods for the solution of differential equations: A survey// Computers and Mathematics with Applications, 2011, vol. 62. — Issue 10. — P. 3796-3811

6. Васильев А.Н. Новые нейросетевые подходы к решению краевых задач в областях, допускающих декомпозицию// «Нейрокомпьютеры»: разработка, применение. - 2006. -№7. - С.32-39.

7. Тархов Д.А. Нетрадиционные генетические алгоритмы декомпозиции и распределения при решении задач математической физики с помощью нейронных сетей// «Нейрокомпьютеры»: разработка, применение. - 2006. - №7. - С.40-47.

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