Logistics

Team


Overview

What is this course about?

ML models are ubiquitous -- from transportation (self-driving cars) to finance (credit card or mortgage applications) and careers (company hiring). ML, however, does not come without its risks. Some important risks involve model understanding and accountability: models created by machine learning are largely black boxes that are hard for us to peer into and understand; they are susceptible to unforeseen faults, to adversarial manipulation, and to violations of ethical norms in privacy and fairness. This course will provide an introduction to state-of-the-art ML methods designed to make AI more trustworthy. The course focuses on four concepts: explanations, fairness, privacy, and robustness. We first discuss how to explain and interpret ML model outputs and inner workings. Then, we examine how bias and unfairness can arise in ML models and learn strategies to mitigate this problem. Next, we look at differential privacy and membership inference in the context of models leaking sensitive information when they are not supposed to. Finally, we look at adversarial attacks and methods for imparting robustness against adversarial manipulation. Students will gain understanding of a set of methods and tools for deploying transparent, ethically sound, and robust machine learning solutions. Students will complete labs, homework assignments, and discuss weekly readings. Students will also do a course term project on a topic of their choice, using methods presented in the course.

Prerequisites

Students are expected to have the following background:

Honor Code

Permissive but strict. If unsure, please ask the course staff!

Audit policy

We’re generally open to auditing requests by all Stanford affiliates. External requests will be determined on a case by case basis, mostly because the course is hosted on Canvas and we’re not sure how non-Stanford affiliates access Canvas.

You will be able to attend all the lectures, but we won't be able to grade your homework or give advice on final projects. Our human resources are limited. There are only four of us and on top of teaching, we also have full-time jobs or are full-time students.

Even if you’re not auditing, you can still access all the slides, notes, assignments, and final repot instructions. These are posted on the Syllabus page.

To audit the class, please send cs329t-spr2122-staff@lists.stanford.edu an email with the subject title "CS329T: Audit Request" with a few sentences introducing yourself and your relevant background.

We’ll add you as an observer on Canvas -- you need to create an account on Canvas first. You can attend all lectures scheduled there.

Reference Text

There's no textbook. The course relies on lecture slides and accompanying readings.


FAQ

Is this the first time the course is offered?
No. The course was also offered in Spring 2021. This year we are allocating more time to the term project since students last year enjoyed it.
What is the grading policy for the course?
Your grade will be based on homework (60%), project (30%) and class participation (10%). Homework and the project will involve significant programming. There are no exams.
Does the course count towards CS degrees?
Yes, this course can satisfy Area D: Computing and Society breadth requirement (for MSCS)
Are lectures recorded?
Yes, the lectures will be recorded and made available to enrolled students, including SCPD students.
Will the videos be made available publicly?
No. We hope to make public course on this material but during this quarter, the videos will only be available to the class.
Is attendance mandatory?
We encourage you to attend the Tuesday “fireside chat” sessions and your assigned weekly lab. The Tuesday sessions will recap high points from the assigned video and discuss them so you can understand the bigger picture better. Lab sessions connect the video lectures and fireside chats to programming methods and other specifics you will need to complete the homework. A portion of your grade will be based on your contributions to the class in these sessions.
What is the format of the class?
It will be lectures, labs, and fireside chats. We will often have industry experts to give us tutorials on fairness, ML explainability and privacy.
Do I need to know Python for the course?
Since Python has become the most popular language for machine learning, we expect most assignments will be in Python. Python fluency isn't required, but will make your life so much easier during the course.
Can I follow along from the outside?
We'd be happy if you join us! All the slides and lecture notes will be posted on this website. You can also subscribe to the guest mailing list to get updates from the course.
Can I work in groups for the assignments?
No, all assignments have to be done and submitted individually. You can however discuss with your study group, although abiding by the Honor Code.
I have a question about the class. What is the best way to reach the course staff?
Please post your question on the course forum so that other students can benefit from your questions. If you have a personal matter or emergencies, please email the staff at cs329t-spr2122-staff@lists.stanford.edu.