ReinforcementLearning.jl
ReinforcementLearning.jl — это пакет для обучения с подкреплением на Julia.
В основе его устройства лежат следующие принципы.
-
Многоразовость и расширяемость: продуманные компоненты и интерфейсы помогают пользователям реализовывать новые алгоритмы.
-
Простота экспериментирования: новые пользователи могут легко проводить эксперименты для оценки производительности, сравнивать разные алгоритмы, а также оценивать и диагностировать агенты.
-
Воспроизводимость: от традиционных табличных методов до современных алгоритмов глубокого обучения с подкреплением.
🏹 Начало работы
julia> ] add ReinforcementLearning
julia> using ReinforcementLearning
julia> run(
RandomPolicy(),
CartPoleEnv(),
StopAfterNSteps(1_000),
TotalRewardPerEpisode()
)
В приведенном выше примере демонстрируются четыре основных компонента стандартного эксперимента обучения с подкреплением:
-
Политика.
RandomPolicy
— это простейший экземпляр типаAbstractPolicy
. Он создает случайное действие на каждом шаге. -
Среда.
CartPoleEnv
— это типичный объект типаAbstractEnv
для тестирования алгоритмов обучения с подкреплением. -
Конечное условие.
StopAfterNSteps(1_000)
сообщает о том, что эксперимент должен завершиться после1_000
шагов. -
Обработчик. Структура
TotalRewardPerEpisode
— один из наиболее обыкновенных подтиповAbstractHook
. Она служит для сбора суммарной награды за каждый эпизод эксперимента.
В руководстве можно узнать, как эти четыре компонента сообща позволяют решать множество интересных задач. Мы также периодически делимся в нашем блоге особенностями реализации некоторых алгоритмов. Особенно рекомендуем ознакомиться с введением в ReinforcementLearning.jl, в котором разъясняется, как задумывалось устройство пакета.
✋ Получение справки
Нужна помощь с ReinforcementLearning.jl? Вот как ее можно получить:
-
Читайте документацию в Интернете! Скорее всего, ответ уже есть в примере или в документации по API. Выполните поиск с помощью поля в левом верхнем углу.
-
Обратитесь к нам в Julia Slack в канале #reinforcement-learnin.
-
Задайте вопрос на форуме обсуждения Julia в категории Machine Learning (Машинное обучение), добавив тег reinforcement-learning (обучение с подкреплением).
-
Если пакет ReinforcementLearning.jl работает не так, как следует ожидать, или вы выявили в нем неточности, создайте проблему на его странице в GitHub, предоставив минимальный рабочий пример и действия для воспроизведения проблемы.
✍️ Цитирование
Если вы используете пакет ReinforcementLearning.jl
в научной публикации, то можно сослаться на него в CITATION.bib.