Travaux Pratiques Claire Vernade, Alexandre Gramfort, Joseph Salmon
Apprentissage par renforcement
et bandits multibras
Liens utiles pour ce TP :
??? http://chercheurs.lille.inria.fr/~lazaric/Webpage/MVA-RL_Course14.html
- Introduction -
L’apprentissage par renforcement désigne un ensemble de méthodes qui s’appliquent dans le cadre où
les données ne sont pas stockées à l’avance mais peuvent être vues comme un flux. Dans cette partie,
nous présentons ce cadre et nous posons le problème que nous résoudrons par trois algorithmes différents
au cours de ce TP.
Un cadre d’apprentissage différent
Aux deux cadres d’apprentissage déjà vus, le supervisé et le non-supervisé, on ajoute un nouveau type
de modèle – dit par renforcement – pour lequel à chaque instant on doit prendre des décisions et l’on
observe des réponses disponibles au fur et à mesure du temps.
Ce type d’apprentissage trouve de nombreuses applications en neurosciences computationnelles, en
robotique, en économie, etc. En effet, dans de tels cas, l’enjeu est d’agir optimalement face à un historique
de données afin d’engendrer de nouveaux retours d’expériences que l’on souhaite les plus positifs possible.
Exemple 1. Un exemple historique est le cas de la comparaison de deux médicaments. Imaginons qu’un
laboratoire dispose de deux traitements A et B pour une maladie. Son but est de réaliser des tests afin de
déterminer lequel est le plus efficace. 1000 personnes sont recrutées et l’on doit décider de la procédure de
test pour évaluer A et B : lorsque l’on administre l’un d’eux, la réponse du patient peut-être "guérir" (1)
ou "mourir" (0). Une solution naïve (et dangereuse) consiste à traiter 500 patients avec A et 500 avec
B et calculer la moyenne des résultats sur les deux populations. Hélas, si l’un des deux traitements est
mortel, on aura sacrifié 500 personnes dans cette expérience. Peut-être aurait-il été plus intelligent d’agir
différemment ? En apprentissage par renforcement on va plutôt administrer les traitements séquentielle-
ment et adapter le choix au fur et à mesure des retours d’expérience afin de minimiser le nombre total
de morts.
Cet exemple est le point de départ historique des recherches sur le problème spécifique du "bandit
multibras". Son nom vient de l’argot américain qui désigne une machine à sous par le mot "one-armed
bandit" (en français : bandit manchot). En effet, le même problème peut être schématisé par un agent
face à deux machine à sous : l’une gagne avec une probabilité p1, l’autre avec une probabilité p2. L’enjeu
est de trouver une stratégie qui permette de gagner le plus possible dans une fenêtre de temps Tfixée,
et donc de choisir le plus vite possible le bras assurant le gain maximal.
Formalisme de l’apprentissage par renforcement
On se donne Kactions possibles A1, . . . , AK. Pour i= 1, . . . , K, l’action Aicorrespond à une tirer une
loi de Bernoulli de paramètre µi, notées B(µi): on gagne (gain=1) avec probabilité µiet l’on perd (gain=0)
avec probabilité (1 µi). On suppose les actions triées par espérance décroissante : µ1> µ2>· · · > µK.
Choisir l’action – ou le bras – Akà l’instant tdéclenche l’apparition d’une récompense que l’on nommera
Xt(k)B(µk). À chaque instant t, on tire le bras d’indice It∈ {1, . . . , K}. Le nombre de tirages du bras
keffectués jusqu’à l’instant test noté Nk(t).
page 1
Travaux Pratiques Claire Vernade, Alexandre Gramfort, Joseph Salmon
Si l’horizon de temps Test fixé, le but est donc de maximiser le gain total qui est la somme des
récompenses :
GT=
T
X
t=1
Xt(It),
ou plutôt, de manière équivalente, de minimiser une quantité appelée Regret :
RT=
T
X
t=1
(Xt(1) Xt(It)) ,
qui correspond à la perte accumulée au fil des tirages de bras par rapport à la stratégie optimale qui
aurait toujours tiré le meilleur bras A1. On s’intéresse en fait à l’espérance de cette quantité par rapport
à la randomisation des tirages :
ERT=
T
X
t=1
(µ1µIt).(1)
Si l’ on appelle Htl’historique des actions et des récompenses jusqu’à l’instant t, le problème consiste
à trouver une politique de décision π:Ht7→ {1, . . . , K}qui détermine l’action à tirer à l’instant suivant
et qui minimise globalement le regret moyen
min
π
ERT(π) =
T
X
t=1 µ1µπ(t).
On note π(t)la décision prise à l’instant t(mais qui peut dépendre de tout ce qui s’est passé avant cet
instant).
Le compromis exploration-exploitation
Une première approche consiste à tirer quelques fois chacun des bras puis à toujours tirer celui qui
a donné le meilleur gain jusque là. On dit alors qu’on décide d’exploiter le meilleur bras estimé. Mais
dans ce cas, rien ne garantit que l’on ne s’est pas trompé dans l’estimation initiale et que l’on n’est pas
en train d’accumuler les erreurs. Il faut donc introduire une certaine tendance à l’exploration : on veut
se prémunir d’une éventuelle erreur d’estimation en allant tirer les bras sur lesquels on a un doute sans
pour autant sacrifier le gain global. Il faut donc proposer des solutions qui satisfassent un compromis
exploration-exploitation.
1. Quelle stratégie proposeriez-vous pour résoudre ce problème ? La question est ouverte, proposer au
moins une stratégie. Il s’agit de comparer vos premières idées à celles que vous aurez découvertes
par la suite.
Expérience numérique
On va réaliser l’expérience suivante : on considère K= 4 bras de moyennes respectives 0.1, 0.05, 0.02 et
0.01 que l’on tire en suivant des stratégies successives expliquées dans les prochaines parties. On tirera en
tout 2000 fois les bras (i.e., l’horizon est T= 2000) et chaque expérience est répétée n_repetitions=100
fois afin que l’on puisse observer les résultats moyens sur ces répétitions. On pourra comparer différentes
stratégies sur cet exemple en utilisant le script bandits.py et la fonction Evaluation.
- L’approche à l’aveugle -
2. En l’absence de réelle stratégie, on suppose que l’on tire les 4 bras uniformément,
cela correspond à prendre π(t)uniforme sur {1,2,3,4}pour tout t. Calculer le re-
gret moyen donné en (1) d’une telle politique mathématiquement. Compléter la ligne
plot(time, time * ?TODO?, '--',label = 'no strategy')du fichier bandits.py pour affi-
cher le gain moyen obtenu par cette stratégie aveugle.
page 2
Travaux Pratiques Claire Vernade, Alexandre Gramfort, Joseph Salmon
- L’approche gloutonne : -greedy -
La première idée raisonnable que l’on puisse avoir consiste à explicitement séparer exploitation et
exploration. Après avoir tiré une fois chaque bras, à chaque itération on tire :
Avec probabilité 1, le bras ayant la meilleure moyenne empirique, i.e
It+1 =: arg max
k∈{1,...,K}
ˆµk(t) = arg max
k∈{1,...,K}
1
Nk(t)
T
X
s=1
Xs(It)1{It=k},
Avec probabilité , un bras au hasard parmi les Kproposés.
Remarque 1. Notez que PT
s=1 1{It=k}=Nk(t).
3. Lancer le script bandits.py, avec l’option scenario = 0 qui correspond au cas -greedy.
scenario = 0
n_repetitions = 100
horizon = 2000
env = MAB([Bernoulli(p) for pin [0.1, 0.05, 0.02, 0.01]])
4. Tester l’algorithme à l’aide du script Python fourni et faire une figure montrant les diffé-
rents regrets cumulés obtenus pour plusieurs . Quelle est l’influence de ce paramètre sur le
compromis exploration-exploitation ? Lisez l’implémentation de cette stratégie dans le fichier
policy/egreedy.py.
5. Confirmer votre calcul théorique de la question 2) en prenant = 0.9999 et en affichant la perfor-
mance de cette méthode sur l’exemple introduit.
Algorithme 1 : Algorithme -greedy
Data : l’ensemble des observations correspondant aux actions prises jusqu’à l’instant tcourant.
Result : Le bras à tirer à l’instant suivant It+1 ∈ {1, . . . , K}
for t= 1 to Tdo
for k= 1 to Kdo
Calculer ˆµk(t)
Calculer k?= arg max
k∈{1,...,K}
ˆµk(t)
Tirer avec probabilité 1le bras k?et avec probabilité tirer au hasard un bras parmi les K.
- Implémenter l’optimisme : Upper Confidence Bounds (UCB) -
Une deuxième solution – moins naïve – consiste à se demander à chaque instant tquelle est l’ampleur
de l’incertitude que l’on a sur notre estimation de la moyenne ˆµt= (ˆµ1(t),...,ˆµK(t)) pour chaque bras.
Grâce aux inégalités de concentration, par exemple celle de Hoeffding, on peut estimer des intervalles
de confiance autour de chaque estimation ˆµk(t). Être optimiste consiste à imaginer que tant que notre
estimation est suffisamment incertaine, il est possible que la vraie moyenne se trouve au sommet de
l’intervalle de confiance donc on doit tirer le bras dont la borne supérieure de confiance est la plus élevée
(cf. Figure 1).
Construction mathématique des bornes de confiance
Commençons par un rappel :
Théorème 1 (Inégalité d’Hoeffding).Soient Z1, . . . , Zndes variables aléatoires bornées identiquement
distribuées, alors
P (Z1+· · · +Zn)/n E[Z1]rln(1)
2n!δ .
page 3
Travaux Pratiques Claire Vernade, Alexandre Gramfort, Joseph Salmon
bras choisi
petite
incertitude :
bras bien
estimé
grande incertitude :
bénéfice du doute
Bornes supérieures de confiance :
ˆµ1=1
t
t
!
s=1
X1,s
moyenne empirique
ˆµ+β(t, T )
Figure 1 – Illustration du fonctionnement d’UCB.
Dans notre cas, la moyenne empirique est estimée par
T
X
s=1
Xs(It)1{It=k}.
6. Choisir un niveau de confiance qui évolue avec t:δ=1
tαavec α > 1dans l’Algorithme 2. Corriger
le code qui contrôle la classe de la politique UCB dans le fichier policy/ucb.py en utilisant les
résultats précédents. Réaliser l’expérience. Que dire du regret moyen de cet algorithme ?
Algorithme 2 : Algorithme UCB
Data : l’ensemble des observations correspondant aux actions prises jusqu’à l’instant tcourant.
Result : Le bras à tirer à l’instant suivant It+1 ∈ {1, . . . , K}
for t= 1 to Tdo
for k= 1 to Kdo
Calculer ˆµk(t)et la borne supérieure de confiance pour un δraisonnable :
UCBk(t) = ˆµk(t) + sln(1)
2Nk(t).
Tirer le bras qui maximise cette borne supérieure de confiance :
It+1 arg max
k∈{1,...,K}
UCBk(t).
Preuve du comportement asymptotique logarithmique du regret
Il est possible de prouver qu’en moyenne lorsque l’horizon Ttend vers l’infini, le regret de l’algorithme
UCB a un comportement logarithmique : E[R(T)] = O(ln(T)). Cette preuve est donnée en appendice.
page 4
Travaux Pratiques Claire Vernade, Alexandre Gramfort, Joseph Salmon
- Exploiter l’aléa à travers une approche bayésienne : le Thompson Sampling -
Enfin, une dernière approche du problème de bandits multibras consiste à exploiter le formalisme
bayésien afin de générer des tirages de bras fondés non plus sur une estimation fréquentiste des intervalles
de confiance mais sur le calcul de la loi a posteriori du paramètre µiqui contrôle la moyenne de chaque
bras. Concrètement, comme les bras sont supposés avoir une distribution de Bernoulli, on place un a priori
Bêta(α, β)sur tous les µiet à chaque itération on obtient une nouvelle observation qui nous permet de
mettre à jour l’a posteriori de chaque bras grâce à la formule de Bayes.
Rappel : Une loi Bêta de paramètres (α, β), notée Beta(α, β), est définie par sa densité
p(x|α, β) = Γ(α+β)
Γ(α)Γ(β)xα1(1 x)β11[0,1](x),
Γdésigne la fonction Gamma. Si les données sont supposées suivre une loi de Bernoulli de paramètre
q, la vraisemblance de θpour des observations x1, . . . , xns’écrit
l(q|x1, . . . , xN) =
N
Y
n=1
θxi(1 θ)1xi.
Le formalisme bayésien consiste à imposer un a priori sur la valeur du paramètre qqui régit les observa-
tions : celui-ci devient une variable aléatoire que l’on cherche à estimer. Lorsque l’on choisit un a priori
Bêta pour le paramètre qd’une loi de Bernoulli, le calcul de la loi a posteriori du paramètre qdonne
p(θ|x)θx(1 θ)1xθα1(1 θ)β1
Beta(α+x, β + (1 x)).(2)
On retrouve donc bien un a posteriori Bêta dont les paramètres ont changé en fonction de l’observation
x. On dit que Bêta est l’a priori conjugué de la loi de Bernoulli.
Algorithme 3 : Algorithme Thomson Sampling
Data : Les paramètres initiaux α0et β0.
Result : Le bras à tirer à l’instant t+ 1 :It+1 ∈ {1...,K}
Initialiser α(0) = α0et β(0) = β0
for t= 1 to Tdo
for k= 1 to Kdo
tirer ˜µk(t)Beta(α(t1), β(t1))
Tirer le bras qui a la plus grande espérance étant donné le paramètre ˜µktiré
It+1 arg max
k∈{1,...,K}
˜µk(t).(3)
Observer XItet mettre à jour α(t) = α(t1) + XItet β(t) = β(t1) + (1 XIt)grâce à (2).
7. Corriger le code de la fonction update du fichier posterior/beta.py correspondant à la loi a
posteriori Bêta utilisé par la politique Thompson Sampling et réaliser l’expérience. Comparer le
regret moyen obtenu avec les deux précédents algorithmes.
Il a été prouvé par [2] que le Thompson Sampling a un regret logarithmique optimal pour des problèmes
à récompenses binaires et pour n’importe quel choix de paramètres initiaux (α, β).
Pour aller plus loin, nous conseillons le livret [1] qui regroupe les différents modèles de bandits et les
méthodes d’analyse du regret associées.
page 5
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !