Skip to content

Отчёты по лабораторным работам курса "Анализ данных [в ГеймДеве] в примерах и задачах" от УрФУ

Notifications You must be signed in to change notification settings

furrycoding/DA-in-GameDev-lab1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 

Repository files navigation

АНАЛИЗ ДАННЫХ И ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ [in GameDev]

Отчет по лабораторной работе #5 выполнил:

  • Казанцев Михаил Максимович
  • РИ - 210914 Отметка о выполнении заданий:
Задание Выполнение Баллы
Задание 1 * 60
Задание 2 * 40

знак "*" - задание выполнено; знак "#" - задание не выполнено;

Структура отчета

  • Данные о работе: название работы, фио, группа, выполненные задания.
  • Цель работы.
  • Задание 1.
  • Код конфигурации агента. Результаты обучения.
  • Задание 2.
  • Подробное описание графиков в TensorBoard.
  • Выводы.

Цель работы

Интегрировать экономическую систему в проект Unity и подобрать её параметры с помощью ML-Agent'а

Задание 1

Ход работы:

  • Для начала, посмотрим как хорошо сможет обучится система с изначальной конфигурацией:

config0

  • Логи mlagents-learn:

results0

  • Результаты в Tensorboard:

plots0

  • Как видно по значениям reward из логов и графиков, система не смогла найти таких параметров, которые бы ограничили рост инфляции

  • Можно попробывать замедлить скорость обучения learning_rate, чтобы каждый шаг параметры менялись меньше

  • Новая конфигурация:

config1

  • Логи mlagents-learn после обучения:

results1

  • Результаты в Tensorboard:

plots1

  • Чуть лучше, но всё равно плохо

  • Увеличим значение time_horizon - тем самым, система будет смотреть в будущее на большее число шагов перед тем как обновлять параметры

  • Новая конфигурация:

config2

  • Логи mlagents-learn после обучения:

results2

  • Результаты в Tensorboard:

plots2

  • Так как процесс инфляции требует достаточно большого времени(а значит и числа шагов), большее значение time_horizon очень помогло

  • Наконец, увеличим гиперпараметр gamma

  • Он контролирует на сколько важна награда в будущем

  • Новая конфигурация:

config_final

  • Логи mlagents-learn после обучения:

results_final

  • Результаты в Tensorboard:

plots_final

  • После всех этих изменений, система научилась держать уровень инфляции под контролем

Задание 2

Пожалуй самый важный график - это Cumulative Reward

  • Он показывает, какую в среднем награду агент получает за эпизод
  • Если график идёт вверх - агент успешно обучается, вниз - у него проблемы

Далее идёт Episode Length

  • Этот график показывает как быстро в среднем проходит эпизод(одна "жизнь" агента)
  • В данном случае - чем короче эпизод, тем хуже. Т.к. при слишком большой инфляции эпизод сразу кончается.

Policy Loss

  • Изменяется в процессе обучения по алгоритму PPO
  • Чем выше - тем быстрее меняется внутренний "алгоритм" агента, процесс, по которому он принимает решения

Value Loss

  • Тоже изменяется в процессе обучения по алгоритму PPO
  • Чем ниже - тем лучше агент может предсказать сколько награды он может получить с данного момента и до конца эпизода(т.е. на сколько удачно его текущее положение)

Выводы

Изучена простая экономическая система Для неё автоматически(при помощи Unity ML-Agents) подобраны параметры, ограничивающие рост инфляции Изучены подробности алгоритма обучения с подкреплением Proximal Policy Optimization(PPO)

Последнюю версию файла конфигурации обучения можно найти в этом репозитории

About

Отчёты по лабораторным работам курса "Анализ данных [в ГеймДеве] в примерах и задачах" от УрФУ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%