Les algorithmes cléf/débutant pour l'apprentissage par renforcement
By Paul Claret
10 minutes read - 11/12/24
Dans un précédent article, nous avons parlé des concepts fondamentaux d’un agent, de son environnement, des politiques qu’il utilise et des récompenses qu’il cherche à maximiser. Maintenant, plongeons dans les algorithmes clés qui permettent aux agents d’apprendre à interagir efficacement avec leur environnement.
1. Q-Learning : L’apprentissage des valeurs
Le Q-Learning est un algorithme de base en apprentissage par renforcement. Il se concentre sur l’apprentissage d’une fonction appelée Q-Function, qui estime la valeur de chaque action dans chaque état.
Fonctionnement :
- But : Trouver une politique optimale en apprenant les meilleures actions à entreprendre dans chaque état pour maximiser les récompenses futures.
- Approche : L’agent maintient une table de Q-values (valeurs de qualité) où chaque combinaison état-action est associée à une valeur.
Formule clé :
\[ Q(s, a) \leftarrow Q(s, a) + \alpha \left[ R + \gamma \max_{a'} Q(s', a') - Q(s, a) \right] \] - \(s\) : État actuel. - \(a\) : Action choisie. - \(R\) : Récompense reçue après avoir exécuté \(a\). - \(s'\) : État résultant. - \(\alpha\) : Taux d’apprentissage (learning rate). - \(\gamma\) : Facteur de discount pour les récompenses futures.
Exemple :
Pour un robot dans un labyrinthe, le Q-Learning lui apprend à choisir
les chemins les plus courts pour atteindre la sortie en maximisant les
récompenses (comme éviter les murs ou trouver une sortie).
2. SARSA : Une variante du Q-Learning
SARSA (State-Action-Reward-State-Action) est un algorithme proche du Q-Learning. La différence principale réside dans la mise à jour des Q-values :
- Au lieu d’utiliser la meilleure action possible dans l’état suivant (\(\max_{a'} Q(s', a')\)), SARSA utilise l’action effectivement choisie par l’agent (\(Q(s', a')\)). Cela veut tout simplement dire que SARSA prend la decision qu’il pense être la bonne alors que le Q-Learning va prendre toutes les décision et choisir celle qui a produit le meilleur résultat.
Sur le schéma ci dessous, on voit que SARSA prend une seule décision. Alors qu’au dessus, le Q-Learning les prend toutes et choisi ensuite la meilleure.
Formule :
\[ Q(s, a) \leftarrow Q(s, a) + \alpha \left[ R + \gamma Q(s', a') - Q(s, a) \right] \] Différence majeure :
- Q-Learning est hors-politiques (off-policy), ce qui signifie qu’il apprend une politique différente de celle qu’il utilise pour explorer.
- SARSA est sur-politiques (on-policy), donc il apprend directement à partir de la politique utilisée.
En général le Q-Learning a
tendance à converger plus rapidement vers son état final alors que SARSA
prend plus de temps à se stabiliser mais obtient un meilleur score final
cumulé.
3. Deep Q-Networks (DQN) : Quand les tables ne suffisent plus
Pour des environnements complexes avec un grand nombre d’états et d’actions, stocker une table Q devient impossible. C’est là qu’interviennent les Deep Q-Networks (DQN), qui remplacent la table par un réseau neuronal.
Fonctionnement :
- L’agent utilise un réseau neuronal pour approximer les Q-values.
- Il applique une variante du Q-Learning pour entraîner ce réseau.
Exemple :
C’est avec un DQN que DeepMind a entraîné une IA capable de battre les
jeux Atari comme Breakout ou Space Invaders.
Améliorations :
- Replay Buffer : L’agent stocke ses expériences et les rejoue aléatoirement pour éviter les corrélations temporelles.
- Target Network : Utilisation d’un réseau secondaire pour stabiliser les mises à jour.
4. Politique Monte Carlo
Les méthodes Monte Carlo reposent sur des échantillons d’expériences complètes pour estimer les valeurs des états ou des actions.
Différence clé :
- Contrairement à Q-Learning ou SARSA, qui mettent à jour les Q-values après chaque étape, les algorithmes Monte Carlo attendent la fin d’un épisode pour calculer les valeurs moyennes des récompenses reçues.
Exemple :
- Utilisé pour des jeux comme le poker, où l’agent apprend à partir de simulations complètes d’une main ou d’une partie.
5. Méthodes basées sur la politique : REINFORCE
Contrairement aux méthodes basées sur les valeurs (comme Q-Learning), les algorithmes basés sur la politique cherchent à apprendre directement la meilleure politique.
Fonctionnement :
- Une politique est représentée par une fonction paramétrique (\(\pi_\theta(s, a)\)) souvent implémentée par un réseau neuronal.
- L’objectif est de maximiser une fonction de récompense cumulative en ajustant les paramètres (\(\theta\)) de la politique.
Formule :
\[
\theta \leftarrow \theta + \alpha \nabla_\theta \log \pi_\theta(s, a) R
\] Exemple :
Un drone utilisant REINFORCE apprend à voler à travers des obstacles en
ajustant directement ses probabilités d’action.
6. Actor-Critic : Une combinaison puissante
Les algorithmes Actor-Critic combinent les approches basées sur la politique (Actor) et celles basées sur les valeurs (Critic).
- Actor : Apprend la politique optimale (\(\pi_\theta\)).
- Critic : Apprend une fonction de valeur qui évalue la performance de l’Actor. Il “juge l’action” de l’actor et améliore ses performances en conséquence.
Exemple :
Utilisé dans des environnements complexes comme les simulations 3D, où
l’apprentissage rapide et stable est crucial.
Quand utiliser quel algorithme ?
Situation | Algorithme recommandé |
---|---|
Petits environnements simples | Q-Learning, SARSA |
Grands environnements complexes | DQN, Actor-Critic |
Problèmes nécessitant une exploration directe | Méthodes Monte Carlo |
Apprentissage direct de politiques | REINFORCE, Actor-Critic |
Conclusion
Ces algorithmes clés forment la base de l’apprentissage par renforcement moderne. Ils permettent aux agents d’apprendre à explorer, à s’adapter et à résoudre des problèmes dans des environnements variés.
L’évolution vers des méthodes plus avancées, comme les algorithmes multi-agents ou les approches basées sur des modèles, ouvre des perspectives encore plus ambitieuses pour l’avenir de l’IA interactive.
Vous voulez apprendre l'IA en autonomie ?
Si vous êtes nouveau sur mon site, je vous invite à aller voir ma page sur Roadmap IA qui regroupe tous mes articles dans l'ordre pour vous facilitez l'apprentissage.