Artificial Intelligence (ULCO, Fall 2024)

Image credit: Atlas (Boston Dynamics)

There are many cognitive tasks that people can do easily and almost unconsciously but that have proven extremely difficult to program on a computer. Artificial intelligence is the problem of developing computer systems that can carry out these tasks. We will focus on five central sections in AI: Problem solving (and search methods), Logical reasoning, reasoning in uncertainty, learning with neural networks and reinforcement learning, learning by mimicking nature. Finally, we will also spend some time discussing some of the main challenges in computer vision and natural language understanding/processing

For each of the sections above, we will study how they can improve the behavior of an intelligent agent. We will study the set of skills associated to each section and the methods that can be designed for our agent to demonstrate or at least mimic those skills. The course will essentially consist in building an intelligent agent by gradually endowing this agent with more and more tools as we go through each of the sections above.

The course will also discuss some of the philosophical questions related to AI such as the Frame Problem of McCarthy and Hayes, The Mind Body problem, Searle’s “Chinese room” thought experiment, The Turing Test,…

The class will follow the structure 

1. Lectures (introduction of the new material that will be needed during the lab sessions and for the assignements)

2. Programming (lab) sessions, (you have the opportunity to apply what you have learned during the lecture, and you can ask all the questions you want to make sure you understand everything before the assignement)

3. Assignments (You are given a new problem and you are evaluated on your ability to use the course material to solve this new problem)

Schedule and Classroom

Lecture: Monday/Wednesday, 3.30pm – 4.45pm (Paris Time), Room 410
Recitations: Wednesday 5.00pm – 6.25pm (Paris Time). Room 410
Office hour: Monday 5pm – 6pm (Paris Time)

 

Reading List

Assignments policy

Except if explicitely stated otherwise, assignments are due at the beginning of each class.

 

Current (temporary) version of the notes:   Lecture notes as well as the list of material for the Midterm and Final

Practice (theory) Questions for each exam can be found by clicking on those exams below

Exam : 60% of the grade (30% midterm, 30% final)

 

Assignments : 30 % of the grade (Tentative schedule below)

 Final Project : 10 % of the grade (Tentative schedule below, List of suggestions, Poster guidelines)

 

The Github page for the class will be hosted at https://github.com/acosse/Artificial-Intelligence-Fall2021 and will be used for the lab and the assignments. You can also click on each “Lab” in the schedule below and this will re-direct you to the github page.

Tentative schedule:

Legend: Lab sessions are in green, Homeworks are in red (right side of the table), dates related to the project are in orange.

Week # date Topic Assignements
Week 1 09/06, 09/08 General Intro. Critical and Philosophical perspectives, History,
Part I, Part II
Reading 1 , Reading 2
Reading 3
Assign. 1
Solutions
Week 2 09/13, 09/15 Intelligent Agent, Search Methods (including informed/uninformed, A*,..) Part I
Part III , Part IV Lab 1

Readings, Solutions
Week 3 09/20, 09/22 Intelligent Agents, Search Methods (including informed/uninformed, A*,..) Part II
Lab 2, Part IVb
Readings
Week 4 09/27, 09/29 Logical reasoning, Planning and acting (including first order and propositional Logic) (Part I)
Part V, Part VI, Lab 3
Readings, Assign 2 Part I
Assign 2 Part II (Nilsson),
Solutions
Week 5 10/04, 10/06 Logical reasoning, Planning and acting (including first order and propositional Logic) (Part II), 
Part VII , Lab 4 (Part I) / Solutions
Readings
Week 6 10/11, 10/13 Learning, Neural Networks and Deep Learning (Part I)
Part IX Lab 5, Partial Solutions
Project choice
Assign. 1
Week 7 10/18, 10/20 Learning, Neural Networks and Deep Learning (Part II) 
Lab 6, Part X handwritten notes, Handwritten notes on Kernels
Readings
Week 8 10/25, 10/27 Unsupervised and Reinforcement Learning, Slides
Lab (Part I), Slides (part I), Slides (part II), Slides (part III), Lab (Part II), Lab (Part III)  
 
Week 9 11/01, 11/03 Learning in multiagent systems + Guest lecture 
Lab 7
Readings
Week 10 11/08, 11/10 Learning under uncertainty, Bayesian Nets, Backward chaining Assign. 3, Readings
Solutions
Week 11 11/15, 11/17 Biology inspired computing (Evolutionary Algs, Particle Swarm, Ant Col.) (Part I)
Handwritten Notes Part I
 
Week 12 11/22, 11/24 Biology inspired computing (Evolutionary Algs, Particle Swarm, Ant Col.) (Part II)
Week 13 11/29, 12/01 Computer Vision and Language Processing (Part I),
Assign. 4
Week 14 12/06, 12/08 Computer Vision and Language Processing (Part II)  
Week 15 12/13, 12/15 Project/Paper Presentations  
Week 16 12/20, 12/22 Final Exams  

Lab Sessions and programming policy

The lab sessions will require you to do some programming. It is strongly recommended to use python as it is more flexible and will be useful to you when moving to pytorch later on for more advanced machine learning methods requiring GPU processing.

Downloading and getting started with Python.

  1.  

Data sets can be downloaded on the following websites: