Reinforcement Learning

CS234

Stanford School of Engineering

Reinforcement Learning (RL) provides a powerful paradigm for artificial intelligence and the enabling of autonomous systems to learn to make good decisions. RL is relevant to an enormous range of tasks, including robotics, game playing, consumer modeling and healthcare. 

This class will provide a solid introduction to the field of RL. You will learn about the core challenges and approaches in the field, including generalization and exploration.

Through a combination of lectures, and written and coding assignments, you will become well-versed in key ideas and techniques for RL. Assignments will include the basics of reinforcement learning as well as deep reinforcement learning—an extremely promising new area that combines deep learning techniques with reinforcement learning.

What You Need to Succeed

  • A conferred bachelor’s degree with an undergraduate GPA of 3.0 or better
  • Proficiency in Python
    All class assignments will be in Python. If you have a lot of programming experience but in a different language (e.g. C/ C++/ Matlab/ Javascript) you will probably be fine.
  • College Calculus, Linear Algebra (e.g. MATH 51, CME 100)
    You should be comfortable taking derivatives and understanding matrix vector operations and notation.
  • Basic Probability and Statistics (e.g. CS 109 or other stats course)
    You should know basics of probabilities, Gaussian distributions, mean, standard deviation, etc.
  • Foundations of Machine Learning
    We will be formulating cost functions, taking derivatives and performing optimization with gradient descent. Either CS 221 or CS 229 cover this background. Some optimization tricks will be more intuitive with some knowledge of convex optimization.

What You Need To Get Started

Before enrolling in your first graduate course, you must complete an online application.

Don’t wait! While you can only enroll in courses during open enrollment periods, you can complete your online application at any time.

Once you have enrolled in a course, your application will be sent to the department for approval. You will receive an email notifying you of the department's decision after the enrollment period closes. You can also check your application status in your mystanfordconnection account at any time.

Learn more about the graduate application process.

How Much It Will Cost

Learn more about tuition and fees.