Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

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

Разработка, исследование и реализация алгоритмов программного комплекса
<
Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса Разработка, исследование и реализация алгоритмов программного комплекса
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Коробкова Светлана Викторовна. Разработка, исследование и реализация алгоритмов программного комплекса "Нейроматематика" : диссертация ... кандидата физико-математических наук : 05.13.11 / Коробкова Светлана Викторовна; [Место защиты: Моск. гос. ун-т им. М.В. Ломоносова. Фак. вычислит. математики и кибернетики]. - Москва, 2008. - 112 с. : ил. РГБ ОД, 61:08-1/59

Содержание к диссертации

Введение

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

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

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

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

комплекса

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

комплексов в программном комплексе «Нейроматематика».

Выводы. 22

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

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

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

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

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

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

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

Выводы. 47

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

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

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

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

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

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

гранулометрического состава окомкованного материала

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

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

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

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

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

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

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

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

гранулометрического состава окомкованного материала

3.3.2 Исследование точности и скорости решения задач аэродинамики 95

Выводы. 100

Заключение 101

Литература

Введение к работе

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5-я Международная научно-техническая Конференция и Выставка Цифровая обработка
сигналов и ее применения, D SPA'2003, Москва, Россия, март 2003;
XLVI Научная конференция МФТИ, 2003;

6-я Международная научно-техническая Конференция и Выставка Цифровая обработка сигналов и ее применения, DSPA'2004, Москва, Россия, март 2004; Пая Международная конференция по нейронной обработке информации, ІСОЖР'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 страницы.

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

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

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

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

Модуль управления программным комплексом по требованию пользователя «Открыть задачу» создает реализацию базового класса задачи - объект решения высокоуровневой задачи, который уникален для каждой прикладной задачи с точки зрения структур данных и алгоритмов, но в то же время написан строго определенным, известным системе, способом. Модуль управления задачами делает вызовы к определенным функциям этого объекта с целью запуска той или иной специфической функциональности, а общую функциональность выполняет самостоятельно. Именно эта возможность позволяет выделить общую функциональность алгоритмов решения прикладных задач в платформу и существенно упростить создание модулей РПЗ (Рис. 6).

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

Это возможно благодаря механизму интерфейсов и набора абстрактных базовых классов, позволяющих описать функции модуля отдельно от их реализации при помощи той или иной технологии. Этот подход получил кодовое наименование SIPICS (Simple Interface for Parallel Independent Calculation Systems - Простой Интерфейс для Систем с Независимыми Параллельньши Вычислениями).

Для описания алгоритмов систем, реализующих параллельные вычисления в среде с набором параллельно работающих вычислительных узлов, предлагается общая модель, заданная в виде интерфейсов (абстрактных базовых классов C++). Преимущество использования данного набора интерфейсов заключается в возможности написания системы управления вычислениями, ответственной за запуск параллельно-исполняемого кода и коммуникацию между узлами, с применением различных технологий (Message Passing Interface, Remote Procedure Call, и т. п.). При этом описание алгоритмов самих вычислений никак не изменяется и может работать с любой реализацией системы управления вычислениями, вне зависимости от используемой для этого технологии. Предполагается, что система решения некоторой задачи при помощи распределенных вычислений описывается только один раз, а затем может исполняться при помощи различных систем управления, разработанных и оптимизированных для текущих средств, имеющихся на данный момент. Подобный подход, позволяет сравнивать эффективность использования различных механизмов параллельного исполнения кода и коммуникации между вычислительными узлами, не изменяя исходных текстов, посвященных решению самой вычислительной задачи. Дополнительно, это позволяет разделить работу между группой исследователей, занимающихся разработкой параллельного алгоритма и группой, занимающейся реализацией средств запуска кода и коммуникации между узлами, но при этом позволяя каждой группе разрабатывать и отлаживать свои решения не на бумаге, а с использованием имеющихся на определенный момент реализаций. Более того, разработчики имеют возможность писать и компилировать код, даже не имея никакой реализации, в связи с использованием чистых виртуальных функций.

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

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

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

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

В настоящее время при работе с малой выборкой в мировом сообществе используются следующие методы:

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

б) Применение теории Вапника-Червоненкиса [40-43, 47], которая позволяет оценить сложность разрабатываемого нейросетевого алгоритма в зависимости от размера доступной обучающей выборки.

