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



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

Исследование и разработка генетических методов и алгоритмов инструментальных средств систем поддержки формирования и обучения нейронных сетей Шницер Юрий Леонидович

Исследование и разработка генетических методов и алгоритмов инструментальных средств систем поддержки формирования и обучения нейронных сетей
<
Исследование и разработка генетических методов и алгоритмов инструментальных средств систем поддержки формирования и обучения нейронных сетей Исследование и разработка генетических методов и алгоритмов инструментальных средств систем поддержки формирования и обучения нейронных сетей Исследование и разработка генетических методов и алгоритмов инструментальных средств систем поддержки формирования и обучения нейронных сетей Исследование и разработка генетических методов и алгоритмов инструментальных средств систем поддержки формирования и обучения нейронных сетей Исследование и разработка генетических методов и алгоритмов инструментальных средств систем поддержки формирования и обучения нейронных сетей
>

Данный автореферат диссертации должен поступить в библиотеки в ближайшее время
Уведомить о поступлении

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

Автореферат - 240 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Шницер Юрий Леонидович. Исследование и разработка генетических методов и алгоритмов инструментальных средств систем поддержки формирования и обучения нейронных сетей : диссертация ... кандидата технических наук : 05.13.18.- Таганрог, 2001.- 183 с.: ил. РГБ ОД, 61 02-5/1246-0

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

Введение

1. Анализ нейро-генетических технологий для решения задач системы поддержки принятия решений 14

1.1. Анализ факторов, определяющих характер человеко-машинных процедур принятия решения 14

1.2. Анализ особенностей постановки задач поддержки принятия решения 22

1.3. Анализ перспектив развития интеллектуализации систем поддержки принятия решений 27

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

1.5. Выводы 43

2. Разработка базиса представления нейронных сетей для инструментальных средств систем поддержки принятия решений 46

2.1. Разработка технологии проектирования синтетической модели поддержки принятия решений на основе нейро-нечетких систем 46

2.2.Постановка задачи обучения нейронных сетей 50

2.3. Анализ и выбор архитектур нейронных сетей 56

2.4. Разработка метода представления архитектур нейронных сетей, ориентированного на эволюционную парадигму 66

2.5. Выводы 81

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

3.1. Анализ подходов к разработке алгоритмов генетического поиска 83

3.2 Выбор принципов модификации генетических операторов 94

3.3. Выбор технологий многоуровневого эволюционного поиска 100

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

3.5. Выводы 121

4. Разработка инструментальных средств синтеза нейронных сетей 123

4.1. Разработка генетического алгоритма формирования и обучения нейронных сетей 123

4.1.1. Разработка принципов кодирования и декодирования хромосом 125

4.1.2. Анализ воздействия генетических операторов на хромосомы различных видов 126

4.1.3. Организация процедуры генетического поиска для синтеза архитектуры нейронной сети 128

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

4.3. Разработка операторов локального поиска фрагментов нейронной сети 142

4.3.1. Разработка оператора локального поиска числа нейронов в скрытых слоях нейронной сети 143

4.3.2. Разработка нейросетевых алгоритмов локального поиска фрагментов нейронной сети 149

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

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

4.5. Выводы 167

Заключение 168

Литература

Приложение (акты о внедрении результатов диссертационной работы)

Анализ особенностей постановки задач поддержки принятия решения

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

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

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

Рассмотрим некоторые вопросы методики определения полезности [11]. Формулирование целей создает возможность выбора связанных с ним критериев. В системном анализе под критерием понимается правило, по которому провидится отбор тех или иных средств достижения цели. Критерии в общем случае дополняет понятие цели и помогает определить эффективный способ ее достижения. В том случае, когда между целью и средством ее достижения имеется четкая осознанная связь, критерий может быть задан в виде аналитического выражения. Эта ситуация типична например, для «простых» систем управления, когда критерий заданный в виде некоторого функционала, позволяет найти управляющее воздействие, обеспечивающее заданную цель управления. Поэтому в таких ситуациях понятие цели и критерия не различают. Естественно, что в сложных системах с высокой степенью неопределенности, когда цели носят качественный характер, и получить аналитическое выражение не представляется возможным, следует отличать цели от критерия, характеризующих средства их достижения [19].

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

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

- быть логически непротиворечивой (корректной);

- содержать описание всех важнейших элементов (полной);

- правильно отражать моделируемые принципы и особенности процесса принятия решений (адекватной).

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

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

- выбор стратегии решения поставленной ЗПР;

- расчленение задачи на подзадачи, сообразно с избранной стратегией;

- выбор конкретной модели для каждой из подзадач;

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

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

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

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

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

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

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

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

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

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

Современные технологии «искусственного интеллекта» в процессе своего развития периодически использует творения живой природы в своих целях [86-92]. Генетические алгоритмы и искусственные нейронные сети являются ярчайшими примерами такого заимствования. Основной принцип при создании нейронных сетей состоит в распараллеливании вычислений между большим количеством нейропроцессоров (искусственных нейронов). На современном этане технология нейрокомпьютинга использует сильно упрощенные модели нейронов и взаимосвязей между ними. Несмотря на это, многие свойства современных искусственных нейронных сетей заимствованы у реальных (биологических) нейронных систем.

К таким свойствам относятся адаптируемость, обобщение, отказоустойчивость [33,53,54]. Еще одно свойство, присущее как искусственным, так и естественным нейронным сетям, это их очень нечеткая и запутанная структура.

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

