INTELLIGENCE ARTIFICIELLE IAR-1001
Apprentissage par renforcement Retour sur les notions d’agents intelligents Retour sur les notions d’apprentissage Retour sur les notions d’inférence (réaction à l’environnement) Q-Learning LECTURES: Chapitre 21 Russell & Norvig Notes de cours (site ftp UQTR)
Retour sur les notions d’agents intelligents Agent réflexe (sans apprentissage continue)
Retour sur les notions d’agents intelligents Agent Utility-based Inconnus et doivent être appris
Retour sur les notions d’agents intelligents Agent avec apprentissage continue
Retour sur les notions d’apprentissage Comment déterminer l’état le plus vraisemblable d’un agent à partir de son environnement ? Comment l’agent apprend t-il de ses expériences ?
Retour sur les notions d’apprentissage Notions d’inférence: Règle de Bayes (exemple)
Retour sur les notions d’apprentissage Notions d’inférence: Règle de Bayes (exemple)
Retour sur les notions d’apprentissage Exemples d’utilisation des réseaux Bayesien (contexte de jeu vidéo)
Retour sur les notions d’apprentissage Exemples d’utilisation des réseaux Bayesien
Retour sur les notions d’apprentissage Exemples d’utilisation des réseaux Bayesien: inférence des états d’un agent
Retour sur les notions d’apprentissage Exemples d’utilisation de l’apprentissage supervisé (Drivatar)
Retour sur les notions d’apprentissage Apprentissage basées sur le renforcement
Retour sur les notions d’apprentissage Apprentissage basées sur le renforcement
Q-Learning
Q-Learning
Q-Learning Formule du renforcement
Q-Learning Q-Learning pour l’apprentissage de combat agressif
Q-Learning Q-Learning pour l’apprentissage de combat d’Aikido
Q-Learning Algorithme d’apprentissage Fonction d’exploration
Q-Learning Algorithme d’apprentissage
SARSA Algorithme d’apprentissage
Q-Learning Exemple de fonction d’exploration R+ est une estimation optimiste de la meilleure récompense possible de chaque état avec Ne un paramètre dont la valeur est fixée. Cette fonction f() permet à l’agent d’explorer chaque paire action-state au moins Ne fois. u représente dans certaines approches une fonction d’utilité, mais dans l’algorithme d’apprentissage basé sur le Q-Learning u devient une une fonction Q(s,a) qui est une valeur de la combinaison (s,a) appelée fonction valeur-action
Q-Learning Exemple d’application du Q-Learning: path planning http://mnemstudio.org/path-finding-q-learning-tutorial.htm
Q-Learning Exemple d’application du Q-Learning: path planning Graphe des états-actions possibles: passage d’une pièce à l’autre
Q-Learning Exemple d’application du Q-Learning: path planning Graphe des états-actions possibles: passage d’une pièce à l’autre avec les récompenses associées: 100 correspondant à une récompense importante pour accéder à l’extérieur
Q-Learning Exemple d’application du Q-Learning: path planning Exemple de planification d’évacuation de la pièce 2 vers l’extérieur (5)
Q-Learning États Actions Exemple d’application du Q-Learning: path planning Exemple de planification d’évacuation de la pièce 2 vers l’extérieur (5): graphe états-actions États Actions
Q-Learning -1: valeur nulle correspondant à l’absence de lien Exemple d’application du Q-Learning: path planning Exemple de planification d’évacuation de la pièce 2 vers l’extérieur (5): matrice de récompenses -1: valeur nulle correspondant à l’absence de lien
Q-Learning Exemple d’application du Q-Learning: path planning Exemple de planification d’évacuation de la pièce 2 vers l’extérieur (5): La règle de transition du Q-learning est: Q(state, action) = R(state, action) + Gamma * Max[Q(next state, all actions)]
Q-Learning Exemple d’application du Q-Learning: path planning Exemple de planification d’évacuation de la pièce 2 vers l’extérieur (5): Algorithme Q-Learning 1. Initialiser le paramètre et la matrice R. 2. Initialiser la matrice Q à zéro. 3. POUR chaque épisode: Selectionner un état initial. TTQ l’état but n’est pas atteint. Choisir 1 des actions possibles pour cet état. Avec cette action, amenant au prochain état s’. Trouver Q max pour les combinaisons s’-a’ possibles. Calculer: Q(state, action) = R(state, action) + Max[Q(next state, all actions)] L’état courant est fixé au prochain état (next state). FIN TTQ FIN POUR
Q-Learning Exemple d’application du Q-Learning: path planning Exemple de planification d’évacuation de la pièce 1 vers l’extérieur (5): Matrice Q initiale: "Q", est ajoutée au cerveau de l’agent, représente la mémoire de ce que l’agent apprend de ses expériences. Les rangées de Q représentent s actuel de l’agent, les colonnes représentent les actions possibles permettant de passer au prochain s (s’) (passage entre les noeuds).
Q-Learning Exemple d’application du Q-Learning: path planning Exemple de planification d’évacuation de la pièce 1 vers l’extérieur (5): Matrice R initiale
Q-Learning Exemple d’application du Q-Learning: path planning Exemple de planification d’évacuation de la pièce 1 vers l’extérieur (5): En observant la rangée 1 (state 1) de R. 2 actions sont possibles pour l’état actuel 1: aller vers les états 3, ou 5. Par une sélection aléatoire, 5 est l’action choisie et ce sachant que Q(1,3) = Q(1,5) = 0;
Q-Learning Exemple d’application du Q-Learning: path planning Exemple de planification d’évacuation de la pièce 1 vers l’extérieur (5): Mise à jour de Q(1,5): Sachant que le prochain état est le 5 et en consultant la matrice R à la rangée 5. 3 actions sont alors possibles: aller à l’état 1, 4 ou 5. Q(state, action) = R(state, action) + Gamma * Max[Q(next state, all actions)] Q(1, 5) = R(1, 5) + 0.8 * Max[Q(5, 1), Q(5, 4), Q(5, 5)] = 100 + 0.8 * 0 = 100
Q-Learning Exemple d’application du Q-Learning: path planning Autre exemple de planification d’évacuation de la pièce 3 vers l’extérieur (5): En observant la rangée 3 (state 3) de R. 3 actions sont possibles pour l’état actuel 3: aller vers les états 1, 2, ou 4. Par une sélection aléatoire, 1 est l’action choisie et ce sachant que Q(3,1) = Q(3,2) = Q(3,4) = 0;
Q-Learning Exemple d’application du Q-Learning: path planning Autre exemple de planification d’évacuation de la pièce 3 vers l’extérieur (5): Mise à jour de Q(3,1): Sachant que le prochain état est le 1 et en consultant la matrice R à la rangée 1. 2 actions sont alors possibles: aller à l’état 3 ou 5. Q(state, action) = R(state, action) + Gamma * Max[Q(next state, all actions)] Q(3, 1) = R(3, 1) + 0.8 * Max[Q(1, 3), Q(1, 5)] = 0 + 0.8 * 100 = 80
Q-Learning Exemple d’application du Q-Learning: path planning Autre exemple de planification d’évacuation de la pièce 3 vers l’extérieur (5): N’ayant pas atteint le nœud terminal 5, nous répétons la boucle de l’algorithme Q-Learning et ce à partir du nœud 1: En observant la rangée 1 (state 1) de R. 2 actions sont possibles pour l’état actuel 1: aller vers les états 3, ou 5. Par une sélection aléatoire, 5 est l’action choisie et ce sachant que Q(1,3) = 0, Q(1,5) = 100;
Q-Learning Exemple d’application du Q-Learning: path planning Autre exemple de planification d’évacuation de la pièce 3 vers l’extérieur (5): Mise à jour de Q(1,5): Sachant que le prochain état est le 5 et en consultant la matrice R à la rangée 5. 3 actions sont alors possibles: aller à l’état 1, 4 ou 5. Q(state, action) = R(state, action) + Gamma * Max[Q(next state, all actions)] Q(1, 5) = R(1, 5) + 0.8 * Max[Q(5, 1), Q(5, 4) , Q(5, 5)] = 100 + 0.8 * 0 = 100
Q-Learning Forme normalisée en % Exemple d’application du Q-Learning: path planning, après la phase d’apprentissage, donc après l’apprentissage de plusieurs chemins, l’agent possède une base de connaissances représentée par la matrice Q Forme normalisée en %
Q-Learning Exemple d’application du Q-Learning: path planning, après la phase d’apprentissage, l’agent peut utiliser la matrice Q pour déterminer les chemins optimum