Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Robot Learning

Let’s teach some robots!

This course explores methods for grounding machine learning algorithms in embodied, interactive robots. We cover topics including learning from demonstration, active learning, inverse reinforcement learning, representations for modeling high-level and low-level task information, and human factors for designing learning interactions. Students are asked to read and present research papers on these topics from top publication venues in AI, machine learning, robotics, and human-robot interaction. Students also complete lab assignments in which they implement and evaluate state-of-the-art methods for interactive robot learning on a physical robot arm.

Canvas Link

Instructor:
Prof. Tesca Fitzgerald (tesca.fitzgerald at yale dot edu)
Office Hours: Wednesdays, 10am-12pm
AKW 502

Class Hours: Tues/Thurs 9-10:15am
Class Location: SSS 309
Lab Location: AKW 000

Important! All students must commit to participating in a weekly, 3-hr lab section held in AKW 000.

Lab Section 1:
Thursdays, 2:30pm - 5:30pm
Led by Shuangge Wang (shuangge dot wang at yale dot edu)

Lab Section 2:
Fridays, 9:25am - 12:25pm
Led by Ulas Berk Karli (ulasberk dot karli at yale dot edu)

Learning Objectives

By the end of this course, students will have…

  • hands-on experience working with hardware and software (including ROS) for a robot arm;
  • an understanding of the frontier of research in interactive robot learning;
  • developed and assessed interfaces for teaching robots; and
  • practice implementing and testing algorithms for…
    • policy and reward learning
    • grounding high-level tasks in action and perception
    • modeling trajectory constraints
    • active learning

Prerequisites

Required Prerequisites: CPSC 3700/5700 or an equivalent AI course (requires approval by instructor).

Students will be expected to be comfortable with…

  • Computing Skills: object-oriented programming, computational complexity, dynamic programming, proofs, recursion, pseudocode, debugging tools (e.g., the Python debugger ‘pdb’)
  • Probability: notation, probability distributions, joint and conditional probabilities, Bayesian inference, independence
  • Multi-Variate Calculus: partial derivatives, integration, chain rule
  • Linear Algebra: Eigenvalues and Eigenvectors, matrix multiplication, decomposition, and inversion
  • Artificial Intelligence: policies, Markov Decision Processes, decision trees, search/planning, Q-learning, perceptrons

Recommended Prerequisites: An introductory Machine Learning course such as S&DS 265 or CPSC 481.

We will briefly cover several key ML concepts in class, but students will be expected to learn more on their own:

  • Graphical Models: Hidden Markov Models, Dynamic Bayesian Networks, Markov Chains
  • Supervised Learning: linear and logistic regression, SVMs, kernel methods, k-nearest neighbors
  • Unsupervised Learning: PCA, k-means clustering
  • Neural Networks: backpropagation, convolutions

Topics

Grading

Textbook

There is no textbook for this course. Students will be expected to read 3-4 research papers (publicly available) each week.

Late Policy

  • Late Penalty: Late assignments will be penalized 10% per day for up to 5 days. After 5 penalized days, the assignment will receive 0 points. For paper presentations, any skipped presentation will receive 0 points.
  • Extenuating Circumstances: Whenever possible, please obtain a Dean’s Extension (undergraduate students) or contact Student Accessibility Services (graduate students) for an extension. This will help me accommodate you fairly while also respecting your privacy. If this is not possible, contact Prof. Fitzgerald via email right away, as I generally do not provide retroactive extensions.