Отчет по лабораторной работе #5 выполнил:
- Казанцев Михаил Максимович
- РИ - 210914 Отметка о выполнении заданий:
Задание | Выполнение | Баллы |
---|---|---|
Задание 1 | * | 60 |
Задание 2 | * | 40 |
знак "*" - задание выполнено; знак "#" - задание не выполнено;
Структура отчета
- Данные о работе: название работы, фио, группа, выполненные задания.
- Цель работы.
- Задание 1.
- Код конфигурации агента. Результаты обучения.
- Задание 2.
- Подробное описание графиков в TensorBoard.
- Выводы.
Интегрировать экономическую систему в проект Unity и подобрать её параметры с помощью ML-Agent'а
Ход работы:
- Для начала, посмотрим как хорошо сможет обучится система с изначальной конфигурацией:
- Логи
mlagents-learn
:
- Результаты в Tensorboard:
-
Как видно по значениям reward из логов и графиков, система не смогла найти таких параметров, которые бы ограничили рост инфляции
-
Можно попробывать замедлить скорость обучения
learning_rate
, чтобы каждый шаг параметры менялись меньше -
Новая конфигурация:
- Логи
mlagents-learn
после обучения:
- Результаты в Tensorboard:
-
Чуть лучше, но всё равно плохо
-
Увеличим значение time_horizon - тем самым, система будет смотреть в будущее на большее число шагов перед тем как обновлять параметры
-
Новая конфигурация:
- Логи
mlagents-learn
после обучения:
- Результаты в Tensorboard:
-
Так как процесс инфляции требует достаточно большого времени(а значит и числа шагов), большее значение time_horizon очень помогло
-
Наконец, увеличим гиперпараметр gamma
-
Он контролирует на сколько важна награда в будущем
-
Новая конфигурация:
- Логи
mlagents-learn
после обучения:
- Результаты в Tensorboard:
- После всех этих изменений, система научилась держать уровень инфляции под контролем
- Он показывает, какую в среднем награду агент получает за эпизод
- Если график идёт вверх - агент успешно обучается, вниз - у него проблемы
- Этот график показывает как быстро в среднем проходит эпизод(одна "жизнь" агента)
- В данном случае - чем короче эпизод, тем хуже. Т.к. при слишком большой инфляции эпизод сразу кончается.
- Изменяется в процессе обучения по алгоритму PPO
- Чем выше - тем быстрее меняется внутренний "алгоритм" агента, процесс, по которому он принимает решения
- Тоже изменяется в процессе обучения по алгоритму PPO
- Чем ниже - тем лучше агент может предсказать сколько награды он может получить с данного момента и до конца эпизода(т.е. на сколько удачно его текущее положение)
Изучена простая экономическая система Для неё автоматически(при помощи Unity ML-Agents) подобраны параметры, ограничивающие рост инфляции Изучены подробности алгоритма обучения с подкреплением Proximal Policy Optimization(PPO)
Последнюю версию файла конфигурации обучения можно найти в этом репозитории