IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département...

87
IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Transcript of IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département...

Page 1: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

IFT 615 – Intelligence artificielle

Apprentissage par renforcement

Froduald KabanzaDépartement d’informatique

Université de Sherbrookeplaniart.usherbrooke.ca/kabanza/cours/ift615

Page 2: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Sujets couverts

● Apprentissage automatique● Apprentissage par renforcement passif

méthode par estimation directe méthode par programmation dynamique adaptative (PDA) méthode par différence temporelle (TD)

● Apprentissage par renforcement actif méthode PDA active méthode TD active méthode Q-learning

IFT 615 Froduald Kabanza 2

Page 3: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

3

APPRENTISSAGE AUTOMATIQUE

IFT 615 Froduald Kabanza

Page 4: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage dans un agent

● Un agent apprend s’il améliore sa performance sur des tâches futures avec l’expérience

● Pourquoi programmer des programmes qui apprennent: il est trop difficile d’anticiper toutes les entrées à traiter correctement il est possible que la relation entre l’entrée et la sortie évolue dans le temps

(ex.: classification de pourriels) parfois, on a aucune idée comment programmer la fonction désirée

(ex.: reconnaissance de visage)

IFT 615 Froduald Kabanza 4

Page 5: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Composantes de l’agent concernées par l’apprentissage

IFT 615 Froduald Kabanza 5

Page 6: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Types de problèmes d’apprentissage

● Il existe plusieurs sortes de problèmes d’apprentissage, qui se distinguent par la nature de la supervision offerte par nos données apprentissage supervisé : sortie désirée (cible ou « target ») est fournie

explicitement par les données (sujet de ce cours)» ex.: reconnaître les âges des personnes à l’aide des exemples de photos

apprentissage par renforcement : le signal d’apprentissage correspond seulement à des récompenses et punitions» ex.: Robot qui apprend à naviguer dans un environnement

apprentissage non-supervisé : les données ne fournissent pas de signal explicite et le modèle doit extraire de l’information uniquement à partir de la structure des entrées» ex.: identifier différents thèmes d’articles de journaux en regroupant les articles

similaires (« clustering ») et plusieurs autres!

IFT 615 Froduald Kabanza 6

Page 7: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Types de problèmes d’apprentissage

IFT 615 Froduald Kabanza 7

● Dans ce cours, on va juste introduire l’apprentissage par renforcement et l’apprentissage supervisé

● Voir le cours IFT 603 - Techniques d'apprentissage pour en savoir plus sur le grand monde de l’apprentissage automatique

Page 8: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

8

APPRENTISSAGE PAR RENFORCEMENT

IFT 615 Froduald Kabanza

Page 9: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Idée de base

● L’apprentissage par renforcement s’intéresse au cas où l’agent doit apprendre à agir seulement à partir des récompenses ou renforcements

IFT 615 Froduald Kabanza 9

● Données du problème d’apprentissage: L’agent agit sur son environnement Reçoit une retro-action sous-forme de récompense (renforcement) Son but est de maximiser la somme des recompenses espérés

● Objectif: Apprendre à maximiser somme des recompenses

2

2

1

1

0

0210

r

a

r

a

r

a sss

10 avec , 22

10 rrr

Page 10: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Exemple

● L’agent vit dans un environnement représenté par une grille 3 x 4

● Des murs bloquent le chemin de l’agent

● L’environnement est stochastique

● L’agent reçoit des récompenses:

-0.04 partout, sauf dans (4,3) où

il reçoit +1 et dans (4,2) où il reçoit -1

● L’agent ne connait pas à priori

le modèle de l’environnement P(s’|s,a)

● Ni la fonction de récompense R(s)

● Son but est de maximiser la somme des récompenses

IFT 615 Froduald Kabanza 10

X

?

X

X X

E N S

W

Page 11: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par renforcement

● Nous avons encore un processus de décision de Markov Nous cherchons encore une politique qui maximise (approximativement) la

somme des récompenses espérée.

● Mais nous ne connaissons pas le modèle d’action P(s’|s, a) ou la fonction de récompense R(s) Nous ne savons pas quelles actions chosir Nous ne savons pas quels états sont bons

● En fait, il faudra tâtonner (essayer des actions) pour apprendre

● En résumé, l’apprentissage par renforcement vise aussi à trouver un plan optimal, mais sans connaître le modèle de transition de l’environnement

● Certains diront que c’est la forme la plus pure d’apprentissage en IA c’est aussi une des plus difficiles à réussir...

IFT 615 Froduald Kabanza 11

Page 12: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

12

Deux cas considérés

● Apprentissage passif L’agent a une politique fixe Essaie d’apprendre l’utilité des états en observant l’occurrence des états Similaire à l’évaluation d’une politique

» Sert souvent de composante à l’apprentissage active» Inspire souvent des algorithmes d’apprentissage active

● Apprentissage actif L’agent essaie de trouver une bonne politique en agissant dans

l’environnement Similaire à résoudre le PDM sous-jacent à cet environnement

