автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Разработка, исследование и реализация алгоритмов программного комплекса "Нейроматематика"

кандидата физико-математических наук
Коробкова, Светлана Викторовна
город
Москва
год
2008
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка, исследование и реализация алгоритмов программного комплекса "Нейроматематика"»

Автореферат диссертации по теме "Разработка, исследование и реализация алгоритмов программного комплекса "Нейроматематика""

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ _им. М.В. Ломоносова_

Факультет вычислительной математики и кибернетики

На правах рукописи

Коробкова Светлана Викторовна

РАЗРАБОТКА, ИССЛЕДОВАНИЕ И РЕАЛИЗАЦИЯ АЛГОРИТМОВ ПРОГРАММНОГО КОМПЛЕКСА «НЕЙРОМАТЕМАТИКА»

Специальность 05.13.11 - математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук

1*!1!Р

Москва-2008

Работа выполнена на кафедре автоматизации систем вычислительных комплексов факультета вычислительной математики и кибернетики Московского государственного университета имени М В. Ломоносова

Научные руководители:

доктор технических тук профессор Галушкин Александр Иванович

кандидат физико-математических наук доцент Попова Нина Николаевна

Официальные оппоненты.

Член корреспондент РАН доктор физико-математических наук профессор Четверушкин Борис Николаевич

доктор физико-математических наук профессор Тархов Дмитрий Альбертович

Ведущая организация.

Институт прикладной математики им MB Келдыша

Российской академии наук

Защита состоится 25 апреля 2008 г. в II00 на заседании диссертационного совета Д 501.001.44 в Московском государственном университете имени М.В. Ломоносова по адресу- 119991, Москва, Ленинские горы ГСП-2, МГУ, факультет вычислительной математики и кибернетики, ауд 685

С диссертацией можно ознакомиться в библиотеке факультета ВМиК МГУ С текстом автореферата можно ознакомиться на официальном сайте ВМиК МГУ им М.В. Ломоносова http://www.cmc.msu.ru в разделе «Наука» - «Работа диссертационных советов» ~ «Д 501 001.44»

Автореферат разослан&C/Ûjb7&_ 2008 г.

Ученый секретарь диссертационного совета профессор

_Трифонов Н.П.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

1. Актуальность исследования

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

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

Основное внимание при рассмотрении нейросетевого подхода к решению задач, как правило, уделяется различным алгоритмам нейросетевой обработки Теоретические аспекты нейросетевой обработки данных активно изучаются как в России, так и за рубежом В данной работе рассмотрены вопросы реализации методов нейросетевой обработки данных и методов построения программных средств на их основе,

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

Предлагаемые в диссертационной работе методы построения нейросетевых программных систем реализованы на примере программного комплекса «Нейроматематика»

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

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

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

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

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

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

Предлагаемые и реализованные в рамках программного комплекса «Нейроматематика» метода направлены на повышение эффективности его работы

2. Цели и задачи исследования

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

3 Объект исследования

Объектом исследования являются программные комплексы, ориентированные на нейросетевую обработку данных

4. Предмет исследования

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

• Формирование обучающей выборки для задачи, в частности, методы работы с малой выборкой,

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

• Эффективная реализация нейросетевых алгоритмов на параллельных вычислительных системах и графических платах

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

5. Методологическая и теоретическая основа исследования

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

6. Информационная база исследования

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

1 Решение задач в нейросетевом логическом базисе /Галушкин А И //Нейрокомпьютеры

разработка, применение -2006 -N¡2 -0 49-70 -Виблиогр 7назе

7. Научная новизна исследования

• Предложен новый подход к построению программных комплексов, ориентированных на нейросетевую обработку данных В рамках предложенного подхода разработан программный комплекс «Нейроматематика»

• Разработаны новые методы и алгоритмы, направленные на повышение эффективности нейросетевой обработки данных

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

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

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

• Разработаны алгоритмы я модули для решения практических задач определения гранулометрического состава окомкованного материала и задач аэродинамики

8 Практическая значимость работы

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

9 Апробация результатов исследования

Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях и семинарах

• 5-я Международная научно-техническая Конференция и Выставка Цифровая обработка сигналов и ее применения, DSPA'2003, Москва, Россия, март 2003,

• XLVI Научная конференция МФТИ, 2003,

• б-я Международная научно-техническая Конференция и Выставка Цифровая обработка сигналов и ее применения, DSPA'2004, Москва, Россия, март 2004,

• 11ая Международная конференция по нейронной обработке информации, ICONIP'2004, Калькутта, Индия, ноябрь 2004,

• An IEEE sponsored international conference on Artificial Intelligence Systems, Divnomorsk 2005,

• XLVIII Научная конференция МФТИ, Москва, 2005,

• Международный семинар по струйным, отрывным и нестационарным течениям. Санкт-Петербург, Россия, июнь 2006,

• International Joint conference on Neural Networks, IJCNN 2006, Vancouver, Canada, July 2006,

• 9-я Международная научно-техническая Конференция и Выставка Цифровая обработка сигналов и ее применение - DSPA-2007, март 2007,

• XV Международная Конференция по вычислительной механике и современным прикладным системам, ВМСППС 2007, Украина, Алушта, май 2007,

• International Joint conference on Neural Networks, IJCNN'07, Orlando, USA, August 2007,

• Российско-ирландская летняя школа по научным вычислениям, Москва-Ирландия, август 2007,

• Научная конференция Тихоновские чтения, Москва октябрь 2007

10. Перечень базисных положений, выносимых на защиту

На защиту выносятся следующие положения

• Методы построения программных средств для решения задач большой размерности на основе нейросетевого подхода и разработка программного комплекса «Нейроматематика»

• Методы работы с малой выборкой при обучении нейронных сетей

• Методы задания начальных условий при обучении нейронных сетей

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

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

11. Краткое описание структуры диссертационной работы

Диссертационная работа содержит введение, три главы, заключение, приложение, библиографию работ по теме диссертации Диссертация содержит 55 рисунков и 11 таблиц Общий объем диссертации составляет 104 страницы

СОДЕРЖАНИЕ РАБОТЫ

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

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

Вторая часть - вторая глава посвящена новым алгоритмам нейросетевой обработки информации, используемым в программном комплексе «Нейроматематика» и позволяющим повысить точность и сократить время решения задач

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

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

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

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

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

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

- ядро программного комплекса

- модули решения практических задач (РПЗ).

Каждая составляющая часть программного комплекса, как ядро, так и модули решения практических задач, предлагается строить по технологии клиент-сервер (структура программного комплекса представлена на рис. 1)._

Программный комплекс

Модули решения практических задач Яд DO

Библиотеки ! Модули

Клиент интерфейс модуля библиотека визуализации Модуль управления программным комплексом

библиотека ввода-вывода Модуль управления | параллельными 1 процессами

библиотека компонеш интерфейса |

■ Î.. ' : - Сервер ' ' ' • - у;,". /-- • ; „ ;.. • . • - . V - репликация злгчэрюба решения пракитческ-чй зааачи оиошюгека .] нейросетевых ! алгоритмов | г i j - • ■

библиотека ~ аттрятф поддержки вычислений j

биб.шгсчека j математгпескгк. | оеьектов J

Рис. 1 Предлагаемая структура нейросетевого программного комплекса

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

При разработке программного комплекса «Нейроматематика» по предложенной методике был использован объектно-ориентированный подход, с использованием механизма виртуальных функций. Основным языком программирования был выбран язык С++, для реализации дополнительных возможностей распараллеливания на кластерные вычислительные системы использован интерфейс передачи сообщений MPI и механизм сокегов, для распараллеливания алгоритмов на графических платах - язык Cg и библиотека OpenGL.

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

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

1) формирование обучающей и тестирующей выборки (для решаемой задачи),

2) задание адекватных начальных условий,

3) параллельная реализация нейросетевых алгоритмов

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

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

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

1) случайная генерация дополнительных примеров с математическим ожиданием в виде составляющих исходной малой выборки и различной дисперсией;

2) метод настройки коэффициентов нейронной сети, основанный на делении выборки на подвыборки,

3) комбинированный метод усреднение результатов настройки по множеству вариантов методов а) и б)

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

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

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

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

За основу параллельной реализации нейросетевых алгоритмов в данной работе выбраны клеточные нейронные сети2

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

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

п

каждый процессорный элемент должен производить вычисления подобласти из пхпх~^

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

п

отдельном шаге для отдельного процессорного элемента составит Лхлхях~ операций

Учитывая, что в каждом нейроне хранится N значений типа float, то на каждом шаге

требуется передавать Nxnxn значений с плавающей точкой Следовательно, время

расчета одного шага (для процессора выполняющего Num_opx 109 операций в секунду)

f п Кхпхпх—

составит не менее _М секунд, а время передачи информации (для кластера,

Num_opxKf

ЫхпхпхЪ2

организованного на Gigabyte Ethernet, состоящего из L узлов) составит --

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

Кхпхпх — д» -- Кхпхпхп

_ М . ^„-jvxrcxnxjz и —9 секунд, те при увеличении количества

Num_opx 109 109

КхпхМ

процессорных элементов в Мраз достигается ускорение работы в £xn+io4 *-М

