L’apprentissage par renforcement (Reinforcement Learning, RL) permet à un agent d’apprendre par essais et erreurs en interagissant avec un environnement. L’agent reçoit des récompenses ou des pénalités en fonction de ses actions, et son objectif est de maximiser la récompense cumulée sur le long terme.

Concepts fondamentaux§

graph LR
    A["Agent"] -->|"Action a"| E["Environnement"]
    E -->|"État s'"| A
    E -->|"Récompense r"| A

    style A fill:#2196F3,color:#fff
    style E fill:#4CAF50,color:#fff
ConceptDescriptionExemple (jeu vidéo)
AgentL’entité qui prend des décisionsLe personnage joueur
EnvironnementLe monde dans lequel l’agent évolueLe niveau du jeu
État (ss)La situation actuelle de l’agentPosition, vie, inventaire
Action (aa)Ce que l’agent peut faireSauter, tirer, avancer
Récompense (rr)Signal de feedback après une action+10 pour un ennemi tué, -1 par seconde
Politique (π\pi)La stratégie de l’agent : quel action prendre dans quel étatπ(as)\pi(a \mid s)
Valeur (VV)Récompense cumulée attendue depuis un état”Ce couloir mène probablement au trésor”

Le processus de décision markovien (MDP)§

Le RL est formalisé comme un MDP (Markov Decision Process), défini par :

Propriété de Markov : l’état futur ne dépend que de l’état présent, pas de l’historique.

Le facteur de discount γ\gamma§

Le facteur de discount contrôle l’importance des récompenses futures par rapport aux récompenses immédiates :

Gt=rt+γrt+1+γ2rt+2+=k=0γkrt+kG_t = r_t + \gamma r_{t+1} + \gamma^2 r_{t+2} + \dots = \sum_{k=0}^{\infty} \gamma^k r_{t+k}
Valeur de γ\gammaComportement
γ0\gamma \approx 0L’agent est myope, il ne voit que la récompense immédiate
γ1\gamma \approx 1L’agent est prévoyant, il planifie sur le long terme
γ=0.99\gamma = 0.99Valeur typique pour la plupart des problèmes

Exploration vs Exploitation§

Un dilemme fondamental en RL :

ExplorationExploitation
Quoi ?Essayer des actions nouvellesRépéter les actions qui marchent
Pourquoi ?Découvrir de meilleures stratégiesMaximiser la récompense connue
RisquePerdre du temps sur des mauvaises actionsRater de meilleures options

Stratégie epsilon-greedy (ε\varepsilon-greedy)§

La méthode la plus simple pour équilibrer exploration et exploitation :