» Mais sans avoir le modèle correspondant

Page 13: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Dans ce cours...

● On va se concentrer sur le cas d’un environnement parfaitement observé d’un environnement stochastique (le résultat d’une action n’est pas

déterministe) où on ne connaît pas l’environnement (c.-à-d. c’est un MDP inconnu) où on peut ne pas connaître la fonction de renforcement R(s)

● Après ce cours, vous connaîtrez les notions de bases sur apprentissage par renforcement passif apprentissage par renforcement actif dilemme exploration vs. exploitation

IFT 615 Froduald Kabanza 13

Page 14: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

14

RAPPEL

IFT 615 Froduald Kabanza

Page 15: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Rappel: processus de décision markovien

● Un processus de décision markovien (Markov decision process, ou MDP) est défini par: un ensemble d’états S (incluant un étant initial s0) un ensemble d’actions possibles Actions(s) (ou A(s)) lorsque

je me trouve à l’état s un modèle de transition P(s’|s, a), où a A(s) une fonction de récompense R(s) (utilité d’être dans l’état s)

● Un plan (politique) π est un ensemble de décisions qui associe un état s à une action a = π(s)

IFT 615 Froduald Kabanza 15

Page 16: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Rappel: processus de décision markovien

● La fonction de valeur (utilité) U(s) d’un plan π est donnée par les

équations

Uπ(s) = R(s) + γ Σ s’ S P(s’|s, π(s)) Uπ(s’)

où γ est un facteur d’escompte donné

● On note parfois U(π,s) ou Uπ(s)

● NOUVEAU: on va supposer l’existence d’états terminaux lorsque l’agent atteint cet état, la simulation est arrêtée on s’intéresse à la somme des récompenses jusqu’à l’atteinte d’un état

terminal» ex.: au tic-tac-toe, l’état terminal est une grille de fin de partie (c.-à-d. une grille

complète ou une grille où un des joueurs a gagné)

IFT 615 Froduald Kabanza 16

Page 17: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Utilité d’un plan

● R(s): récompense pour l’état s

● U(π,s): utilité (valeur) du plan π à l’état s

U(π,s) = R(s) + γ Σ s’ S P(s’|s, π(s)) U(π, s’)

γ: facteur d’escompte (0 ≤ γ ≤ 1), indique l’importance relative des récompenses futures par rapport à la récompense actuelle

S: espace d’états π(s): action du plan à l’état s P(s’|s, π(s)): probabilité de la transition du MDP

IFT 615 Froduald Kabanza 17

récompenseactuelle

somme des récompenses futures espérée

Page 18: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Équations de Bellman pour la valeur optimale

● Les équations de Bellman nous donnent l’utilité d’un état (c.à-d., l’utilité des plans optimaux dans un état)

U(s) = R(s) + max γ Σ s’ S P(s’|s,a) U(s’) s S

● Si nous pouvons calculer U, nous pourrons calculer un plan optimal aisément: il suffit de choisir dans chaque état s l’action qui maximise U(s)

(c.-à-d. le argmax)

a

IFT 615 Froduald Kabanza 18

Page 19: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

3

2

1

1 2 3 4

+1

-1

0.705

3

2

1

1 2 3 4

+1

-1

0.812

0.762

0.868 0.912

0.660

0.655 0.611 0.388

utilities of states:

Exemple : Utilité d’un plan

● P(s|s’,a) : 0.8 succès; 0.1 à angle droit à l’opposé de la direction prévue● R(S) : R(s)= -0.04 partout, sauf R((4,3))=+1 et R((4,3))=+1 et R((4,2))=-1 ● Facteur d’escompte = 1

Page 20: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Rappel : Itération de la valeur

●Idée: Commencer avec U0(s) = 0

Étant donné Ui, calculer les valeurs de tous les états pour l’itération i+1:

U’(s) = R(s) + max γ Σ s’ S P(s’|s,a) U(s’) a

Cet étape est mise à jour de la valeur ou la mise à jour de Bellman

Répéter jusqu’à la convergence

●Théorème: va converger aux valeurs optimales

20

Page 21: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Exemple: Rappel itération de la valeur

●Les valeurs se propagent à rebours vers tous les états. Éventuellement chaque état a la valeur exacte.

●Facteur d’escompte = 0.5

V1 V2

21

0.39

Page 22: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Exemple: Itération de la valeur

V2 V3

22

0.39 0.390.13

0.1

●Les valeurs se propagent à rebours vers tous les états. Éventuellement chaque état a la valeur exacte.

●Facteur d’escompte = 0.5

Page 23: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

23

APPRENTISSAGE PASSIFIntroduction

IFT 615 Froduald Kabanza

Page 24: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

24

Rappel

● Apprentissage passif L’agent a une politique fixe Essaie d’apprendre l’utilité des états en observant l’occurrence des états Similaire à l’évaluation d’une politique

Page 25: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage passif

● Définition: soit un plan π donné, apprendre la fonction de valeur sans connaître P(s’|s, a)

