Deep reinforcement learning is a field of Artificial Intelligence that has attracted much attention since impressive achievements in Robotics, Atari, and most recently Go, where human world champions were defeated by computer players. These results build upon a combination of the rich history of reinforcement learning research and deep learning.
This course teaches the field of deep reinforcement learning: How does it work, why does it work, and what are the reinforcement learning methods on which Robotics and AlphaGo’s success are based? By the end of the course you should have acquired a good understanding of the field of deep reinforcement learning.
The defining characteristic of reinforcement learning is that agents learn through interaction with an environment, not unlike humans learn by doing. Instead of telling a learner which action to take, the agent analyzes which action to take so as to maximize a reward signal. Reinforcement learning is a powerful technique for solving sequential decision problems.
The defining characteristic of deep learning is that the model generalizes, it build a hierarchy of abstract features from its inputs.
Prominent reinforcement learning problems occur, amongst others, in games and robotics. In this course you will learn the necessary theory to apply reinforcement learning to realistic problems from the field of computer game playing.
The following topics and algorithms are planned to be discussed:
Tabular Value-based Reinforcement Learning, such as Q-learning
Deep Value-based Reinforcement Learning, such as DQN
Policy-based Reinforcement Learning, such as PPO
Model-based Reinforcement Learning
Two-Agent Self-Play (AlphaGo)
Multi-Agent Reinforcement Learning (Poker, StarCraft)
Hierarchical Reinforcement Learning
Meta-Learning, such as MAML
Brief Summary of Deep Supervised Learning
In addition the role of reinforcement learning in artificial intelligence and the relation with psychology will be discussed (human learning).
This a hands-on course, in which you will be challenged to build working game playing programs with different reinforcement learning methods. This is a challenging course in which proficiency in Python and deep learning libraries (such as Keras and PyTorch) is important.
All assignments should be made in Python.
Outcome:
After completing the reinforcement learning course, the students should be able to:
Understand the key features and components of deep reinforcement learning;
Knowledge of theoretical foundations on basic and advanced deep reinforcement learning techniques;
Understand the scientific state-of-the-art in the field of deep reinforcement learning.