Graduate Artificial Intelligence
This course is targeted at graduate students who are interested in learning about artificial intelligence. The focus is on modern AI techniques. The course also covers techniques from the intersection of AI and other disciplines such as integer programming, continuous optimization, and game theory. The course content is profiled so as to not have too much overlap with narrower specialized AI courses offered at CMU.
There are no formal pre-requisites for the course, but students should have previous programming experience (programming assignments will be given in Python), as well as some general CS background. Please see the instructors if you are unsure whether your background is suitable for the course.
Name | Hours | Location | |
---|---|---|---|
J. Zico Kolter | zkolter@cs.cmu.edu | By appointment | GHC 7115 |
Ariel Procaccia | arielpro@cs.cmu.edu | By appointment | GHC 7002 |
Priya Donti | pdonti@cs.cmu.edu | Monday, 2-3pm | GHC 7511 |
Vaishnavh Nagarajan | vaishnavh@cs.cmu.edu | Friday, 2-3pm | GHC 9015 |
Ritesh Noothigattu | riteshn@cmu.edu | Thursday, 12-1pm | GHC 8013 |
Chris Yu | christoy@cs.cmu.edu | Tuesday, 2-3pm | Smith 232 |
To schedule an appointment with Prof. Kolter or Prof. Procaccia, please send an email with your availability, as well as the topics you would like to discuss (e.g., specific homework problems or lectures).
You may also reach out for discussion/questions on our course Piazza page.
Lecture videos from 2017 are available at this link.
Date | Topic | Instructor | Slides | Video (2017) |
---|---|---|---|---|
1/15 | MLK Day | |||
1/17 | Introduction | Kolter+Procaccia | link | |
1/22 | Search I | Procaccia | link | link |
1/24 | Search II | Procaccia | link | link |
1/29 | Convex Optimization | Kolter | link | link |
1/31 | Linear Programming I: Basics | Kolter | link | link |
2/5 | Linear Programming II: Duality | Kolter | link | |
2/7 | Integer Programming I: Theory | Kolter | link | link |
2/12 | Integer Programming II: Applications | Procaccia | link | link |
2/14 | Machine Learning I: Regression and Classification | Kolter | link | link |
2/19 | Machine Learning II: Nonlinear Methods | Kolter | link | link |
2/21 | Computational Learning Theory | Procaccia | link | link |
2/26 | Deep Learning I: Neural Networks | Kolter | link | link |
2/28 | Deep Learning II: Backpropagation | Kolter | link | link |
3/5 | Deep Learning III: Convolutional and Recurrent Models | Kolter | link | link |
3/7 | Midterm Exam | |||
3/12 | Spring Break | |||
3/14 | Spring Break | |||
3/19 | Probabilistic Modeling I: Bayesian Reasoning | Kolter | link | link |
3/21 | Probabilistic Modeling II: Probabilistic Inference | Kolter | link | link |
3/26 | Probabilistic Modeling III: MCMC | Kolter | link | |
3/28 | Adversarial Attacks in Machine Learning | Kolter | link | |
4/2 | Game Theory I: Basics | Procaccia | link | link |
4/4 | Game Theory II: Stackelberg and Security | Procaccia | link | link |
4/9 | Game Theory III: Zero-sum and Extensive Form | Procaccia | link | link |
4/11 | Game Theory IV: Minimax Theorem Via No-Regret Learning | Procaccia | link | link |
4/16 | Social Choice I: Basics | Procaccia | link | link |
4/18 | Social Choice II: Manipulation | Procaccia | link | link |
4/23 | Social Choice III: Statistical Approaches | Procaccia | link | link |
4/25 | Ethics and AI I | Procaccia | link | |
4/30 | Ethics and AI II | Procaccia | link | |
5/2 | Project Presentations | Students |
There will be four assignments (not including HW 0): they will involve both written answers and programming assignments. Written questions will involve working through algorithms presented in the class, deriving and proving mathematical results, and critically analyzing the material presented in class. Programming assignments will involve writing code in Python to implement various algorithms presented in class.
Please submit your assignments on Autolab here. Scan handwritten parts of your homework and include them in your autolab submission.
Solutions will be released after the deadline via Piazza.
Homework | TeX source | Files | Due Dates |
---|---|---|---|
Homework 0 | HW0-template.tex | search.py | January 26, 2018 |
Homework 1 | HW1-template.tex | HW1-release.zip | February 19, 2018 |
Homework 2 | HW2-template.zip | cls.py | March 2, 2018 |
Homework 3 | HW3-template.zip | HW3-release.zip | April 2, 2018 |
Homework 4 | HW4-template.tex | stackelberg.py | April 16, 2018 |
Final Project | May 2, 2018 |
Homework is due on Autolab by the posted deadline. HW0 must be submitted by the posted deadline to receive credit. For all other homeworks, no credit will be given for assignments submitted more than 2 days (48 hours) after the posted deadline.
HW0 is worth 5% of the final grade. Each other homework is worth 10%.
You have 5 late days to use throughout the semester. If you run out of late days, then you will receive 20% off for each additional day late. (No late days may be used on HW0.)
You can discuss both the programming and written portions with other students, but all final submitted work (code and writeups) must be done entirely on your own, without looking at any notes generated during group discussions. Be sure to mention your collaborators' names and Andrew IDs in your writeup.
If you reference any code or sources other than the materials provided on the course website or the textbook, you must mention the source.