● Exemple illustratif: déplacement sur une grille 3 x 4

plan π illustré par les flèches

R(s) = -0.04 partout saufaux états terminaux

l’environnement est stochastique

l’agent arrête auxétats terminaux

on suppose γ=1

IFT 615 Froduald Kabanza 25

étatsterminaux

Page 26: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage passif

● Définition: soit un plan π donné, apprendre la fonction de valeur sans connaître P(s’|s, a)

● Puisqu’on ne connaît pas P(s’|s, a) on doit apprendre à partir d’essais 1. (1,1)-.04 (1,2)-.04 (1,3)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (4,3)+1

2. (1,1)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (3,2)-.04 (3,3)-.04 (4,3)+1

3. (1,1)-.04 (2,1)-.04 (3,1)-.04 (3,2)-.04 (4,2)-1

● Comment estimer la fonction de valeurs U(s) à partir de ces essais?

● Trois approches: Estimation directe Programmation dynamique adaptative Différence temporelle

IFT 615 Froduald Kabanza 26

Page 27: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

27

APPRENTISSAGE PASSIFApproche par estimation directe

IFT 615 Froduald Kabanza

Page 28: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par estimation directe

● Approche la plus simple: calculer la moyenne de ce qui est observé dans les essais

● Essais 1. (1,1)-.04 (1,2)-.04 (1,3)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (4,3)+1

2. (1,1)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (3,2)-.04 (3,3)-.04 (4,3)+1

3. (1,1)-.04 (2,1)-.04 (3,1)-.04 (3,2)-.04 (4,2)-1

● Estimation de Uπ( (1,1) ) dans l’essai 1, la somme des récompenses à partir de (1,1) est 0.72 dans l’essai 2, on obtient également 0.72 dans l’essai 3, on obtient plutôt -1.16 l’estimation directe de U( (1,1) ) est donc (0.72+0.72-1.16)/3 = 0.09333

IFT 615 Froduald Kabanza 28

Page 29: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par estimation directe

● Approche la plus simple: calculer la moyenne de ce qui est observé dans les essais

● Essais 1. (1,1)-.04 (1,2)-.04 (1,3)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (4,3)+1

2. (1,1)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (3,2)-.04 (3,3)-.04 (4,3)+1

3. (1,1)-.04 (2,1)-.04 (3,1)-.04 (3,2)-.04 (4,2)-1

● Estimation de Uπ( (1,2) ) dans l’essai 1, l’état (1,2) est visité deux fois, avec des sommes de récompenses à partir de (1,2) de 0.76 et 0.84 dans l’essai 2, on observe 0.76 l’essai 3 ne visite pas (1,2) l’estimation directe de Uπ( (1,2) ) est donc (0.76+0.84+0.76)/3 = 0.78666

IFT 615 Froduald Kabanza 29

Page 30: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par estimation directe

● Essais 1. (1,1)-.04 (1,2)-.04 (1,3)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (4,3)+1

2. (1,1)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (3,2)-.04 (3,3)-.04 (4,3)+1

3. (1,1)-.04 (2,1)-.04 (3,1)-.04 (3,2)-.04 (4,2)-1

● L’estimation directe ignore les liens entre les états: elle manque d’occasion d’apprentissage

Par exemple, bien que l’essai 1 dit rien sur (3,2), elle nous apprend que (3,3) a une valeur élevée

On pourrait également déduire que (3,2) a une valeur élevée, puisque (3,2) est adjacent à (3,3)

● Autrement dit, on ignore les contraintes entre les utilités des états, telles que donnée par l’équation

Uπ(s) = R(s) + γ Σ s’ S P(s’|s, π(s)) Uπ(s’)

IFT 615 Froduald Kabanza 30

Page 31: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

31

APPRENTISSAGE PASSIFApproche par programmation dynamique adaptative

IFT 615 Froduald Kabanza

Page 32: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

● C’est l’idée derrière la programmation dynamique adaptative (PDA) tirer profit des équations de la fonction de valeur pour estimer U(s)

● L’approche par PDA n’apprend pas directement U(s), mais apprend plutôt le modèle de transition P(s’|s, a) étant donnée une estimation de P(s’|s, a), on peut résoudre

Uπ(s) = R(s) + γ Σ s’ S P(s’|s, π(s)) Uπ(s’) on obtient alors notre estimation de U(s)

● On peut estimer P(s’|s, a) à partir des fréquences des transitions observées:

IFT 615 Froduald Kabanza 32

P(s’|s, a) = Σ 𝑁 𝑠′∨𝑠𝑎essais

Σessais

nb. de transitions de (s,a,s’)dans l’essai

nb. de fois que l’action a est choisi dans l’état s dans l’essai

somme surtous les essais

𝑁 𝑠𝑎

Page 33: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

IFT 615 Froduald Kabanza 33

Fonction qui résout Uπ(s) = R(s) + γ Σ s’ S P(s’|s, π(s)) Uπ(s’)

Page 34: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

● Exemple (avec état terminal)