исследуемой системы из 16 процессоров, при расчете области общей размерностью 1024х 1024x1024; при J5T = 100 было получено семикратное ускорение

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

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

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

1) Метод флага Чтобы минимизировать количество передаваемой информации можно ввести дополнительную переменную, отвечающую за состояние границы В случае, если нулевой процесс не изменял правую границу области, то ее пересылка первому процессу не требуется Пусть значение переменной nght_border_state = 1

2 ChuaL O, YangL Cellular Neural Networks Theory // IEEE Transactions on Circuits and Systems -

1988, vol 35 -No 10 -P 1257-1272

означает, что значения нейронов на границе не были изменены, а значение 0, что хотя бы один из этих нейронов был изменен Тогда перед передачей границы будем пересылать значение этой переменной соседнему процессу Дальнейшая пересылка данных будет происходить, только если nght_border_state = О

2) Метод экстраполятор Еще одним способом минимизации пересылаемой информации является введение на границе блока прогнозирования Данный блок по предыдущему (или по значениям в течение нескольких предыдущих итераций) значению нейронов границе выдает значение данных нейронов на следующей итерации Тогда можно осуществлять пересылку граничных значений один раз для нескольких итераций счета для корректировки прогнозных значений Данный блок может быть реализован с использованием алгоритмов прогнозирования разной степени точности - линейных, полиномиальных или нейросетевых с возможностью дообучения в процессе работы

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

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

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

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

Задача определения гранулометрического состава окомкованного материала состоит в том, чтобы по информации, взятой с поверхности заданного набора, определить гранулометрический состав (грансостав) - весовое содержание шарообразных тел в каждой из 6-ти категорий, определяемых размером

Решение данной задачи показано при определении гранулометрического состава окомкованного материала в процессе обработки руды на горно-обогатительном комплексе.

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

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

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

При решении аэродинамических задач исследованы проблемы прогнозирования параметров среды в случае эжекции при обтекании крыла самолета на большой скорости и задача прогнозирования ветровой обстановки в застроенных кварталах. Для решения данных задач разработаны модули программного комплекса «Нейроматематика» «Эжекция» и «Ветер».

Исходными данными для решения задач аэродинамики являются:

- описание геометрии крыла (и, возможно, фюзеляжа) или геометрия зданий для задачи прогнозирования ветровой обстановки;

- описание физических и химических свойств набегающего потока и эжектируемых струй;

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

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

Рис. 3 Структура нейронной сети для решения двумерной задачи.

На рис 3 представлен вариант нейронной сети для решения двумерной задачи Для нее входом каждого нейрона является вектор X = [xt]} = {(!/ V Е Р р /)..}, где U,V -скорости газа в данной ячейке по направлениям х и у соответственно, Е - полная энергия газа в данной ячейке, Р - давление газа в данной ячейке, р - плотность газа в данной ячейке, у - значение адиабаты газа в данной ячейке На выходе получаются те же значения, рассчитанные через заданный промежуток времени F = }={(£/ V Е Р р } Для каждого нейрона первого или второго слоя производятся следующие преобразования - суммирование

( + Щ-1р,-\Л (wJ+iP-j+I + wJ-IPU-■)

Speedr | + Speedi | , Speedu | + Speedd | ,

Где - веса, Speed тдт - вектор скоростей в ячейке соответствующей индексу

(правой, левой, верхней или нижней ячейке) Функция активации нейрона первого слоя представлена следующей формулой

- ' а

Speed с--У i

Рс

, -с s.-f-tZ.*!,)

JA„~ РС

Рс Рс

Ус

Функция активации нейронов второго слоя выражается следующей формулой

/ ~ \

'Speed,Л /■

Ее

Рс

Рс

Ус

\ X ) \

Л

' Speed

Ес

Рс

Рс

Ус

К X ,

Speedc

-I.

Рс

ФЛУс~ 1) Рс Ус

где в - удельная внутренняя энергия газа в данной ячейке

Данная постановка легко переносится на трехмерный случай добавлением третьей компоненты скорости Входом нейронной сети является вектор 5 = V Ш Е Р р г\к}, а выходом -

7 = } = {(¡7 V Ж Е Р р у)1]к}, где 1¥- скорость газа в направлении оси г

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

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

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

окатышей каждого класса способны определить размер окатыша, начиная с 60% его видимой площади Как можно видеть из Таблицы 1, точность такого алгоритма, определяющего грансостав по телам с видимыми 60% площади, сильно уступает нейросетевому алгоритму, результаты обработки которым приведены в Таблице 2

Таблица 1 Среднеквадратическая ошибка определения грансостава методом расчета линейных размеров в зависимости от процента видимой площади тела, требуемой для точного определения диаметра окатыша

