Reinforcement learning (RL) is a powerful technique to train an agent to perform a task.   However, an agent that is trained using RL is only capable of achieving the single task that is specified via its reward function.    Such an approach does not scale well to settings in which an agent needs to perform a diverse set of tasks, such as navigating to varying positions in a room or moving objects to varying locations.   Instead, we propose a method that allows an agent to automatically discover the range of tasks that it is capable of performing in its environment.   We use a generator network to propose tasks for the agent to try to achieve, each task being specified as reaching a certain parametrized subset of the state-space.   The generator network is optimized using adversarial training to produce tasks that are always at the appropriate level of difficulty for the agent.   Our method thus automatically produces a curriculum of tasks for the agent to learn.   We show that, by using this framework, an agent can efficiently and automatically learn to perform a wide set of tasks without requiring any prior knowledge of its environment (Videos and code available at: https://sites.google.com/view/goalgeneration4rl). Our method can also learn to achieve tasks with sparse rewards, which pose significant challenges for traditional RL methods.
We efficiently solve multi-task problems with an automatic curriculum generation algorithm based on a generative model that tracks the learning agent's performance.