● MDP à 3 états: S = {s0, s1, s2}

● Fonction de récompense: R(s0) = -0.1, R(s1)= -0.1, R(s2) = 1

● Le facteur d’escompte est γ=0.5● s2 est un état terminal, s0 est l’état initial

● Plan suivi: π(s0) = a1, π(s1) = a3

IFT 615 Froduald Kabanza 34

a21

a10.2

a2 0.2

a41

0.8a1

a20.8s2s1s0

0.1

0.9a3

a3

Page 35: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

●Initialement, on suppose aucune connection entre les états

IFT 615 Froduald Kabanza 35

s2s1s0

Page 36: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

● Observations: (s0) -0.1

U(s0) = -0.1U(s1) = -0.1U(s2) = 1

IFT 615 Froduald Kabanza 36

s2s1s0

Page 37: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

●Observations: (s0) -0.1 (s0) -0.1

U(s0) = -0.1 + 0.5 U(s0)U(s1) = -0.1U(s2) = 1

IFT 615 Froduald Kabanza 37

s2s1s0

1/1 = 1a1

Page 38: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1

U(s0) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s1) )U(s1) = -0.1U(s2) = 1

IFT 615 Froduald Kabanza 38

s2s1s0

1/2

1/2 a1 a1

Page 39: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1

U(s0) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s1) )U(s1) = -0.1 + 0.5 U(s0)U(s2) = 1

IFT 615 Froduald Kabanza 39

s2s1s0

1/2

1/2

1/1 = 1

a1

a3

a1

Page 40: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1 (s1) -0.1

U(s0) = -0.1 + 0.5 (⅓ U(s0) + ⅔ U(s1) )U(s1) = -0.1 + 0.5 U(s0)U(s2) = 1

IFT 615 Froduald Kabanza 40

s2s1s0

1/3

2/3

1/1 = 1

a1

a3

a1

Page 41: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1 (s1) -0.1 (s2) 1

U(s0) = -0.1 + 0.5 (⅓ U(s0) + ⅔ U(s1) )U(s1) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s2) )U(s2) = 1

IFT 615 Froduald Kabanza 41

s2s1s0

1/3

2/3

1/2

1/2

fin del’essai

a1

a3

a3a1

Page 42: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1 (s1) -0.1 (s2) 1

U(s0) = -0.1 + 0.5 (⅓ U(s0) + ⅔ U(s1) )U(s1) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s2) )U(s2) = 1

IFT 615 Froduald Kabanza 42

s2s1s0

1/3

2/3

1/2

1/2

fin del’essai

À tout moment,on peut calculer

les U(s)

a1

a3

a3a1

Page 43: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

● On a vu comment résoudre le système d’équations des U(s) dans le cours sur les MDP on peut écrire le système sous forme b = A x, et calculer x = A-1 b

● Cette opération peut être coûteuse à répéter après chaque observation inverser la matrice A est dans O(|S|3)

IFT 615 Froduald Kabanza 43

Page 44: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

● Approche alternative: méthode itérative, similaire à value iteration1. Répéter (jusqu’à ce que le changement en V soit négligeable)

I.pour chaque état s calculer:U’(s) = R(s) + γ Σ s’ S P(s’|s,π(s)) U(s’)

II.si |U- U’| ≤ tolérance, quitterIII. U U’

● Plutôt qu’initialiser U(s) à 0, on peut l’initialiser à sa valeur précédente, avant la nouvelle observation une seule observation peut avoir un impact minime sur la nouvelle valeur de

U(s) qui en résulte l’approche itérative + initialisation à la valeur précédente devrait donc

converger rapidement

IFT 615 Froduald Kabanza 44

sans le maxp/r à l’action

Page 45: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

● Approche alternative: méthode itérative, similaire à value iteration1. Répéter (jusqu’à ce que le changement en V soit négligeable).

I.pour chaque état s calculer:U’(s) = R(s) + γ Σ s’ S P(s’|s,π(s)) U(s’)

II.si |U - U’| ≤ tolérance, quitterIII. U U’

● Autres accélérations borner le nombre d’itérations (c.-à-d. ne pas attendre d’atteindre le seuil) balayage hiérarchisé (prioritized sweeping)

»on garde un historique des changements |U(s)- V’(s)|»on priorise les états s avec une grande valeur précédente de |U(s)- V’(s)|

● Permet de résoudre des problèmes où |S| est beaucoup plus grands

IFT 615 Froduald Kabanza 45

Page 46: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

● Contrairement à l’estimation directe, l’approche par PDA peut apprendre après chaque observation, c.-à-d. après chaque transition d’un essai pas besoin de compléter un essai pour obtenir une nouvelle estimation de

U(s)

● Parfois, la fonction de récompense n’est pas connue l’agent ne fait qu’observer la récompense à chaque état, et n’a pas accès

directement à la fonction R(s) par contre on a besoin de R(s) dans les équations de la fonction de valeur dans ce cas, on initialise notre estimation R(s) à 0, et on la met à jour lorsqu’on

atteint l’état s pour la première fois

