###### tags: `IAR`
# IAR - Séance 1
## Deep Reinforcement Learning (for multirobot systems)
[Slides](https://moodle.insa-lyon.fr/pluginfile.php/302821/mod_resource/content/2/IAR2.pdf)
jilles-steeve.dibangoye@insa-lyon.fr
RL : Reinforcement Learning $\rightarrow$ Pour résoudre des problèmes d'optimisation (minimisation ou maximisation du coût d'une fonction par exemple)
Tutoriel PyTorch : https://pytorch.org/tutorials/
Il faut pouvoir associer aux mesures complexes du monde réel une sémantique simple par rapport à l'intention initiale (exemple : je rencontre un ours, je dois savoir qu'il est dangereux)
RL ce n'est pas :
- classification
- tâches qui n'ont pas d'effet sur le futur
Dans un système réel on n'a en général pas une observation parfaite du monde. dans les applciations concrètes, l'observation du monde est bruitée donc on ne peut pas observer correctement l'état dans lequel on se trouve.
Propriété de Markov $\rightarrow$ Vrai en MDP (état parfaitement observable), Faux si partiellement observable
Etat : Captaion *parfaite* du monde à un instant $t$.
[CartPole](https://www.gymlibrary.dev/environments/classic_control/cart_pole/)
**Episode** : Réalisation d'une situation
**Expérience** : Ensemble d'épisodes
**Retour** : Cumuls des récompenses au cours d'un épisode
**Politique** : Ensemble de paramètres pour définir les récompenses
On va étudier la moyenne des retours d'une expérience pour évaluer la performance d'une politique
[Article Medium](https://towardsdatascience.com/value-based-methods-in-deep-reinforcement-learning-d40ca1086e1)
On va représenter l'état par un vecteur de features chosies au préalable pour approximer l'état et se débarasser des caractéristiques inutiles à la résolution du problème.
La value function est une combinaison linéaire des features.
### **Homework 1** *(avant vendredi 30 septembre)* :
[Lien](http://ai.berkeley.edu/reinforcement.html)
- Tout rendre dans un fichier ```.zip``` qui contient le nom de tous les membres du groupe
- Commenter le code source
- Ecrire le rapport avec :
- Un pseudo-code des algos
- Explication des choix des features
- Explication des choix d'architecture des réseaux de neurones
- Comparaison entre le Q-Learning linéaire et le Deep Q-Learning
### DQN
$\theta$ représente les valeurs du réseau de neurones
C'est un problème de régression : modèle - cible
Algorithme de Q-Learning n'est pas compatible avec les réseau de neurones car les valeurs de Q divergent
On créé un data-set pour supprimer la corrélation temporelle entre les échantillons (on créé des échantillons indépendants et identiquement distribués *iid*)