a={action aleˊatoireavec probabiliteˊ ε argmaxaQ(s,a)avec probabiliteˊ 1εa = \begin{cases} \text{action aléatoire} & \text{avec probabilité } \varepsilon \ \arg\max_a Q(s, a) & \text{avec probabilité } 1 - \varepsilon \end{cases}

Fonctions de valeur§

Fonction de valeur d’état V(s)V(s)§

Récompense cumulée attendue en partant de l’état ss et en suivant la politique π\pi :

Vπ(s)=Eπ[k=0γkrt+kst=s]V^\pi(s) = \mathbb{E}_\pi \left[ \sum_{k=0}^{\infty} \gamma^k r_{t+k} \mid s_t = s \right]

Fonction de valeur action-état Q(s,a)Q(s, a)§

Récompense cumulée attendue en prenant l’action aa dans l’état ss puis en suivant π\pi :

Qπ(s,a)=Eπ[k=0γkrt+kst=s,at=a]Q^\pi(s, a) = \mathbb{E}_\pi \left[ \sum_{k=0}^{\infty} \gamma^k r_{t+k} \mid s_t = s, a_t = a \right]

Équation de Bellman§

Relation récursive fondamentale qui lie la valeur d’un état à celle des états suivants :

Vπ(s)=aπ(as)sP(ss,a)[R(s,a)+γVπ(s)]V^\pi(s) = \sum_a \pi(a \mid s) \sum_{s'} P(s' \mid s, a) \left[ R(s, a) + \gamma V^\pi(s') \right]

Les grandes familles d’algorithmes§

graph TB
    RL["Apprentissage par<br/>Renforcement"]
    RL --> MF["Model-Free"]
    RL --> MB["Model-Based"]

    MF --> VB["Value-Based"]
    MF --> PG["Policy-Based"]
    MF --> AC["Actor-Critic"]

    VB --> QL["Q-Learning"]
    VB --> DQN["DQN"]
    VB --> SARSA2["SARSA"]

    PG --> REINFORCE["REINFORCE"]
    PG --> PPO["PPO"]

    AC --> A2C["A2C"]
    AC --> A3C["A3C"]
    AC --> SAC["SAC"]

    style RL fill:#673AB7,color:#fff
    style MF fill:#2196F3,color:#fff
    style MB fill:#FF9800,color:#fff
    style VB fill:#4CAF50,color:#fff
    style PG fill:#E91E63,color:#fff
    style AC fill:#009688,color:#fff

Méthodes Value-Based§

Q-Learning§

Algorithme off-policy qui apprend la fonction QQ optimale sans suivre une politique fixe.

Règle de mise à jour :

Q(s,a)Q(s,a)+α[r+γmaxaQ(s,a)Q(s,a)]Q(s, a) \leftarrow Q(s, a) + \alpha \left[ r + \gamma \max_{a'} Q(s', a') - Q(s, a) \right]

La table Q :

GaucheDroiteHautBas
État A0.20.80.10.3
État B0.90.10.40.2
État C0.30.50.70.1

L’agent choisit l’action avec la plus haute valeur Q (en gras).

SARSA (State-Action-Reward-State-Action)§

Similaire au Q-Learning mais on-policy : il utilise l’action réellement prise par la politique actuelle.

Q(s,a)Q(s,a)+α[r+γQ(s,a)Q(s,a)]Q(s, a) \leftarrow Q(s, a) + \alpha \left[ r + \gamma Q(s', a') - Q(s, a) \right]

Différence clé : utilise Q(s,a)Q(s', a') (action réelle) au lieu de maxaQ(s,a)\max_{a'} Q(s', a') (meilleure action).

Deep Q-Network (DQN)§

Quand l’espace d’états est trop grand pour une table Q (ex: pixels d’un jeu), on utilise un réseau de neurones pour approximer Q(s,a)Q(s, a).

Innovations clés de DQN :

graph LR
    S["État s<br/>(ex: pixels du jeu)"] --> NN["Réseau de neurones<br/>(convolutions + dense)"]
    NN --> Q1["Q(s, gauche)"]
    NN --> Q2["Q(s, droite)"]
    NN --> Q3["Q(s, haut)"]
    NN --> Q4["Q(s, bas)"]

    style S fill:#4CAF50,color:#fff
    style NN fill:#2196F3,color:#fff

Méthodes Policy-Based§

Au lieu d’apprendre une fonction de valeur, on apprend directement la politique πθ(as)\pi_\theta(a \mid s).

REINFORCE (Monte Carlo Policy Gradient)§

J(θ)=Eπ[logπθ(as)Gt]\nabla J(\theta) = \mathbb{E}_\pi \left[ \nabla \log \pi_\theta(a \mid s) \cdot G_t \right]

Avantage : peut gérer des espaces d’actions continus. Inconvénient : haute variance, convergence lente.

Méthodes Actor-Critic§

Combinent le meilleur des deux mondes :

graph TB
    S["État s"] --> ACTOR["Actor<br/>π(a|s)"]
    S --> CRITIC["Critic<br/>V(s)"]
    ACTOR --> A["Action a"]
    A --> ENV["Environnement"]
    ENV --> R["Récompense r"]
    R --> CRITIC
    CRITIC --> |"Avantage A(s,a)"| ACTOR

    style ACTOR fill:#E91E63,color:#fff
    style CRITIC fill:#2196F3,color:#fff
    style ENV fill:#4CAF50,color:#fff

PPO (Proximal Policy Optimization)§

L’algorithme le plus populaire aujourd’hui (utilisé pour entraîner ChatGPT via RLHF).

Applications§

DomaineApplicationExemple notable
JeuxMaîtriser des jeux complexesAlphaGo (Go), AlphaZero (échecs), OpenAI Five (Dota 2)
RobotiqueLocomotion, manipulation d’objetsRobots marcheurs, bras robotiques
Conduite autonomeDécisions de navigationGestion des intersections, changements de voie
FinanceTrading algorithmiqueGestion de portefeuille, market making
SantéTraitements personnalisésDosage de médicaments, plans de radiothérapie
NLPAlignement des LLMRLHF (ChatGPT, Claude)
IndustrieContrôle de processusRefroidissement data centers (Google), gestion d’énergie

Résumé des différences§

CritèreValue-BasedPolicy-BasedActor-Critic
ApprendQ(s,a)Q(s, a) ou V(s)V(s)π(as)\pi(a \mid s)Les deux
ActionsDiscrètes uniquementDiscrètes ou continuesDiscrètes ou continues
VarianceFaibleHauteModérée
BiaisPlus élevéFaibleÉquilibré
ExempleDQNREINFORCEPPO, A3C