Ended 5 months ago
45 participants
40 submissions

DRL Course 2023 Домашнее задание 7

Задания по седьмой лекции и седьмому практическому занятию

В финальном домашнем задании необходимо ответить на вопрос, какой же алгоритм все таки лучше решает ту или иную задачу. А именно, нужно рассмотреть одну из следующих задач:

  • CartPole
  • Pendulum
  • LunarLender с дискретным пространством действий (по умолчанию)
  • LunarLender с непрерывным пространством действий (нужно положить continuous=True, см. пояснения здесь Lunar Lander)
  • BipedalWalker

Нужно сравнить следующие алгоритмы:

  • CEM со второй лекции. Для дискретного пространства действий CEM был реализован на практическом занятии 2, для непрерывного — был задан в рамках домашнего задания 2.
  • DQN с Hard или Soft Target Networks с пятой лекции. Для дискретного пространства действий DQN был реализован на практическом занятии 5. Hard и Soft Target Networks было предложено реализовать в рамках домашнего задания 5. Кроме того, аналог Soft Target Networks был реализован на практическом занятии 7 в SAC. Для непрерывного пространства действий, его (пространство действий) следует дискретизировать. Например, если пространство действий - это отрезок [-2,2], то можно выбрать 3 действия {-2,0,2} или больше, например, 5 действий {-2,-1,0,1,2}. Если пространство действий квадрат [-1,1]^2, то — 5 действий {[-1,-1],[-1,1],[1,-1],[1,1],[0,0]} или больше. После такой дискретизации можно уже применять DQN.
  • PPO с шестой лекции. Для непрерывного и скалярного пространства действий PPO был реализован на практическом занятии 6, для непрерывного многомерного и дискретного  — был задан в рамках домашнего задания 6.
  • SAC с седьмой лекции. Для непрерывного и скалярного пространства действий SAC был реализован на практическом занятии 7, для непрерывного многомерного и дискретного  — предлагается реализовать в рамках текущего задания по аналогии с PPO.

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

Сравнение алгоритмов корректно проводить согласно следующим принципам:

  • Понятно, что все алгоритмы имеют разный набор гиперпараметров. Тем не менее, сравнение разумного проводить выбирая одинаковые гиперпараметры в тех случая где они совпадают (например lr или batch_size). Архитектуры NN также разумно выбирать одного размера. 
  • В алгоритме CEM и PPO на одной итерации обучения генерируется несколько траекторий. Этот факт необходимо учитывать на графиках, либо выводя результаты total_reward для всех этих траекторий, либо беря усредненный total_reward по этим траекториям и растягивая его на графике на количество траекторий. Суть в том, чтобы корректно оценить скорость обучения алгоритмов относительно сгенерированных траекторий, а не относительно итераций.
  • Обязательным принципом при сравнении алгоритмов в исследованиях по RL является следующий. Необходимо запустить каждый алгоритм несколько раз (3,5,10 и т.д.) и на график выводить усредненную кривую обучения. Так мы учитываем эффект случайности в обучении обусловленный инициализацией NN, шумом при выборе действий и случайностью в среде.

Главным результатов этого задания должен стать график с усредненными (по запускам, см. выше) кривыми обучений всех алгоритмов, по x-оси которого количество сгенерированных траекторий, а по y-оси total_reward.

Оформление

Код задания следует выполнить в .py файле с названием "(фамилия)_practice7_1.py". Результаты всех исследований следует оформить в отчет в виде одного .pdf файла с названием "(фамилия)_practice7.pdf". Отчеты оформляются в произвольной форме, однако должны содержать  

  • оглавление,
  • описание экспериментов,
  • результаты экспериментов проиллюстрированные в виде графиков обучения.
  • вывод.

Все файлы кладутся в папку с названием "(фамилия)_practice7" и предоставляется возможность скачать эту папке по ссылке (google.drive, yandex.disk и пр.). Задания отправляются в форме ниже в формате:

Фамилия Имя Отчество

Домашняя работа 7 - (ссылка на папку (фамилия)_practice7)

Оценка

Выполнение заданий оценивается в 10 баллов - 5 баллов на правильность выполнения и 5 за качество оформление отчета.

.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.