Категория +18мм 18+16мм 16+14мм 14+10мм 10+5мм 5мм

Требуемый процент видимой площади

10% 4 63 1 91 1 98 2 68 2 51 1 18

20% 5 14 2 23 2 23 3 07 2 75 1 46

30% 5 63 2 57 2 62 3 50 2 84 1.84

40% 6 13 2 74 2 77 3 79 2 95 213

50% 6 80 2 98 2 99 418 3 05 2 54

60% 7 53 3 37 3 45 4 60 3 16 3 17

70% 8 46 3 68 3 84 5 14 3 34 3 71

80% 10.13 4 39 4 58 5 94 3 73 4 85

90% 13 03 5 27 5 93 7 21 5 22 6 60

100% 24 96 10 10 10 12 10 79 9 35 811

Таблица 2 Среднеквадратическая ошибка аппроксимации гранулометрического состава окомкованного материала разработанным методом на тестовой выборке

+18мм 18+16мм 16+14мм 14+10мм 10+5мм 5мм

2 36 3 16 3 19 2 55 1 98 1 28

При решении задач аэродинамики результаты расчета аэродинамических задач с помощью модулей «Ветер» и «Эжекция» полностью совпадают либо различаются не более чем на 0 01% от результатов расчета тех же задач при помощи пакета Gas Dynamics Tool, который был принят за эталонный

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

50 'ъГ у Ф Время счета с помощью комерческого пакета (один узел)

\

ез Ь У V к 30 S о ¿С \ Время счета на кластере с помощью пакета \ "Нейроматематика"

\ Время счета с помощью пакета "Нейроматематика" -

Nv<r-~-- один узел с графическим ускорителем (nVidia 7800GT)

о Оценка времени'счета'длЯ"*--------»—х__( nVidia 8800 GTX

1 2 о 4 5 Б 7 В 0 10 11 12 13 14 15 18

Количество узлов кластера

Рис. 4 Время расчета задачи прогнозирования ветровой обстановки в застроенных кварталах (здание сиднейской оперы)

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

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

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

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

■ Методы параллельной реализации нейросетевых алгоритмов для нейронных сетей прямого распространения и клеточных нейронных сетей в применении к кластерным вычислительным системам и графическим платам

• На основе предложенного подхода, разработанных методов и алгоритмов реализован программный комплекс «Нейроматематика» Решение практических задач (определение гранулометрического состава окомкованного материала, исследования аэродинамических параметров среды и другие) с использованием разработанных средств подтвердило эффективность предложенных методов и разработанных программных средств

ПУБЛИКАЦИИ

1 Замараев Б А, Коробкова С В Применение нейронных сетей для прогнозирования квартальной динамики ВВП //Труды 5-ой Международной научно-технической Конференции и Выставки Цифровая обработка сигналов и ее применения, DSPA'2003 - М Издательское предприятие редакции журнала «Радиотехника»,

2003 г, стр 594-599

2 Коробкова С В Решение задачи экстраполяции временного ряда в нейросетевом логическом базисе //Труды XLVI Научной конференции МФТИ - Издательство МФТИ,2003 г,стр 110-111

3 Galushkm АI, Kazantsev Р А, Korobkova S V Neuromafhemafacs Development tendencies //Applied and Computational Mathematics v 2, №1 - Elsevier, 2003 г, стр 57-64

4 Кацин А С, Куравский Л С, Коробкова С В Нейросетевой алгоритм классификации в условиях малой выборки в задаче контроля усталостного разрушения тонкостенных конструкций //Труды б-ой Международной научно-технической Конференции и Выставки Цифровая обработка сигналов и ее применения, DSPA'2004 - М Издательское предприятие редакции журнала «Радиотехника», 2004 г, стр 214-218

5 Галушкин АИ, Куравский Л С, Кацин АС, Коробкова С В Neural network classification algorithm for the small size training set situation m the task of thm-walled constructions fatigue destruction control // Труды 11ой Международной конференции по нейронной обработке информации, ICONIP'2004 - Germany Sprmger-Verlag,

2004 г, стр 1279-1284

6 Коробкова С В Проблема малой выборки в решении задач распознавания образов //Журнал Нейрокомпьютеры разработка и применение № 1-2 - Издательство «Радиотехника», 2005 г, стр 34-39

7 Коробкова С В, Томашевич Н С Система распознавания микробиологических объектов на изображении с помощью нейронных сетей // Журнал Нейрокомпьютеры разработка и применение № 1-2 - Издательство «Радиотехника», 2005 г, стр 56-61

