Autonomous Learning — это объектно-ориентированная библиотека для обучения RL-агентов. Библиотека разрабатывалась, чтобы облегчить прототипирование и оценку новых RL-агентов. Кроме того, в библиотеке есть реализации последних алгоритмов глубокого обучения с подкреплением.
Среди характеристик библиотеки:
- Approximation API, который интегрирует признаки, как целевые сети, клиппинг градиента, расписание learning rates, внедрение чекпоинтов в модель, multi-headed сети, масштабирование функции потерь и логгирование;
- Различные виды буферов памяти, например, prioritized experience replay (PER) и generalized advantage estimation (GAE);
- Интерфейс среды, который основан на нейросетевом фреймворке PyTorch;
- Обертки для воспроизведения стандартных бенчмарков;
- Интеграция Slurm для случаев высоконагруженных экспериментов;
- Функционал для визуализации и логгирования результатов экспериментов
Разработчики опубликовали пример пробного проекта, который демонстрирует функционал библиотеки в полной мере.
Алгоритмы глубокого обучения с подкреплением в библиотеке
В библиотеке RL-агенты делятся на два модуля:
- all.agents, в котором находятся реализации state-of-the-art алгоритмов, которые могут быть обучены на новые задачи и среды;
- all.presets, который предоставляет обученные модели из all.agents для конкретных сред. Среди сред — такие, как Atari и симуляции PyBullet
Some benchmark results showing results on-par with published results can be found below:
На текущий момент в библиотеке доступны следующие алгоритмы:
- Advantage Actor-Critic (A2C);
- Categorical DQN (C51);
- Deep Deterministic Policy Gradient (DDPG);
- Deep Q-Learning (DQN) и его расширения;
- Proximal Policy Optimization (PPO);
- Rainbow (Rainbow);
- Soft Actor-Critic (SAC)
Кроме того, в библиотеке есть реализации базовых алгоритмов: Vanilla Actor-Critic, Vanilla Policy Gradient, Vanilla Q-Learning и Vanilla Sarsa.