в) Методы взвешенного голосования - методы бустинга (boosting) и баггинга (bagging или bootstrap aggregation) [46]. Их суть заключается в формировании ансамбля нейронных сетей, каждая из которых обучается на некоторой выборке, сгенерированной из части примеров исходной выборки. Для получения окончательного решения используется взвешенное усреднение результатов каждой из нейронных сетей ансамбля. Рассмотренные методы работы с малой выборкой либо дают недостаточно достоверные результаты (как в случае метода а)) либо применимы только к определенному классу задач. Например, для применения теории Вапника-Червоненкиса требуется, чтобы распределение входных данных подчинялось определенному статистическому закону, что практически невозможно установить на практике. При этом, оценки, полученные с помощью данной теории являются сильно завышенными. [54] Методы взвешенного голосования в основном применяются при решении задач классификации и не могут быть отнесены к универсальным методам.

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

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

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

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

в) Комбинированный метод: усреднение результатов настройки по множеству вариантов методов а) и б). Получаемая в результате функция распределения показателя качества будет иметь некоторое математическое ожидание и дисперсию. Математическое ожидание показателя качества является основной характеристикой работы многослойной нейронной сети с выборкой конечного объема. Величина дисперсии показателя качества обратно пропорциональна достоверности оценки качества работы нейросетевого алгоритма.

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

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

Из-за сходства структур нейронной сети и нелинейного фильтра можно сделать предположение, что одним из способов задания начальных условий нейронной сети является использование коэффициентов линейного фильтра, построенного для данной задачи. В табл. 1 представлены формулы расчета коэффициентов матрицы весов линейного фильтра[\У] [55] для упреждения сигнала на постоянный временной интервал a=const, при аппроксимации полиномом степени к, к=1,2.

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

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

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

Пусть имеется трехмерная модель набора шарообразных тел. По информации, взятой с поверхности данного набора, требуется определить весовое содержание шарообразных тел в каждой из 6-ти категорий - гранулометрический состав (грансостав): Менее 5 мм; От 5 до 10 мм; От 10 до 12 мм; От 12 до 16 мм; От 16 до 18 мм; Более 18 мм.

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

В соответствии с подразделом 2.1. рассмотрим шаги решения данной задачи. Формирование пространства входных признаков. а) метод с использованием срезов с поверхности материала

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

Примеры обучающей и тестовой выборок формируются из таких срезов следующим образом. Пусть каждый срез состоит из ./V точек поверхности, где N - максимальное значение координаты Y. Тогда вектор, компонентами которого являются высота огибающей, построенной по значениям высоты верхнего края верхнего окатыша в наборе в каждой точке среза, будет иметь вид: " = { ,х2",..., }, (б) где р = 1...Р - номер среза, Р - общее число срезов. Входные вектора Хь нейронной сети формируются путем перестановок векторов xF между собой, где к = 1 ...Р! - номер перестановки.

Например, при Р = 3 из трех срезов будет сформировано 6 входных векторов нейронной сети: Вектора Xfe формируются для каждой поверхности набора шарообразных тел. Каждому из векторов Хк задается одно и то же указание учителя - грансостав, соответствующий данной поверхности. Так, при длине изображения 500, входной вектор будет иметь размерность 1500. Размер обучающей выборки увеличивается в Р раз по сравнению с выборкой, вектора которой формируются из признаков отдельной поверхности. В нашем случае, при таком выборе пространства признаков, обучающая выборка будет состоять из 1800 6 = 10800 примеров, тестовая из 200 6 = 1200 примеров.

При использовании метода проекций входной вектор формировался следующим образом. Вычислялось максимальное значение М для всех огибающих в обучающей и тестовой выборках (оно получилось равным 171). Создавался нулевой вектор размерностью М. Для каждой точки огибающей поверхности вычислялось ее значение р по координате г(вертикальная ось), после чего значение p-ovi компоненты входного вектора инкрементировалось на единицу. После обработки всей огибающей получался вектор, каждая р-ая компонента которого содержала количество точек с координатой р. Двумерный вариант этого преобразования изображен на Рис.24.