IFT 615 Froduald Kabanza 46

Page 47: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

IFT 615 Froduald Kabanza 47

Page 48: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

● Un problème avec l’approche par PDA est qu’on doit mettre à jour toutes les valeurs de U(s), pour tout s, après chaque observation très coûteux en pratique si le nombre d’états est grand (ex.: exponentiel) inutile pour un état s’ qui n’est pas atteignable via l’état de la nouvelle

observation

● On doit résoudre les équations de U(s) parce qu’on estime U(s) seulement indirectement, via notre estimation de P(s’|s, a)

● Serait-il possible d’estimer directement U(s) et tenir compte des interactions entre les valeurs, sans avoir à passer par P(s’|s, a)?

IFT 615 Froduald Kabanza 48

Page 49: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par différence temporelle

● Si la transition s à s’ avait lieu tout le temps, on s’attendrait à ce que

U(s) = R(s) + γ Σ s’ S P(s’|s, π(s)) U(s’)

= R(s) + γ U(s’)● Plutôt que d’attendre la fin de l’essai pour mettre à jour notre estimation

de U(s), on pourrait la rapprocher de R(s) + γ U(s’): U(s) (1-α) U(s) + α (R(s) + γ U(s’))

où α est un taux d’apprentissage, entre 0 et 1

● On obtient la règle d’apprentissage par différence temporelle (temporal difference) ou TD

U(s) U(s) + α ( R(s) + γ U(s’) – U(s) )

IFT 615 Froduald Kabanza 49

Page 50: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par différence temporelle

IFT 615 Froduald Kabanza 50

Utile si on veut varier le taux d’apprentissage

Page 51: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

● Exemple (avec état terminal)

● MDP à 3 états: S = {s0, s1, s2}

● Fonction de récompense: R(s0) = -0.1, R(s1)= -0.1, R(s2) = 1

● Le facteur d’escompte est γ=0.5● s2 est un état terminal, s0 est l’état initial

● Plan suivi: π(s0) = a1, π(s1) = a3

IFT 615 Froduald Kabanza 51

a21

a10.2

a2 0.2

a41

0.8a1

a20.8s2s1s0

0.1

0.9a3

a3

Page 52: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par différence temporelle

●Initialisation

U(s0) = 0U(s1) = 0U(s2) = 0

●On va utiliser α = 0.1

IFT 615 Froduald Kabanza 52

s2s1s0

si on connaît R(s), on peut tout initialiser U(s) à R(s)

Page 53: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par différence temporelle

●Observations: (s0) -0.1

U(s0) -0.1U(s1) = 0U(s2) = 0

●On va utiliser α = 0.1

IFT 615 Froduald Kabanza 53

s2s1s0

parce que s0 est visité pour la première fois

Page 54: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par différence temporelle

●Observations: (s0) -0.1 (s0) -0.1

U(s0) U(s0) + 0.1 (R(s0) + 0.5 U(s0) - U(s0) ) = -0.1 + 0.1 (-0.1 - 0.05 + 0.1)= -0.105

U(s1) = 0U(s2) = 0

IFT 615 Froduald Kabanza 54

s2s1s0

U(s) U(s) + α ( R(s) + γ U(s’) – U(s) )

Page 55: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par différence temporelle

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1

U(s1) -0.1

U(s0) U(s0) + 0.1 (R(s0) + 0.5 U(s1) - U(s0) ) = -0.105 + 0.1 (-0.1 - 0.05 + 0.105) = -0.1095

U(s1) = -0.1U(s2) = 0IFT 615 Froduald Kabanza 55

s2s1s0

parce que s1 est visité pour la première fois

U(s) U(s) + α ( R(s) + γ U(s’) – U(s) )

Page 56: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par différence temporelle

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1

U(s0) = -0.1095U(s1) U(s1) + 0.1 (R(s1) + 0.5 U(s0) - U(s1) )

= -0.1 + 0.1 (-0.1 - 0.05475 + 0.1) = -0.105475

U(s2) = 0

IFT 615 Froduald Kabanza 56

s2s1s0

U(s) U(s) + α ( R(s) + γ U(s’) – U(s) )

Page 57: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par différence temporelle

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1 (s1) -0.1

U(s0) U(s0) + 0.1 (R(s0) + 0.5 U(s1) - U(s0) ) = -0.1095 + 0.1 (-0.1 - 0.0527375 +

0.1095) = -0.11382375

U(s1) = -0.105475U(s2) = 0

IFT 615 Froduald Kabanza 57

s2s1s0

U(s) U(s) + α ( R(s) + γ U(s’) – U(s) )

Page 58: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par différence temporelle

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1 (s1) -0.1 (s2) 1

U(s2) 1

U(s0) = -0.11382375U(s1) U(s1) + 0.1 (R(s1) + 0.5 U(s2) - U(s1))

= -0.105475 + 0.1 (1 + 0.5 + 0.105475 ) = 0.0550725

U(s2) = 1IFT 615 Froduald Kabanza 58

