Определения и сокращения 3
Введение 4
Постановка задачи 8
0.1. Одноагентная задача 8
0.2. Мультиагентная задача 13
Обзор литературы 16
Глава 1. Методы обучения в RL задачах 21
1.1. DQN 21
1.2. Некоторые подходы к решению одноагентных RL задач 23
1.3. Основные виды нейросетей 25
1.4. Метод COMAGP 30
Глава 2. Анализ экспериментов 34
2.1. Описание среды экспериментов 34
2.2. Дополнительные настройки к алгоритму 35
2.3. Настройки обучения 37
2.4. Результатах экспериментов 40
Заключение 48
Список литературы 49
В настоящее время всё большее распространение получает искусственный интеллект, который может применяться для решения огромного количества задач. Одним из перспективных его видов является обучение с подкреплением. Это вид машинного обучения, при котором агент обучается, взаимодействуя с некоторой средой. В нём используются несколько нивхе подходах к обучению, нежели в классическом обучении. Обучение с подкреплением стало активно развиваться благодаря таким событиям как:
• В 1997 году в Нью-Йорке чемпион мира по шахматам Гарри Каспаров проиграл компьютеру «Deep Blue», фирмы IBM;
• В 2016 году программа AlphaGo компании Deepmind одолела чемпиона Кореи Ли Седоля по игре «Го»;
• На киберспортивном турнире International по Dota2 в 2018 году были проведены матчи между людьми и машинами, а именно Dota2 OpenAI Five (от компании OpenAI), в которых последним удалось выиграть несколько раз лучших игроков мира.
Как мы видим, искусственный интеллект развивается достаточно быстро и уже имеется ряд предметных областей[44], где может быть задействовано обучение с подкреплением, помимо игровой индустрии:
• Беспилотные автомобили;
• Рекомендательные системы;
• Робототехника;
• Торговля на бирже.
Задача, которая рассматривается в настоящей работе, называется обучение с подкреплением (reinforcement learning) и очень похожа на изучение человеком окружающего мира. В детстве, когда мы не знали многие вещи, мы узнавали, например, что огонь излучает тепло, но если слишком сильно приблизить руку к нему, то будет больно и возможно останется ожог. Тепло и ожог - это своеобразные отклики окружающей среды на наши действия. В этой сравнительной модели человек является агентом, мир вокруг человека - окружающая среда, а тепло и боль - это так называемые наградах за то, что мы сделали. Когда нам было больно, мы понимаем, что так делать не нужно и стараемся избегать таких ситуаций. Также и в модели обучения с подкреплением агент старается принимать решения, основываясь на награде за свои действия, при этом ничего не зная об окружающей среде.
Таким образом, цель обучения с подкреплением - сделать поведение некоторых объектов, называемых агентами, которые умеют передвигаться в своей системе, реалистичным или проще говоря, похожим на человеческое. Есть те, кто считают, что обучение с подкреплением - это область обучения с учителем. Но есть существенная разница между двумя этими направлениями обучения. В классическом обучении с учителем, чтобы научить некоторый аппроксиматор, в роли которого используется нейронная сеть, находить правильные связи, требуются данные, в которых есть так называемые метки учителя. То есть каждая отдельная единица данных должна быть оценена каким-то независимым учителем, чаще всего в роли которого выступает человек или группа людей, чтобы гарантировать точность оценки. Это нужно для того, чтобы нейронная сеть, используемая в задаче, сравнивала свой ответ с правильным ответом и за счёт этого могла обучаться. Таким своеобразным учителем в RL выступает окружающая среда, которая даёт свою оценку действиям агента в виде сигналов скалярных наград. Этот факт связывает два вышеупомянутых класса обучения, но различает их то, что для обучения с подкреплением не требуется никаких данных, чтобы начать обучение. Агент сам в процессе обучения, методом проб и ошибок поймёт какое поведение от него хотят.
Но есть также и те, кто относят обучение с подкреплением к классу задач обучения без учителя. В этих задачах испытуемая система спонтанно обучается выполнять поставленную задачу без вмешательства со стороны экспериментатора. Но, как правило, это пригодно только для задач, в которых известны описания множества объектов (обучающей выборки), и требуется обнаружить внутренние взаимосвязи, зависимости, закономерности, существующие между объектами. Таким образом здесь также требуются данные для обучения.
Учитывая всё вышесказанное, можно сказать, что обучение с подкреплением это третий, независимый класс машинного обучения.
Одной из важнейших областей искусственного интеллекта являются нейронные сети. Они используются везде - в медицине, в экономике, в бизнесе, робототехнике, охранных системах, в автоматизации производства и многих других.
В обучении с подкреплением также используются нейронные сети. Обычно её задают в архитектуре агента1, потому что именно он учится совершать действия, которые будут давать наибольшую награду, ведь мы хотим, чтобы было именно так. Поэтому можно сказать, что после каждого сделанного действия агента, получив отклик системы на это действие, агент делает соответствующие выводы, а иначе говоря - корректирует веса нейронной сети таким образом, чтобы увеличить награду. Это не говорит о том, что агент теперь будет постоянно делать одно и то же действие, если отклик был положительным, или наоборот не будет его делать, если отклик был отрицательным. Это говорит о том, что если агент снова будет в той или схожей ситуации, что и раньше, когда совершил полезное (или неполезное) действие, то он сделает его ещё раз (или не сделает) с большей вероятностью. Данные выводы возможны благодаря нейронным сетям, а именно - их возможности изучать различные, порой очень сложные связи, которые порой невозможно заметить человеку, в определённых данных.
Целью данной работы является применение алгоритма мультиагентного обучения с подкреплением к моделированию реалистичного поведения агентов в игре в футбол. При этом необходимо не просто реализовать искусственный интеллект, а использовать при этом самые современные технологии в данной области. Для достижения данной цели необходимо решить следующие задачи:
1. Осуществить постановку одноагентной, а также мультиагентной задач;
2. Осуществить обзор существующих подходов к решению этих задач;
3. Описать алгоритм, выбранный для решения основной задачи;
4. Осуществить разбор сложных моментов в настройке данного алгоритма;
5. Спроектировать и разработать программу;
6. Провести вычислительные эксперименты, показывающие эффективность применения алгоритма обучения с подкреплением к модели игры в футбол.
По результатам данной работы можно сделать вывод, что цель, поставленная перед работой, достигнута. В ходе данной работы были достигнуты следующие результаты:
1. Был представлен обзор и подробный анализ существующих подходов к решению одноагентных и мультиагентных задач обучения с подкреплением;
2. Был тщательно рассмотрен один из современнных алгоритмов для решения мультиагентной задачи обучения с подкреплением, который был изменён для применения к мультиагентной модели игры в футбол;
3. Были описаны сложности, возникающие в обучении с подкреплением, а также пути их решения;
4. Были исследованы инструменты создания моделей для проведения экспериментов по обучению с подкреплением, а также модель футбола, встроенного в ML-Agents, изменена под необходимую задачу;
5. Была реализована программа с использованием языка Python и библиотеки машинного обучения Tensorflow, которая эффективно обучает мультиагентную модель футбола;
6. Были проведены вычислительные эксперименты для нахождения лучших гиперпараметров обучения, а также с помощью вычислительных экспериментов с данными гиперпараметрами показана эффективность алгоритма СОМА для использования в данной модели. Предоставлены графики показателей - совокупной награды, длительности 1 эпизода, а также изменение learning_rate.
[1] Черепанов Е.А. «Разработка программы управления персонажем в мно- гополвзователвской онлайн игре». 2018. https://clck.ru/G5bU
[2] Adithya М. Devraj, loannis Kontoyiannis, Sean P. Meyn «Differential Temporal Difference Learning». arXiv:1812.11137. 2018.
[3] Alex Graves «Generating Sequences With Recurrent Neural Networks». arXiv:1308.0850. 2013.
[4] Andrej Karpathy «The Unreasonable Effectiveness of Recurrent Neural Networks ». 2015. http://karpathy.github.io/2015/05/21/rnn-effectiveness/
[5] Busoniu, L.; Babuska, R.; and De Schutter, В. «А comprehensive survey of multiagent reinforcement learning. ». IEEE Transactions on Systems Man and Cybernetics Part C Applications and Reviews 38(2) 2008. pp.156.
[6] Chang, Y.-H.; Ho, T.; and Kaelbling, L. P «All learning is local: Multi-agent learning in global reward games». In NIPS, 2003. pp.807-814.
[7] Das, A., Kottur, S., Moura, J. M., Lee, S., and Batra, D. «Learning cooperative visual dialog agents with deep reinforcement learning.». arXiv preprint arXiv:1703.06585. 2017.
[8] Diederik P. Kingma, Jimmy Ba. «Adam: A Method for Stochastic Optimization». arXiv:1412.6980. v7. 2017.
[9] Djork-Arne Clevert, Thomas Unterthiner, Sepp Hochreiter. «Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)». arXiv: 1511.07289. v5. 2016.
[10] Felix A. Gers, Jurgen Schmidhuber, Fred A. Cummins. «Learning to Forget: Continual Prediction with LSTM ». Technical Report IDSIA-01-99. 1999.
[11] Foerster, J., Assael, Y. M., de Freitas, N., and Whiteson, S. «Learning to communicate with deep multi-agent reinforcement learning. ». In Advances in Neural Information Processing Systems. 2016. pp.2137-2145.
[12] Foerster, J., Nardelli, N., Farquhar, G., Torr, P., Kohli, P., Whiteson, S., et al. «Stabilising experience replay for deep multi-agent reinforcement learning». In Proceedings of The 34th International Conference on Machine Learning. 2017.
[13] Foerster J., Farquhar G., Afouras T., Nardelli N., Whiteson S. «Counterfactual Multi-Agent Policy Gradients». arXiv:1705.08926. 2017.
[14] Google Al «TensorFlow». https://www.tensorflow.org/
[15] Gupta, J. K., Egorov, M., and Kochenderfer, M. «Cooperative multi-agent control using deep reinforcement learning. ». 2017.
...