Collection de devoirs, labs et expériences documentant mon cours en Reinforcement Learning et Deep RL
École Nationale Supérieure des Arts et Métiers - Meknès
(ps si le prof vous dit que il notera vos depot il ment de ouf . il le fera pas (ps je vais pas dire sont nom pour respect mais chercher le prof de RL de la 4em anne en 2026 ) et bye
- Historique structuré : chaque dossier
seancecontient le code, scripts d'expériences, figures et résultats - Techniques couvertes : de la programmation dynamique classique, Monte Carlo et Q-Learning jusqu'aux variantes DQN et expériences PPO
- Narration visuelle : GIFs et figures disponibles pour inspecter le comportement des agents sans exécuter le code
⚙️ 1. Activer l'environnement Python
& C:\Users\DJERI\VSCODE\Programmation\python\environnements\rl_venv\Scripts\Activate.ps1📂 2. Naviguer vers la séance souhaitée
| Séance | Commande | Contenu |
|---|---|---|
| 📚 Seance 1 | cd seance1 |
Fondamentaux RL (MC, DP, PI, VI, Q-Learning) |
| 🎮 Seance 2 | cd seance2 |
GridWorld & Q-Learning |
| 🤖 Seance 4 | cd Sceance4/minegym |
DQN & comparaisons |
| 🚀 Seance 5 | cd Seance5/rl_sb |
PPO + Stable-Baselines3 |
▶️ 3. Lancer les expériences
# Expériences GridWorld Q-Learning
python -m minegym.experiments.liveQL
python -m minegym.experiments.sensitivity_gammaQL
python -m minegym.experiments.sensitivity_grid_sizeQL
# Expériences PPO (depuis Seance5/rl_sb)
cd Seance5/rl_sb
# Voir Seance5/readme.md pour les scripts d'entraînement| Séance | Focus | Artefacts Clés |
|---|---|---|
|
📂 Voir dossier |
Algorithmes RL Fondamentaux
Monte Carlo, programmation dynamique, itération de politique, itération de valeur, Q-Learning tabulaire |
• Agents : MC, PI, VI, Q-Learning • Scripts de test et validation • Environnements Gym personnalisés |
|
📂 Voir dossier |
GridWorld Paramétrable
Q-Learning avec diagnostics complets, analyse de sensibilité sur γ et taille de grille |
• Environnement configurable • Expériences : liveQL, sensitivity_gamma, sensitivity_grid • Mise à jour corrigée avec paramètre w |
|
📂 Voir dossier |
Deep Q-Networks
Comparaison naïf vs DQN complet avec replay buffer et target network |
• Architectures : linéaire et MLP • Documentation : README.md et DQNReadme.md • Protocole expérimental rigoureux |
|
📂 Voir dossier |
Policy Gradient Methods
PPO avec Stable-Baselines3 sur GridWorld statique/mobile et CartPole |
• Environnements : GridWorld et CartPole • Framework : Stable-Baselines3 + rl-baselines3-zoo • Logs TensorBoard et checkpoints |
|
📂 Voir dossier |
Projet Pacman
Environnements complexes avec autograder et agents apprenants sophistiqués |
• Environnements larges • Autograder complet • Agents apprenants |
🔗 Voir VISUAL_ANALYSIS.md pour le catalogue exhaustif de tous les fichiers visuels avec analyses détaillées et justifications.
📸 Séance 2 - GridWorld Q-Learning (27 Images + 1 CSV)
| Catégorie | Nb Files | Contenu | Lien |
|---|---|---|---|
| 🎯 LiveQL | 7 PNG | V*, π*, visits, actions, dashboard, explore/exploit | 🔗 Voir |
| 📊 Sensitivity Gamma | 6 PNG | Convergence, time-to-threshold, final perf, episode length | 🔗 Voir |
| 📐 Sensitivity Grid Size | 5 PNG | Impact taille grille (4×4 → 10×10) | 🔗 Voir |
| 🧪 Comparaisons Algo | 9 PNG + 1 CSV | TD(0), SARSA, DQN - heatmaps, politiques, convergence | 🔗 Voir |
💡 Contenu : Analyses de sensibilité complètes (γ, grid size), dashboards 6-en-1, heatmaps annotées, comparaisons TD/SARSA/DQN
🤖 Séance 4 - DQN Flexible (10 Images + 1 CSV)
| Catégorie | Nb Files | Contenu | Lien |
|---|---|---|---|
| 🎯 Politique & Valeur | 3 PNG | V* heatmap, π* grid, policy-value overlay | 🔗 Voir |
| 📈 Training Metrics | 4 PNG | Loss MSE, steps/episode, ε/||θ||, loss vs return | 🔗 Voir |
| 🗺️ Analyses Spatiales | 2 PNG | Visits heatmap, dominant actions | 🔗 Voir |
| 📊 Dashboard + Logs | 1 PNG + 1 CSV | Summary 6-en-1, naive_logs.csv (episode, loss, return...) | 🔗 Voir |
💡 Contenu : Comparaison Naive vs DQN complet, courbes de loss/convergence, scatter plots, diagnostics complets
🚀 Séance 5 - PPO Stable-Baselines3 (8 GIFs + 8 Images + CSVs)
| Catégorie | Nb Files | Contenu | Lien |
|---|---|---|---|
| 🟢 GridWorld Static | 3 GIFs + 2 PNG | 50k/100k/400k steps, reward/length curves | 🔗 Voir |
| 🔵 GridWorld Moving | 3 GIFs + 4 PNG | 100k/400k/600k steps, comparaison convergence | 🔗 Voir |
| 🔄 Fine-tuning + CartPole | 2 GIFs | Transfert Static→Moving, CartPole solved | 🔗 Voir |
| 📂 Monitor CSVs | ~8 CSV | Logs épisodes (r, l, t) pour analyses custom | 🔗 Voir |
💡 Contenu : TensorBoard plots, agents animés (GIFs), comparaison static vs moving, transfer learning
| Séance | Images PNG | GIFs | CSV | Total | Focus Visuel |
|---|---|---|---|---|---|
| Seance 2 | 27 | 0 | 1 | 28 | Heatmaps, dashboards, sensibilité |
| Seance 4 | 10 | 0 | 1 | 11 | Loss curves, DQN diagnostics |
| Seance 5 | 8 | 8 | ~8 | ~24 | TensorBoard, agents animés |
| TOTAL | 45 | 8 | ~10 | ~63 | Analyses complètes multi-algo |
🔍 Navigation : Cliquez sur les liens "🔗 Voir" ci-dessus pour accéder directement aux sections détaillées avec analyses et justifications de chaque image.
|
📈 Graphiques d'Analyse Sceance4/minegym/figures
Heatmaps, dashboards, diagnostics DQN/QL |
🎬 GIFs Animés Seance5/rl_sb/gridworld_runs
Agents GridWorld et CartPole en action |
💾 Logs & Checkpoints Seance5/rl_sb/.../logs
TensorBoard logs et modèles sauvegardés |
- Choisir la séance qui vous intéresse dans le tableau ci-dessus
- Lire le README spécifique pour le contexte et les commandes
- Visualiser les figures et GIFs pré-générés
- Re-lancer les expériences si nécessaire pour de nouveaux paramètres
|
Vue d'ensemble en 1 page Statistiques et navigation |
55 fichiers catalogués Analyses + justifications |
Méthodologie complète Checklist + impact |
