Построение и обучение нейронных сетей, которые смогут обучиться для успешного прохождения компьютерных игр. Эволюционный и генетический алгоритмы обучения нейронной сети. Сравнительный анализ самообучающихся алгоритмов на основе платформы OpenAI.
Аннотация к работе
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ Создание самообучающихся алгоритмов прохождения компьютерных игр на основе платформы OPENAI по направлению 02.03.02 «Фундаментальная информатика и информационные технологии»Создание самообучающихся алгоритмов на основе Reinforcement Learning (Обучение с подкреплением) является актуальной задачей в современном мире, поскольку данный метод работает без заранее подготовленных ответов. Эта способность данного метода открывает возможности для решения нового вида задач. Создание подобных самообучающихся алгоритмов имеет важное практическое и научное значение, поскольку такие алгоритмы могут послужить основой для дальнейших исследований и совершенствований для создания алгоритмов, решающих реальные задачи.Reinforcement Learning (RL, Обучение с подкреплением) - это один из типов Машинного обучения (МО), предназначенный для создания самообучающихся алгоритмов. Он представляет из себя обучение путем проб и ошибок. Самой яркой иллюстрацией данного утверждения можно по праву считать программу ALPHAGO, разработанную компанией Google DEEPMIND в 2015 году [1]. ALPHAGO стала первой в мире программой, выигравшей игру у человека, профессионала высшего ранга.В данной работе будут рассмотрены два различных подхода к обучению нейронных сетей для решения задач обучения с подкреплением. В общем случае RL сводится к тому, чтобы без заранее известных ответов, как в Supervised Learning, вычислить ошибку решения алгоритма и далее, используя ее, провести коррекцию весов классическими методами, например, методом обратного распространения ошибки. В машинном обучении среда обычно формулируется как марковский процесс принятия решений. МППР обеспечивает математическую основу для моделирования принятия решений в ситуациях, когда результаты частично случайны и частично контролируются лицами, принимающими решения.Q-learning - это методика обучения с подкреплением Off-Policy (обучающийся алгоритм узнает ценность оптимальной политики независимо от своих действий) [5,6]. Политика - это правило, которым агент руководствуется при выборе действия, учитывая состояние, в котором он находится. В процессе обучения изучается action-value функция которая, в конечном счете, дает ожидаемую полезность принятия данного действия в данном состоянии и последующую оптимальную политику после этого. Когда данная функция изучена, оптимальная политика может быть построена простым выбором действия с самым высоким значением в каждом состоянии. Алгоритм Sarsa является алгоритмом On-Policy (обучающаяся модель узнает ценность политики, выполняемой ею, включая все действия и шаги исследования) [6].В SARSA агент запускается в состоянии 1, выполняет действие 1 и получает вознаграждение (вознаграждение 1). Теперь он находится в состоянии 2 и выполняет другое действие (действие 2) и получает вознаграждение из этого состояния (вознаграждение 2). Используя это вознаграждение алгоритм обновляет значение действия 1, выполняемого в состоянии 1. В отличие от этого, в Q-learning агент начинает в состоянии 1, выполняет действие 1 и получает вознаграждение (вознаграждение 1). Затем вычисляет максимально возможное вознаграждение за действие в состоянии 2 и использует его для обновления значения действия для выполнения действия 1 в состоянии 1.Его достоинство в том, что он содержит в себе несколько десятков сред, представленных в виде МППР, отлично подходящих для обучения RL алгоритмов и не имеет известных аналогов. Все среды являются классическими играми разной сложности, поэтому задачей алгоритмов становится научиться успешно играть в игры и достигать в них удовлетворительных результатов. Игра представляет собой среду, в которой действует Агент. В используемой библиотеке Gym.OPENAI [7] все среды представлены в следующем виде. Observations (наблюдения, предоставляемые агенту) b.Рассмотрим Эволюционный подход к обучению нейронной сети [8].Была выбрана следующая архитектура нейронной сети, позволяющая оптимально сочетать в себе скорость обучения и точность решения предоставленных задач. Нейронная сеть имеет 3 слоя и выглядит следующим образом: 1. У данного слоя используется функция активации Rectifier: 3. У данного слоя используется функция активации Logistic Sigmoid: В ходе работы был проведен ряд экспериментов, в котором было установлено, что для задач небольшой размерности оптимальным размером скрытого слоя для данной сети является 40 нейронов.Ранние версии этих методик, действительно, были основаны на биологической эволюции, и этот подход можно на абстрактном уровне рассматривать как выборку населения и позволять успешным индивидуумам диктовать распределение будущих поколений. Вся задача состоит в том, что все числа, которые описывают параметры сети (сетевую политику принятия решений), сходятся к одному числу (общей полученной награде), с помощью этой награды и находится наилучшая настройка сети.
План
Оглавление
1. Введение
1.1 Актуальность темы исследования
2. Основная часть
2.1 Обзор существующих алгоритмов
2.1.1. Классификация алгоритмов
2.1.2 Сравнительный анализ: преимущества и недостатки существующих решений
2.2 Постановка задачи
2.3 Алгоритм 1. Эволюционный подход
2.3.1 Архитектура нейронной сети
2.3.2 Обучение нейронной сети. Эволюционный подход
2.3.3 Применение алгоритма
2.4 Алгоритм 2. Генетический подход
2.4.1 Архитектура нейронной сети
2.4.2 Обучение нейронной сети. Генетический подход