|
|
# Обучение Mountain Car
|
|
|
|
|
|
[OpenAI Gym](http://gym.openai.com) разработан таким образом, что все среды предоставляют один и тот же API - т.е. одни и те же методы `reset`, `step` и `render`, а также одни и те же абстракции **пространства действий** и **пространства наблюдений**. Таким образом, должно быть возможно адаптировать одни и те же алгоритмы обучения с подкреплением к различным средам с минимальными изменениями в коде.
|
|
|
|
|
|
## Среда Mountain Car
|
|
|
|
|
|
[Среда Mountain Car](https://gym.openai.com/envs/MountainCar-v0/) содержит автомобиль, застрявший в долине:
|
|
|
Цель состоит в том, чтобы выбраться из долины и захватить флаг, выполняя на каждом шаге одно из следующих действий:
|
|
|
|
|
|
| Значение | Значение |
|
|
|
|---|---|
|
|
|
| 0 | Ускориться влево |
|
|
|
| 1 | Не ускоряться |
|
|
|
| 2 | Ускориться вправо |
|
|
|
|
|
|
Основной трюк этой задачи заключается в том, что двигатель автомобиля недостаточно мощный, чтобы подняться на гору за один раз. Поэтому единственный способ добиться успеха - это двигаться взад и вперед, чтобы набрать скорость.
|
|
|
|
|
|
Пространство наблюдений состоит всего из двух значений:
|
|
|
|
|
|
| Номер | Наблюдение | Минимум | Максимум |
|
|
|
|-----|--------------|-----|-----|
|
|
|
| 0 | Позиция автомобиля | -1.2| 0.6 |
|
|
|
| 1 | Скорость автомобиля | -0.07 | 0.07 |
|
|
|
|
|
|
Система вознаграждений для mountain car довольно сложная:
|
|
|
|
|
|
* Вознаграждение 0 присуждается, если агент достиг флага (позиция = 0.5) на вершине горы.
|
|
|
* Вознаграждение -1 присуждается, если позиция агента меньше 0.5.
|
|
|
|
|
|
Эпизод заканчивается, если позиция автомобиля больше 0.5 или длина эпизода превышает 200.
|
|
|
## Инструкции
|
|
|
|
|
|
Адаптируйте наш алгоритм обучения с подкреплением для решения проблемы mountain car. Начните с существующего кода [notebook.ipynb](../../../../8-Reinforcement/2-Gym/notebook.ipynb), замените среду, измените функции дискретизации состояния и постарайтесь сделать так, чтобы существующий алгоритм обучался с минимальными изменениями в коде. Оптимизируйте результат, настроив гиперпараметры.
|
|
|
|
|
|
> **Примечание**: Вероятно, потребуется настройка гиперпараметров, чтобы алгоритм сошелся.
|
|
|
## Критерии оценки
|
|
|
|
|
|
| Критерий | Примерно | Достаточно | Требует улучшения |
|
|
|
| -------- | --------- | -------- | ----------------- |
|
|
|
| | Алгоритм Q-Learning успешно адаптирован из примера CartPole с минимальными изменениями в коде, что позволяет решить задачу захвата флага за менее чем 200 шагов. | Новый алгоритм Q-Learning был заимствован из Интернета, но хорошо задокументирован; или существующий алгоритм адаптирован, но не достигает желаемых результатов | Студент не смог успешно адаптировать ни один алгоритм, но сделал значительные шаги к решению (реализовал дискретизацию состояния, структуру данных Q-Table и т.д.) |
|
|
|
|
|
|
**Отказ от ответственности**:
|
|
|
Этот документ был переведен с использованием машинных переводческих услуг на основе ИИ. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для критически важной информации рекомендуется профессиональный человеческий перевод. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования этого перевода. |