s2s1s0

fin del’essai

parce que s2 est visité pour la première fois

U(s) U(s) + α ( R(s) + γ U(s’) – U(s) )

Page 59: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

59

APPRENTISSAGE ACTIF

IFT 615 Froduald Kabanza

Page 60: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par renforcement actif

● Dans le cas passif, le plan à suivre est pré-déterminé peu utile si on ne connaît pas le plan optimal à suivre

● Dans le cas actif, l’agent doit aussi chercher le plan optimal l’agent doit simultanément chercher le plan optimal et sa fonction de valeur U(s) est maintenant une estimation de la fonction de valeur du plan optimal

● Dans le cas PDA, deux changements sont à faire on applique value iteration au MDP estimé (afin de résoudre les équations

pour la politique optimale) l’action choisie par l’agent devient

π(s) = argmax Σ s’ S P(s’|s,a) U(s’)

IFT 615 Froduald Kabanza 60

a A(s)

Page 61: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Appentissage actif avec PDA

IFT 615 Froduald Kabanza 61

ACTIVE-GLOUTON

argmax Σ s S P(s|s’,a) U(s)a A(s)

Résoudre système d’équations U(s) = R(s) + max γ Σ s’ S P(s’|s,a) U(s’)Optimal-Policy(U,mdp)

Page 62: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Appentissage actif avec PDA

● Rappel de l’exemple

● On a des actions possibles différentes, pour chaque état A(s0) = {a1, a2} A(s1) = {a2, a3} A(s2) = {}

IFT 615 Froduald Kabanza 62

a21

a10.2

a2 0.20.8a1

a20.8s2s1s0

0.1

0.9a3

a3

Page 63: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approche par programmation dynamique adaptative

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1

U(s0) = -0.1 + 0.5 max{ 0.5 U(s0) + 0.5 U(s1), 0 }U(s0) = -0.1

U(s1) = -0.1 + 0.5 max{ 0, U(s0) }U(s1) = -0.1

U(s2) = 1 U(s2) = 1

●Pour choisir quelle action prendre, on compare Σ s S P(s|s’,a2) U(s) = 0 (puisque P(s|s’,a2) pas appris encore pour a2) Σ s S P(s|s’,a1) U(s) = 0.5 U(s0) + 0.5 U(s1) = -0.1

●L’action choisie par l’agent est donc a2

IFT 615 Froduald Kabanza 63

s2s1s0

1/2

1/2

1/1 = 1

a1

a3

a1

valueiteration

a1 a1 a3

Page 64: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Dilemme exploration vs. exploitation

● L’approche précédente est dite vorace (gloutonne) elle met à jour le plan suivi par celui qui est optimal maintenant en d’autres mots, elle exploite le plus possible l’information recueilli jusqu’à

maintenant

● Les approches voraces trouvent rarement le plan optimal elles ne tiennent pas compte du fait que l’information accumulée jusqu’à

maintenant est partielle en d’autres mots, elles ne considèrent pas la possibilité d’explorer

l’environnement plus longuement, pour amasser plus d’information sur celui-ci

● Un parallèle similaire existe entre le hill-climbing et le simulated annealing en recherche locale

IFT 615 Froduald Kabanza 64

Page 65: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Dilemme exploration vs. exploitation

● Exemple: cas où l’action « » n’a jamais été exécutée à l’état (1,2)● L’agent ne sait pas que ça mène à (1,3), qui mène à un chemin plus court!

IFT 615 Froduald Kabanza 65

Courbe d’apprentissage

Plan découvert

Page 66: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Dilemme exploration vs. exploitation

● Trop exploiter mène à des plans non optimaux

● Trop explorer ralentit l’apprentissage inutilement

● Trouver la balance optimale entre l’exploration et l’exploitation est un problème ouvert en général

● Des stratégies d’exploration/exploitation optimales existent seulement dans des cas très simples voir le cas du n-armed bandit dans le livre, p. 841

IFT 615 Froduald Kabanza 66

Page 67: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Dilemme exploration vs. exploitation

● On se contente donc d’heuristiques en pratique

● Exemple: introduction d’une fonction d’exploration f(u,n) cette fonction augmente artificiellement la récompense future d’actions

inexplorées

● L’approche par PDA basée sur value iteration ferait les mises à jour

U(s) = R(s) + max γ f( Σ s’ S P(s’|s,a) U(s’), N(s,a) )

où N(s,a) est le nombre de fois que l’action a a été choisie à l’état set f(u,n) =

● Garantit que a sera choisie dans s au moins Ne fois durant l’apprentissage

IFT 615 Froduald Kabanza 67

R+ si n < Ne

u sinon

estimation optimiste de récompense future (hyper-paramètre)

Page 68: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Appentissage actif avec PDA

IFT 615 Froduald Kabanza 68

ACTIVE

argmax Σ s S P(s|s’,a) U(s)a A(s)

Résoudre système d’équations R(s) + max γ f( Σ s’ S P(s’|s,a) U(s’), N(s,a) )

