После лекции 6 и практического занятия 6 требуется выполнить сделующие задания:
- Как было сказано на занятиях. Advantage функцию в PPO можно считать и учить по-разному. В задании предлагается написать и исследовать другой способ делать это. А именно использовать представление A(s,a) = r + \gamma V(s') - V(s), где s' - следующее состояние. То есть returns в данном случае использовать не нужно. Необходимо сравнить кривые обучения алгоритма с этим “новым” способом и “старым” способом (из практики) на задаче Pendulum.
- На практике мы написали PPO для случая одномерного пространства действий. Использование же его для многомерного пространства действий требует небольших технических изменений в коде (при этом содержательно ничего не меняется). Задание заключается в том, чтобы внести эти изменения (т.е. модифицировать PPO для работы в средах с многомерным пространством действий) и решить с его помощью LunarLander (результат должен быть больше 100). Для того, чтобы сделать LunarLander с непрерывным пространством действий нужно положить continuous=True (см. пояснения в Lunar Lander - Gym Documentation (gymlibrary.dev))
- Написать PPO для работы в средах с конечным пространствам действий и решить Acrobot. Для решения можно использовать Categorial из torch.distributions (см. pytorch документацию).
Оформление
Код задания следует выполнить в .py файле с названием "(фамилия)_practice6_1.py". Результаты всех исследований следует оформить в отчет в виде одного .pdf файла с названием "(фамилия)_practice6.pdf". Отчеты оформляются в произвольной форме, однако должны содержать
- оглавление,
- описание экспериментов,
- результаты экспериментов проиллюстрированные в виде графиков обучения (ось x - количество итераций обучения, ось y - результаты обучения),
- вывод.
Все файлы кладутся в папку с названием "(фамилия)_practice6" и предоставляется возможность скачать эту папке по ссылке (google.drive, yandex.disk и пр.). Задания отправляются в форме ниже в формате:
Фамилия Имя Отчество
Домашняя работа 6 - (ссылка на папку (фамилия)_practice6)
Оценка
Выполнение заданий оценивается в 10 баллов - 5 баллов на правильность выполнения и 5 за качество оформление отчета.