8 Казанцев П А, Лодягин А М, Коробкова С В Нейросетевое распознавание гранулометрического состава шарообразных тел и его сравнение с линейными методами //Материалы международной научно-технической конференции Интеллектуальные и многопроцессорные системы, том 2 - Таганрог Издательство ТРТУ, 2005 г, стр 251-257

9 Коробкова С В Анализ методов решения задач аппроксимации и экстраполяции функций //Материалы международной научно-технической конференции Интеллектуальные и многопроцессорные системы, том 2 - Таганрог Издательство ТРТУ, 2005 г, стр 263-265

10 Казанцев П А, Галушкин А И, Коробкова С В Маршрут проектирования нейросетевого приложения //Труды XLVIII Научной конференция МФТИ - -Издательство МФТИ, 2005 г, стр 14-15

И Казанцев ПА, Лодягин AM, Коробкова С В Применение нейросетевого распознавания гранулометрического состава набора шарообразных тел на производстве //Труды XLVIII Научной конференция МФТИ - Издательство МФТИ, 2005 г, стр 32-33

12 Коробкова С В Проблемы эффективной аппроксимации многомерных функций с помощью нейронных сетей //Известия ТРТУ Тематический выпуск Перспективные системы и задачи управления № 3 (58) - Таганрог Издательство ТРТУ, 2006 г, стр 121-127

13 Коробкова С В, Аляутдинов М А, Воронков И М, Галушкин А И, Казанцев П А, Лодягин AM, Остапенко ГП, Скрибцов ПВ Пакет программ для решения инженерных задач с плотными системами уравнений и сверхбольшим числом неизвестных на базе нейросетевых технологий //Материалы VI Международной Конференции по неравновесным процессам в соплах и струях (NPNJ-2006) - Спб Вузовская книга, 2006 г, стр 347-352

14 Galushkm АI, Kazantsev Р А, Korobkova S V., Lodyagm А М, Panteleev S.V Neural Network Recognition of Spherical Bodies Set Grain-Size Distribution Using Envelope of Surface //Труды международной совместной конференции по нейронным сетям IJCNN'2006 - IEEE Press, 2006 г, стр 4849-4856

15 Коробкова С В Решение задач аэродинамики с помощью клеточных нейронных сетей //Труды 9-ой Международной научно-технической Конференции и Выставки Цифровая обработка сигналов и ее применение - DSPA-2007 - М Издательское предприятие редакции журнала «Радиотехника», 2007 г, стр 531-534

16 Аляутдинов М А , Вронков И М, Галушкин А И , Казанцев П А , Коробкова С В , Лодягин AM, Остапенко ГП, Скрибцов ПВ Пакет «Нейроматематика» для решения сложных прикладных математических задач с использованием нейронных сетей // Труды XV Международной конференции по вычислительной механике и современным прикладным системам (ВМСППС'2007) - М Вузовская книга, типография «Знак почета» издательства МГУ, 2007 г, стр 46-47

17 Alexanderl Galushkin, Pavel V Sknbtsov, Pavel А Kazantsev, Svetlana V Korobkova, Iha M Voronkov «Neuromathematics» - Open platform to accelerate complex applied math problems solutions using neural network algorithms // Труды международной совместной конференции по нейронным сетям IJCNN'07 - IEEE, 2007 г , № 1314

18 Коробкова С В , Аляутдинов М А, Воронков И М., Галушкин А И, Казанцев П А, Лодягин А М, Остапенко Г П, Скрибцов П В Решение сложных прикладных математических задач с использованием нейросетевых алгоритмов Пакет «Нейроматематика» (часть 1) //Журнал «Современная электроника» - Издательство «СТА-ПРЕСС», №1, 2008 г стр 72-75

19 Коробкова С В , Аляутдинов М А , Воронков И М , Галушкин А И, Казанцев П А , Лодягин А М , Остапенко Г П, Скрибцов П В Решение сложных прикладных математических задач с использованием нейросетевых алгоритмов Пакет «Нейроматематика» (часть 2) //Журнал «Современная электроника» - Издательство «СТА-ПРЕСС» №2,2008 г стр 70-73

20 Патент на изобретение № 2300753 Галуза Ю П, Галушкин А И , Коробкова С В , Леонов А С , Пантелеев С В , Ряжских Л Т Система адаптивного нейросетевого определения гранулометрического состава частиц окомкованного и/или гранулированного материала

Напечатано с готового оригинал-макета

Издательство ООО "МАКС Пресс" Лицензия ИД N00510 от 01 12 99г Подписано к печати 19 03 2008 г Формат 60x90 1/16. Уел печ.л 1,25 Тираж 100 экз Заказ 113 Тел 939-3890. Тел./факс 939-3891 119992, ГСП-2, Москва, Ленинские горы, МГУ им МВ Ломоносова, 2-й учебный корпус, 627 к

