bsuite — это коллекция экспериментов для исследования поведения разных RL-агентов на общих задачах. Библиотека автоматизирует оценку и анализ поведения агентов на задачах. Она служит для упрощения создания повторяемых исследований.
У библиотеки две основные цели. Первая — собрать понятные и масштабируемые проблемы, которые описывают основные проблемы в разработке эффективных RL-алгоритмов. Вторая — изучить поведения разных агентов на одних и тех же задачах.
Технический обзор
bsuite состоит из набора экспериментов, которые определены в субдиректории “experiments”. Каждая субдиректория отвечает за один эксперимент и содержит:
- Файл, определяющий RL среду, которая может быть конфигурируемой и предоставлять разные уровни сложности;
- Последовательность ключевых аргументов для этой среды, которые определены в переменной SETTINGS в файле sweep.py;
- Файл analysis.py, в котором определены графики для анализа
Библиотека работает так, что логгирует результаты изнутри каждой среды, когда загружает среду через функцию load_and_record. Это означает, что каждый эксперимент автоматически будет выдавать данные в корректном для анализа формате. Это не накладывает ограничения на структуру агентов или алгоритмов.
Стандартные агенты
Разработчики включили реализации нескольких общих агентов в субдиректории “baselines”. Основные зависимости — TensorFlow и Sonnet. Зависимости не предустанавливаются по дефолту, потому что библиотека не требует пользователей использовать какую-то специальную библиотеку.
Прогнать эксперимент
Каждый из агентов из папке “baselines” имеет скрипт для прогона, который служит как пример для запуска агента на одной среде или на последовательности экспериментов. При запуске агента на ряде экспериментов начинается пул процессов, который максимально параллелит запуск экспериментов на машине. Для большинства агентов и на машине с 12 ядрами обучение завершится за ночь. Как альтернатива можно запускать эксперименты на Google Compute Platform с помощью скрипта run_on_gcp.sh.
В будущем разработчики планируют добавить более эксперименты с более сложным дизайном и собирать обзоры на эксперименты от известных исследователей.