Skip to content

temaambrushkevich/vyz_lab-5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 

Repository files navigation

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

Отчет по лабораторной работе #5 - "Интеграция экономической системы в проект Unity и обучение ML-Agent" выполнил:

  • Амбрушкевич Артем Антонович
  • РИ-211002

Отметка о выполнении заданий (заполняется студентом):

Задание Выполнение Баллы
Задание 1 * 60
Задание 2 * 20
Задание 3 * 20

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

Работу проверили:

  • к.т.н., доцент Денисов Д.В.
  • к.э.н., доцент Панов М.А.
  • ст. преп., Фадеев В.О.

N|Solid

Build Status

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

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

Цель работы

Интегрировать экономическую систему в проекте Unity и обучить ML-agent.

Задание 1

Измените параметры файла .yaml-агента и определите какие параметры и как влияют на обучение модели.

  1. Скачал архив с проектом Unity, и добавил его к себе в Unity Hub.

  2. Активировал ранее созданное пространство в Anaconda Promt командой conda activate MLAGENT

  3. Перешел в папку с проектом командой cd /d H:\ВУЗ\3 семестр\Дата сайнс в примерах и задачах\lab-5\MLA_Lab5_unity

  4. Командой mlagents-learn Economic.yaml --run-id=Economic –-force запустил обучени ML-agenta и запустил проект в Unity.

    gif1

  5. Для того, чтобы ускорить процесс обучения - увеличил кол-во префабов 12 и снова запустил обучение ML-agenta, в результате 10000 шагов мл-агент обучился, чего не скажешь на отметке в 5000 шагов.

    gif2 Снимок1

  6. Результаты обучения модели были сохранены в папку с .yaml-файлом: ...lab-5\MLA_Lab5_unity\results\Economic.

  7. Далее установил TensorBoard с помощью команды pip install tensorflow.

  8. Перешел в папку с проектом командойcd /d H:\ВУЗ\3 семестр\Дата сайнс в примерах и задачах\lab-5\MLA_Lab5_unity

  9. Запустил TensorBoard командойtensorboard --logdir=results\Economic, и в браузере по пути http://localhost:6006/ появились следующие графики Снимок2

  10. Провёл 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
      
      • я изменил коэффициент, на который умножается вознаграждение, как видно из графика Cumulative Reward , суммарное вознаграждение изменилось (в данном случае стало не постоянным, в отличии от Economic_default).

        ec_2

    • Economic_3 - изменены следующие параметры (по сравнению с default)

      gamma: 0.5
      strength: 0.5
      
      • Посмотрим на график Policy Loss, этот график определяет величину изменения политики со временем. Политика — это элемент, определяющий действия, и в общем случае этот график должен стремиться вниз, показывая, что политика всё лучше принимает решения.
      • По сравнению с default настройками, здесь политика лучше принимает решение, а график всё время направлен вниз.
      • Снимок3
  11. Общие графики

    граф1 граф2 граф3

Задание 2

Описание результатов, выведенных в TensorBoard.

  • Вкладка SCALARS
    • График Cumulative Reward: это общее вознаграждение, которое максимизирует агент. Обычно нужно, чтобы оно увеличивалось, но по некоторым причинам оно может и уменьшаться. Всегда лучше максимизировать вознаграждения в интервале от 1 до -1. Если на графике вознаграждения выходят за пределы этого диапазона, то это тоже необходимо исправить.
    • График Episode Length: если это значение уменьшается, то обычно это хороший знак. В конечном итоге, чем короче эпизоды, тем больше обучения. Но при необходимости длина эпизодов может увеличиваться, поэтому картина может быть и другой.
    • График Policy Loss: этот график определяет величину изменения политики со временем.(объяснялось выше)
    • График Value Loss: это средняя потеря функции значения. По сути она моделирует, насколько хорошо агент прогнозирует значение своего следующего состояния. Изначально это значение должно увеличиваться, а после стабилизации вознаграждения — уменьшаться
    • Графики Policy: для оценки качества действий в PPO используется концепция политики, а не модели.
    • График Entropy: этот график показывает величину исследования агента. Нужно, чтобы это значение уменьшалось, потому что агент узнаёт больше об окружении и ему нужно меньше исследовать.
    • График Learning Rate: в данном случае это значение должно постепенно линейно уменьшаться.

Вывод

В результате проделанной работы я интегрировал экономическую систему в проекте Unity, познакомился с TensorBoard и научился выводить в него результаты обучения ML-agenta.

Powered by

BigDigital Team: Denisov | Fadeev | Panov

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published