This course introduces students to artificial intelligence, providing the fundamental principles and essential techniques for analyzing and solving complex real-world problems. The material spans machine learning, neural networks, language modeling, intelligent search, reinforcement learning, and reasoning. By the end of the semester, students will have gained a broad set of tools and models that form the basis for AI applications and practices.
The course emphasizes both basic concepts relevant to Artificial Intelligence and also the practical know-hows. Students will practice through mathematical and programming assignments to study Artificial Intelligence, project proposal and final project presentations. The tentative list of topics includes:
Prerequisites: We will use various aspects of linear algebra and probability when needed during the course. When we talk about a specific concept, we will cover the ground up. We will use python as the main programming language when it comes to coding exercises. We will provide detailed instructions when a relevant tool is required as part of a homework problem.
There will be 6 homeworks, plus a take-home exam as part of the course work. In addition, we will do a course project that can be done in teams of students. We will provide you with detailed materials and case studies as part of the course project handouts.
Week 1, Sep 4: Course introduction
Course plan, foundation and history of Artificial Intelligence
Week 2, Sep 8: Supervised learning I, Sep 11: Supervised learning II
Regression and classification, including examples of supervised learning tasks
Linear classifiers
Loss function, optimization, and robustness
Week 3, Sep 15: Neural networks I, Sep 18: Neural networks II
Neural network architecture and learning algorithms
Convolutional neural network
Week 4, Sep 22: Neural networks III, Sep 25: Backpropagation and regularization
PyTorch implementations.
Backpropagation and regularization
Week 5, Sep 29: Language models I, Oct 2: Language models II
Basic concepts of language modeling, including adaptation and prompting
Next-word prediction
Week 6, Oct 6: Implementation of language models in PyTorch, Oct 9: An example with sentiment analysis
Training and adaptation with PyTorch implementations.
The naive Bayes classifier.
Basics of logistic regression.
Week 7, Oct 16: Intelligent search I
Breadth-first search
Depth-first search
Uniform cost search
Week 8, Oct 20: Intelligent search II
Informed search algorithms: greedy best-first search
A-star search
Beam search
Week 8, Nov 3: Search and games I, Nov 6: Games II
Minimax game and speed up search
Zero-sum game and None-zero-sum game
Week 9, Nov 10: Sequential decision-making and Markov decision processes I, Nov 13: Sequential decision-making and Markov decision processes II
Stocastic search problems and Markov decision processes
Reinforcement learning
Week 9, Nov 17: Bayesnets---Coping with uncertainty
Probabilistic inference and Bayesian networks
You are responsible for keeping up with all announcements made in class and for all changes in the schedule that are posted on the Canvas website.
The grade will be based on the following:
Homeworks: 40%
Exam (take-home): 40%
In-class project presentations and participation: 20%
Textbooks for reference:
Artificial Intelligence: A Modern Approach, 4th US ed. Stuart Russell and Peter Norvig.