The objective of this course is to introduce the basic concepts of artificially intelligent systems. Topics covered include knowledge representation, search strategies and machine learning. An emphasis is placed on developing intelligent agents that can interact with their environment using machine learning techniques. Modern machine learning techniques for supervised, unsupervised, and reinforcement learning are introduced. The role of AI in engineering and computing systems is presented. Students complete exercises that allow them to apply AI in diverse problem settings including search, constraint satisfaction, game play, navigation, and natural language processing.
Prerequisites: MA-262 Probability and Statistics; programming maturity, and the ability to program in Python.
Helpful: CS3851 Algorithms, MA-383 Linear Algebra.
ABET: Math/Science, Engineering Topics.
2-2-3 (class hours/week, laboratory hours/week, credits)
Lectures are augmented with hands-on tutorials using Jupyter Notebooks. Laboratory assignments will be completed using Python and related data science and machine learning libraries: NumPy, Pandas, Scikit-learn, Matplotlib, TensorFlow, Keras, PyTorch.
Outcomes:
- Understand the concepts of an intelligent agent and their environment.
- Be able to address problems related to search, and its application to intelligent systems, including: game playing, decision making, and adversarial search.
- Demonstrate an understanding of the principles of formal logic including propositional calculus, and first order logic.
- Conduct proofs of correctness in reasoning systems using the methods of Unification and Resolution.
- Understand the techniques involved with reasoning in the presence of uncertainty.
- Understand and apply modern machine learning techniques for supervised, unsupervised, and reinforcement learning.
- Understand the limitations and future challenges of AI.
References:
Artificial Intelligence, A Modern Approach. Stuart Russell and Peter Norvig. Third Edition. Pearson Education. Resources: http://aima.cs.berkeley.edu/
Reinforcement Learning: An Introduction Richard S. Sutton and Andrew G. Barto. Second Edition, in progress. MIT Press, Cambridge, MA, 2017. https://drive.google.com/file/d/1xeUDVGWGUUv1-ccUMAZHJLej2C7aAFWY/view
Deep Learning with Python, François Chollet. Manning, 2017.
Python Data Science Handbook, Jake VanderPlas, O'Reilly.
-
Introduction to Artificial Intelligence
AI Demonstrations
Reading: AIMA: Chapter 1 -
Intelligent Agents
Reading: AIMA: Chapter 2
-
Juputer Notebook Tutorial Optional
-
Problem set 1 Submission required
-
Python Programming Submission required
-
Reference: AI Grand Challenges
Outcomes addressed in week 1:
- Understand the concepts of an intelligent agent and their environment.
-
Uninformed Search
Reading: AIMA: Chapter 3.1-3.5 -
A* Search and heuristic functions
Reading: AIMA: Chapter 4
- Problem set 2 2-week lab
Outcomes addressed in week 2:
- Be able to address problems related to search, and its application to intelligent systems, including: game playing, decision making, and adversarial search.
- Online Search postpone
Reading: AIMA Ch. 4.5
- Problem set 2: Logical Agents continued
Outcomes addressed in week 3:
- Understand the concepts of an intelligent agent and their environment.
- Be able to address problems related to search, and its application to intelligent systems, including: game playing, decision making, and adversarial search.
Reading: AIMA Ch. 5
-
Game Play, Adversarial Search, Minimax
Reading: AIMA Ch. 6.1-6.3, Sutton Ch. 3-4 -
Game Play Uncertainty, Expectimax
Reading: AIMA Ch. 6.1-6.3, Sutton Ch. 3-4.
Outcomes addressed in week 4:
- Demonstrate an understanding of the principles of formal logic including propositional calculus, and first order logic.
- Conduct proofs of correctness in reasoning systems using the methods of Unification and Resolution.
- Midterm review
- Problem set 3: Pacman Muilti-Agent continued
Outcomes addressed in week 5:
- Understand the techniques involved with reasoning in the presence of uncertainty.
-
Midterm
Outcomes addressed in week 6:
- Understand the concepts of an intelligent agent and their environment.
- Understand and apply modern machine learning techniques for supervised, unsupervised, and reinforcement learning.
-
Introduction to Machine Learning with KNN *review on your own *
- Reading: ISLR Ch. 4.6.5
- Reading: PDSH Ch. 5 p. 331-375, 390-399
- Reading: ISLR Ch. 1, 2
- Reading: ISLR Ch. 4
- Problem set 4: Reinforcement Learning continued
- Linear Regression Notebook Tutorial: Submission required
References:
- Gradient Descent
- Gradient Descent notebook
- Reinforcement Learning extra slides
- Q Learning Spreadsheet
Outcomes addressed in week 7:
- Understand and apply modern machine learning techniques for supervised, unsupervised, and reinforcement learning.
-
Deep Learning Introduction 1
Reference for earlier in class: -
Deep Learning Introduction 2 Optional
-
Backpropagation Optional
YouTube: Deep Learning Revolution
- Multinomial Image Classification submission required
-- If you're having trouble reading MNIST from mldata use the following notebook to load the data:
-- Write Read MNIST
-- mnist_data.csv
-- mnist_target.csv
Complete the following Get Started with TensorFlow tutorials. Optional, but recommended
https://www.tensorflow.org/tutorials/ Train your first neural network: basic classification
https://www.tensorflow.org/tutorials/keras/basic_classification Explore overfitting and underfitting
https://www.tensorflow.org/tutorials/keras/overfit_and_underfit
Outcomes addressed in week 8:
- Understand the concepts of an intelligent agent and their environment.
- Be able to address problems related to search, and its application to intelligent systems, including: game playing, decision making, and adversarial search.
- Understand the techniques involved with reasoning in the presence of uncertainty.
- Understand and apply modern machine learning techniques for supervised, unsupervised, and reinforcement learning.
-
Deep Q-Learning available Thursday
Reading:
- DLP Ch. 5
- RL with OpenAI Gym Submission required.
Use the following link https://github.com/jayurbain/artificial-intelligence/blob/master/deep_rl/reinforcement-learning-with-openai-gym.ipynb on Google Collab https://colab.research.google.com/notebooks/welcome.ipynb. - Complete the OpenAI Gym Tutorial Optional
- Keras Intro Submission required
- Deep Q-Learning with OpenAI Gym Submission required
Outcomes addressed in week 9:
- Understand the concepts of an intelligent agent and their environment.
- Be able to address problems related to search, and its application to intelligent systems, including: game playing, decision making, and adversarial search.
- Understand the techniques involved with reasoning in the presence of uncertainty.
- Understand and apply modern machine learning techniques for supervised, unsupervised, and reinforcement learning.
-
Generative Models, Autoencoders, Generative Adversarial Networks
-
GAN coding walkthrough:
DCGAN MNIST
DCGAN CIFAR10
Outcomes addressed in week 10:
- Understand the concepts of an intelligent agent and their environment.
- Be able to address problems related to search, and its application to intelligent systems, including: game playing, decision making, and adversarial search.
- Understand the techniques involved with reasoning in the presence of uncertainty.
- Understand and apply modern machine learning techniques for supervised, unsupervised, and reinforcement learning.
-
NLP Classification optional
-
NLP Translation optional
-
Artificial General Intelligence (Machine Learning Summer School)
- NLP Classification optional
- NLP Translation optional
Note: need to prune answers from notebooks
Outcomes addressed in week 10:
- Understand the concepts of an intelligent agent and their environment.
- Be able to address problems related to search, and its application to intelligent systems, including: game playing, decision making, and adversarial search.
- Understand the techniques involved with reasoning in the presence of uncertainty.
- Understand and apply modern machine learning techniques for supervised, unsupervised, and reinforcement learning.
Wednesday 11:00 AM - 1:00 PM S243