Q-Learning : Apprentissage TD Hors Politique
Glissez pour afficher le menu
L'apprentissage d'une politique optimale avec SARSA peut être difficile. Comme pour le contrôle Monte Carlo on-policy, cela nécessite généralement une décroissance progressive de ε au fil du temps, tendant finalement vers zéro pour passer de l'exploration à l'exploitation. Ce processus est souvent lent et peut exiger un temps d'entraînement important. Une alternative consiste à utiliser une méthode off-policy telle que le Q-learning.
Le Q-learning est un algorithme de contrôle TD off-policy utilisé pour estimer la fonction de valeur d'action optimale q∗(s,a). Il met à jour ses estimations en se basant sur la meilleure action actuelle, ce qui en fait un algorithme off-policy.
Règle de mise à jour
Contrairement au contrôle Monte Carlo hors politique, Q-learning ne nécessite pas d'échantillonnage d'importance pour corriger les différences entre les politiques de comportement et les politiques cibles. Il s'appuie plutôt sur une règle de mise à jour directe qui ressemble fortement à SARSA, mais avec une différence clé.
La règle de mise à jour du Q-learning est :
Q(St,At)←Q(St,At)+α(Rt+1+γamaxQ(St+1,a)−Q(St,At))La seule différence avec SARSA réside dans la valeur cible. Au lieu d'utiliser la valeur de la prochaine action réellement effectuée, comme le fait SARSA :
γQ(St+1,At+1)Q-learning utilise la valeur de la meilleure action possible suivante :
γamaxQ(St+1,a)Ce changement subtil a un impact majeur : il permet au Q-learning d'évaluer les actions en utilisant une estimation de la politique optimale, même lorsque l'agent est encore en phase d'exploration. C'est ce qui en fait une méthode hors politique — il apprend sur la politique gloutonne, indépendamment des actions choisies pendant l'entraînement.
Quand utiliser le Q-learning ?
Q-learning est préférable lorsque :
- Vous travaillez avec des environnements déterministes, ou des environnements ;
- Un temps de convergence plus rapide est nécessaire.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion