Le Q-learning et Deep-Q-Learning expliqués

Author Profile - Paul Claret

By Paul Claret

10 minutes read - 11/12/24

L’apprentissage par renforcement repose sur l’idée qu’un agent peut apprendre à interagir avec son environnement pour maximiser une récompense cumulative. Parmi les algorithmes les plus emblématiques, le Q-Learning et son évolution moderne, les Deep Q-Networks (DQN), occupent une place centrale.

1. Q-Learning : Les Bases

Le Q-Learning est un algorithme hors-politiques (off-policy), ce qui signifie qu’il apprend une politique optimale en utilisant une stratégie qui peut différer de celle suivie par l’agent pour explorer.

Objectif

Le Q-Learning cherche à approximer une fonction appelée Q-function ou fonction de valeur état-action, définie comme suit :

\(Q(s, a) = \text{Valeur attendue d’une action } a \text{ dans l’état } s, \text{ en suivant une politique optimale.}\)

Équation de Bellman

La fonction Q est mise à jour en suivant une version discrète de l’équation de Bellman :

qlearnign eq expliqué.jpg

Fonctionnement
  1. Initialisation de la table \(Q(s, a)\) avec des valeurs arbitraires (souvent 0).
  2. Exploration de l’environnement par l’agent en choisissant des actions.
  3. Mise à jour des valeurs Q pour chaque transition état-action selon l’équation de Bellman.
  4. Convergence vers une politique optimale après de nombreuses itérations.

Exemple simple :

Un robot navigue dans une grille où certaines cases donnent des récompenses positives (comme un objectif) et d’autres des punitions (comme des pièges). Le Q-Learning permettra au robot d’apprendre à éviter les pièges et à trouver le chemin le plus court vers l’objectif.

Limites du Q-Learning


2. Deep Q-Networks (DQN) : Une Révolution

Pour surmonter les limitations du Q-Learning classique, les Deep Q-Networks (DQN) ont été introduits par DeepMind en 2015. L’idée principale est d’utiliser un réseau neuronal pour approximer la fonction Q, permettant ainsi de traiter des espaces d’états continus ou très grands.

Les Principes de Base

Le DQN remplace la table Q(s,a)Q(s, a) par un réseau neuronal qui prend en entrée un état \(s\) et prédit les \(Q-values\) pour toutes les actions possibles \(a\).

Pasted image 20241211094746.png

Fonctionnement

  1. Architecture :
    • Entrée : L’état \(s\) (par exemple, une image, une position, etc.).
    • Sortie : Un vecteur de Q-values, où chaque élément correspond à une action \(a\).
  2. Optimisation :
    Le réseau est entraîné pour minimiser une fonction de perte inspirée de l’équation de Bellman : Pasted image 20241211094909.png \[ \mathcal{L}(\theta) = \mathbb{E} \left[ \left( R + \gamma \max_{a'} Q(s', a'; \theta^-) - Q(s, a; \theta) \right)^2 \right] \]
    • \(\theta\) : Les paramètres actuels du réseau (poids et biais).
    • \(\theta^-\) : Les paramètres d’un réseau secondaire appelé target network.
  3. Target Network :
    • Utilisé pour stabiliser l’apprentissage.
    • Les paramètres \(\theta^-\) sont mis à jour périodiquement pour éviter des oscillations dans l’apprentissage. Pasted image 20241211095744.png
  4. Replay Buffer :
    • Les transitions \((s, a, R, s')\) sont stockées dans une mémoire tampon.
    • Des mini-lots d’expériences sont tirés aléatoirement pour entraîner le réseau, ce qui améliore l’efficacité et réduit la corrélation temporelle des données. Pasted image 20241211095833.png

Exemple : Jeux Atari

DeepMind a démontré la puissance des DQN en les appliquant à des jeux Atari comme Breakout. L’agent a appris à jouer en observant simplement les pixels de l’écran et en maximisant le score.

https://youtu.be/V1eYniJ0Rnk?si=LguO4BTdsnJaB46N

Améliorations de DQN

Personnellement, je trouve le Deep Learning assez compliqué comme ça. Surement parce que ce n’est pas ma spécialité ou un sujet qui me passion particulièrement. Même si aujourd’hui on parle plus d’OpenAI et d’IA générative, cela reste une branche importante de l’IA. Je me devais donc de vous en faire une introduction. Si vous lisez ceci depuis ma roadmap ia interactive, les prochains articles ne seront que des applications de ce que l’on a vu et des articles sur les réseaux de neurones (ANN, CNN, RNN, LSTM) et l’IA générative. Je m’aventurerai pas plus dans le domaine de l’apprentissage par renforcement mais je vous laisse donc ici des pistes de recherche pour les plus curieux qui veulent vraiment apprendre par eux même:

  1. Double DQN :
    • Réduit l’effet de surestimation des Q-values.
    • La mise à jour utilise l’action choisie par le réseau actuel mais évalue celle-ci avec le target network.
  2. Dueling DQN :
    • Introduit deux branches dans le réseau : une pour estimer la valeur d’un état (\(V(s)\)) et une pour estimer l’avantage relatif des actions (\(A(s, a)\)).
    • Combine ces deux valeurs pour produire des Q-values. \[ Q(s, a) = V(s) + A(s, a) - \frac{1}{|\mathcal{A}|} \sum_{a'} A(s, a') \]
  3. Prioritized Experience Replay :
    • Accorde une importance plus grande aux transitions qui contribuent le plus à l’erreur de prédiction, accélérant ainsi l’apprentissage.

Comparaison entre Q-Learning et DQN

Critère Q-Learning DQN
Représentation des Q-values Table explicite Réseau neuronal
Scalabilité Limitée Très adaptée aux grands espaces
Exploration des états Peu efficace Améliorée grâce au replay buffer
Applications Problèmes simples Jeux, robots, simulations 3D

Applications

  1. Robotique : Les DQN sont utilisés pour entraîner des robots à accomplir des tâches complexes dans des environnements dynamiques.
  2. Jeux Vidéo : De nombreux agents de jeu sont entraînés avec des DQN, notamment pour des jeux d’arcade ou des simulations.
  3. Finance : Optimisation de portefeuilles ou prise de décisions dans des environnements stochastiques.
  4. Santé : Planification de traitements médicaux en maximisant les résultats pour les patients.

Conclusion

Le Q-Learning et ses variantes, comme les DQN, marquent des étapes cruciales dans l’apprentissage par renforcement. Alors que le Q-Learning reste un outil pédagogique simple et efficace, les DQN ont ouvert la voie à des applications complexes dans des environnements riches et dynamiques.

En combinant ces approches avec des améliorations comme le Double DQN ou le Dueling DQN, les chercheurs continuent de repousser les limites de ce que les agents autonomes peuvent accomplir. L’avenir de l’apprentissage par renforcement promet encore plus d’innovations et d’applications fascinantes.

Le reinforcement learning n’est pas ma spécialité, donc je vais éviter de trop m’aventurer dans les architectures et équations complexes mais pour vous donner une idée da la taille de l’iceberg, nous n’avons vu que la deuxième équation et seulement mentioné les 3 suivantes de cette image:

Pasted image 20241211095422.png https://roberttlange.com/posts/2019/08/blog-post-5/

Je vous laisse vous aventurer seul dans cette jungle du RL, personnellement, mes articles se concentrent plus sur l’IA générative. Les bases du RL sont cependant un peu plus simple à apprendre que l’a GenIA. C’est pourquoi j’en ai parlé dans mes articles.

Dans le prochain article, nous allons implémenter ensemble, un example de DQN et de QL. RDV au prochain article 👋 !

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.