Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_17.05..docx
Скачиваний:
7
Добавлен:
04.05.2019
Размер:
3.08 Mб
Скачать

1 Программное обеспечение реализации генетического алгоритма в составе системы выращивания топологии нейронной сети

1.1 Анализ требований

1.1.1 Постановка задачи

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

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

1.1.2 Анализ предметной области

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

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

Объединение генетических алгоритмов и нейронных сетей из­вестно в литературе под аббревиатурой COGANN (Combinations of Genetic Algorithms and Neural Networks). Это объединение может быть вспомогательным (supportive) либо равноправным (collaborative) [2]. Вспомогательное объединение двух методов означает, что они при­меняются последовательно один за другим, причем один из них слу­жит для подготовки данных, используемых при реализации второго метода. При равноправном объединении оба метода применяются одновременно. Классификация этих типов объединений генетических алгоритмов и нейронных сетей представлена в таблице 1.1.

Таблица 1.1 – Объединение генетических алгоритмов и нейронных сетей

Вид

объединения

Характеристика

объединения

Примеры использования

1

2

3

Независимый

Генетические алгоритмы и нейронные сети независимо применяются для решения одной и той же задачи

Однонаправленные нейронные сети, сети Кохонена с самоорганизацией и генетические алгоритмы в задачах классификации

Продолжение таблицы 1.1

1

2

3

Вспомо­гатель­ное

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

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

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

Анализ нейронных сетей

Подбор параметров либо преобразование пространства параметров

Подбор параметров либо правила обучения (эволюция правил обучения)

Равно­правное

Генетические алгоритмы для обучения нейросетей

Эволюционное обучение сети (эволюция весов связей)

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

Эволюционный подбор топологии сети (эволюция сетевой архитектуры)

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

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

Равно­правное

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

Реализация генетического алгоритма с помощью нейронной сети

Применение нейронной сети для реализации оператора скрещивания в генетическом алгоритме

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