Введение 8
1 Основные положения теории нейронных сетей 10
1.1 Строение и основные принципы функционирования нервной системы 10
1.2 Искусственный нейрон и искусственные нейронные сети 11
1.3 Основные принципы обучения искусственных нейронных сетей 17
2 Разработка модели сложного объекта 19
2.1 Понятие модели объекта 19
2.2 Способы организации движения модели 20
2.2.1 Неупругие перемещения конечностей 21
2.2.2 Упругие перемещения конечностей 22
2.3 Особенности применения нейронной сети 23
3 Разработка искусственной нейронной сети 27
3.1 Постановка задачи 27
3.2 Архитектура искусственной нейронной сети 27
3.3 Выбор среды разработки 30
3.4 Система классов искусственной нейронной сети и модели объекта 31
3.5 Алгоритм обучения 37
4 Реализация приложения для моделирования процесса перемещения сложного
объекта в пространстве 43
4.1 Общая информация и цели использования 43
4.2 Архитектура приложения 43
4.3 Функциональные возможности приложения 45
5 Анализ результатов 55
5.1 Условия и критерии проведения экспериментов 55
5.2 Сравнение эффективности обучения искусственных нейронных сетей с
различным количеством нейронов в скрытом слое 56
5.3 Сравнение эффективности обучения искусственных нейронных сетей с
различными комбинациями параметров вознаграждения 57
5.4 Эффективность работы нейронных сетей, управляющих различными моделями объектов 58
Заключение 62
Список использованных источников 63
Приложения 64
Искусственный интеллект является одним из передовых направлений современной науки. Достижения данной дисциплины захватывают все сферы человеческой деятельности. Основная цель изучения искусственного интеллекта — научить машины думать подобно тому, как это делает человеческий мозг.
Нейронные сети решают широкий круг задач, каждая из которых непосредственно связана с обучением. К основным областям применения нейронных сетей относят распознавание образов и их классификацию, принятие решений и управление, кластеризацию, прогнозирование, аппроксимацию, оптимизацию, сжатие и анализ данных. В настоящий момент нейронные сети являются ключевым элементом современных систем навигации, используются для распознавания и синтеза речи, обработки изображений, а также для защиты информационных систем от несанкционированного доступа и другого вида атак.
В процессе изучения возможностей искусственного интеллекта одной из сложнейших задач стало обучение нейронной сети осознанному перемещению в пространстве. Когда человек идет по улице, он с легкостью переставляет ноги, поддерживает равновесие с помощью рук, не задумываясь, обходит препятствия. Все это происходит, как нам кажется, автоматически. Однако, это не так. Перемещение человека — это сложный процесс, хорошо просчитанный и четко спланированный нашим мозгом. Нейронные сети решают подобные проблемы пока лишь в упрощенном варианте, но в то же время они могут управлять моделями любых сложных объектов. Ярким примером является разработка компанией Google DeepMind искусственного интеллекта, которому удалось научиться ходить, бегать, прыгать и преодолевать препятствия без каких-либо предварительных рекомендаций [6].
Целью данной работы является создание искусственной нейронной сети, управляющей перемещением модели сложного объекта в двумерном пространстве. Основная задача модели — переместиться как можно дальше влево или вправо от своей начальной координаты.
В качестве вспомогательных ресурсов необходимо реализовать приложение для создания двумерной модели объекта, а также для редактирования и настройки параметров нейронной сети.
Задачи работы:
- анализ предметной области;
- разработка архитектуры нейронной сети;
- реализация нейронной сети;
- разработка приложения для моделирования процесса перемещения сложного объекта в пространстве.
В ходе данной работы была реализована искусственная нейронная сеть, предназначенная для управления моделью сложного объекта, создано приложение для моделирования процесса перемещения объекта в двумерном пространстве.
Разработанное приложение позволяет конструировать модели сложных объектов, создавать искусственные нейронные сети путем настройки их параметров, а также запускать сети на обучение.
В процессе реализации было изучено большое количество литературы, содержащей информацию по нейронным сетям, принципам их работы и обучению. Для описания многослойного персептрона и модели объекта на языке C++ была реализована система классов. Создание приложения производилось с помощью инструментов, предоставляемых языком C++ и интегрированной средой разработки Microsoft Visual Studio.
В ходе проведенных исследований были определены оптимальное количество нейронов скрытого слоя (32 нейрона) и параметры, используемые при расчете вознаграждения агента в алгоритме Q-Learning (расстояния, пройденное моделью за последний шаг за последний шаг и комбинация расстояния, пройденного за последний шаг, со штрафом за приближения центра тяжести модели к «земле»).
Данная программа позволит упростить процесс моделирования перемещения сложных объектов в пространстве.
1. Буч Г. Язык UML. Руководство пользователя / Рамбо Д., Якобсон И.; пер. с англ. Мухин Н. — 2-е изд., перераб. и доп. — М.: ДМК Пресс, 2006. — 496 с.: ил.
2. Короткий С. Нейронные сети: алгоритм обратного распространения; статья — 15 с.
3. Оссовский С. Нейронные сети для обработки информации / Пер. с польского И. Д. Рудинского. — М.: Финансы и статистика, 2002. — 344с.: ил.
4. Хайкин Саймон Нейронные сети: полный курс. — 2-е изд., перераб. и доп. — М.: Издательский дом «Вильямс», 2006 — 1104 с.: ил.
5. DEMYSTIFYING DEEP REINFORCEMENT LEARNING
[Электронный ресурс]. — Режим доступа: http://neuro.cs.ut.ee/demystifyingdeep- reinforcement-leaming/.— Загл. с экрана.
6. Google's DeepMind AI Just Taught Itself To Walk [Электронный ресурс].
— Режим доступа: https://www.youtube.com/watch?v=gn4nRCC9TwQ. — Загл. с экрана.
7. Learn to Walk (genetic algorithm & Neural Network) [Электронный ресурс]. — Режим доступа: https://www.youtube.com/watch?v=h-89xjWpV4U. — Загл. с экрана.
8. MSDN - сеть разработчиков Microsoft [Электронный ресурс]. — Режим доступа: https://msdn.microsoft.com/ru-ru/default.aspx .— Загл. с экрана
9. Neural Networks for Machine Learning [Электронный ресурс]. — Режим доступа: http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf .
— Загл. с экрана