- •Содержание
- •Введение
- •1 Программное обеспечение реализации генетического алгоритма в составе системы выращивания топологии нейронной сети
- •1.1 Анализ требований
- •1.1.1 Постановка задачи
- •1.1.2 Анализ предметной области
- •1.1.2.1 Независимое применение генетических алгоритмов и нейронных сетей
- •1.1.2.2 Нейронные сети для поддержки генетических алгоритмов
- •1.1.2.3 Генетические алгоритмы для поддержки нейронных сетей
- •1.1.2.4 Применение генетических алгоритмов для обучения нейронных сетей
- •1.1.2.5 Генетические алгоритмы для выбора топологии нейронных сетей
- •1.1.2.6 Адаптивные взаимодействующие системы
- •1.1.2.7 Нейроэволюционные методы
- •1.1.3 Анализ существующих аналогов
- •1.1.4 Методы и средства решения поставленной задачи
- •1.1.4.1 Методы решения задачи и варианты использования разрабатываемого программного обеспечения
- •1.1.4.2 Технологические средства разработки
- •1.2 Математическая модель предметной области
- •1.3 Проектирование
- •1.2.1 Проектирование структур данных
- •1.3.2 Проектирование структуры программного обеспечения и алгоритмов
- •1.3.3 Проектирование пользовательского интерфейса
- •1.4 Описание программного обеспечения
- •1.5 Результаты тестирования
- •2 Технико-экономическое обоснование разработки по для реализации генетического алгоритма в составе системы выращивания топологии нейронной сети
- •2.1 Расчет затрат на разработку программы
- •2.2 Расчет цены разработанной программы
- •2.3 Расчет капитальных вложений
- •2.4 Расчет эксплуатационных расходов
- •2.5 Расчет денежного годового экономического эффекта
- •2.6 Определение показателей эффективности инвестиций
- •2.7 Вывод по разделу
- •3 Оптимизация зрительных условий труда пользователя пэвм
- •3.1 Условия работы пользователя пэвм
- •3.2 Требования к визуальным параметрам изображения
- •3.3 Требования к освещению помещений и рабочих мест с вдт и пэвм
- •Заключение
- •Список использованных источников
- •Листинг программы Приложение а
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 |
Вспомогательное |
Нейронные сети для обеспечения генетических алгоритмов |
Формирование исходной популяции для генетического алгоритма |
|
Генетические алгоритмы для обеспечения нейронных сетей |
Анализ нейронных сетей
|
|
|
Подбор параметров либо преобразование пространства параметров
|
|
|
Подбор параметров либо правила обучения (эволюция правил обучения) |
Равноправное
|
Генетические алгоритмы для обучения нейросетей |
Эволюционное обучение сети (эволюция весов связей) |
Генетические алгоритмы для выбор топологии нейронной сети |
Эволюционный подбор топологии сети (эволюция сетевой архитектуры)
|
|
Системы, объединяющие адаптивные стратегии генетических алгоритмов и нейронных сетей |
Нейронные сети для решения оптимизационных задач с применением генетического алгоритма для подбора весов сети
|
|
Равноправное |
Системы, объединяющие адаптивные стратегии генетических алгоритмов и нейронных сетей
|
Реализация генетического алгоритма с помощью нейронной сети Применение нейронной сети для реализации оператора скрещивания в генетическом алгоритме |
Рассмотрим подробнее эти три варианта применения нейронных сетей и генетических алгоритмов к решению задач.