Sunteți pe pagina 1din 14

Învăt, are Automată - Tema 2

Problema explorării ı̂n ı̂nvăt, area prin recompensă

Tudor Berariu

Facultatea de Automatică s, i Calculatoare


Scopul temei

• Scopul temei ı̂l reprezintă ı̂nt, elegerea problemei explorării ı̂n medii cu recompense rare,
precum s, i implementarea unor strategii eficiente de explorare pentru algoritmul SARSA.

• Pentru rezolvarea acestei temei vet, i:


1. implementa algoritmul SARSA pentru ı̂nvăt, are on-policy;
2. implementa strategiile de explorare: -greedy, UCB (upper confidence bound) s, i Softmax
(explorare Boltzmann).

1
Problema explorării

Explorare versus exploatare


Pentru a descoperi politici eficiente un agent trebuie să ı̂mbine inteligent exploatarea
informat, iilor pe care le are s, i explorarea unor stări s, i act, iuni noi sau despre care s, tie mai put, in.
Mediile ı̂n care recompensele sunt rare agravează dilema s, i au nevoie de strategii bune de
explorare a spat, iului stărilor.

2
Algoritmul SARSA

• Agentul ı̂nvat, ă prin interact, iune cu procedure SARSA(hS, A, γi, π)


for all s ∈ S, a ∈ A do
mediul observând consecint, ele q(s, a) ← q0 . Valoarea init, ială pentru o pereche s, a
act, iunilor pe care le ia. N(s) ← 0
end for
for all episodes do
s ← stare init, ială
alege act, iunea a conform π (s, q)
while s nu este stare finală do
N(s) ← N(s) + 1
execută a s, i observă recompensa r s, i noua stare s 0
alege act, iunea a0 conform π (s, q)
q(s, a) ← q(s, a) + α r + γq(s 0 , a0 ) − q(s, a)

0
s ←s
a ← a0
end while
end for
end procedure

3
Algoritmul SARSA

• Agentul ı̂nvat, ă prin interact, iune cu procedure SARSA(hS, A, γi, π)


for all s ∈ S, a ∈ A do
mediul observând consecint, ele q(s, a) ← q0 . Valoarea init, ială pentru o pereche s, a
act, iunilor pe care le ia. N(s) ← 0
end for
• Valorile q sunt ajustate prin diferent, e for all episodes do
s ← stare init, ială
temporale.
alege act, iunea a conform π (s, q)
while s nu este stare finală do
N(s) ← N(s) + 1
execută a s, i observă recompensa r s, i noua stare s 0
alege act, iunea a0 conform π (s, q)
q(s, a) ← q(s, a) + α r + γq(s 0 , a0 ) − q(s, a)

0
s ←s
a ← a0
end while
end for
end procedure

3
Algoritmul SARSA

• Agentul ı̂nvat, ă prin interact, iune cu procedure SARSA(hS, A, γi, π)


for all s ∈ S, a ∈ A do
mediul observând consecint, ele q(s, a) ← q0 . Valoarea init, ială pentru o pereche s, a
act, iunilor pe care le ia. N(s) ← 0
end for
• Valorile q sunt ajustate prin diferent, e for all episodes do
s ← stare init, ială
temporale.
alege act, iunea a conform π (s, q)
• Spre deosebire de algoritmul while s nu este stare finală do
N(s) ← N(s) + 1
Q-Learning, ı̂n SARSA ı̂nvăt, area este execută a s, i observă recompensa r s, i noua stare s 0
on-policy (politica π cu care se iau alege act, iunea a0 conform π (s, q)
q(s, a) ← q(s, a) + α r + γq(s 0 , a0 ) − q(s, a)

act, iuni ı̂n mediu este aceeas, i cu cea s ←s 0

ale cărei valori q sunt ı̂nvăt, ate) a ← a0


end while
end for
end procedure

3
Algoritmul SARSA

• Agentul ı̂nvat, ă prin interact, iune cu procedure SARSA(hS, A, γi, π)


for all s ∈ S, a ∈ A do
mediul observând consecint, ele q(s, a) ← q0 . Valoarea init, ială pentru o pereche s, a
act, iunilor pe care le ia. N(s) ← 0
end for
• Valorile q sunt ajustate prin diferent, e for all episodes do
s ← stare init, ială
temporale.
alege act, iunea a conform π (s, q)
• Spre deosebire de algoritmul while s nu este stare finală do
N(s) ← N(s) + 1
Q-Learning, ı̂n SARSA ı̂nvăt, area este execută a s, i observă recompensa r s, i noua stare s 0
on-policy (politica π cu care se iau alege act, iunea a0 conform π (s, q)
q(s, a) ← q(s, a) + α r + γq(s 0 , a0 ) − q(s, a)

act, iuni ı̂n mediu este aceeas, i cu cea s ←s 0

ale cărei valori q sunt ı̂nvăt, ate) a ← a0


