ВВЕДЕНИЕ 5
ГЛАВА 1. КРАТКИЙ ОБЗОР ТЕОРЕТИЧЕСКИХ ОСНОВ 7
1.1. Понятие искусственных нейронных сетей 7
1.2. Виды нейронных сетей 14
1.2.1. Сеть Кохонена 14
1.2.2. Сети обратного распространения ошибки 14
1.2.3. Перцептрон 15
1.2.4. Сети Хопфилда и Хэмминга 15
1.3. Обучение нейронных сетей 17
1.4. Поиск и обзор существующих подобных решений 19
ГЛАВА 2. ПРОЕКТИРОВАНИЕ СИСТЕМЫ 22
2.1. Постановка задачи 22
2.2. Требования к ПО 22
2.3. Процесс проектирования 24
2.3.1. Алгоритм работы пользователя с системой 24
2.3.2. Алгоритм генерации сетей 29
ГЛАВА 3. РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ 37
3.1. Модульная декомпозиция 37
3.1.1. Модуль задания параметров 37
3.1.2. Модуль предварительной подготовки 37
3.1.3. Модуль построения сети 38
3.1.4. Модуль генерации сетей 38
3.1.5. Модуль работы с сетями 39
3.2. Архитектура базы данных 39
3.3. Выбор средств разработки 39
3.4. Интерфейс программного комплекса 44
3.5. Тестирование программного комплекса 49
ЗАКЛЮЧЕНИЕ 50
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 52
ПРИЛОЖЕНИЕ
Формирование искусственного интеллекта как науки произошло в 1956 году[1]. Д. Маккарти, М. Минский, К. Шеннон и Н. Рочестер организовали двухмесячный семинар в Дартмуте для американских исследователей, занимающихся теорией автоматов, нейронными сетями, интеллектом. Хотя исследования в этой области уже активно велись, но именно на этом семинаре появились термин и отдельная наука - искусственный интеллект.
С тех пор постоянно велись исследования в этой области, разрабатывались новые алгоритмы обучения, новые топологии сетей. Технологии искусственного интеллекта все глубже проникали не только в науку, но и в повседневную жизнь. В качестве примера можно привести создание роботов-пылесосов, различных технологий распознавания речи (как распознавание из звуковой информации, так и считывание движения губ), ИИ противников в компьютерных играх (противники могут вести себя по-разному в зависимости от окружающей обстановки и стиля игры реального игрока) и т.д. Довольно часто технологии искусственных нейронных сетей используются как альтернатива или дополнение для статистических методов исследования в различных областях, таких как медицина, экономика, управление предприятиями и другие[2,3,4,5].
Однако, до сих пор проблемой остается подбор топологии и структуры сети для каждой конкретной задачи. Для данной задачи не существует четкого алгоритма, все решения принимаются только на основании проведения соответствующих опытов с теми или иными сетями. Исходя из каких-либо личных соображений исследователя, выбирается структура, сеть обучается, тестируется, и, исходя из полученных результатов, принимается решение либо о принятии выбранной топологии, либо об ее корректировке, либо о полном отказе от нее. Так как процесс обучения сети является довольно длительной процедурой, то процесс получения необходимой структуры сети, может отнять много времени у исследователя. Таким образом, встает вопрос об автоматизации подбора необходимой структуры[6].
Целью данной работы является разработка автоматизированного генератора искусственных нейронных сетей. Исходя из вышесказанного, актуальность данной работы очевидна. Объектом исследования является технологии искусственного интеллекта, а предметом - создание нейроимитатора. В рамках выполнения работы для достижения поставленной цели были сформулированы следующие задачи:
• краткий обзор теоретических основ:
о обзор литературы об искусственных нейронных сетях;
о понятие искусственных нейронных сетей;
о поиск и обзор существующих подобных решений;
• разработка алгоритма генерации сетей, с возможностью применения различных топологий;
• реализация разработанных алгоритмов в программном коде.
На сегодняшний день исследования в области искусственного интеллекта продолжают бурно развиваться. Несмотря на то, что данной проблемой занимаются уже более полувека, до создания полноценного интеллекта, который сумеет пройти тест Тьюринга, еще очень далеко.
Однако, уже существующие знания и наработки активно используются во многих областях, от исследования лингвистических особенностей языков и до создания роботов, который смогут торговать на фондовых биржах. При этом, время на создание нейронной сети, подходящей для конкретной задачи может быть достаточно велико, так как выбор архитектуры сети осуществляется методом проб и ошибок.
Также, на сегодняшний день практически нет разработок, позволяющих построить нейронную сеть, провести ее обучение и тестирование в автоматическом или, хотя бы, автоматизированном режиме.
Ввиду этого, разработка программного комплекса, представляющего такую возможность, является достаточно актуальной задачей. Такой комплекс позволит сократить время на создание сети, уменьшить вероятность ошибки (за счет уменьшения влияния человеческого фактора), предоставить несколько вариантов архитектуры сети, наиболее подходящих для конкретной задачи, что позволит исследователю, в случае сомнения в правильности полученных результатов, перепроверить их на другой подобной сети.
В результате выполнения выпускной квалификационной работы магистра был разработан алгоритм генерации семейства нейронных сетей на основании заданных диапазонов нейросетевых параметров. В основе алгоритма лежит клиент-серверный подход, позволяющие процессу генерации быть более интерактивным для пользователя, позволяя последнему отслеживать прогресс процесса генерации и затрачивать минимальное количество времени при обнаружении ошибки. На основании этого алгоритма был разработан и реализован программный комплекс, состоящий из нескольких модулей и позволяющий задать параметры для набора сетей, произвести предварительную подготовку параметров, запустить процесс генерации сетей, сохранить подходящие сети для возможности дальнейшей работы с ними. Также, для алгоритмов обучения и генерации была проведена оптимизация, в целях увеличения скорости работы генератора. Разработанный программный комплекс поддерживает генерацию и работу с несколькими нейропарадигмами.
Также было осуществлено выступление на международной научно-практической конференции «МНОГОЯДЕРНЫЕ ПРОЦЕССОРЫ, ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ, ПЛИС, СИСТЕМЫ ОБРАБОТКИ СИГНАЛОВ (МППОС- 2017)» и на IV Региональной конференции «Мой выбор - НАУКА!». с докладом по теме выпускной квалификационной работы магистра.