Оглавление автор диссертации — кандидата физико-математических наук Коробкова, Светлана Викторовна

ВВЕДЕНИЕ

1. Актуальность исследования

2. Цели и задачи исследования

3. Объект исследования

4. Предмет исследования

5. Методологическая и теоретическая основа исследования

6. Информационная база исследования

7. Научная новизна исследования

8. Практическая значимость работы

9. Апробация результатов исследования

10. Перечень базисных положений, выносимых на защиту

11. Краткое описание структуры диссертационной работы

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

1.1 Общая структура нейросетевых программных комплексов.

1.1.1 Функции и компоненты ядра нейросетевого программного комплекса

1.1.2 Функции и компоненты модулей решения практических задач программного 19 комплекса

1.2 Реализация предложенного подхода к разработке нейросетевых программных 20 комплексов в программном комплексе «Нейроматематика».

Выводы.

ГЛАВА 2. Методы повышения эффективности нейросетевых алгоритмов.

2.1 Маршрут проектирования нейросетевых алгоритмов решения практических задач

2.2 Методы формирования обучающей и тестирующей выборки

2.3 Методы задания начальных условий при решении задач аппроксимации функций

2.4 Параллельная реализация нейросетевых алгоритмов

2.4.1 Параллельная реализация нейронных сетей для кластерных вычислительных 32 систем и систем с общей памятью

2.4.2 Специфика параллельной реализации нейросетевых алгоритмов на графических 43 процессорах

Выводы.

ГЛАВА 3. Решение практических задач с использованием разработанных методов

3.1 Задача определения гранулометрического состава окомкованного материала

3.1.1 Физическая постановка задачи

3.1.2 Нейросетевая постановка задачи

3.1.3 Формирование начальных условий для обучения нейронной сети при решении 57 задачи определения гранулометрического состава окомкованного материала.

3.1.4. Метод увеличения обучающей выборки при решении задачи определения 62 гранулометрического состава окомкованного материала

3.2 Задачи аэродинамики

3.2.1 Описание задачи управления самолетом с помощью эжекции на крыльях

3.2.2 Математическая постановка задачи управления самолетом с помощью эжекции на 66 крыльях

3.2.3 Описание задачи прогнозирования ветровой обстановки в застроенных кварталах

3.2.4 Математическая постановка задачи прогнозирования ветровой обстановки в 68 застроенных кварталах

3.2.5 Нейросетевая постановка задачи

3.3 Исследование точности и скорости работы предложенных нейросетевых алгоритмов 77 решения практических задач при помощи программного комплекса «Нейроматематика»

3.3.1 Исследование точности и скорости решения задачи определения 77 гранулометрического состава окомкованного материала

Введение 2008 год, диссертация по информатике, вычислительной технике и управлению, Коробкова, Светлана Викторовна

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

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

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

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

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

Предлагаемые в диссертационной работе методы построения нейросетевых программных систем реализованы на примере программного комплекса «Нейроматематика».

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

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

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

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

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

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

Предлагаемые и реализованные в рамках программного комплекса «Нейроматематика» методы направлены на повышение эффективности его работы.

Заключение диссертация на тему "Разработка, исследование и реализация алгоритмов программного комплекса "Нейроматематика""

Выводы.

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

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

ЗАКЛЮЧЕНИЕ

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

- проектирование и разработка универсальных пакетов как с точки зрения их использования, так и по способам их программно-аппаратной реализации;

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

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

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

На основе предложенного подхода, разработаны основные решения программного комплекса «Нейроматематика». Решение практических задач (определение гранулометрического состава окомкованного материала, исследования аэродинамических параметров среды и другие) с использованием разработанных средств подтвердило эффективность предложенных методов решения вышеуказанных проблем и разработанных программных средств.

Библиография Коробкова, Светлана Викторовна, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Галушкин А.И. Теория нейронных сетей. М.: Радиотехника, 2000. 416 с.

2. Галушкин А.И., Судариков В. А., Шабанов Е. Н. Нейроматематика: методы решения задач на нейрокомпьютерах. Математическое моделирование. М., 1991,- Т. 3, N8, с.101-106.

3. Коллективная монография под редакцией Галушкина А.И. Нейроматематика. М.: Радиотехника, 2002. 448 с.

4. Walt Kester Practical Analog Design Techniques. Analog Devices Inc, 1995. 352 p.

5. Walt Kester Mixed-signal and DSP Design Techniques. Engineering Staff Analog Devices Inc. 1997.412 р.

6. Steven W. Smith The Scientist and Engineer's Guide to Digital Signal Processing. California Technical Publishing, 1997. 640 p.

