Introduction to Artificial Intelligence Course (Introduction a l'Intelligence Artificielle IG2410)
www.ISEP.fr Institut Supérieur d'Electronique de Paris), February 2019.
Logistics:
Course webpage: https://github.com/NataliaDiaz/IntroToAI
Syllabus and Timetable:
Week 1: Introduction to AI, history of AI, course logistics, and roadmap
Week 2: Intelligent agents, informed and uninformed search. Problem solving
Week 3: Heuristic search, greedy search, A* algorithm, stochastic search
Week 4: Adversarial search, game playing
Week 5: Constraint satisfaction problems, Knowledge Representation (expert systems, description logics, knowledge graphs, ontologies and fuzzy ontologies)
Tutorial: Pizzas in 10 minutes - Protege Tutorial
Week 6: Machine Learning 1: basic concepts, linear models, K nearest neighbors, decision trees, overfitting, supervised and unsupervised learning Tutorial on regression: https://nbviewer.jupyter.org/github/mar-one/ACM-Python-Tutorials-KAUST-2015/blob/master/basics/project_linear_regression.ipynb
Week 7: Machine Learning 2: Neural Networks, Markov decision processes, Reinforcement Learning. PyTorch Tutorial Slides: CNN Ingredients: https://docs.google.com/presentation/d/1ZQHChgyv4YjmrVpl77il1FKD-CuYd0gTOLCzwmnS2Sg/edit?usp=sharing
Week 8: Independent project work
Week 9: Independent project work
Week 10: Independent project work
Week 11: Independent project work
Week 12: Independent project work
Week 13: Independent project work
Week 14: Independent project work
Weeks 1-9 will be 1h Class Magistral (CM) + 2h Practical (TP)
Weeks 10-14 will be 3h TD (guided tutorials and project work)
Résumé en Francais:
Planification pour étudiants en A2 (deuxième année cycle ingénieur):
Introduction IA Définition de l'intelligence artificielle.
Résolution de problèmes
Stratégies d'exploration non informées.
Stratégies d'exploration informées
Problèmes à satisfaction de contraintes
Exploration en situation d'adversité (les jeux)
Agents fondés sur les connaissances
Représentation des connaissances et inférence. Systèmes experts.
Apprentissage
Apprentissage supervisé : arbres de décisions, réseaux de neurones.
Apprentissage non-supervisé.
(30 étudiants, 42h de présence (14 semaines x 3hrs), reparties en cours-TD-TP-> 47 total).
Prerequisites
Students are required to have the following prerequisites:
-
Linear algebra (vectors, matrices, derivatives)
-
Calculus
-
Basic probability theory
-
Python programming
The course will allow students to dive into Python while solving AI problems and learning its applications. Programming assignments will be in Python.
Evaluation:
50% Presenting exercises during the lectures worked during the previous session and week + 50% independent work project
Exercises:
Jupyter notebooks to be corrected the following week. Students presenting solutions will be awarded points: https://github.com/NataliaDiaz/aima-exercises
Tutorials:
1 Python refresher: https://docs.google.com/document/d/1VrJuvq3yNw09qr9NXSrVXovzbj-fT8X4qNkpFdWU9uY/edit?usp=sharing
Project ideas:
-
Reproducing SPINNING UP tutorials
-
Migrating them to PyTorch
-
Implementing a Roomba cleaner simulator (see http://maxbareiss.com/blog/) https://github.com/MaxBareiss/super-roomba-gym (old version not python: https://github.com/MaxBareiss/super-roomba). Real roomba: https://github.com/NickWaterton/Roomba980-Python
What is your project idea?
References:
All Algorithms: http://aima.cs.berkeley.edu/algorithms.pdf
Acknowledgements
Course adapted from:
http://aima.cs.berkeley.edu/ AIMA Course (P. Norvig and S. Russell).
Berkeley Artificial Intelligence course (P. Abbeel and D. Klein).
Other support courses:
-
https://courses.edx.org/courses/course-v1:ColumbiaX+CSMM.101x+2T2017/course/,
-
Hinton's MOOC "Neural Networks for Machine Learning" prepared in 2012 and is now seriously out of date; "discontinued but the lectures are still a good introduction to many of the basic ideas" https://www.cs.toronto.edu/~hinton/coursera_lectures.html
-
https://courses.edx.org/courses/course-v1:ColumbiaX+CSMM.101x+2T2017/course/
-
Related course at ENSTA: https://synapses.ensta-paristech.fr/catalogue/2017-2018/ue/1650/INT23-introduction-a-l-intelligence-artificielle
Books
1 - Artificial Intelligence: A Modern Approach (Third edition) by Stuart Russell and Peter Norvig http://aima.cs.berkeley.edu
2 - Grokking Deep Learning by Andrew Trask: https://www.manning.com/books/grokking-deep-learning and notebooks: https://github.com/iamtrask/Grokking-Deep-Learning Very recommended to get the basis of deep learning before committing to learn any framework (basics in numpy). If you want a discounted book, ask me.
Miscelanea
AI Demos https://sliceofml.withgoogle.com/#/
https://experiments.withgoogle.com/collection/ai
ML for Kids: https://github.com/IBM/taxinomitis/
More: https://twitter.com/pyoudeyer/status/1084826369383694337