end while
• Multe strategii de explorare se end for
end procedure
bazează pe numărul de vizite.

3
Strategii de explorare: -greedy

• O poltică -greedy este una care alege ı̂n 1 −  din cazuri cea mai bună act, iune, iar ı̂n
restul cazurilor alege act, iunea aleator (uniform).
• O strategie practică de a reduce explorarea cu timpul este aceea de a varia  invers
porport, ional cu numărul de vizite ı̂n starea respectivă N(s) (c este o constantă):
c
(s) =
N(s)
procedure -Greedy(s, q, )
A∗ ← {a | q (s, a) = max q (s, a0 )}
 a0
 (s) + 1−(s) , a ∈ A∗
|A| |A∗ |
p (s, a, q) ← (s)

|A| ,a ∈ / A∗
return a ∼ p (s, ·, q)
end procedure

4
Strategii de explorare: Softmax (Boltzmann)

• O altă metodă de a defini o politică stocastică este explorarea Boltzmann:

e β(s)q(s,a)
p (a | s, q) = P β(s)q(s,a0 )
a0 e

unde
log (N (s))
β (s) =
max |q (s, a1 ) − q (s, a2 ) |
a1 ,a2 ∈A×A

• Explorarea Boltzmann alege cu o probabilitate mai mare o act, une ce promite un câs, tig
mediu mai mare.
• La fel ca ı̂n cazul degradării lui  ı̂n cazul -greedy, ı̂n explorarea Boltzmann β (s) tinde la
zero atunci când numărul de vizite tinde la infinit, iar politica devine lacomă.

5
Strategii de explorare: Upper Confidence Bound

• Strategia UCB adaugă valorilor q un bonus de explorare bazat pe contorizarea dăt, ilor ı̂n
care o act, iune a fost luată ı̂ntr-o stare.
• Termenul de explorare ı̂ncurajează alegerea act, iunilor luate mai put, in ı̂n trecut.
• Bonusul de explorare se degradează ı̂n timp.
• Termenul c controlează nivelul de explorare.

procedure UCB(s,hq, c) q i
return argmax q(s, a) + c log N(s)
N(s,a)
a∈A
end procedure

6
Mediul de test

• Se va testa eficient, a celor trei metode de explorare pe medii1 ı̂n care agentul observă
part, ial mediul s, i are una din două misiuni:
• Se deplasează ı̂n colt, ul opus al camerei pentru a primi o recompensă (Empty).
• Caută o cheie, o ridică, deschide o us, ă s, i apoi culege recompensa (DoorKey).

1 https://github.com/maximecb/gym-minigrid

7
Mediul de test

• Se va testa eficient, a celor trei metode de explorare pe medii1 ı̂n care agentul observă
part, ial mediul s, i are una din două misiuni:
• Se deplasează ı̂n colt, ul opus al camerei pentru a primi o recompensă (Empty).
• Caută o cheie, o ridică, deschide o us, ă s, i apoi culege recompensa (DoorKey).
• Se vor testa strategiile de explorare pe medii de trei dimensiuni:

• MiniGrid-Empty-6x6-v0 • MiniGrid-DoorKey-6x6-v0
• MiniGrid-Empty-8x8-v0 • MiniGrid-DoorKey-8x8-v0
• MiniGrid-Empty-16x16-v0 • MiniGrid-DoorKey-16x16-v0

1 https://github.com/maximecb/gym-minigrid

7
Cerint, e

Cerint, a 1 Implementat, i algoritmul SARSA.


Cerint, a 2 Implementat, i explorare -greedy s, i explorare Boltzmann. Variat, i rata de
ı̂nvăt, are, valoarea lui  s, i cea a constantei c s, i comparat, i eficient, a celor două
strategii pe cele s, ase medii.
Cerint, a 3 Încercat, i o valoare q0 > 0 (o init, ializare optimistă) s, i vedet, i impactul asupra
eficient, ei algoritmului.
Cerint, a 4 Facet, i grafice ı̂n care să comparat, i metodele s, i sumarizat, i concluziile ı̂ntr-un
fis, ier README. Indicat, i valorile testate pentru hiper-parametri.
BONUS Implementat, i metoda de explorare Upper Confidence Bound, căutat, i o valoare
potrivită pentru constanta c s, i comparat, i strategia cu cele două implementare
anterior.]

8
Observat, ii

• Facet, i grafice cu lungimea episoadelor s, i câs, tigul episodic mediu la număr de pas, i egal
(pentru a compara algoritmii ı̂n funct, ie de numărul de interact, iuni cu mediul).
• Lăsat, i algoritmul să ı̂nvet, e pentru suficient de mult, i pas, i (de ordinul milioanelor de pas, i
pentru hărt, ile mari).
• Deoarece algoritmii de ı̂nvăt, are prin recompensă au ı̂n general variant, ă mare, facet, i media
a 5-10 experimente identice cu seed-uri diferite.

S-ar putea să vă placă și