7. Галушкин А.И. Синтез многослойных систем распознавания образов. М.: Энергия, 1974. 235 с.

8. Розенблатт Ф. Принципы нейродинамики. М.: Мир, 1964. 375 с.

9. Головко В.А. Нейронные сети: обучение, организация и применение. М.: Радиотехника, 2001.256 с.

10. Уоссерман Ф. Нейрокомпьютерная техника. М.: Мир, 1992. 319 с.

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

12. Галушкин А.И. Решение задач в нейросетевом логическом базисе. Нейрокомпьютеры: разработка, применение. № 2. М.: Радиотехника, 2006. с. 49-70.

13. Белоцерковский О.М., Давыдов Ю.М. Метод крупных частиц в газовой динамике. Вычислительный эксперимент. М.: Наука, 1982. 391 с.

14. Харлоу Ф. Численный метод частиц в ячейках для гидродинамики. Вычислительные методы в гидродинамике. М.: Мир, 1967. с.316-342.

15. Jens Kruger, Thomas Schiweitz, Peter Kipfer, Rudiger Westermann Numerical Simulations on PC Graphics Hardware. Recent Advances in Parallel Virtual Machine and Message Passing Interface. Berlin: Springer, 2004. p. 442-449.

16. Kayvon Fatahalian, Jeremy Sugerman, Pat Hanrahan Understanding the Efficiency of GPU Algorithms for Matrix-Matrix Multiplication. In Proceedings of the ACM Sigraph/Eurographics Conference on Graphics hardware. NY: ACM, 2004. p. 133-138.

17. Jens Kruger, Rudiger Westermann Linear Algebra Operators for GPU Implementation of Numerical Algorithms. ACM SIGGRAPH 2003 Papers. NY: ACM, 2003. p. 908-916.

18. Jens Kruger, Rudiger Westermann GPU Simulation and Rendering of Volumetric Effects for Computer Games and Virtual Environments. Computer Graphics Forum, 2005, Vol. 24. p. 685693.

19. Qizhi Yu, Chongcheng Chen, Zhigeng Pan: Parallel Genetic Algorithms on Programmable Graphics Hardware. Proceedings of Advances in Natural Computation, First International Conference, 2005. p. 1051-1059.

