Отчет по лабораторной работе #5 - "Интеграция экономической системы в проект Unity и обучение ML-Agent" выполнил:
- Амбрушкевич Артем Антонович
- РИ-211002
Отметка о выполнении заданий (заполняется студентом):
Задание | Выполнение | Баллы |
---|---|---|
Задание 1 | * | 60 |
Задание 2 | * | 20 |
Задание 3 | * | 20 |
знак "*" - задание выполнено; знак "#" - задание не выполнено;
Работу проверили:
- к.т.н., доцент Денисов Д.В.
- к.э.н., доцент Панов М.А.
- ст. преп., Фадеев В.О.
Структура отчета
- Данные о работе: название работы, фио, группа, выполненные задания.
- Цель работы.
- Задание 1.
- Код реализации выполнения задания. Визуализация результатов выполнения (если применимо).
- Задание 2.
- Код реализации выполнения задания. Визуализация результатов выполнения (если применимо).
- Выводы.
Интегрировать экономическую систему в проекте Unity и обучить ML-agent.
-
Скачал архив с проектом Unity, и добавил его к себе в Unity Hub.
-
Активировал ранее созданное пространство в Anaconda Promt командой
conda activate MLAGENT
-
Перешел в папку с проектом командой
cd /d H:\ВУЗ\3 семестр\Дата сайнс в примерах и задачах\lab-5\MLA_Lab5_unity
-
Командой
mlagents-learn Economic.yaml --run-id=Economic –-force
запустил обучени ML-agenta и запустил проект в Unity. -
Для того, чтобы ускорить процесс обучения - увеличил кол-во префабов 12 и снова запустил обучение ML-agenta, в результате 10000 шагов мл-агент обучился, чего не скажешь на отметке в 5000 шагов.
-
Результаты обучения модели были сохранены в папку с .yaml-файлом:
...lab-5\MLA_Lab5_unity\results\Economic
. -
Далее установил TensorBoard с помощью команды
pip install tensorflow
. -
Перешел в папку с проектом командой
cd /d H:\ВУЗ\3 семестр\Дата сайнс в примерах и задачах\lab-5\MLA_Lab5_unity
-
Запустил TensorBoard командой
tensorboard --logdir=results\Economic
, и в браузере по путиhttp://localhost:6006/
появились следующие графики -
Провёл 4 обучения, в каждом меняя некоторые параметры. Далее перешел в папку с проектом командой
cd /d H:\ВУЗ\3 семестр\Дата сайнс в примерах и задачах\lab-5\MLA_Lab5_unity
и запустил TensorBoard командойtensorboard --logdir=results\
, в результате в TensorBoard появились графики(все графики в пункте 11). Обозначения:
-
Economic-default - настройки .yaml файла по-умолчанию
-
Economic_1 - изменены следующие параметры (по сравнению с default)
learning_rate: 2.0e-4 gamma: 0.5 summary_freq: 10000
- Суммарное вознаграждение не изменилось, т.е. как было максимальным(1.0) так и осталось
- Естественно изменилась длина эпизода, так как поменяли параметр
learning_rate
-
Economic_2 - изменены следующие параметры (по сравнению с default)
strength: 0.5
-
Economic_3 - изменены следующие параметры (по сравнению с default)
gamma: 0.5 strength: 0.5
- Посмотрим на график Policy Loss, этот график определяет величину изменения политики со временем. Политика — это элемент, определяющий действия, и в общем случае этот график должен стремиться вниз, показывая, что политика всё лучше принимает решения.
- По сравнению с default настройками, здесь политика лучше принимает решение, а график всё время направлен вниз.
-
-
Общие графики
- Вкладка SCALARS
- График
Cumulative Reward
: это общее вознаграждение, которое максимизирует агент. Обычно нужно, чтобы оно увеличивалось, но по некоторым причинам оно может и уменьшаться. Всегда лучше максимизировать вознаграждения в интервале от 1 до -1. Если на графике вознаграждения выходят за пределы этого диапазона, то это тоже необходимо исправить. - График
Episode Length
: если это значение уменьшается, то обычно это хороший знак. В конечном итоге, чем короче эпизоды, тем больше обучения. Но при необходимости длина эпизодов может увеличиваться, поэтому картина может быть и другой. - График
Policy Loss
: этот график определяет величину изменения политики со временем.(объяснялось выше) - График
Value Loss
: это средняя потеря функции значения. По сути она моделирует, насколько хорошо агент прогнозирует значение своего следующего состояния. Изначально это значение должно увеличиваться, а после стабилизации вознаграждения — уменьшаться - Графики
Policy
: для оценки качества действий в PPO используется концепция политики, а не модели. - График
Entropy
: этот график показывает величину исследования агента. Нужно, чтобы это значение уменьшалось, потому что агент узнаёт больше об окружении и ему нужно меньше исследовать. - График
Learning Rate
: в данном случае это значение должно постепенно линейно уменьшаться.
- График
В результате проделанной работы я интегрировал экономическую систему в проекте Unity, познакомился с TensorBoard и научился выводить в него результаты обучения ML-agenta.
BigDigital Team: Denisov | Fadeev | Panov