Разнообразие генетических подходов. Задача оптимизации нейронных сетей для заданных критериев качества является достаточно сложной проблемой. Нужно рассмотреть большое количество переменных, как дискретных, так и непрерывных, и учесть их сложное взаимодействие между собой. Оценка работы конкретной сети является непростым делом, т.к. эффективность обучения зависит от начальных условий, которые обычно задаются случайным образом. Таким образом, основная проблема состоит в создании инструментальных средств формирования нейронных сетей. Исключить рутинную процедуру - метод проб и ошибок можно только путем создания автоматизированных систем поддержки принятия решений при формировании архитектур нейронных сетей. Современный уровень технологий «искусственного интеллекта» предоставляет исследователям нейронных сетей мощную технологию - эволюционное программирование, основой которой являются генетические алгоритмы [51,65,95,96]. Для снижения существенной значимости вышеуказанных проблем в данной диссертационной работе предлагается эволюционный подход к проектированию интеллектуальных инструментальных средств формирования архитектур нейронных сетей. Применение эволюционной парадигмы на базе генетических алгоритмов также позволит создание интеллектуальных инструментальных средств, которые автоматизируют процесс анализа результатов поведения нейронной сети и выбора начальных условий для нейронной сети в соответствии с заданными критериями ее поведения.

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

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

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

2. Далее анализируется набор решений, которые мы получили. Если имеется решение, которое удовлетворяет нашим требованиям, то работа алгоритма заканчивается.

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

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

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

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

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

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

Представление. Рассмотрение представления архитектуры нейронных сетей является одной из важнейших проблем в современной теории [97-99]. Нейронаука лишь вначале пути изучения принципов функционирования биологических нейронных сетей. К сожалению, биологические нейронные сети еще не достаточно изучены, чтобы предоставить нам четкие принципы синтеза для использования их в научных и, особенно, практических целях. Безусловно, существует множество способов задания параметров для организации и функционирования сети. Такими параметрами могут быть: количество слоев, количество элементов в слое, допустимое количество обратных связей, степень связность между двумя слоями, скорость обучения и другие параметры, характеризующие те или иные особенности нейронной сети.

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

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

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

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

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

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

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

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

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

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

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

Отметим, что расширение операторов генетического алгоритма с учетом задач сравнения и размещения графов будут реализовывать собой переборные процессы, связанные с более «тонким» и целенаправленным перераспределением генетического материала. Это даст возможность быстрее получить минимум или максимум функции в сравнении с известными генетическими алгоритмами. Более того, сочетание генетического и топологического программирования должно позволить анализировать большое число решений практически параллельно, за более короткие сроки и усилить механизм моделирования процесса "выживают сильнейшие" с целью получения оптимального или близкому к нему решению по формированию и обучению нейронной сети. Основанием сказанному является тот факт, что в отличие от большинства других алгоритмов, для генетических алгоритмов требуется не один набор начальных значений параметров, а несколько наборов, которые называются популяцией хромосом. Популяция обрабатывается с помощью алгоритмов репродукции, изменчивости (мутаций), генетической композиции. Эти алгоритмы напоминают биологические процессы. Наиболее важные среди них: случайные мутации данных в индивидуальных хромосомах, переходы (кроссинговер) и рекомбинация генетического материала, содержащегося в индивидуальных родительских хромосомах, и миграции генов.

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

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

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

- разработка принципов кодирования и декодирования хромосомы;

- разработка основных генетических операторов;

- разработка общей структуры и процесса генетического поиска.

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

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

1. ввод исходных данных и перевод их из вида, понятного пользователю, во внутренний формат;

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

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

количество итераций от 1,6,11,16 до 50;

размер родительской популяции от 5 до 50;

размер дочерней популяции от 10 до 100; Их можно ввести тремя способами:

1. Создание файла с расширением .dat

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

Ввод исходных данных в режиме диалога, при этом данные можно сохранить.

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

Разработка интерфейса пользователя. Предложенный программный продукт разработан для операционной системы Windows на языке C++ Builder 4.0. Windows - это операционная система нового поколения для работы на персональных компьютерах. В отличие от программирования для операционной среды MS DOS, программирование под Windows отличается встроенным графическим интерфейсом, благодаря которому значительно облегчается написание программы с удобным для пользователя интерактивным интерфейсом.

После запуска программы перед нами появляется главное окно с меню, рис. 4.11. Рассмотрим по порядку все пункты меню:

Файл

"Новый" - создание нового файла исходных - данных для задачи синтеза многослойной нейронной сети.

"Открыть " - открыть сохраненный ранее файл с исходными данными для задачи синтеза многослойной нейронной сети.

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

"Сохранить как ... " - сохранить исходные данные, введенные в режиме диалога, в файле, имя которого указывает сам пользователь.

"Выход " - завершение работы с программой.

Опции

"Опции" включают в себя "Генетика" (Рис. 4.12):

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

"Кроссинговер" - пользователь задает вероятность кроссинговера от 1 до 100%.

"Мутация" -Вероятность мутации задается от 1 до 100%.

Также "Опции" включают в себя "Нейросеть" (Рис. 4.13):

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

"Опции" включают в себя "Обучающая выборка" и "Тестирующая выборка" (Рис. 4.14):

Пользователь может задать обучающие и тестирующие образы.

Просмотр

"График" - с помощью этой опции пользователь может параллельно наблюдать за изменением ЦФ от числа генераций. (Рис.4.15)

Для более удобного и качественного снятия результата пользователь может левой кнопкой мыши увеличить участок графика (Рис. 4.16)

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

При выборе пункта меню "Open" на экране появляется диалоговое окно, в котором отображены файлы текущей директории. Управляя мышью или клавиатурой, можно перейти на другой диск или войти в другую директорию. После того, как выбран файл, необходимо либо щелкнуть на нем два раза, либо нажать кнопку "Open" (Рис. 4.17).

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

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