20. Changhao Jiang, Marc Snir, Automatic Tuning Matrix Multiplication on Graphics Hardware. Proceedings of 14th International Conference on Parallel Architectures and Compilation Techniques (PACT'05). 2005. p. 185-196.

21. Chandrajit Bajaj, Insung Ihm, Jungki Min, Jinsang Oh SIMD Optimization of Linear Expressions for Programmable Graphics Hardware. Computer Graphics Forum2004, Volume 23, Issue 4. p. 697-714.

22. Kenneth Moreland and Edward Angel. "The FFT on a GPU." In SIGGRAPH/Eurographics Workshop on Graphics Hardware 2003 Proceedings, 2003. p. 112-119.

23. Ruigang Yang Dense Matrix Algebra on the GPU. Computational and Information Science. Berlin: Springer, 2005. p. 1100-1105.

24. Fast Matrix Multiplies using Graphics Hardware. PDF. (http://\wvw.cs.unc.edu/~larsene/papers/sc2001 .pdf)

25. C. Trendall and A.J. Stewart, "General calculations using graphics hardware with application to interactive caustics," In Rendering Techniques '00 (Proc. Eurographics Rendering Workshop), Springer, 2000. p. 287-298.

26. Nelson S.-H. Chu and C.-L. Tai, MoXi: Real-Time Ink Dispersion in Absorbent Paper, ACM Transactions on Graphics (SIGGRAPH 2005 issue), Vol. 24, No. 3, August 2005. p. 341-349.

27. Workshop: GPUs as Mathematical Coprocessors in Finite-Element Simulations. PDF. (http://www.mathematik.uni-dortmund.de/~goeddeke/workshop/index.html)

28. Open-Source Direct3D Fluid Simulation Library Released. PDF. (http://www.strangebunny.com/techdemostokes.php)

29. Youquan Liu, Xuehui Liu and Enhua Wu Real-Time 3D Fluid Simulation on the GPU with Complex Obstacles. Proceedings of Pacific Graphics 2004. p. 247-256.

30. Rosario De Chiara, Ugo Erra, Vittorio Scarano, Maurizio Tatafiore Massive Simulation using GPU of a distributed behavioral model of a flock with obstacle avoidance. Proceedings of 9th Internation Fall Workshop.

31. Stanimire Tomov, Michael D. McGuigan, Robert Bennett, Gordon Smith, John Spiletic:Benchmarking and Implementation of Probability-Based Simulations on Programmable Graphics Cards. Computers & Graphics, 2005, Volume 29. p. 71-80.

32. Kyoung-Su Oh, Keeghul Jung GPU implementation of neural networks. Pattern Recognition 37 2004. p. 1311-1314.34. www.gpgpu.org

33. Andreas S. Weigend, Neil A. Gershenfeld Results of the time series prediction competition at the Sante Fe Institute. Proceedings of IEEE International conference on Neural Networks, vol. 3, San Francisco: IEEE Press, 1993. p. 1786-1793.

34. Б. Уидроу, С. Стирнз Адаптивная обработка сигналов. М.: Радио и Связь, 1989. 440 с.

35. Баранов С.Н., Куравский J1.C. Акустические вибрации тонкостенных конструкции: моделирование, оптимизация и диагностика. М.: ООО РусАвиа, 2001. 213 с.

36. Галушкин А.И. Нейронные сети и проблема малой выборки. Труды V Всероссийской конференции «Нейрокомпьютеры и их применение», М.: Радиотехнаика, 1999. с. 167-179.

37. Archer Norman P., Wang Shonhong Learning bias in neural networks and an approach to controlling its effects in monotonic classifications. IEEE Trans. Pattern Anal. And Mach. Intell. 1993. 15, v9. p. 962-966.

38. Zador Anthony M., Pearlmutter Barak A. VC dimension of an integrate-and-fireneuron model. Neural Comput. 1996. 8, №3 p. 624.

39. Bartlett Peter L., Williamson Robert C. The VC dimension and pseudo dimension of two-layer neural networks with discrete inputs. Neural Comput. 1996, 8, №3. p. 625-628.

40. Hole A. Some variants on a theorem of Vapnik. Prepr. Ser. Pure Math., Inst. Math. Univ. Oslo 1995, №30 p. 1-11.

41. Hole Arne. Vapnik-Chervonenkis generalization bounds for real valued neural networks. Neural Comput. 1996, 8, №6 p. 1277-1299.

42. Tzafestas S.G., Dalianis P.J., Anthopoulos G.C. On the overtraining phenomenon of backpropagation neural networks. Math. And Comput. Simul. 1996, 40, №5 6. p. 507 - 520.

43. B. Efron Bootstrap methods: another look at the jackknife. Ann. Statist., 1979, vol. 7, p. 1-26.

44. Sean B. Holden How practical are VC dimension bounds? Proceedings of IEEE World Congress on Computational Intelligence., 1994 IEEE International Conference on Neural Networks, 1994, vol 1. IEEE Press, p. 327-332.

45. Byoung-Tak Zhang An incremental algorithm that optimizes network size and sample size in one trial. Proceedings of IEEE World Congress on Computational Intelligence., 1994 IEEE International Conference on Neural Networks, 1994. p. 215-220.

46. Goutam Chakraborty, Norio Shiratori, Shoichi Noguchi Optimization of Overtraining and overgeneralization. Proc. Int. Jt. Conf. Neural Networks, Nagoya, 1993, Vol. 3. p. 2257-2262.

47. Yoshihiko Hamamoto, Shunji Uchimura, Taiho Kanaoka, Shingo Tomita Evaluation of artificial neural network classifiers in small sample size situations. Pros. Int. It. Conf. Neural Networks, Nagoya, 1993. p. 1731-1735.

48. Norman P. Archer, Shouhong Wang Learning bias in neural networks and an approach to controlling its effects in monotonic classification. IEEE Transactions on Pattern Analysis and Machine Intelligence. 1993, vol. 15, No. 9. USA: IEEE Press, p.962-966.

49. S.G. Tzafestas, P.J.Dalianis, G. Anthopoulos On the overtraining phenomenon of backpropagation neural networks. Mathematics and Computers in Simulation. Elsevier, 1996.

50. C.E. Martin, S.K. Rogers, D.W. Ruck Neural network bias error estimation. Proc. IEEE ICNN'94, 1994. p. 305-308.

51. Воронцов К. В. Обзор современных исследований по проблеме качества обучения алгоритмов. Таврический вестник информатики и математики. 2004. с. 11-31.

52. Галушкин А.И. Расчет и проектирование оптимальных дискретных фильтров, сб. «Автоматическое управление и вычислительная техника», вып.9, М.: Машгиз, 1968. 234 с.

53. Галушкин А.И. Формирование начальных условий для ускорения процесса настройки нейронных сетей. Нейрокомпьютеры: разработка, применение. 2005, № 6. М.: Радиотехника, с. 12-19.

54. SudararajanN., Saratchandran P. Parallel Architectures for Artificial Neural Networks. USA: IEEE Computer Society Press, 1998. 409 p.