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.
|J. Zico Kolteremail@example.com||By appointment||GHC 7115|
|Ariel Procacciafirstname.lastname@example.org||By appointment||GHC 7002|
|Brandon Amosemail@example.com||Wed 12-1pm||GHC 9221|
|Shayan Doroudifirstname.lastname@example.org||Mon 3-4pm||GHC 8127|
|Anson Kahngemail@example.com||Thurs 2-3pm||GHC 6207|
|Kijung Shinfirstname.lastname@example.org||Tue 4-5pm||GHC 9005|
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).
|1/18||Introduction||Kolter+Procaccia||slides 1||video 1|
|1/23||Search I||Procaccia||slides 2||video 2|
|1/25||Search II||Procaccia||slides 3||video 3|
|1/30||Optimization||Kolter||slides 4||video 4|
|2/1||Linear Programming||Kolter||slides 5||video 5|
|2/6||Integer Programming I: Theory||Kolter||slides 6||video 6|
|2/8||Integer Programming II: Applications||Procaccia||slides 7||video 7|
|2/13||Machine Learning I: Regression and Classification||Kolter||slides 8||video 8|
|2/15||Machine Learning II: Nonlinear Methods||Kolter||slides 9||Video 9|
|2/20||Computational Learning Theory||Procaccia||slides 10||Video 10|
|2/22||Deep Learning I: Neural Networks||Kolter||slides 11|
|3/1||Deep Learning II: Backpropagation||Kolter|
|3/6||Deep Learning III: Convolutional and Recurrent Models||Kolter|
|3/8||Probabilistic Modeling I: Bayesian Reasoning||Kolter|
|3/20||Probabilistic Modeling II: Probabilistic Inference||Kolter|
|3/22||Probabilistic Modeling III: MCMC||Kolter|
|3/27||Deep Learning IV: Generative Models||Kolter|
|3/29||Game Theory I: Basics||Procaccia|
|4/3||Game Theory II: Zero-sum Games and No-regret Learning||Procaccia|
|4/5||Game Theory III: Stackelberg and Security||Procaccia|
|4/10||Game Theory IV: Extensive Form||Procaccia|
|4/12||Social Choice I: Basics||Procaccia|
|4/17||Social Choice II: Statistical Approaches||Procaccia|
|4/19||Social Choice III: Advanced Statistical Approaches||Procaccia|
|4/24||AI and Education I||Doroudi|
|4/26||AI and Education II||Doroudi|
|5/1||AI and Education III||Doroudi|
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.
|Homework 0||search.py||January 27, 11:59pm||Solutions|
|Homework 1||hw1-files.zip||February 21, 11:59pm|
The course project involves carrying out and presenting novel research in AI. Projects are done in groups of 2-4. The expected amount of work is 50 hours per student.
Homework is due on autolab by the posted deadline. Assignments submitted past the deadline will incur the use of late days.
You have 5 late days, but cannot use more than 2 late days per homework. No late days may be used for HW 0. No credit will be given for homework submitted more than 2 days after the due date. After your 5 late days have been used you will receive 20% off for each additional day late.
You can discuss the exercises with your classmates, but you should write up your own solutions. If you find a solution in any source other than the material provided on the course website or the textbook, you must mention the source. You can discuss both the programming and wirtten protions with other students, but all final submitted work (code and the writeups), but be done entirely on your own. Make sure that you include a README file with your andrew id and your collaborator's andrew id.