Проще говоря, такой вектор несет информацию о том, сколько раз на огибающей встречается каждое значение у. Так, число раз, которое каждая горизонтальная прямая пересекает огибающую, записывается в ячейку массива с номером, равным значению огибающей (для целых значений). Например, прямая;/ = 35 пересекает огибающую четыре раза. Следовательно, в ячейку массива с номером 35 записывается число 4. Если необходимо более мелкое разбиение и учет промежуточных значений, то под дробные значения можно выделить дополнительные ячейки массива.

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

Кажущейся потери информации о координате Z каждой конкретной точки на самом деле нет. Информацию о координате точки несет номер компоненты входного вектора.

б) метод распознавания грансостава по модели фотоснимка поверхности набора шарообразных тел.

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

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

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

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

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

В проведенных экспериментах использовались два способа выделения пространства признаков, которые описаны ниже:

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

2. Проецирование на вертикальную ось.

Этот метод составления пространства признаков заключался в формировании одномерного массива, каждая ячейка которого содержит число значений функции огибающей, соответствующих номеру этой ячейки (рис. 34). Проще говоря, такой массив несет информацию о том, сколько раз на огибающей встречается каждое значение у. Так, число раз, которое каждая горизонтальная прямая пересекает огибающую, записывается в ячейку массива с номером, равным значению огибающей (для целых значений). Например, прямая Z = 35 пересекает огибающую четыре раза. Следовательно, в ячейку массива с номером 35 записывается число 4. Если необходим более мелкий дискрет, то под дробные значения можно вьщелить дополнительные ячейки массива.

Размерность массива dim() = 46, что соответствует максимальному диаметру шарика. Значение функции для каждой ячейки выбиралось у = і, где у - значение функции, а і - индекс ячейки. При таком способе размер нейронной сети не зависит от длины окна.

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

Размеры обучающих эпох, использованных при обучении сети, выбирались равными 1000, 5000 и 10000. При сгенерированных 1000 гранулометрических составах указанные размеры эпох соответствуют 1, 5 и 10 окнам, взятым с каждой огибающей. Число эпох для обучения выбиралось в процессе обучения.

При проведении экспериментов с модельными данными были рассмотрены следующие параметры нейронных сетей:

Размер окна — длина интервала сигнала, вводимого в систему — размерность пространства признаков нейронной сети: -200 -500 -1000 отсчетов сигнала через 1 мм.

Ввод нескольких отрезков сигнала без взаимного пересечения производится для фиксированного грансостава. Число отрезков варьируется в процессе экспериментов и составляет 1,3,10.

Число варьируемых грансоставов равно 1000.

Рассматриваемые нейронные сети представляют собой двухслойные структуры с полными последовательными связями с Я/ нейронами в первом слое и шестью нейронами во втором. Функции активации второго слоя линейные (или сигмоидные). В структуре нейронных сетей варьируются: - вид функции активации нейронов первого слоя: радиально-базисная функция (RBF) или арктангенс; - число нейронов в первом слое Hf. 100, 200, 500.

При проведении экспериментов с реальными данными были рассмотрены следующие параметры нейронных сетей:

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

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

3. Нейронные сети представляют собой двухслойные структуры с полными последовательными связями с Ні нейронами в первом слое и шестью нейронами во втором. Функции активации второго слоя положительно-линейные (или сигмоидные). В структуре нейронных сетей варьируются: - вид функции активации нейронов первого слоя: радиально-базисная функция (RBF) или арктангенс; - число нейронов в первом слое Ні: 100, 500, 700;

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

Эксперимент проводился следующим образом (рис. 35):

1. Генерировались четыре огибающих: две для одного грансостава и две для другого Одна пара огибающих использовалась для обучения, другая - для тестирования.

2. На каждой огибающей выбиралось окно определенного (200, 500, 800, 1000, 1300 точек) размера.

3. Из этого окна выбирались значения огибающей с заданным дискретом. При проведении экспериментов было выбрано значение дискрета 1 точка.

4. Из этих выбранных значений составлялись обучающие и тестовые вектора нейронной сети.

5. Операции 2-4 выполнялись 500 раз, при этом окно перемещалось по огибающей. Так, обучающая и тестовая выборки состояли из 1000 векторов. В обеих выборках вектора, представляющие огибающие разных грансоставов, перемешивались случайным образом.

6. После составления выборок для одной величины окна, в шаге 2 размер окна менялся, и шаги 2-5 повторялись. Так, были составлены выборки для окон, содержащих 200, 500, 800, 1000, 1300 дискретных значений.

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