Programmation pour l'IA 2024-2025 Apprentis
Syllabus ING2
Le cours est structuré en une introduction et 6 séances. À chaque séance, une nouvelle notion est abordée avec un programme à réaliser.
On s'intéressera principalement au problème de la prise de décision par un robot. Quelle stratégie implémenter pour résoudre un problème ? On utilisera comme principal outil formel l'apprentissage par renforcement.
Introduction
Cours
Introduction et Processus de décision markoviens (partie 1)
- Introduction aux problèmes de décision pour la robotique
- Processus de décision markoviens (MDP)
- le modèle agent-environnement
- introduction aux MDP
- politique de décision
- gain, valeur d'état, valeur d'état-action
Références
- Cours introduction à l'IA Berkeley MDP1 et MDP2
- Introduction to RL chapitres 3 et 4 (plein d'exemples, attention aux notations qui diffèrent un peu du cours)
- Cours de Pieter Abbeel transparents et vidéo (avec les idées de preuve de convergence)
- Cours de David Silver : transparents sur les MDP
Session 1
Cours
Processus de décision markoviens (partie 2) + introduction Méthodes Monte Carlo et méthodes par différence temporelle
- Processus de décision markovien (MDP)
- politique de décision
- gain, valeur d'état, valeur d'état-action
- politique optimale par itération des politiques
- politique optimale par itération des valeurs
TP
Prise en main python/pytorch/colab: lien vers l'énoncé
Comment aller chercher un frisbee sur un lac gelé? lien vers l'énoncé (1ere partie)
Références
- Cours d'introduction à l'IA MDP1 et MDP2
- Introduction to RL chapitres 3 et 4 (plein d'exemples, attention aux notations qui diffèrent un peu du cours)
- Cours de Pieter Abbeel transparents et vidéo (avec les idées de preuve de convergence)
- Cours de David Silver : transparents sur les MDP et la programmation dynamique
- Pour les algorithmes itératifs et les preuves de convergence: transparents de Tom Mitchell
Session 2
Cours
Méthodes Monte Carlo et méthodes par différence temporelle
- Processus de décision markovien (MDP) : rappel
- méthodes de Monte-Carlo
- méthodes par différence temporelle
- apprentissage de la fonction Q avec
Q-learning
etSARSA
TP
Comment aller chercher un frisbee sur un lac gelé? lien vers l'énoncé (2e partie)
Références
- Introduction to RL chapitres 5 et 6 (exemples, et idées des preuves de convergence, beaucoup de variantes détaillées)
- Cours de Pieter Abbeel transparents (pages 1 à 17) et la partie correspondante de la vidéo
- Cours de David Silver : transparents sur la programmation dynamique
Session 3
Cours
TP
comment (encore) aller chercher un frisbee sur un lac gelé? lien vers l'énoncé
- OpenAI gym + colab
- Méthode Monte Carlo pour le lac gelé
TP
Mountain Car et SARSA/Q-Learning tabulaire lien vers l'énoncé
Références
- Introduction to RL chapitres 9 et 10
- Cours de Pieter Abbeel transparents (pages 1 à 11 pour des exemples de fonctions)
Session 4
Cours
- extraction de features
- introduction au réseau de neurones
TP
Mountain Car par fonction avec caractéristiques one-hot lien vers l'énoncé
Références
- Introduction to RL chapitre 11
- Cours de Pieter Abbeel transparents (pages 1 à 11 pour des exemples de fonctions)
Session 5
Cours
Apprentissage direct de la politique: Algorithme du gradient de la politique
TP
Mountain Car par fonction avec Représentation en tuiles lien vers l'énoncé
Session 6
Cours
Suite de l'apprentissage direct de la politique: Algorithme acteur/critique apprentissage de la politique
TP
Lunar Lander lien vers l'énoncé
Examen <20-02-13 Thu> 14:00-17:00
Références
- Principalement Introduction to RL 2e édition
- Les cours de Pieter Abbeel sont aussi recommandés, par exemple robotique avancée ainsi que les autres cours référencés depuis cette page, mais attention ils sont d'un niveau bien plus difficile que ce que nous verrons ensemble.
- lien moodle INFO2: https://moodlelms.univ-paris13.fr/course/view.php?id=393
- lien moodle INFO2 AP: https://moodlelms.univ-paris13.fr/course/view.php?id=5291