Optimal-Policy(U,mdp)

Page 69: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif par différence temporelle

● Dans le cas de l’apprentissage actif TD, la règle de mise à jour demeure la même que dans le cas de l’apprentissage passif

U(s) U(s) + α ( R(s) + γ U(s’) – U(s) )

● La différence entre TD passif et TD actif est au niveau du choix de l’action.

Le choix de l’action dans TD actif se fait comme dans PDA actif

IFT 615 Froduald Kabanza 69

Page 70: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif avecQ-learning

● Il existe une variante de la méthode TD, nommée Q-learning, qui apprend la fonction action-valeur Q(s,a)

on n’apprend plus U(s), soit la somme espérée des renforcements à partir de s jusqu’à la fin pour la politique optimale

on apprend plutôt Q(s,a), soit la somme espérée des renforcements à partir de s et l’exécution de a, jusqu’à la fin pour la politique optimale

le lien entre Q(s,a) et U(s) est que U(s) = max Q(s,a)

● Le plan de l’agent est alors π(s) = argmax Q(s,a)

IFT 615 Froduald Kabanza 70

a

Page 71: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif avecQ-learning

● Selon la définition de Q(s,a), on a

Q(s,a) = R(s) + γ Σ s’ S P(s’|s,a) max Q(s’,a’)

● Comme pour l’approche TD, on traduit cette équation en la mise à jour

Q(s,a) Q(s,a) + α ( R(s) + γ max Q(s’,a’) – Q(s,a) )

● On voit la similarité avec l’approche TD initiale

U(s) U(s) + α ( R(s) + γ U(s’) – U(s) )

IFT 615 Froduald Kabanza 71

a’

a’

Page 72: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif avecQ-learning

●Initialisation:

Q(s0,a1) = 0 Q(s0,a2) = 0 Q(s1,a2) = 0 Q(s1,a3) = 0 Q(s2,None) = 0

●On va utiliser α = 0.5, γ = 0.5

IFT 615 Froduald Kabanza 72

s2s1s0

Page 73: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif avecQ-learning

●Observations: (s0) -0.1

On ne fait rien (on a besoin d’un triplet (s, a, s’) )

●Action à prendre π(s0) = argmax{ Q(s0,a1), Q(s0,a2) }= argmax{ 0, 0 }= a2 (arbitraire, ça

aurait aussi pu être a1)IFT 615 Froduald Kabanza 73

s2s1s0

Page 74: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif avecQ-learning

●Observations: (s0) -0.1 (s0) -0.1

Q(s0,a2) Q(s0,a2) + α ( R(s0) + γ max{ Q(s0,a1), Q(s0,a2)} - Q(s0,a2) )= 0 + 0.5 ( -0.1 + 0.5 max{ 0, 0} - 0) = -0.05

●Action à prendre π(s0) = argmax{ Q(s0,a1), Q(s0,a2) }= argmax{ 0, -0,05 }= a1 (changement de

politique!)IFT 615 Froduald Kabanza 74

a2

a2

s2s1s0

Page 75: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif avecQ-learning

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1

Q(s0,a1) Q(s0,a1) + α ( R(s0) + γ max{ Q(s1,a2), Q(s1,a3)} - Q(s0,a1) )= 0 + 0.5 ( -0.1 + 0.5 max{ 0, 0} - 0) = -0.05

●Action à prendre π(s1) = argmax{ Q(s1,a2), Q(s1,a3) }= argmax{ 0, 0 }= a2 (arbitraire, ça

aurait aussi pu être a3)IFT 615 Froduald Kabanza 75

a2 a1

a1

s2s1s0

Page 76: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif avecQ-learning

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1

Q(s1,a2) Q(s1,a2) + α ( R(s1) + γ max{ Q(s0,a1), Q(s0,a1)} - Q(s1,a2) )= 0 + 0.5 ( -0.1 + 0.5 max{ -0.05, -0.05} + 0) = -0.0625

●Action à prendre π(s0) = argmax{ Q(s0,a1), Q(s0,a1) }= argmax{ -0.05, -0.05 }= a1 (arbitraire, ça

aurait aussi pu être a2)IFT 615 Froduald Kabanza 76

a2 a1 a2

a2

s2s1s0

Page 77: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif avecQ-learning

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1 (s1) -0.1

Q(s0,a1) Q(s0,a1) + α ( R(s0) + γ max{ Q(s1,a2), Q(s1,a3)} - Q(s0,a1) )= -0.05 + 0.5 ( -0.1 + 0.5 max{ -0.0625, 0 } + 0.05) = -0.075

●Action à prendre π(s1) = argmax{ Q(s1,a2), Q(s1,a3) }= argmax{ -0.0625, 0 }= a3 (changement

de politique!)IFT 615 Froduald Kabanza 77

a1

a2 a1 a3 a1

s2s1s0

Page 78: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif avecQ-learning

●Observations: (s0) -0.1 (s0) -0.1 (s1) -0.1 (s0) -0.1 (s1) -0.1 (s2) 1

État terminal: Q(s2,None) = 1

Q(s1,a3) Q(s1,a3) + α ( R(s1) + γ max{ Q(s2,None) } - Q(s1,a3) )= 0 + 0.5 ( -0.1 + 0.5 max{ 1 } + 0) = 0.2

●On recommence un nouvel essai...

IFT 615 Froduald Kabanza 78

a3

a2 a1 a3 a1

s2s1s0

a3

Page 79: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage actif avecQ-learning

●Supposons qu’on puisse aussi faire l’action a4 à l’état s1, pour mener à s3 tel que R(s3) = 1000

●Puisque Q(s1,a4) = 0 à l’initialisation, et que Q(s1,a3) > 0 après un essai, une approche vorace n’explorera jamais s3!

●Demo: http://www.cs.ubc.ca/~poole/demos/rl/q.html

IFT 615 Froduald Kabanza 79

s2s1s0

s3?a4

Page 80: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Généralisation à l’aide d’approximateur de fonction

● Dans des applications réelles, on ne peut visiter tous les états

Trop d’états à visiter dans les essaies d’apprentissage Mémoire limitées pour enregistrer les valeurs Q(s,a) correspondant

● Par contre, on peut généraliser en utilisant un représentants les caractéristiques (features) des états plutôt que les états eux-mêmes:

Apprendre les caractéristiques des états à partir des échantillons d’entrainement.

Généraliser aux états similaires

80

Page 81: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Exemple: Pacman

● Supposons que nous apprenons durant les essais que cet état est mauvais (U(s) trop bas).

● Avec l’approche Q-Learning naïve telle que décrite, on ne peut rien déduire de cet état ou de sa valeur Q:

● Pas plus que pour celui-ci!

81

Page 82: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approximateur de fonction (représentation des états basés sur leurs caractéristiques)

● Décrire un état en utilisant un vecteur de caractéristiques

Les caractéristiques sont des fonctions réelles (souvent 0/1) qui capturent les propriétés saillants des états

Exemples de caractéristiques:» Distance au fantôme le plus proche» Distance à la nourriture la plus proche » Nombre de fantômes» 1 / (distance à la nourriture)2

» Pacman proche d’un fantôme ? (0/1)» etc.

Peut aussi décrire un état-Q (s, a) avec des caractéristiques (ex. l’action permet met pacman de la nourriture)

82

Page 83: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Approximateur de fonction linéaire

● Alpha-beta prunning, nous avons vu que l’on peut exprimer l’utilité d’un état (par exemple, une configuration d’un jeu d’échec) en fonction d’un vecteur de features f = [f1, …, fn] et d’un devecteur de poids correspondant w = [w1, …, wn]

=

● Un algorithme d’apprentissage active TD pourrait être utilisé pour apprendre le vecteurs des paramètres (poids) w.

● Dans le même ordre d’idée, on pourrait exprimer les valeurs Q en fonction d’un vecteur de features et des poids correspondants.

(s,a)=

● Un algorithme d’apprentissage active Q-Learning pourrait alors être utilisé pour apprendre le vecteurs des paramètres (poids) w.

Voir TP #4 (Q-learning approximatif)

83

Page 84: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Conclusion

● L’apprentissage par renforcement permet d’apprendre dans un environnement séquentiel l’apprentissage supervisé souvent limité aux environnements périodiques

● C’est un domaine de recherche très actif il y a de plus en plus d’applications impressionnantes mais nous sommes loin d’une IA réelle

● L’apprentissage par renforcement est plus difficile lorsque la récompense est lointaine (ex.: à la toute fin d’une partie) problème d’assignation de crédit (credit assignment)

» est-ce que ma victoire est due à mon premier coup? mon dernier? les deux? on ajoute parfois des renforcements positifs intermédiaires appropriés

» désavantage: demande de l’expertise

IFT 615 Froduald Kabanza 84

Page 85: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Objectifs du cours

IFT 615 Froduald Kabanza 85

agents intelligents

recherche heuristique

recherche locale

recherche à deux adversaires

satisfaction de contraintes

Algorithmes et concepts

raisonnement probabiliste

processus de décision markovien

apprentissage par renforcement

apprentissage par renforcement sert à résoudre un MDP dans lequel on ne connaît pas le modèle de transition

Page 86: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Apprentissage par renforcement: pour quel type d’agent?

IFT 615 Froduald Kabanza 86

Simple reflex Model-based reflex

Goal-based Utiliy-based Actif

PassifPassif

Page 87: IFT 615 – Intelligence artificielle Apprentissage par renforcement Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615.

Vous devriez être capable de...

● Distinguer l’apprentissage par renforcement passif vs. actif

● Algorithmes passifs: savoir simuler l’estimation directe savoir simuler la programmation dynamique adaptative (PDA) savoir simuler la différence temporelle (TD)

● Algorithmes actifs savoir simuler PDA actif savoir simuler Q-learning

● Savoir comment on traite le dilemme exploration vs. exploitation

IFT 615 Froduald Kabanza 87