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 Kolterfirstname.lastname@example.org||By appointment||GHC 7115|
|Ariel Procacciaemail@example.com||By appointment||GHC 7002|
|Brandon Amosfirstname.lastname@example.org||Wed 12-1pm||GHC 9221|
|Shayan Doroudiemail@example.com||Mon 3-4pm||GHC 8127|
|Anson Kahngfirstname.lastname@example.org||Thurs 2-3pm||GHC 6207|
|Kijung Shinemail@example.com||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||video 11|
|3/1||Deep Learning II: Backpropagation||Kolter||slides 12||video 12|
|3/6||Deep Learning III: Convolutional and Recurrent Models||Kolter||slides 13||video 13|
|3/8||Probabilistic Modeling I: Probability and maximum likelihood||Kolter||slides 14||video 14|
|3/20||Probabilistic Modeling II: Probabilistic Inference||Kolter||slides 15||video 15|
|3/22||Probabilistic Modeling III: MCMC||Kolter||slides 16||video 16|
|3/27||Probabilistic Modeling IV: Bayesian and Deep Generative Models||Kolter||slides 17||video 17|
|3/29||Game Theory I: Nash Equilibrium||Procaccia||slides 18||video 18|
|4/3||Game Theory II: Stackelberg and Security||Procaccia||slides 19||video 19|
|4/5||Game Theory III: Zero Sum and Extensive Form||Procaccia||slides 20||video 20|
|4/10||Game Theory IV: Minimax Theorem Via No-Regret Learning||Procaccia||slides 21||video 21|
|4/12||Social Choice I: Voting Rules||Procaccia||slides 22||video 22|
|4/17||Social Choice II: Manipulation||Procaccia||slides 23||video 23|
|4/19||Social Choice III: Statistical Approaches||Procaccia||slides 24||video 24|
|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||Solutions|
|Homework 2||handout.tgz||March 23, 11:59pm||Solutions|
|Homework 3||handout.tgz||April 12, 11:59pm||Solutions|
|Homework 4||stackelberg.py||May 4, 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.