Syllabus: Portable Curricula for Reinforcement Learning Agents

Ryan Sullivan, Ryan Pégoud, Ameen Ur Rehman, Xinchen Yang, Junyun Huang +3 more
11/18/2024
cs.AI

Official code: RyanNavillus/Syllabus (122 stars, MIT, last commit 2026-04-18).

Abstract

Curriculum learning has been a quiet, yet crucial component of many high-profile successes of reinforcement learning. Despite this, it is still a niche topic that is not directly supported by any of the major reinforcement learning libraries. These methods can improve the capabilities and generalization of RL agents, but often require complex changes to training code. We introduce Syllabus, a portable curriculum learning library, as a solution to this problem. Syllabus provides a universal API for curriculum learning, modular implementations of popular automatic curriculum learning methods, and infrastructure that allows them to be easily integrated with asynchronous training code in nearly any RL library. Syllabus provides a minimal API for core curriculum learning components, making it easier to design new algorithms and adapt existing ones to new environments. We demonstrate this by evaluating the algorithms in Syllabus on several new environments, each using agents written in a different RL library. We present the first examples of automatic curriculum learning in NetHack and Neural MMO, two of the most challenging RL benchmarks, and find evidence that existing methods do not directly transfer to complex new environments. Syllabus can be found at https://github.com/RyanNavillus/Syllabus.

View on arXivView PDF

Code Implementations(1)

MIT

Synchronized Curriculum Learning for RL Agents

12217Shell, PythonFeb 18, 20236 months agoMIT

Similar Papers

Cite this paper

@article{sullivan2024syllabus,
  title  = {Syllabus: Portable Curricula for Reinforcement Learning Agents},
  author = {Ryan Sullivan and Ryan Pégoud and Ameen Ur Rehman and Xinchen Yang and Junyun Huang and Aayush Verma and Nistha Mitra and John P. Dickerson},
  year   = {2024},
  eprint = {2411.11318},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2411.11318v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2411.11318.svg)](https://codeofpaper.com/paper/2411.11318)

Discussion