СОДЕРЖАНИЕ 3
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ 5
ВВЕДЕНИЕ 6
1 Анализ предметной области 7
1.1 Характеристика нейронных сетей 9
1.2 Обзор применяемых в игровых приложениях нейросетей 13
1.3 Инструменты создания нейросети на основе обучения с
подкреплением 14
1.3.1 TensorFlow 15
1.3.2 PyTorch 17
1.3.3 Unity ML-Agents 18
1.3.4 Выбор инструментария 20
1.4 Выводы 20
2 Разработка приложения 21
2.1 Разработка концепта нейросети для тестовой среды 21
2.2 Демонстрация собственной игровой среды 25
2.3 Структура игрового приложения 28
2.4 Описание переменных среды, с которыми будет
взаимодействовать игровой агент 31
2.5 Подготовка агента к обучению 35
2.6 Описание алгоритмов обучения агента 41
2.6.1 Proximal Policy Optimization 42
2.6.2 Soft Actor-Critic 44
2.6.3 Вывод о рассмотренных методах обучения 47
2.7 Анализ обучения агента 48
2.7.1 Обучение агента с помощью метода PPO 49
2.7.2 Обучение агента с помощью метода SAC с заранее завышенными
характеристиками 53
2.7.3 Обучение агента с помощью метода SAC с оптимальными настройками 55
2.8 Выводы 58
Заключение 59
Список использованных источников 61
Приложение А. Листинг программы 64
Приложение Б. Презентация
На сегодняшний день, развитие нейронных сетей идёт семимильными шагами, а области их применения всё более разнообразны. Нейронная сеть — это метод в искусственном интеллекте, который учит компьютеры обрабатывать данные таким же способом, как и человеческий мозг. Это тип процесса машинного обучения, называемый глубоким обучением, который использует взаимосвязанные узлы или нейроны в слоистой структуре, напоминающей человеческий мозг. Чаще всего нейросети используют для таких задач как: машинное зрение, распознавание речи, обработка естественного языка и других сфер.
В данной работе рассматривается применение искусственных нейронных сетей в сфере компьютерных игр (или интерактивных развлечений), проанализированы разработки нейронных сетей на основе обучения с подкреплением, а также разработан игровой искусственный интеллект у агента, помещённого в специально разработанную среду и выполняющего определённую задачу. Данная модель позволит улучшить игровой опыт игроков, благодаря внедрению нейронной сети, а также может быть ориентирована на последующее внедрение в сферы реального мира.
В магистерской диссертации объектом исследования выступает игровой искусственный интеллект. Предметом исследования является глубокое обучение с подкреплением и компьютерные игры.
Целью магистерской диссертации является создание игры с внедрённым в неё ИИИ, рассмотрение и анализ различных алгоритмов ИИ и архитектур нейронной сети, формирование рекомендации для непосредственной реализации искусственного интеллекта в компьютерных играх
На этапе исследований и анализа были изучены различные реализации искусственного интеллекта (ИИ), включая обучение с подкреплением и нейронные сети. Были проведены подробные исследования алгоритмов глубокого обучения, таких как Proximal Policy Optimization (PPO) и Soft Actor¬Critic (SAC). Эти оценки позволили понять, как эффективно разработать или модифицировать игру с интеграцией ИИ, обеспечив необходимый контроль и гибкость.
В данной работе была разработана игра со встроенным игровым ИИ для поведения персонажей. В качестве игрового движка был выбран Unity, а основу реализации ИИ составило обучение с подкреплением, которое было реализовано с помощью инструментария Unity ML-Agents. В ходе исследования был проведен тщательный анализ различных методов обучения агента, выделены их сильные и слабые стороны, а также предложены рекомендации по их использованию. Также были определены базовые настройки для обучения агента, которые могут служить как готовыми к использованию конфигурациями, так и отправной точкой для дальнейшей настройки гиперпараметров с целью повышения эффективности обучения в различных условиях.
Полученные результаты обладают значительной научной ценностью и открывают многообещающие перспективы для дальнейших исследований в области обучения с подкреплением. Это может привести к интеграции агентов ИИ в различные сферы человеческой деятельности.
Результаты работы докладывались на конференции ПГУ «Актуальные проблемы науки и образования» (апрель 2023 года), также опубликована статья [26].
Сама игра, помимо вышеупомянутых исследований, представляет собой полнофункциональный продукт. Сложность и комплексность процесса взаимодействия игрового мира с игроком, открывает большие перспективы для дальнейшего роста игрового проекта, а использование искусственного интеллекта может улучшить погружение в игровой процесс. Игровое приложение содержит множество функций, такие как редактор карт и большое разнообразие игровых ситуаций. В будущем не составит труда добавить множество режимов игры, такие как: игрок против игрока, или кооператив против ИИ.
1. Stopgame, сайт игровых новостей // Нейронные сети в игровой
индустрии URL:
https://stopgame.ru/blogs/topic/107976/neyronnye_seti_v_igrovoy_industriiобращения: 25.12.2022)
2. Официальный сайт nvidia // Мультипликатор производительности на основе ИИ URL: https://www.nvidia.com/ru-ru/geforce/technologies/dlss/(дата обращения: 25.12.2022)
3. Стартап, который помог Microsoft в создании мира Flight Simulator URL: https://habr.com/ru/post/515720/(дата обращения: 25.12.2022)
4. Midjourney — нейросеть генерирующая картинки по текстовому описанию URL: https://habr.com/ru/post/687524/(дата обращения: 25.12.2022)
5. Нейронные сети в играх: как и, главное, зачем они используются URL: https://codernet.ru/articles/drugoe/nejronnyie_seti_v_igrax_kak_i_glavnoe_zachem_ oni_ispolzuyutsya/ (дата обращения: 25.12.2022)
6. Пискарёв Д.И., Разинков К.Ю. Искусственная нейронная сеть. Области применения и принцип работы // EUROPEAN RESEARCH. Cборник статей XV Международной научно-практической конференции: в 2 ч. Том. Часть 1. - Пенза: Наука и Просвещение (ИП Гуляев Г.Ю.), 2018. - С. 33-36.
7. Иванько А.Ф., Иванько М.Ф., Сизова Ю.А. Нейронные сети: общие технологические характеристики // Научное обозрение. Технические науки. - 2019. - №2. - С. 17-23.
8. Что такое обучение с подкреплением и как оно работает URL: https://proglib.io/p/chto-takoe-obuchenie-s-podkrepleniem-i-kak-ono-rabotaet- obyasnyaem-na-prostyh-primerah(дата обращения: 25.12.2022).
9. Wikipedia OpenAI Five URL:
https://emm.wikipedia.org/wiki/OpenAI_Five(дата обращения: 25.12.2022).
10. Wikipedia DeepMind URL: https://ru.wikipedia.org/wiki/DeepMind(дата обращения: 25.12.2022).
11. Библиотека глубокого обучения Tensorflow URL:
https://habr.com/ru/companies/ods/articles/324898/(дата обращения: 04.06.2023).
12. PyTorch — ваш новый фреймворк глубокого обучения URL: https://habr.com/ru/articles/334380/(дата обращения: 04.06.2023).
13. Машинное обучение агентов в Unity URL:
https://habr.com/ru/articles/454612/(дата обращения: 04.06.2023)
14. D. Engelbrecht. Introduction to Unity ML-Agents: Understand the Interplay of Neural Networks and Simulation Space Using the Unity ML-Agents Package / D. Engelbrecht // Apress, 2023. - 213 с.
15. Gymnasium Documentation // Toy Text // Frozen Lake URL:
https://gymnasium.farama.org/environments/toy_text/frozen_lake/ (дата
обращения: 27.12.2023).
16. Официальный сайт библиотеки OpenAI Gym // Frozen Lake
environment // Rewards URL:
https://www.gymlibrary.dev/environments/toy_text/frozen_lake/#rewards (дата
обращения: 27.12.2023).
17. Cross Entropy Loss: Intro, Applications, Code URL:
https://www.v7labs.com/blog/cross-entropy-loss-guide (дата обращения:
27.12.2023).
18. DEV Community // Breaking the ice URL: https://dev.to/exactful/using- the-cross-entropy-method-to-solve-frozen-lake-3cea(дата обращения: 27.12.2023).
19. Бонд Д. Г. Unity и C#. Геймдев от идеи до реализации, 2-е издание / Бонд Д. Г. // Питер, 2022. - 928 с.
20. Учебник по машинному обучению URL:
https://education.yandex.ru/handbook/ml/article/obuchenie-s-podkrepleniem(дата обращения: 01.04.2024).
21. Unity ML-Agents Toolkit // Agents URL: https://unity-
technologies.github.io/ml-agents/Learning-Environment-Design-Agents/ (дата
обращения: 10.06.2024)
22. Unity Documentation URL: https://docs.unity3d.com(дата обращения: 10.06.2024)
23. Training Configuration File // Unity ML-Agents Toolkit URL: https://unity-technologies.github.io/ml-agents/Training-Configuration-File/(дата обращения: 10.06.24)
24. Proximal Policy Optimization // OpenAI. Spinning UP URL: https://spinningup.openai.com/en/latest/algorithms/ppo.html(дата обращения: 11.06.24)
25. Soft Actor-Critic // OpenAI. Spinning UP URL: https://spinningup.openai.com/en/latest/algorithms/sac.html
26. Костерев Г.А., Михалев А.Г. Применение искусственных нейронных сетей в сфере компьютерных игр // Информационные технологии в науке и образовании. Проблемы и перспективы: сборник статей по материалам X Всероссийской научно-практической конференции. Пенза, 2023. С. 223-226.