Învat,are prin consolidare pentru locomot ,ia agent ,ilor [612552]

Înv˘at,are prin consolidare pentru locomot ,ia agent ,ilor
3D
6 mai 2020

Cuprins
1 Introducere 5
1.1 Contextul problemei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Solut ,ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Fundamente teoretice 7
2.1 Înv ˘at,are automat ˘a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Ret ,ele neuronale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Înv ˘at,are prin consolidare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 Definirea mediului . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.3 Proprietatea Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.4 Tipuri de politici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.5 Recompensa as ,teptat ˘a . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Tipuri de înv ˘at,are prin consolidare . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.1 Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.2 Metode bazate pe gradientul politicii . . . . . . . . . . . . . . . . . . . 13
2.4.3 Metode actor critic s ,i calcularea avantajului . . . . . . . . . . . . . . . 13
2.5 Estimatorul generalizat al avantajului (GAE) . . . . . . . . . . . . . . . . . . . 15
2.6 Optimizare la politica proxim ˘a (PPO) . . . . . . . . . . . . . . . . . . . . . . 16
2.7 Înv ˘at,are în medii virtuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8 Platforme de simulare populare . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8.1 Arcade Learning Environment . . . . . . . . . . . . . . . . . . . . . . 18
2.8.2 DeepMind Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8.3 Unity ML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8.4 MuJoCo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.9 OpenAI Gym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.10 Metode de comparare a algoritmilor de înv ˘at,are . . . . . . . . . . . . . . . . . 19
2.11 Alte forme de înv ˘at,are . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.11.1 Înv ˘at,are zero-shot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.11.2 Înv ˘at,are continu ˘a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.11.3 Înv ˘at,are f˘ar˘a funct ,ie de recompens ˘a . . . . . . . . . . . . . . . . . . . 20
2.12 Perspective de viitor ale algoritmilor de înv ˘at,are . . . . . . . . . . . . . . . . . 21
3 Specificat ,iile proiectului 23
3.1 Cerint ,e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Instalare s ,i utilizare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3

4 Cuprins
4 Proiectare s ,i implementare 25
4.1 Arhitectura general ˘a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Simularea mediului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 Arhitectura ret ,elei neuronale . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4 Hiper-parametrii utilizat ,i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5 Procesul de înv ˘at,are . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5.1 Colectarea informat ,iilor . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5.2 Procesarea rezultatelor . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.5.3 Antrenarea criticului . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.5.4 Antrenarea actorului . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.5.5 Problema explor ˘arii . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.6 Interpretarea datelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.7 Persistent ,a s,i evaluarea datelor . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5 Rezultate experimentale 33
5.1 Hopper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Walker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 HalfCheetah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.4 Ant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6 Concluzii 37

Capitolul 1
Introducere
1.1 Contextul problemei
Pe parcursul ultimilor ani, înv ˘at,area prin consolidare a devenit standardul pentru rezolvarea ce-
lor mai complexe probleme de control optim din domeniul roboticii. Avansarea acestor metode
de înv ˘at,are a ap ˘arut datorit ˘a unui efort continuu de adaptare a tehnicilor de înv ˘at,are la probleme
cu tot mai multe grade de libertate s ,i cu un domeniu al observat ,iior tot mai mare. Majoritatea
acestor metode depind îns ˘a de descrieri detaliate ale problemelor, seturi mari s ,i complexe de
parametri precum s ,i de îndrumare special ˘a pe tot parcursul înv ˘at,˘arii. Mai mult de atât, deter-
minarea recompenselor primite de agent ,i necesit ˘a cunos ,tint ,e avansate ale sistemului folosit. Ca
urmare, metodele tradit ,ionale sunt tot mai greu de dezvoltat, iar rezultatele sunt foarte greu de
împ˘art˘as,it s ,i comparat cu alte solut ,ii pentru determinarea unor puncte de reper.
Prin combinarea noilor tehnici din înv ˘at,are supervizat ˘a bazate ret ,ele neuronale, au fost
dezvoltate noi metode de înv ˘at,are prin consolidare care încetul cu încetul încep s ˘a fac ˘a fat ,˘a
la probleme tot mai complexe. La început au tratat jocuri de strategie în timp discret precum
Go sau S ,ah, unde regulile sunt clare. Au avansat apoi la jocuri mai avansate în timp continuu
precum cele de pe Atari [1], ajungând în cele din urm ˘a la rezolvarea problemelor în simul ˘ari
fizice avansate. Prin aplicarea acestor tehnici, agent ,ii vor putea fi antrenat ,i în medii virtuale
pentru a rezolva probleme reale din robotic ˘a, ajungând astfel ca rezultatele s ˘a poat ˘a fi aplicate
pe sisteme hardware. În contrast cu metodele tradit ,ionale, nu numai c ˘a vor putea fi rezolvate
probleme noi, dar num ˘arul de optimiz ˘ari s ,i adapt ˘ari necesare pentru aplicat ,ii diferite va deveni
semnificativ mai mic.
1.2 Solut ,ii
Solut ,ia propus ˘a în aceast ˘a lucrare demonstreaz ˘a abilitatea metodelor de înv ˘at,are prin consoli-
dare de a procesa s ,i trata cu succes probleme în timp real bazate pe observat ,ii complexe, în
domeniu continuu.
Pentru dezvoltarea algoritmului, a fost folosit ˘a o combinat ,ie dintre cele mai noi s ,i perfor-
mante tehnici de înv ˘at,are, printre care se num ˘ar˘a: metoda actor critic, estimarea general ˘a a
avantajului (GAE) [2] s ,i optimizare prin politica proxim ˘a (PPO) [3]. Rezulatul este o metod ˘a
care prin optimiz ˘ari minime, poate fi folosit ˘a pentru rezolvarea mai multor feluri de probleme
diferite.
Antrenamentele vor fi f ˘acute într-un mediu virtual de simulare care a fost ales astfel încât
s˘a se respecte cât mai bine restrict ,iile fizice din viat ,a real ˘a, având în acelas ,i timp abilitatea de
5

6 1. Introducere
a rula în mod eficient. Performant ,a algoritmului va fi verificat ˘a folosind o serie de provoc ˘ari
oferite în mod public de c ˘atre OpenAI prin intermediul bibliotecii Gym [4]. O provocare este
considerat ˘a rezolvat ˘a în momentul în care agentul dezvolt ˘a o politic ˘a ce duce la obt ,inerea unei
recompense acumulate medii mai mari decât o anumit ˘a valoare.
Aplicat ,ia va putea fi us ,or instalat ˘a s,i folosit ˘a pentru antrenarea unor agent ,i în mai multe
medii dierite. Fiecare antrenament va pune la dispozit ,ia utilizatorului mai multe date s ,i grafice
prin care acesta poate studia s ,i interpreta mai bine comportamentul s ,i evolut ,ia agent ,ilor.

Capitolul 2
Fundamente teoretice
2.1 Înv ˘at,are automat ˘a
Înv˘at,area automat ˘a este o subcategorie a inteligent ,ei artificiale care are ca scop descoperirea
automat ˘a a rezolv ˘arilor unor probleme. Spre deosebire de metodele clasice de programare
în care datele sunt procesate de un algoritm deja scris pentru a obt ,ine nis ,te rezultate anume,
înv˘at,area automat ˘a pornes ,te de la nis ,te date s ,i rezultatele as ,teptate s ,i returneaz ˘a algoritmul.
Principiul de funct ,ionare este bazat pe g ˘asirea unor tipare din datele de intrare (numite s ,i
set de antrenare) s ,i utilizarea acestora pentru a duce la cap ˘at o anumit ˘a sarcin ˘a. În funct ,ie
de problemele s ,i modul în care aceasta încearc ˘a s˘a le rezolve, exist ˘a trei categorii de înv ˘at,are
automat ˘a:
-Înv˘at,area supervizat ˘a: În cazul acesta, setul de antrenare este format din perechi de date de
intrare s ,i r˘aspunsul as ,teptat. Scopul este obt ,inerea unui algoritm care este capabil s ˘a fac ˘a
o mapare între date de intrare noi s ,i un r ˘aspuns bazat pe exemplele primite pân ˘a atunci.
Cele mai populare aplicat ,ii ale acestui tip de înv ˘at,are sunt clasificatoarele.
-Înv˘at,area nesupervizat ˘a: Pentru înv ˘at,area nesupervizat ˘a, setul de antrenare de data aceasta
este format doar din date de intrare, f ˘ar˘a a avea s ,i r˘aspunsurile as ,teptate. Scopul final este
descoperirea unor propriet ˘at,i sau tipare ale unor date neetichetate. Printre principalele
aplicat ,ii se num ˘ar˘a algoritmii de clusterizare s ,i de compresie.
-Înv˘at,area prin consolidare: Aceat ˘a form ˘a de înv ˘at,are vizeaz ˘a interact ,iunea dintre un mediu
s,i un agent. Datele de intrare vor fi obt ,inute prin observarea mediului, iar r ˘aspunsurile
as,teptate sunt act ,iunile agentului. Înv ˘at,area urm ˘ares ,te maximizarea unor recompense
primite. Una dintre cele mai importante aplicat ,ii ale acestei forme de înv ˘at,are este cea de
rezolvare a problemei controlului optim din robotic ˘a.
Des ,i multe dintre metodele de înv ˘at,are automat ˘a populare în prezent au fost descoperite înc ˘a din
anii ’90, în ultima perioad ˘a, atent ,ia spre acest domeniu a început s ˘a creasc ˘a vertiginos. Acest lu-
cru se datoreaz ˘a rezultatelor except ,ionale care s-au obt ,inut pe baza utiliz ˘arii ret ,elelor neuronale.
Astfel, probleme care aveau nevoie de procesarea unor date foarte complexe precum imagini,
video-uri sau limbaj au ajuns s ˘a devin ˘a fezabile. Îmbun ˘at˘at,irile sunt cel mai probabil datorate
pl˘acilor grafice cu putere de calcul mai mare, s ,i a tehnicilor mai avansate de calcul distribuit.
De asemenea, prin intermediul comunit ˘at,ilor open-source de pe Internet, s-au putut dezvolta
proiecte precum TensorFlow sau PyTorch, care ofer ˘a bazele necesare pentru introducerea tot
mai multor oameni în domeniul inteligent ,ei artificale s ,i al înv ˘at,˘arii automate.
7

8 2. Fundamente teoretice
Figura 2.1: Programare clasic ˘a vs. înv ˘at,are automat ˘a
Figura 2.2: Exemplu de ret ,ea neuronal ˘a simpl ˘a cu trei straturi
2.2 Ret ,ele neuronale
Ret ,elele neuronale sunt o form ˘a de înv ˘at,are automat ˘a. Unit ˘at,ile fundamentale ale unei ret ,ele
se numesc noduri, care sunt adesea asem ˘anate cu neuronii creierului uman. O ret ,ea neuronal ˘a
învat ,˘a prin antrenamente care duc la formarea conexiunilor între noduri.
Din punct de vedere structural, ret ,elele neuronale sunt formate din mai multe straturi care
proceseaz ˘a date de intrare. Fiecare strat este reprezentat de o transformare non-liniar ˘a care
conduce la înv ˘at,area unor caracteristici care apart ,in de un anumit nivel de abstractizare.
Cel mai simplu exemplu de strat al unei ret ,ele neuronale este stratul dens. Acesta are ca scop
transformarea datelor de intrare printr-o funct ,ie non-liniar ˘a parametrizat ˘a, dat ˘a de urm ˘atoarea
formul ˘a:
h=A(Wx+b)
În cazul de mai sus, Weste o pondere de m ˘arimenhnxs,ibeste un bias de m ˘arimenh,
undexeste dimensiunea datelor de intrare, iar heste dimensiunea datelor de ies ,ire. Funct ,ia
Ase numes ,te funct ,ie de activare, s ,i este elementul care ofer ˘a caracteristica de non-liniaritate
stratului. Aceast ˘a funct ,ie este aleas ˘a în funct ,ie de sarcina stratului. În funct ,ie de problema pe
care o rezolv ˘a, o ret ,ea poate avea un numar arbitrar de straturi înl ˘ant ,uite precum în Figura 2.2.
Pentru ca ret ,eaua s ˘a poat ˘a înv ˘at,a, aceasta trebuie s ˘a poat ˘a face diferent ,a dintre rezultatele
corecte s ,i cele gres ,ite. În acest scop, se defines ,te funct ,ia de cost. Valorile obt ,inute pe baza

2. Fundamente teoretice 9
acestei funct ,ii denot ˘a diferent ,a dintre estim ˘arile f ˘acute de c ˘atre ret ,ea s ,i rezultatul as ,teptat. Un
exemplu simplu s ,i des întâlnit de funct ,ie de cost este abaterea p ˘atratic ˘a medie, care este definit ˘a
prin urm ˘atoarea formul ˘a [7]:
F=1
nX
(xix0
i)2
Odat ˘a ce funct ,ia de cost a fost aleas ˘a, ret ,eaua va înv ˘at,a încercând s ˘a îs ,i optimizeze para-
metrii în mod iterativ astfel încât s ˘a minimizeze erorile rezultate. Cea mai popular ˘a metod ˘a
de optimizare este algoritmul de backpropagation [6], bazat pe direct ,ia gradient ,ilor funct ,iei de
cost.
2.3 Înv ˘at,are prin consolidare
2.3.1 Introducere
Înv˘at,area prin consolidare este o ramur ˘a a înv ˘at,˘arii automate care se ocup ˘a de luarea de decizii
secvent ,iale. Problemele sunt formalizate printr-un agent care trebuie s ˘a ia decizii într-un mediu
dat, astfel încât s ˘a m˘areasc ˘a recompensele acumulate. Scopul final al acestui tip de algoritmi
este obt ,inerea unei politici cât mai bune. Acest lucru are loc prin modificarea gradual ˘a a com-
portamentului bazat pe încerc ˘ari s ,i acumulare de experient ,˘a. Prin urmare, un agent nu trebuie
s˘a aibe control total asupra mediului, fiind suficient ˘a doar o metod ˘a de interact ,iune cu acesta
s,i colectare a informat ,iei. În funct ,ie de modul în care aceste experient ,e sunt obt ,inute, se pot
observa dou ˘a categorii:
înv˘at,are offline – deciziile agentului sunt luate pe baza unor date înregistrate în prealabil.
înv˘at,are online – agentul colecteaz ˘a informat ,ii legate de mediu pe m ˘asur˘a ce interact ,ioneaz ˘a
cu acesta.
2.3.2 Definirea mediului
Problemele din înv ˘at,area prin consolidare sunt formalizate sub forma unui proces de control în
timp discret unde agentul interact ,ioneaz ˘a cu mediul dat. Agentul începe dintr-o stare init ,ial˘a
s02Ss,i obt ,ine o observat ,ie a mediului !02
. La fiecare pas în timp t, agentul va face o
act ,iuneat2A. Ca urmare a act ,iunii f ˘acute, vor avea loc trei consecint ,e [5]:
agentul primes ,te o recompens ˘art2R;
mediul trece din starea stîn stareast+1;
agentul obt ,ine o nou ˘a observat ,ie!t+1.
2.3.3 Proprietatea Markov
Pentru simplificarea problemei, cele mai multe probleme de înv ˘at,are prin consolidare au fost
modelate ca fiind probleme de control având proprietatea Markov. Acest lucru implic ˘a faptul
c˘a deciziile din viitor depind doar de starea curent ˘a a mediului, s ,i nu este nevoie s ˘a fie studiat
întregul istoric al act ,iunilor. Un proces de decizie Markov [8] va putea fi astfel definit prin
urm˘atorul cvintuplu:

10 2. Fundamente teoretice
Figura 2.3: interact ,iunea dintre agent s ,i mediu
S– mult ,imea tuturor st ˘arilor posibile
A– mult ,imea tuturor act ,iunilor posibile pe care le poate face agentul
T:SAS![0;1]- funct ,ia de tranzit ,ie care reflect ˘a s,ansa ca agentul s ˘a ajung ˘a într-o
anumit ˘a stare dac ˘a face o act ,iune în starea curent ˘a
R:SAS!R- funct ,ia de recompens ˘a care reflect ˘a recompensa obt ,inut˘a de c ˘atre
agent dac ˘a face o anumit ˘a act ,iune

2[0;1)- factorul de reducere.
În mod normal, într-un proces de decizie Markov, mediul este observabil în întregime. Acest
lucru înseamn ˘a c˘a orice observat ,ie a mediului va fi egal ˘a cu starea mediului. Astfel, pe baza ce-
lor ment ,ionate mai sus, folosind funct ,ia de tranzit ,ie, agentul face trecerea dintre st ˘ari în funct ,ie
de act ,iunile alese, acumulând în felul acesta recompense.
2.3.4 Tipuri de politici
Politica reprezint ˘a o funct ,ie care descrie comportamentul agentului. O form ˘a de categorizare a
politicilor este dup ˘a modul în care se raporteaz ˘a la timp: stat ,ionare sau nestat ,ionare.
O politic ˘a nestat ,ionar ˘a ia în considerare atât starea mediului cât s ,i timpul la care a avut
loc act ,iunea. Acest lucru o limiteaz ˘a îns ˘a pentru cazurile mai complexe, deoarece ele pot
fi aplicate doar pentru probleme cu orizont de timp finit.
O politic ˘a stat ,ionar ˘a se foloses ,te de proprietatea lui Markov. Deoarece acestea iau în
considerare doar starea mediului, nu s ,i pasul de timp, acestea pot fi aplicate la probleme
cu orizontul de timp potent ,ial infinit.
O alt ˘a form ˘a de a categoriza politicile este dac ˘a sunt deterministe sau stohastice. O politic ˘a
determinist ˘a va putea fi definit ˘a printr-o funct ,ie de forma:
(s) :S!A:
O astfel de politic ˘a va returna o singur ˘a act ,iune pentru o stare dat ˘a. Politicile stohastice pe
de alt ˘a parte vor returna o distribut ,ie de probabilitate care exprim ˘a care sunt act ,iunile cel mai
probabil s ˘a fie selectate. Formula politicii devine astfel de forma:
(s;a) :SA![0;1]:

2. Fundamente teoretice 11
Politicile stohastice reprezint ˘a un comportament mai apropiat de realitate. De asemenea,
ofer˘a posibilitatea de a modifica o politic ˘a într-un mod mai lent, facilitând astfel procesul iterativ
de optimizare.
2.3.5 Recompensa as ,teptat ˘a
Scopul final al procesului de înv ˘at,are este de a g ˘asi o politic ˘acare s ˘a duc ˘a la o recompens ˘a
as,teptat ˘a cât mai mare. Se defines ,te astfel o nou ˘a funct ,ie numit ˘aV(s) :S!R, care are ca rol
reflectarea recompensei as ,teptate având dat ˘a o anumit ˘a stares, conform urm ˘atoarei formule:
V(s) =EhX

krt+kjst=s;i
Comportamentul agentului este astfel influent ,at s ,i de factorul de reducere. Cu cât acesta
este mai apropiat de 0, cu atât este pus ˘a mai mult ˘a important ,˘a pe recompensele din prezent.
În felul acesta, se asigur ˘a s,i faptul c ˘a valorile funct ,ieiVnu vor atinge valori prea mari atunci
când orizontul de timp tinde spre infinit. Considerând cele ment ,ionate mai sus, politica optim ˘a
este determinat ˘a în momentul în care prin aplicarea acesteia, agentul obt ,ine rezultatul maxim
posibil pentru funct ,iaV:
V(s) = maxV(s):
Pe lâng ˘a funct ,iaV, au mai fost introduse s ,i alte funct ,ii ajut ˘atoare. Un exemplu des întâlnit
este funct ,iaQ(s;a) :SA!R, având urm ˘atoarea formul ˘a:
Q(s;a) =EhX

krt+kjst=s;at=a;i
:
Pe acelas ,i principiu aplicat mai sus, politica optim ˘a poate fi obt ,inut˘a când funct ,ia este ma-
ximizat ˘a. Diferent ,a principal ˘a fat ,˘a de funct ,iaVeste c ˘a funct ,iaQprimes ,te ca parametru s ,i o
act ,iune. Astfel, politica poate fi dedus ˘a în mod direct din argumentele funct ,iei. Conceptual,
funct ,iaQreflect ˘a utilitatea obt ,inut˘a dac ˘a agentul execut ˘a o act ,iune dat ˘a, dup ˘a care urmeaz ˘a
politica optim ˘a.
2.4 Tipuri de înv ˘at,are prin consolidare
Printre primele tipuri de înv ˘at,are prin consolidare au fost metodele bazate pe model. Acest lucru
înseamn ˘a c˘a agentul dispune de o reprezentare a mediului cu care interact ,ioneaz ˘a s,i cunoas ,te
efectul oric ˘arei act ,iuni pe care o face. În felul acesta, agentul nu are nevoie de o interact ,iune
direct ˘a cu mediul pentru a putea înv ˘at,a. În timp, obt ,inerea unui model al mediului a devenit
un proces tot mai complicat. Astfel, au început s ˘a fie mai populare metodele f ˘ar˘a model. În
cazul acesta, înv ˘at,area se face prin experimentare în mediul dat, nefiind necesar ˘a o reprezentare
special ˘a a acestuia.
În ansamblu, prin combinarea diverselor tehnici de g ˘asire s ,i optimizare a politicii ment ,ionare
mai sus, au fost dezolvatate de-a lungul timpului mai multe metode cu avantaje s ,i dezavantaje.
Printre acestea se num ˘ar˘a: Q-learning [9], metode bazate pe gradientul politicii [10], actor critic
[11], etc.
2.4.1 Q-learning
Q-learning [9] este o form ˘a de înv ˘at,are prin consolidare bazat ˘a pe aproximarea cât mai bun ˘a
a funct ,ieiQa calit ˘at,ii. Aceasta apart ,ine categoriei metodelor f ˘ar˘a politic ˘a, deoarece politica

12 2. Fundamente teoretice
Figura 2.4: Categorii de metode de înv ˘at,are
este obt ,inut˘a în mod indirect pe baza aproxim ˘arilor salvate dup ˘a un anumit num ˘ar de pas ,i.
Primele implement ˘ari ale acestei metode sunt bazate pe programare dinamic ˘a, plecând de la
reprezentarea sub forma unei ecuat ,ii Bellman:
Q(s;a) =X
P(s;a;s0)(R(s;a;s0) +
Q(s0;a=(s0)):
Fiind o relat ,ie definit ˘a recursiv, algoritmul poate începe de la o stare terminal ˘at0s,i avansa câte
un pas în timp pentru calcularea valorilor Qîn celelalte st ˘ari. Cu cât orizontul de timp va fi
mai mare, cu atât aproxim ˘arile valorilor Qvor fi mai precise. Pentru fiecare pas de timp t,
toate valorile vor fi salvate sub forma unui tabel. Pentru obt ,inerea politicii agentului, tot ce este
nevoie e obt ,inerea valorilor Qpentru o stare anume s ,i alegerea act ,iunii care duce la cea mai
mare recompens ˘a acumulat ˘a.
Des ,i aceast ˘a metod ˘a ofer ˘a rezultate destul de bune pentru probleme simple, sunt o mult ,ime
de aspecte care trebuie adresate. Unul dintre aceste aspecte este cel al explor ˘arii. Atunci când
mult ,imea st ˘arilor totale este foarte mare, nu este fezabil ˘a calcularea valorilor Qpentru toate
st˘arile. Din acest motiv, agentul este nevoit s ˘a ia o decizie când vine vorba de ce c ˘ai s˘a aleag ˘a.
Experimental a fost descoperit faptul c ˘a cele mai bune rezultate sunt obt ,inute când se aplic ˘a
tehnica epsilon-greedy.
Cu probabilitatea "2(0;1), agentul va alege calea greedy s ,i va merge pe calea care promite
la momentul actual cea mai bun ˘a recompens ˘a. Cu probabilitatea 1", agentul va alege o cale
în mod aleator. În felul acesta, exist ˘a un echilibru care asigur ˘a c˘a agentul nu va alege tot timpul
c˘aile cele mai cunoscute, s ,i nu se va bloca într-un punct de maxim local. În general, valoarea
lui"va fi mai mare la început pentru a încuraja explorarea, s ,i va scadea treptat, pe m ˘asur˘a ce
sunt g ˘asite metode.
Cu toate acestea, înv ˘at,area Q are în continuare multe dezavantaje. Probabil cel mai mare
dezavantaj este spat ,iul ocupat de c ˘atre tabelul de valori. Cu cât agentul învat ,˘a mai mult, cu
atât memoria ocupat ˘a este mai mare. O solut ,ie care a dus la mari îmbun ˘at˘at,iri a fost utilizarea
unei funct ,iiQparametrizate folosind ret ,ele neuronale. Se s ,tia deja din rezultatele obt ,inute
din înv ˘at,area supervizat ˘a c˘a ret ,elele neuronale sunt bune la procesarea datelor complexe f ˘ar˘a a
ocupa foarte mult spat ,iu în plus s ,i pot fi atrenate în mod incremental. Astfel, cu câteva mici
adapt ˘ari a fost dezvoltat algoritmul Deep Q-learning, care a reus ,it cu succes s ˘a parametrizeze

2. Fundamente teoretice 13
funct ,ia valoriiQcu ret ,ele neuronale, rezolvând problema memoriei existent ˘a pân ˘a atunci.
Folosind metoda Deep Q-learning s ,i straturi mai complexe precum cele de convolut ,ie, au
fost dezvoltate modele capabile s ˘a rezolve probleme complicate precum cele din jocurile de pe
Atari [1], prin procesarea direct ˘a a imaginilor din joc. Având o ret ,ea suficient de antrenat ˘a,
calculatorul a ajuns la rezultate care le dep ˘as,esc pe cele umane. Cu toate aceste înbun ˘at˘at,iri,
performant ,ele acestei metode r ˘amân în continuare destul de limitate. Acest lucru se datoreaza
faptului c ˘a metoda nu poate fi aplicat ˘a pentru probleme având un spat ,iu al act ,iunilor sau al
st˘arilor foarte mare.
2.4.2 Metode bazate pe gradientul politicii
O abordare put ,in mai diferit ˘a fat ,˘a de cele prezentate mai sus este dat ˘a de metodele care lucreaz ˘a
direct pe politic ˘a. Aceste metode nu se concentreaz ˘a pe estimarea unor funct ,ii auxiliare de cal-
cul al recompensei acumulate. În schimb, se pornes ,te de la o politic ˘a init ,ializat ˘a în mod aleator
care este îmbun ˘at˘at,it˘a treptat pe baza experient ,elor obt ,inute. Pe baza unei funct ,ii obiectiv s ,i a
rezultatelor obt ,inute din mai multe c ˘ai parcurse cu politica din prezent, se analizeaz ˘a direct ,ia
gradientului s ,i se modific ˘a politica astfel încât s ˘a duc ˘a la rezultate mai bune [10].
Astfel, principiul de funct ,ionare al unei metode bazate pe gradient ,i este dat de o evaluare
a politicii curente urmate de îmbun ˘at˘at,iri iterative. Singura problema este cum s ˘a se estimeze
calitatea unei politici f ˘ar˘a a avea la dispozit ,ie funct ,ii precum cele pentru valorile Qs,iV. Cea
mai comun ˘a solut ,ie este de a înlocui funct ,iile auxiliare cu suma acumulat ˘a a recompenselor.
Calitatea unei politici va putea fi astfel estimat ˘a din suma recompenselor mai multor traiectorii.
Aceast ˘a metod ˘a aduce o serie larg ˘a de îmbun ˘at˘at,iri fat ,˘a de înv ˘at,area Q. În primul rând, prin
utilizarea unei politici stohastice, este rezolvat ˘a diferit problema explor ˘arii. Deoarece politica
nu are niciodat ˘a s,anse de 100% s˘a aleag ˘a aceeas ,i act ,iune, agentul va ajunge mereu s ˘a încerce
metode noi. Astfel, o metod ˘a bazat ˘a pe gradientul politicii se va descurca mai bine în rezolvarea
problemelor în care spat ,iul st ˘arilor este mare s ,i necesit ˘a mult ˘a explorare.
Un alt avantaj major se poate observa pentru problemele unde spat ,iul act ,iunilor este foarte
mare sau chiar în domeniu continuu. Pentru solut ,iile bazate pe înv ˘at,are Q, politica va ajunge
la rezultate bune doar dac ˘a studiaz ˘a toate posibilit ˘at,ile de a lua act ,iuni, lucru ce încetines ,te
considerabil performant ,a. Problema aceasta nu mai exist ˘a îns˘a dac ˘a se învat ,˘a direct pe o politic ˘a
stohastic ˘a. Act ,iunile cu rezultate proaste vor avea o probabilitate tot mai sc ˘azut˘a, în timp ce
act ,iunile cu rezultate benefice vor avea o probabilitate treptat mai mare.
Cu toate aceste îmbun ˘at˘at,iri, prin metodele simple bazate pe gradientul politicii, nu se poate
ajunge la performant ,e suficient de mari pentru a rezolva probleme din lumea real ˘a. Acest lucru
se datoreaz ˘a timpului lung necesar pentru evaluarea politicii. Dac ˘a sunt studiate prea put ,ine c ˘ai,
modificarea politicii devine instabil ˘a s,i poate fluctua foarte mult, far ˘a a aduce mari îmbun ˘at˘at,iri.
În cazul contrar, dac ˘a sunt rulate suficiente exemple, procesul devine prea lent s ,i totodat ˘a este
greu de evaluat efectul pe care îl au câteva act ,iuni asupra rezultatului întregii c ˘ai studiate.
Solut ,ia pentru aceste probleme vine ca o metod ˘a hibrid ˘a între metodele bazate pe funct ,ii de
esimare a utilit ˘at,ii st˘arilor s ,i cele de modificare a politicii direct în funct ,ie de gradient.
2.4.3 Metode actor critic s ,i calcularea avantajului
O metod ˘a alternativ ˘a pentru îmbun ˘at˘at,irea direct ˘a a politicii este prin arhitectura actor critic,
format ˘a din dou ˘a componente: un actor care reflect ˘a politica agentului, s ,i un critic ce are rolul
de a estima utilitatea act ,iunilor f ˘acute de agent [11]. Începând din 2018, metodele bazate pe
aceast ˘a arhitectur ˘a au devenit standarul pentru algoritmii de înv ˘at,are.

14 2. Fundamente teoretice
Figura 2.5: Arhitectura actor-critic
Criticul are astfel ca scop s ˘a învet ,e din perechile (act ,iune, stare, recompens ˘a) pentru a putea
oferi nis ,te rezultate mai bune decât cele obt ,inute prin diferent ,a temporal ˘a, precum se f ˘acea
înainte în metoda gradientului. Prin aceast ˘a nou ˘a abordare, algoritmul nu mai are nevoie de un
num˘ar atât de mare de c ˘ai parcurse necesare pentru optimizarea politicii, m ˘arind astfel viteza
procesului de înv ˘at,are semnificativ.
Actorul are ca scop estimarea politicii, precum se f ˘acea deja s ,i la metoda gradientului, cu
diferent ,a c˘a optimiz ˘arile sunt f ˘acute nu pe baza recompensei acumulate, ci folosind rezulta-
tele obt ,inute de la critic. În ciuda faptului c ˘a înv ˘at,area este mult mai rapid ˘a s,i necesit ˘a mai
put ,ine episoade jucate de agent, r ˘amân în continuare multe probleme care înc ˘a trebuie adresate.
Cea mai mare poblem ˘a este stabilitatea s ,i modul în care se optimizeaz ˘a politica dup ˘a fiecare
antrenare.
O abordare care s-a dovedit experimental c ˘a are rezultate mai bune este de a îmbun ˘at˘at,i
actorul folosind funct ,ia avantaj, definit ˘a prin diferent ,a dintre valoarea st ˘arii curente s ,i valoarea
Qpentru o act ,iune anume: A(s;a) =Q(s;a)V(s). În felul acesta, agentul îs ,i va optimiza
act ,iunile în funct ,ie de îmbun ˘at˘at,irile pe care le aduce la starea în care se afl ˘a s,i nu relativ la starea
general ˘a. Conform abord ˘arii precedente, orice act ,iune ar fi f ˘acut agentul, s ,ansele s ˘a modifice
recompensa general ˘a primit ˘a este mic ˘a, s ,i astfel, multe act ,iuni vor fi interpretate gres ,it, iar
politica va înv ˘at,a mai greu. Folosind avantajul, agentul nu este influent ,at foarte tare de punctele
de maxim sau minim local al recompensei.
Un alt aspect care înc ˘a trebuie adresat este viteza de colectare a observat ,iilor pentru agent.
În scopul acesta, au fost dezolvate dou ˘a abord ˘ari mai mult sau mai put ,in performante care se
folosesc de rularea în paralel.
Prima metod ˘a este specific ˘a arhitecturii A3C [12] s ,i utilizeaz ˘a o ret ,ea global ˘a împreun ˘a cu o
serie de muncitori. Fiecare muncitor are propria sa copie a întregii ret ,ele s ,i ruleaz ˘a pe un mediu
separat. La anumite momente, fiecare muncitor îs ,i combin ˘a rezultatele în mod asincron în
ret,eaua global ˘a s,i îsi copiaz ˘a parametrii locali pentru continuarea antren ˘arii. Aceast ˘a abordare
m˘ares ,te semnificativ viteza de colectare a resurselor. De asemenea, prin utilizarea unor ret ,ele
separate pentru fiecare muncitor, sunt verificate mai multe posibilit ˘at,i diferite simultan.
Un dezavantaj la aceast ˘a organizare este faptul c ˘a fiecare muncitor îs ,i copiaz ˘a rezultatele
la ret ,eaua global ˘a în mod independent. Acest lucru înseamn ˘a c˘a unii dintre muncitori ar pu-
tea folosi versiuni vechi ale parametrilor, încetinind într-o oarecare m ˘asur˘a procesul general de
înv˘at,are. Ca alternativ ˘a la acest dezavantaj este o abordare de rulare în paralel a algoritmu-
lui original A2C. Solut ,ia este de a folosi mai multe medii de simulare simultan, dar numai o

2. Fundamente teoretice 15
Figura 2.6: Arhitectura A3C vs. A2C
ret,ea. Observat ,iile sunt colectate în paralel din fiecare mediu rulat, iar modelul învat ,˘a pe baza
rezultatelor combinate. Astfel, aceeas ,i ret ,ea este folosit ˘a în mai multe medii pentru a obt ,ine
informat ,iile necesare pentru antrenare s ,i se elimin ˘a problema nesincroniz ˘arii dintre agent ,i.
2.5 Estimatorul generalizat al avantajului (GAE)
Estimatorul generalizat al avantajului [2] este o metod ˘a care combin ˘a metoda recompensei acu-
mulate pe baza diferent ,ei temporale cu metoda calcul ˘arii avantajului. Metoda poate fi astfel
aplicat ˘a pe baza rezultatelor obt ,inute de agent dintr-un set de pas ,i pentru a calcula avantajul
general al politicii.
În primul rând, se defines ,tet=rt+
V(st+1)V(st)ca fiind eroarea diferent ,ei temporale
reziduale. Ca metod ˘a de calculare, se aseam ˘an˘a cu avantajul obt ,inut pentru act ,iuneaat. Pentru
un num ˘ar arbitrar de kastfel de termeni, se poate defini o estimare a avantajului dup ˘a urm ˘atoarea
formul ˘a:
At=X

iti=V(st) +rt+
rt+:::+
k1rt+k1+
kV(st+k):
Pentru seturi mici de date, unde valoare lui keste mic ˘a, aceast ˘a estimare este suficient de
bun˘a. Problema îns ˘a apare când formula e aplicat ˘a pentru seturi mai mare de date. Când ktinde
spre infinit, diferent ,a cuV(s)devine tot mai nesemnificativ ˘a pentru rezultatul final. Cu scopul
de a remedia aceast ˘a problema, se introduce un nou argument notat cu 2(0;1), iar formula
devine:
At=X
(
)it+i:
Din noua formul ˘a se poate observa c ˘afunct ,ioneaz ˘a asem ˘an˘ator cu factorul de reducere.
Pentru= 1, rezultatul depinde mai mult de valoarea recompenselor însumate, având o posibi-
litate de a fluctua mai mare. În cazul în care = 0, s,ansele ca rezultatele s ˘a fluctueze sunt mai
mici s ,i sunt mai puternic influent ,ate deV(s). Argumentul devine astfel un element prin care
se face echilibrul între cele dou ˘a situat ,ii s ,i poate fi modificat pe parcursul antren ˘arii în funct ,ie
de necesitate.

16 2. Fundamente teoretice
Figura 2.7: Reprezentare grafic ˘a a optimiz ˘arii funct ,iei obiectiv [3]
2.6 Optimizare la politica proxim ˘a (PPO)
Metodele bazate pe gradientul politicii au un mare dezavantaj privind stabilitatea politicii. În
funct ,ie de gradient, este posibil s ˘a apar ˘a modific ˘ari foarte mari dup ˘a o singur ˘a optimizare a
politicii. Acest lucru are un efect distructiv asupra procesului de înv ˘at,are. Acest lucru a creat
nevoia de a utiliza o form ˘a de a controla cât de puternice sunt modific ˘arile politicii.
O metod ˘a destul de popular ˘a pentru a obt ,ine acest control este prin metoda regiunii de
încredere. Aceasta se bazeaz ˘a pe limitarea modific ˘arilor care se fac asupra politicii pe baza
urm˘atoarelor restrict ,ii:
Maximizare :E(atjst)
vechi(atjst)At
Av^and:E[KL[vechi(jst);(jst)]]:
Divergent ,a Kullback-Leibler are ca scop determinarea diferent ,ei dintre distribut ,ia de proba-
bilitate a politicii vechi fat ,˘a de cea nou ˘a. Limitând aceast ˘a diferent ,˘a conform formulei de mai
sus, politica nu se va mai putea modifica în mod necontrolat. Des ,i solut ,ia a dus la îmbun ˘at˘at,irea
rezultatelor, metoda aceasta este destul de greu de folosit în practi ˘a. Pe lâng ˘a faptul ca introduce
un nou hiperparametru, acesta este foarte sensibil la natura problemei rezolvate. Atfel, pentru
înv˘at,area unor sarcini diferite, trebuie adaptat si acest hiperparametru.
Ca alternativ ˘a mai simpl ˘a la aceast ˘a problem ˘a, a fost propus ˘a metoda optimiz ˘arii prin poli-
tica proxim ˘a [3]. Aceast ˘a metod ˘a este dat ˘a de formula:
Lclip() =Et[min(rt()At;clip(rt();1;1 +)At)]:
Scopul acestei abord ˘ari este de a modifica funct ,ia obiectiv astfel încât s ˘a limiteze schimb ˘a-
rile în intervalul setat de un nou hiperparametru [1;1 +]. Funct ,ia obiectiv este t ˘aiat˘a în
acest interval s ,i este ales minimul dintre versiunea t ˘aiat˘a s,i cea net ˘aiat˘a. În felul acesta, t ˘aierea
funct ,iei obiectiv este ignorat ˘a dac ˘a obiectivul obt ,inut este mai prost, s ,i va lua în considerare
t˘aierea dac ˘a obiectivul este mai bun. Acest lucru duce la o estimare general ˘a pesimistic ˘a a
funct ,iei obiectiv.
Exprimental a fost descoperit faptul c ˘a cele mai bune rezultate sunt obt ,inute pentru = 0:2.
Aceast ˘a valoare a hiperparametrului, spre deosebire de metoda bazat ˘a pe divergent ,a KL, r ˘amâne
neschimbat ˘a indiferent de problema care trebuie rezolvat ˘a. Rezultatul este astfel o metod ˘a mult
mai simplu de calculat pentru optimizarea unei politici care generalizeaz ˘a mai bine la probleme
diferite.

2. Fundamente teoretice 17
2.7 Înv ˘at,are în medii virtuale
Un factor important în implementarea unor noi algoritmi de înv ˘at,are prin consolidare sunt si-
mulatoarele de medii virtuale. Acestea ofer ˘a un mediu cu agent ,i s,i probleme pe care aces ,tia s˘a
le rezolve. Multe dintre cele mai noi metode de înv ˘at,are descoperite sunt datorate aparit ,iei unui
num˘ar mare de platforme pentru simulare precum MuJoCo [14], VizDoom, iar mai nou, pân ˘a
s,i platforme mai populare pentru dezvoltarea de jocuri video precum Unity Framework. Toate
aceste platforme de simulare ofer ˘a nu doar un spat ,iu pentru dezvoltarea s ,i îmbun ˘at˘at,irea algo-
ritmilor de înv ˘at,are, dar s ,i un punct de plecare pentru antrenarea modelelor care vor fi folosite
pentru aplicat ,ii din viat ,a real ˘a.
Multe dintre platformele de simulare din prezent sunt bazate pe jocuri video precum Atari,
Quake, Doom sau Minecraft. Acest lucru se datoreaz ˘a influent ,ei pe care au avut-o jocurile
asupra începuturilor inteligent ,ei artificiale. Jocuri precum s ,ah sau go implic ˘a rezolvarea unor
provoc ˘ari pentru oameni care se aseam ˘an˘a cu provoc ˘arile mai complexe pe care cercet ˘atorii de
inteligent ,˘a artificial ˘a încearc ˘a s˘a le rezolve. Un mediu de simulare care s ˘a ofere spat ,iul propice
descoperirii de noi algoritmi are nevoie de caracteristici asem ˘an˘atoare cu cele g ˘asite într-un
mediu din viat ,a real ˘a. Prin examinarea inteligent ,ei umane, au fost g ˘asite patru categorii care au
fost s ,i sunt în continuare de important ,˘a pentru înv ˘at,are: vizual ˘a, fizic ˘a, cognitiv ˘a s,i social ˘a.
Complexitatea senzorial ˘a – Se refer ˘a la abilitatea de a procesa cantit ˘at,i mari de date vizu-
ale, auditive sau bazate pe text. Acest element este necesar pentru rezolvarea problemelor
din viat ,a real ˘a precum conducerea unei mas ,ini sau a robot ,ilor autonomi.
Complexitatea fizic ˘a – Pe lâng ˘a complexitatea informat ,iilor senzoriale, este important ca
mediul s ˘a ofere metode avansate prin care s ˘a poat ˘a interact ,iona cu agent ,ii. Aceste fire de
act ,iune sunt necesare pentru ca mediul s ˘a se poat ˘a asem ˘ana cu ceea ce s-ar putea întâmpla
în realitate. Cu cât mediul este mai realistic, cu atât este mai us ,or ca politic ˘a înv ˘at,at˘a în
mediul virtual s ˘a poat ˘a fi adaptat ˘a s,i utilizat ˘a pe agent ,i din viat ,a real ˘a.
Complexitatea cognitiv ˘a – Un alt aspect important pentru un mediu de simulare bun este
complexitatea cognitiv ˘a sau combinatorial ˘a. În cazul acesta, complexitatea nu vine de
la informat ,ii senzoriale diverse sau interact ,iuni avansate cu mediul. Acest tip de com-
plexitate se refer ˘a la un spat ,iu mare de posiblit ˘at,i prin care agentul poate interact ,iona cu
mediul. Un exemplu bun pentru aceast ˘a categorie ar fi jocurile de s ,ah sau de go. Com-
plexitatea cognitiv ˘a reflect ˘a capacitatea agentului de a generaliza informat ,iile colectate s ,i
abilitatea sa de a le folosi în noi situat ,ii, fiind un aspect esent ,ial pentru rezolvarea proble-
melor reale ale oamenilor.
Complexitatea social ˘a – Dezvoltarea abilit ˘at,ilor prin înv ˘at,are la mamifere a evoluat întot-
deauna împreun ˘a cu abilitatea acestora de a ment ,ine relat ,ii în cadrul grupurilor sociale.
Astfel, abilitatea de a rula simul ˘ari multi-agent în cadrul mediurilor virtuale este impor-
tant˘a pentru studiul grupurilor s ,i cercurilor sociale dintre agent ,i.
Utilizarea tuturor acestor tipuri de complexit ˘at,i în mediile virtuale sunt esent ,iale pentru pro-
blemele la care scopul final este transferul modelului înv ˘at,at în lumea real ˘a, precum este în
cazul aplicat ,iilor din robotic ˘a. Un alt set de caracteristici esent ,iale unui simulator care s ˘a ajute
algoritmii de înv ˘at,are sunt: rularea rapid ˘a s,i distribuit ˘a, respectiv flexibilitatea controlului.
Simulare distribuit ˘a – Majoritatea algoritmilor de înv ˘at,are automat ˘a bazat ,i pe ret ,ele neu-
ronale necesit ˘a cantit ˘at,i foarte mari de date pentru a ajunge la solut ,ia optim ˘a. Din acest

18 2. Fundamente teoretice
motiv, abilitatea de a colecta multe date într-un timp scurt este esent ,ial˘a. Dac ˘a simul ˘arile
sunt rapide s ,i rulate în paralel, viteza va fi cu mult mai mare comparativ cu viat ,a real ˘a.
Astfel, înv ˘at,area va fi mai rapid ˘a, iar descoperirea de noi algoritmi va fi mult mai simpl ˘a.
Flexibilitatea controlului – Un alt aspect necesar pentru un simulator performant este
abilitatea de a interact ,iona s ,i modifica mediul chiar s ,i în timpul unei simul ˘ari. Des ,i în
multe situat ,ii nu a fost nevoie de astfel de modific ˘ari, problemele mai avansate de înv ˘at,are
necesit ˘a adesea mai multe modific ˘ari asupra mediului s ,i agent ,ilor, pentru a se obt ,ine
simul ˘ari mai apropiate de ce s-ar întâmpla în viat ,a real ˘a.
2.8 Platforme de simulare populare
2.8.1 Arcade Learning Environment
Unul dintre primele medii de simulare folosite pentru dezvoltarea unor metode de înv ˘at,are ba-
zate pe ret ,ele neuronale este Arcade Learning Environment (ALE). Prin intermediul acestui me-
diu, a fost dezolvatat algoritmul Deep Q-Network. ALE ofer ˘a o interfat ,˘a în Python care permite
pornirea s ,i controlarea unei game largi de jocuri Atari. Rezultatele obt ,inute au fost foarte bune,
ajungându-se la majoritatea jocurilor la obt ,inerea unor performant ,e super-umane. Cu toate
acestea, mediul în sine este destul de limitat de c ˘atre grafica simplist ˘a s,i lipsa interact ,iunilor
fizice realistice. Cum problemele oferite de ALE au fost deja rezolvate de algoritmul DQN,
potent ,ialul pentru studierea unor metode noi este destul de limitat.
2.8.2 DeepMind Lab
DeepMind Lab este un simulator bazat pe jocul Quake 3 s ,i a fost lansat în 2016 de c ˘atre De-
epMind ca platform ˘a pentru cercetare. Fiind creat dup ˘a ALE, DeepMind a încercat s ˘a rezolve
câteva din problemele existente în acea perioad ˘a. Prin abilitatea de creare a unor medii 3D,
s-au putut studia sarcini mai complexe precum navigarea. Cu toate acestea, simularea fizicii era
una foarte primitiv ˘a, s ,i ca urmare diferent ,a dintre mediile simulate s ,i viat ,a real ˘a era prea mare
pentru ca rezultatele s ˘a poat ˘a fi transferate în situat ,ii adev ˘arate.
2.8.3 Unity ML
Unity ML-toolkit [13] este un plugin pentru Unity Framework dezvolvat în 2018 care ofer ˘a o
interfat ,˘a în Python prin care se poate controla o scen ˘a din joc cu scopul aplic ˘arii unor algoritmi
de înv ˘at,are. Datorit ˘a graficii realistice s ,i elementelor de fizic ˘a suficient de complexe, Unity
ML-toolkit ofer ˘a posibilitatea cre ˘arii unor medii suficient de complexe pentru a putea studia în
mod eficient oricare din cele 4 categorii de inteligent ,˘a prezentate mai sus.
2.8.4 MuJoCo
MuJoCo [14] este o platform ˘a de simulare creat ˘a special pentru studiul problemelor de locomot ,ie.
Simul ˘arile în general sunt bazate pe un robot al c ˘arui scop este de a se deplasa pe o anumit ˘a
direct ,ie cât mai repede posibil. Toate interact ,iunile din mediu sunt f ˘acute cu o acuratet ,e foarte
mare, fiind bazate pe formule avansate de fizic ˘a. În majoritatea jocurilor video, interact ,iunile
fizice sunt simulate, pe ideea c ˘a o acuratet ,e mai mare nu este necesar ˘a. Acest lucru este ade-
v˘arat când se dores ,te doar obt ,inerea unor efecte vizuale. În contextul problemelor de control

2. Fundamente teoretice 19
Figura 2.8: Exemple de simul ˘ari din Gym [4]
acest compromis nu poate fi f ˘acut. Dac ˘a reprezentarea fizicii nu este suficient de exact ˘a, exist ˘a
o s,ans˘a mare ca agentul s ˘a învet ,e s˘a exploateze acest lucru.
Prin simularea avansat ˘a a fizicii, MuJoCo a devenit una dintre cele mai bune alegeri când
vine vorba de aplicat ,ii în robotic ˘a. Des ,i simulatorului îi lipsesc elemente de realism precum
umbre, lumini s ,i texturi, problemele care pot fi studiate sunt suficient de complexe pentru a fi
folosite în studiul unor îmbun ˘at˘at,iri a metodelor deja cunoscute.
2.9 OpenAI Gym
OpenAI este un centru de cercetare care are ca scop asigurarea faptului c ˘a inteligent ,a artificial ˘a
general ˘a este controlabil ˘a s ,i benefic ˘a umanit ˘at,ii. Gym [4] este un proiect al OpenAI care a
ap˘arut în momentul în care cercet ˘atorii au realizat c ˘a nu exist ˘a foarte multe metode publice prin
care cei interesat ,i de înv ˘at,are prin consolidare s ˘a poat ˘a studia s ,i împ ˘art˘as,i rezultatele obt ,inute.
Gym este un wrapper care ofer ˘a o interfat ,˘a programabil ˘a în Python prin care se pot controla
diverse medii virtuale având o serie de probleme de rezolvat prin înv ˘at,are. Printre mediile de
simulare compatibile cu gym, se num ˘ar˘a ALE pentru jocuri Atari, MuJoCo pentru simularea
robot ,ilor, jocuri de strategie precum Go, s ,i multe alte simul ˘ari cu probleme clasice din literatura
înv˘at,˘arii prin consolidare.
Fiecare mediu simulat este modelat formal ca un proces de decizie Markov part ,ial observabil
care poate fi împ ˘art,it în episoade. Interfat ,a de Python ofer ˘a metode precum reset() s,istep()
prin care este mediul poate fi controlat s ,i obt ,inute toate informat ,iile necesare pentru a conduce
procesul de înv ˘at,are. Întregul toolkit de Gym este accesibil în mod gratuit, oferind astfel o
metod ˘a excelent ˘a ca oricine interesat în dezvoltarea unor noi algoritmi s ˘a îs ,i poat ˘a publica s ,i
compara rezultatele cu ce a fost deja obt ,inut. Pe viitor, echipa de la OpenAI urm ˘ares ,te s˘a
dezvolte mai departe toolkit-ul pentru a facilita interact ,iunea multi-agent precum s ,i transferul
rezultatelor din simul ˘ari pe modele hardware din lumea real ˘a.
2.10 Metode de comparare a algoritmilor de înv ˘at,are
Caracterul stohastic are un rol puternic în cadrul înv ˘at,˘arii prin consolidare, atât datorit ˘a modului
în care au fost init ,ializate ret ,elele neuronale pe cât s ,i datorit ˘a elementelor aleatoare din mediile
simulate. Astfel, rezultatele obt ,inute cu un anumit algoritm pot fi destul de diferite de la o an-

20 2. Fundamente teoretice
trenare la alta. Pentru a putea compara doi algoritmi de înv ˘at,are, aces ,tia trebuie mai întâi testat ,i
folosind mai multe init ,ializ˘ari diferite. Mai ales în cazul ret ,elelor neuronale, se obis ,nuies ,te ca
performant ,a s˘a fie calculat ˘a pe baza unei medii a mai multor încerc ˘ari.
Un alt aspect care trebuie luat în considerare sunt hiperparametrii. Este important ca atunci
când un algoritm este verificat, s ˘a fie g ˘asit ,i cei mai buni hiperparametri pentru situat ,ia dat ˘a. O
serie gres ,it˘a de hiperparametri pot duce la o sc ˘adere drastic ˘a a rezultatelor unor algoritmi care
ar avea potent ,ialul de a obt ,ine rezultate bune.
Recompensa medie primit ˘a de-a lungul unei traiectorii este în general cea mai des utilizat ˘a
medie de comparare. Pe lâng ˘a aceast ˘a metric ˘a, au mai fost propuse s ,i altele, precum media ma-
xim˘a a recompenselor, sau recompensa maxim ˘a în urma unui num ˘arNde episoade. Alegerea
metricilor care sunt luate în considerare este important ˘a deoarece unele metrici ar putea face ca
rezultatele unor algoritmi s ˘a fie mai bune decât sunt în realitate. Când metricile sunt selectate,
e important ca acestea s ˘a prezinte o comparat ,ie corect ˘a. De asemenea, este de preferat ca al-
goritmul s ˘a fie testat în cât mai multe medii, astfel încât s ˘a se poat ˘a determina în ce mediu se
obt ,in cele mai bune rezultate. Acest lucru este vital pentru încerc ˘arile de transfer al modelului
în viat ,a real ˘a.
2.11 Alte forme de înv ˘at,are
2.11.1 Înv ˘at,are zero-shot
Înv˘at,area zero-shot pleac ˘a de la ideea c ˘a un agent ar trebui s ˘a se poat ˘a comporta corect când este
pus în fat ,a unei sarcini noi asem ˘anatoare cu ceva ce a înv ˘at,at deja. Un exemplu concrect este
transferul unui model antrenat în mediu virtual pe un robot din viat ,a real ˘a, unde posibilitatea de
colectare a informat ,iilor este mai limitat ˘a. Pentru a reus ,i acest lucru, agentul trebuie s ˘a aib ˘a fie
capacitatea de generalizare dezvoltat ˘a, fie o strategie de transfer care poate fi adaptat ˘a la sarcini
noi.
O metod ˘a de a obt ,ine abilitatea de generalizare este de a folosi o tehnic ˘a asem ˘an˘atoare
cu augmentarea datelor folosit ˘a în înv ˘at,area supervizat ˘a. Dac ˘a metoda a fost aplicat ˘a corect,
agentul va vedea sarcinile noi ca fiind doar o variat ,ie a datelor pe care le primea deja prin
simulare. Un alt mod de a obt ,ine zero-shot este prin utilizarea algoritmilor pentru a transforma
st˘arile înregistrate din noua sarcin ˘a s˘a par ˘a ca fiind la fel cu datele cu care agentul era deja
obis ,nuit.
2.11.2 Înv ˘at,are continu ˘a
Înv˘at,area continu ˘a este un principiu care se refer ˘a la abilitatea unui agent de a înv ˘at,a cum s ˘a
rezolve mai multe sarcini din medii diferite. Dificultatea care apare în cazul acesta este dat ˘a de
abilitatea agentului de a ment ,ine cunos ,tint ,e de la o sarcin ˘a la alta în mod eficient. Problema
aceasta este înc ˘a foarte complicat ˘a datorit ˘a uit˘arii. Prin procesul de generalizare, agentul pierde
cunos ,tint ,ele dobândite la etape anterioare ale antrenamentului. Metodele studiate la momentul
actual pentru a trece de aceast ˘a problem ˘a sunt: salvarea experient ,elor trecute sau reantrenarea
ocazional ˘a pe sarcini deja înv ˘at,ate.
2.11.3 Înv ˘at,are f ˘ar˘a funct ,ie de recompens ˘a
În mod normal, scopul agentului este reflectat prin recompensa primit ˘a. Datorit ˘a commplexit ˘at,ii
mediului în aplicat ,ii practice, definirea unei funct ,ii de recompens ˘a poate fi complicat ˘a. Ca

2. Fundamente teoretice 21
alternativ ˘a, mai exist ˘a dou ˘a posibilit ˘at,i: înv ˘at,are prin demonstrat ,ii sau prezent ,a unui om care s ˘a
spun ˘a dac ˘a comportamentul agentului este corect.
2.12 Perspective de viitor ale algoritmilor de înv ˘at,are
Înv˘at,area prin înt ˘arire a demonstrat faptul c ˘a se pot rezolva o gam ˘a destul de larg ˘a de probleme,
precum: st ˘apânirea jocului de Go, învingerea unor campioni la Poker, sau obt ,inerea unor re-
zultate supra-omenes ,ti la jocurile Atari. Tot ,i aces ,ti algoritmi pot fi în principiu utilizat ,i s,i la
rezolvarea unor probleme din viat ,a real ˘a. În practic ˘a îns ˘a, chiar s ,i în cazurile în care sarcinile
sunt destul de clar definite, exist ˘a o mare problem ˘a: agentul nu poate interact ,iona suficient de
bine cu mediul real pentru a putea aplica cele înv ˘at,ate. Acest lucru se întâmpl ˘a deoarece si-
mularea în care a fost antrenat nu este suficient de precis ˘a, sau obt ,inerea unor noi observat ,ii a
mediului nu este posibil ˘a.
În ideea de a se obt ,ine noi rezultate pe viitor, una dintre cele mai importante c ˘ai de studiu va
deveni astfel înv ˘at,area de lung ˘a durat ˘a. Aceasta va putea fi folosit ˘a pentru utilizarea unor ret ,ele
deja antrenate pentru rezolvarea altor probleme mai complexe. Alt ˘a form ˘a de cercetare ce va
deveni mai important ˘a va fi cea de g ˘asire a unor metode de înv ˘at,are care s ˘a nu se mai bazeze
pe abordarea clasic ˘a ce foloses ,te recompense. Printre alternative se num ˘ar˘a metodele bazate
pe feedback sau imitare. Toate acestea vor conduce la dezvoltarea unor algoritmi capabili de a
rezolva probleme mai complexe, s ,i va cres ,te s ,ansele ca aces ,tia s˘a poat ˘a fi pus ,i pe modele din
viat ,a real ˘a.

22 2. Fundamente teoretice

Capitolul 3
Specificat ,iile proiectului
3.1 Cerint ,e
Un sistem capabil s ˘a proceseze probleme cu un spat ,iu de act ,iuni s ,i observat ,ii în domeniu con-
tinuu, având capacitatea de a obt ,ine politica optim ˘a pentru un agent, bazat pe un set de recom-
ponse primite pentru o sarcin ˘a anume. Solut ,ia obt ,inut˘a trebuie s ˘a generalizeze cât mai bine la
probleme diferite, s ,i s˘a nu fie nevoie de modific ˘ari complicate ale hiper-parametrilor algoritmu-
lui. Procesul de înv ˘at,are va fi limitat doar la informat ,iile obt ,inute de la mediul simulat. Astfel,
agentul va trebui s ˘a descopere politicile optime, f ˘ar˘a a dispune de alte ajutoare sau exemple din
exterior, bazându-se doar pe recompensele primite.
Performant ,a algoritmului de înv ˘at,are este dat ˘a de abilitatea acestuia de a rezolva probleme
diverse oferite de c ˘atre biblioteca Gym de la OpenAI în mediul de simulare MuJoCo. Prin-
tre mediile folosite pentru testare se num ˘ar˘a: Ant-v2, Walker-v2, Swimmer-v2, Hopper-v2,
Humanoid-v2, etc. Un mediu este considerat trecut în momentul în care politica obt ,inut˘a prin
înv˘at,are duce la o anumit ˘a recompens ˘a minim ˘a acumulat ˘a de-a lungul a mai multe episoade.
Pentru ca algoritmul s ˘a poat ˘a fi optimizat în mod corect, acesta trebuie s ˘a ofere informat ,ii
relevante legate de performant ,a sa din timpul antrenamentelor. Acest lucru este obt ,inut prin
reprezentarea grafic ˘a a rezultatelor pe baza a diferite metrici, precum: rezultatele funct ,iilor de
cost, gradul de certitudine al algoritmului, s ,i recompensa medie obt ,inut˘a. În felul acesta, starea
agentului va fi vizibil ˘a tot timpul s ,i rezultatele vor fi us ,or de comparat în mod obiectiv cu cele
ale altor algoritmi rulat ,i pe aceleas ,i probleme.
Sistemul trebuie de asemena s ˘a ofere metode de înc ˘arcare s ,i vizualizare a modelelor an-
trenate pentru observarea direct ˘a a politicilor obt ,inute. Pe parcursul antren ˘arii, modelul curent
trebuie salvat la intervale regulate pentru cazul în care aplicat ,ia se închide în mod neas ,teptat
înainte de terminarea antrenamentului. Având un model pentru care antrenamentul nu e com-
plet, acesta trebuie s ˘a poat ˘a fi reîncarcat, iar antrenarea trebuie s ˘a continue de la punctul la care
a r˘amas. Salv ˘arile trebuie de asemenea f ˘acute astfel încât pentru un anumit agent s ˘a se poat ˘a
reveni la versiuni mai vechi din antrenament, pentru a se putea vizualiza evolut ,ia politicii.
Pentru ca antrenarea s ˘a fie cât mai rapid ˘a, procesul care realizeaz ˘a colectarea informat ,iilor
poate fi rulat prin mai multe procese în paralel pentru a gr ˘abi întreg procesul.
3.2 Instalare s ,i utilizare
Proiectul poate fi rulat numai dup ˘a ce au fost instalate toate pachetele de Python necesare pre-
cum: OpenAI Gym, mujoco_py, tensorflow, tensorboard, numpy, etc. Toate aceste pachete sunt
23

24 3. Specificat ,iile proiectului
enumerate în fis ,ierul req.txt. Acesta a fost conceput în ideea rul ˘arii proiectului folosind Ana-
conda, managerul de medii virtuale Python. Astfel, pentru crearea un mediu nou virtual cu toate
dependint ,ele necesare, se poate rula comanda: conda create -n new environment –file req.txt.
Deoarece biblioteca Gym foloses ,te simulatorul MuJoCo, este necesar ca acesta s ˘a fie instalat
pe calculatorul pe care este rulat proiectul în locat ,ia normal ˘a. Pentru ca antrenamentul s ˘a ruleze
la o vitez ˘a mai mare, acesta poate fi rulat folosind placa grafic ˘a de la Nvidia dac ˘a este instalat
pachetul CUDA v. 10.0, aferent ˘a versiunii de tensorflow folosite în mediul de Anaconda.
Odat ˘a ce toate dependint ,ele au fost instalate, proiectul poate rula prin apelarea fis ,ierului
main.py. Acesta dispune de mai multe argumente din linia de comand ˘a. Argumentul env_name
reprezint ˘a numele mediului care va fi utilizat de c ˘atre program. Dac ˘a argumentul train este
folosit, programul va începe fie un nou antrenament pentru mediul selectat, fie va continua un
antrenament deja început dac ˘a este g ˘asit˘a o salvare. Fis ,ierele cu salv ˘arile modelelor se afl ˘a în
directoare cu numele de forma ’model-numeleMediuluiSimulat’. Acestea sunt create automat
pe parcursul antren ˘arii. Folosind argumentul play, va începe o simulare în care agentul face
act ,iuni conform politicii date de un model deja antrenat. Simularea poate începe doar dac ˘a
exist ˘a deja cel put ,in o salvare a modelului care se dores ,te s˘a fie rulat. Programul mai dispune
de un argument suplimentar numit render. Dac ˘a acesta este folosit odat ˘a cu un antrenament,
mediul simulat va deveni vizibil. Acest lucru îns ˘a nu este indicat deoarece încetines ,te procesul
de înv ˘at,are. Pentru vizualizarea evolut ,iei agentului în timpul antrenamentului, în directorul
tensorboard se afl ˘a toate datele de la metricile luate în considerare, pentru fiecare mediu separat.
Fiecare mediu dispune s ,i de un istoric al modelelor antrenate. Pentru a putea vizualiza
comportamentul unui model din trecut, este necesar ˘a doar înlocuirea directorului currentModel
cu oricare dintre modelele din directorul de istoric. Pe lâng ˘a datele oferite pentru tensorboard,
în directoarele date, sunt salvate toate rezultatele în fis ,iere text, preg ˘atite pentru a fi vizualizate.

Capitolul 4
Proiectare s ,i implementare
4.1 Arhitectura general ˘a
Algoritmul de înv ˘at,are a fost dezvoltat folosind biblioteca open-source TensorFlow, având
structura general ˘a a unei combinat ,ii dintre metoda A2C (Advantage Actor Critic) s ,i PPO (Pro-
ximal Polilcy Optimization).
Motivul pentru care a fost folosit ˘a o metod ˘a bazat ˘a pe gradientul politicii este datorit ˘a naturii
problemei la care se urm ˘ares ,te rezolvarea. Având în vedere c ˘a algoritmul antreneaz ˘a un agent
cu scopul de a umbla asem ˘anator unui umanoid, atât spat ,iul de observat ,ii cât s ,i cel al act ,iunilor
vor fi reprezentate într-un spat ,iu continuu. Din acest motiv, metodele clasice precum cele de
înv˘at,are-Q nu vor putea fi aplicate. Înv ˘at,area ar fi fost mult prea lent ˘a datorit ˘a nevoii agentului
de a verifica fiecare act ,iune posibil ˘a înainte de a putea trage concluzii legate de modificarea
politicii.
Folosind modelul A2C, algoritmul va face fat ,˘a la volumul complex de date s ,i act ,iuni, având
în acelas ,i timp o înv ˘at,are echilibrat ˘a. Astfel, principalele clase folosite în cadrul proiectului
sunt:
clasa Runner : folosit pentru rularea simul ˘arilor s ,i obt ,inerea observat ,iilor pentru antre-
nare;
clasa Policy : cont ,ine structura ret ,elei neuronale atât pentru agent cât s ,i a criticului;
clasa Model : cont ,ine toat ˘a logica de antrenare s ,i simulare a unui agent dintr-un mediu
dat;
clasa Logger : utilizat pentru salvarea rezultatelor intermediare s ,i afis ,area progresului
antren ˘arii.
4.2 Simularea mediului
Pentru generarea mediului de înv ˘at,are, platforma de simulare utilizat ˘a este MuJoCo. Am ales
acest mediu pentru antrenarea agentului deoarece interact ,iunile fizice sunt mai precise decât
în cazul altor simulatoare. Acest aspect ajut ˘a la obt ,inerea realismului s ,i preg ˘atirea agentului
pentru a putea folosi rezultatele obt ,inute cu modific ˘ari cât mai put ,ine pentru un mediu real.
Comunicarea cu mediul se face prin intermediul wrapper-ului Gym oferit de c ˘atre OpenAI.
Acesta ofer ˘a o interfat ,˘a de Python simpl ˘a pentru interact ,iunea cu mediul virtual. Performant ,a
25

26 4. Proiectare s ,i implementare
Figura 4.1: Simul ˘ari MuJoCo
algoritmului este verificat ˘a prin antrenare în mai multe medii având spat ,iu al observat ,iilor s ,i
act ,iunilor mare: Humanoid-v2, Ant-v2, Hopper-v2, HalfCheetah-v2, etc. Aceste medii au
diferit ,i agent ,i cu pân ˘a la 18 componente mobile care au ca scop deplasarea cât mai rapid ˘a
într-o direct ,ie anume. Pentru obt ,inerea rezultatului dorit, se defines ,te o funct ,ie de recompens ˘a.
De exemplu, în cazul mediului Humanoid-v2, recompensa e bazat ˘a pe urm ˘atoarea formul ˘a:
R= 1:25dist0:1center0:5e6contact +bonus:
Variabiladist este definit ˘a prin diferent ,a pe vertical ˘a dintre pozit ,ia curent ˘a a manechinului
s,i pozit ,ia de la pasul anterior. Astfel, umanoidul va primi o recompens ˘a mai mare cu cât se
deplaseaz ˘a mai mult în timp. Variabila center este un penalty care este cu atât mai mare cu
cât distant ,a dintre sol s ,i centrul de greutate al agentului este mai mic ˘a. Astfel, se asigur ˘a faptul
c˘a agentul ment ,ine o pozit ,ie a corpului cât mai corect ˘a. Variabila contact este un alt penalty
folosit pentru a minimiza timpul de contact cu solul al agentului. În final, se mai adun ˘a variabila
bonus , egal ˘a cu5, care funct ,ioneaz ˘a ca o recompens ˘a pentru c ˘a agentul se ment ,ine în piciore.
Acest bonus este mult mai important în primele etape ale înv ˘at,˘arii când agentul înc ˘a nu s ,tie s˘a
fac˘a pas ,i, dar învat ,˘a s˘a îs ,i ment ,in˘a echilibrul în picioare. Toate aceste recompense formeaz ˘a
punctul de reper pe care agentul îl va folosi pentru a ajunge s ˘a umble cât mai corect s ,i rapid.
Un episod se va încheia în momentul în care agentul se apropie prea mult cu centrul de greutate
de sol sau înceteaz ˘a s˘a mai înainteze în unele cazuri.
Interact ,iunile algoritmului cu mediul simulat se fac prin dou ˘a funct ,ii:
reset() – Precum sugereaz ˘a s,i numele, metoda reset va reseta mediul la începutul unui
nou episod s ,i va returna o serie de observat ,ii init ,iale. Observat ,iile sunt primite sub forma
unui vector cu 376de coordonate cu valori reale care reflect ˘a pozit ,ia agentului.
step() – Asem ˘an˘ator cu observat ,iile, o act ,iune este reprezentat ˘a de c ˘atre un vector cu
18valori reale care reflect ˘a modul în care s ˘a se mis ,te fiecare din cele 18componente
flexibile. Aceste valori sunt limitate la intervalul închis [4:0;4:0]pentru cazul acesta.
Odat ˘a apelat ˘a cu succes metoda step, aceasta va returna o serie de valori care reflect ˘a
noua starer a mediului. Printre acestea se num ˘ar˘a: recompensa primit ˘a de agent pentru
act ,iunea efectuat ˘a, o nou ˘a serie de observat ,ii a mediului precum s ,i o valoarea boolean ˘a
care arat ˘a dac ˘a episodul s-a terminat.
Având toate aceste detalii, problema pe care o rezolv ˘a algoritmul se rezum ˘a la obt ,inerea observat ,iilor
din mediu s ,i controlul agentului prin act ,iunile oferite astfel încât recompensa returnat ˘a s˘a fie
cât mai mare. Acest lucru se va obt ,ine prin antrenarea unei politici care va c ˘auta solut ,ia optim ˘a.

4. Proiectare s ,i implementare 27
Figura 4.2: Arhitectura ret ,elei
4.3 Arhitectura ret ,elei neuronale
Conform metodelor actor-critic, algoritmul utilizeaz ˘a dou ˘a ret ,ele pentru antrenare. Prima ret ,ea
este pentru critic, prin aproximarea funct ,ieiV, iar a doua este pentru agent, prin aproximarea
politicii. Scopul este ca prin antrenamente repetate, algoritmul s ˘a ajung ˘a la obt ,inerea unei
politici optime.
Ret ,eaua criticului are ca scop aproximarea utilit ˘at,ii situat ,iilor s ,i este folosit de c ˘atre actor
ca punct de referint ,˘a. În acest scop am folosit dou ˘a straturi dense. M ˘arimea acestora depinde
de m ˘arimea observat ,iilor pentru fiecare mediu. În majoritatea cazurilor îns ˘a, m˘arimea utilizat ˘a
a fost de 64. Funct ,ia de activare folosit ˘a pentru fiecare strat este tangenta hiperbolic ˘a. Ultimul
strat are o singur ˘a ies ,ire, iar rezultatul este aproximarea funt ,ieiV.
Ret ,eaua agentului are o structur ˘a asem ˘an˘atoare, fiind format ˘a tot din dou ˘a straturi dense
având aceeas ,i m˘arime cu cea a criticului. Diferent ,a este îns ˘a de data aceasta c ˘a ret ,eaua se ter-
min˘a într-un strat de dimensiune egal ˘a cu dimensiunea spat ,iului act ,iunilor. Rezultatele sunt de
asemenea limitate în intervalul din care pot face parte act ,iunile s ,i transformate într-o distribut ,ie
de probabilitate Gauss. Astfel, rezultatul de la actor, poate fi folosit pentru a transmite act ,iuni
noi agentului pentru interact ,iunea cu mediul.
Dimensiunile celor dou ˘a ret ,ele au fost determinate experimental astfel încât înv ˘at,area s ˘a
aib˘a loc în mod optim. În general, a fost urm ˘arit ca straturile dense s ˘a fie suficient de mari
pentru ca spat ,iul ipotezelor s ˘a fie pe m ˘asura complexit ˘at,ii observat ,iilor primite. Atât valorile de

28 4. Proiectare s ,i implementare
la critic, cât s ,i de la actor vor fi la început aleatoare, s ,i ca urmare, în primele episoade agentul va
avea un comportament total aleator, urmând ca prin antrenament s ˘a optimizeze cele dou ˘a ret ,ele.
4.4 Hiper-parametrii utilizat ,i
Pentru ca algoritmul s ˘a poat ˘a fi us ,or adaptat s ,i optimizat pentru fiecare problem ˘a, clasa Model
dispune de o serie de parametri care pot fi modificat ,i pe parcursul antrenamentului. Aces ,ti
parametri sunt:
m˘arimea setului de observat ,ii: dup ˘a cât ,i pas ,i s˘a se termine colectarea observat ,iilor pentru
fiecare iterat ,ie;
m˘arimea mini-setului de observat ,ii: câte observat ,ii din setul mare sunt folosite pentru
antrenarea ret ,elelor;
num˘ar epoci critic: câte epoci este antrenat criticul la fiecare iterat ,ie;
num˘ar epoci actor: câte epoci este antrenat actorul la fiecate iterat ,ie;
gamma: factorul de reducere pentru ecuat ,ia lui Bellman;
lambda: parametrul lambda din formula GAE;
clip: parametrul de t ˘aiere din formula PPO.
4.5 Procesul de înv ˘at,are
Procesul de înv ˘at,are are loc prin intermediul clasei Model . Aceasta cont ,ine o copie a ret ,elei
neuronale s ,i toate informat ,iile necesare legate de mediul s ,i agentul folosite în timpul antrena-
mentului. În principiu, aceasta dispune de dou ˘a metode: una pentru a rula un agent deja antrenat
s,i una pentru antrenament.
4.5.1 Colectarea informat ,iilor
Prima etap ˘a din cadrul antrenamentului este de colectare a informat ,iilor din mediul dat. Înv ˘at,area
va încearca optimizarea ret ,elei pe baza alegerii dintr-un set mai mare de observat ,ii obt ,inute de
la mediu folosind act ,iunile alese prin intermediul politicii curente. Deoarece o mare parte din
procesarea care are loc în timpul antrenamentului provine de la colectarea observat ,iilor, este
important pentru performant ,a general ˘a ca aceast ˘a etap ˘a s˘a foloseasc ˘a resursele calculatorului în
mod eficient, s ,i s˘a consume cât mai put ,in timp.
Pentru obt ,inerea acestei performant ,e, exist ˘a dou ˘a abord ˘ari populare. Prima este specific ˘a
arhitecturii A3C (Asynchronous Advantage Actor Critic). Aceasta foloses ,te un num ˘ar arbitrar
de muncitori, care are fiecare câte o copie a ret ,elei. Dezavantajul la aceast ˘a metod ˘a provine
de la desincronizarea dintre muncitori. Acest lucru înseamn ˘a c˘a uneori, un muncitor va folosi
parametri mai vechi ai ret ,elei globale, încetinind per ansamblu întregul proces.
Metoda aleas ˘a pentru aceast ˘a implementare este o versiune sincron ˘a ce vine ca o îmbun ˘at˘at,ire
a arhitecturii A2C. În locul definirii mai multor agent ,i separat ,i, se definesc mai multe me-
dii, rulate în procese separate. Se foloses ,te o singur ˘a copie a ret ,elei actuale pentru colectarea

4. Proiectare s ,i implementare 29
observat ,iilor. Odat ˘a ce fiecare proces a colectat num ˘arul de observat ,ii as ,teptate, acestea sunt
concatenate s ,i utilizate pentru optimizarea ret ,elei.
Întregul proces de colectare de informat ,ii se face prin clasa Runner . Un runner îs ,i va crea o
copie a mediului de simulare precum s ,i o copie a ret ,elei în starea curent ˘a a înv ˘at,˘arii. Un aspect
care trebuie luat în considerare pentru cres ,terea performant ,ei este num ˘arul de observat ,ii care
trebuie colectate pentru fiecare set de înv ˘at,are. Dimensiunea setului este unul dintre hiperpara-
metrii generali ai algoritmului. Aceasta ar trebui s ˘a suficient de mare încât s ˘a se poat ˘a obt ,ine
suficiente experient ,e din care agentul s ˘a învet ,e, dar în acelas ,i timp, suficient de mic pentru a
nu necesita prea mult ˘a procesare. Printr-o serie de încerc ˘ari s ,i verific ˘ari, am concluzionat c ˘a
valoarea de 3000 de pas ,i aferent ,i fiec ˘arui iterat ,ii a dus la rezultate destul de bune.
Astfel, un runner va rula episoade întregi în mediul s ˘au, pân ˘a ce num ˘arul de pas ,i pentru set
este atins. O rulare de episod implic ˘a aplicarea unei act ,iuni pe baza politicii curente s ,i salvarea
rezultatelor obt ,inute. Odat ˘a ce toate episoadele au fost rulate, rezultatele sunt concatenate s ,i
returnate pentru a fi procesate. Cele mai importante informat ,ii salvate sunt: starea curent ˘a a
mediului, act ,iunea aleas ˘a la fiecare pas, recompensa primit ˘a s,i punctul în care un episod s-a
sfârs ,it. Pentru cres ,terea vitezei de colectare de informat ,ii, mai mult ,i runner vor fi rulat ,i în
paralel, având câte un mediu separat. Abia dup ˘a ce fiecare instant ,˘a a terminat, sunt centralizate
rezultatele obt ,inute.
4.5.2 Procesarea rezultatelor
A doua etap ˘a în cadrul înv ˘at,˘arii este dat ˘a de calcularea avantajelor. Aceast ˘a etap ˘a este f ˘acut˘a pe
baza metodei estim ˘arii generalizate a avantajului (GAE). Pentru fiecare episod complet din setul
de observat ,ii primite, se parcurge fiecare pas s ,i se calculeaz ˘a avantajul conform formulei, pe
baza rezultatelor primite de la critic. Considerând c ˘a la început criticul va avea valori aleatoare,
estim ˘arile init ,iale vor fi foarte proaste. Pe lâng ˘a valorile criticului, formula de la GAE foloses ,te
alt,i doi hiperparametri. Primul este factorul de reducere, folosit în ecuat ,ia lui Bellman, notat
cu
. Acesta determin ˘a important ,a pe care agentul o ofer ˘a act ,iunilor din viitor. Considerând
c˘a episoadele nu sunt foarte lungi s ,i sunt în timp real, înv ˘at,area este mai eficient ˘a când factorul
de reducere este mai apropiat de 1. În felul acesta, agentul nu este penalizat dac ˘a act ,iunile
de la început nu îi aduc recompense imediat. Astfel, pe parcursul antrenamentului, valorea
utilizat ˘a pentru factorul de reducere esete 0:99. Al doilea hiperparametru folosit folosit este
, folosit de formula GAE. În cazul acesta, valoarea utilizat ˘a este 0:95, pentru ca echilibrul
dintre recompensa acumulat ˘a s,i avantaj s ˘a fie optim ˘a. În final, rezultatul va fi un set de avantaje
asociate pentru fiecare pas din episoadele colectate.
4.5.3 Antrenarea criticului
Înainte de a modifica politica agentului, este optimizat ˘a ret ,eaua criticului. Acest lucru se face
pe baza urm ˘atoarei funct ,ii de cost:
Lv() = (V(st)V(st))2:
În cazul acesta, V(s)se refer ˘a la estimarea curent ˘a a criticului pentru observat ,iile de la
pasult, iarV(s)este estimarea f ˘acut˘a prin calculul avantajului. Astfel, criticul este optimizat
s˘a mics ,oreze diferent ,a dintre estim ˘arile f ˘acute s ,i cele obt ,inute prin aplicarea GAE.
Antrenamentul se face pe baza unui miniset de date selectate în mod aleator din setul mai
mare de observat ,ii deja calculate. M ˘arimea mini-setului este în mod normal proport ,ional ˘a cu
m˘arimea setului mare. Pentru valorile utilizate, am ales m ˘arimea mini-setului s ˘a fie de 64de

30 4. Proiectare s ,i implementare
Figura 4.3: Antrenare în mediul Humanoid-v2
pas ,i. Acesta reprezint ˘a datele folosite pentru antrenarea ret ,elei. Metoda este folosit ˘a pentru
exploatarea cât mai eficient ˘a a setului mare de observat ,ii obt ,inute. Num ˘arul de epoci prin care
este trecut criticul este un alt hiperparametru folosit. Experimental, valorea care a dat cele
mai bune rezultate este pentru 10epoci de antrenare. Dac ˘a num ˘arul de epoci era prea mare, pe
lâng˘a faptul c ˘a întregul proces de înv ˘at,are ar fi fost mai lent, agentul ar fi înv ˘at,at obiceiuri posibil
gres ,ite, în mod asem ˘an˘ator cum s-ar întâmpla la înv ˘at,area supervizat ˘a la supra-antrenare.
4.5.4 Antrenarea actorului
Dup˘a ce criticul a fost optimizat, urmeaz ˘a îmbun ˘at˘at,irea ret ,elei agentului. În acest scop, va fi
folosit ˘a funct ,ia surogat ˘a de obiectiv t ˘aiat˘a, precum este folosit ˘a în metoda optimiz ˘arii politicii
proxime (PPO):
LCLIP() =E[min(rt()A;clip (rt();1;1 +)A)]
r() =(ajs)
vechi(ajs):
Pentru calcularea avantajelor, se va utiliza o serie nou ˘a de valori care vor fi calculate pe
acelas ,i principiu ca în cazul criticului, cu diferent ,a c˘a de data aceasta vor fi folosite estim ˘arile
de la criticul deja optimizat.
Urm ˘atoarea etap ˘a este calcularea raportului dintre probabilitatea de alegere a act ,iunilor din
setul curent de date colectate s ,i noua probabilitate, obt ,inut˘a dup ˘a o optimizare a politicii. Astfel,
pentru calcularea vechi(ajs), va fi f ˘acut˘a o singur ˘a dat ˘a înainte de modificarea actorului. În
continuare, vor fi selectate date din setul mare pe acelas ,i principiu pe care au fost selectate s ,i în
cazul antren ˘arii criticului. Se calculeaz ˘a la fiecare epoc ˘a noua probabilitate pentru (ajs), iar
rezultatul raportului dintre cele dou ˘a rezultate este t ˘aiat conform formulei din PPO, pentru a se
asigura c ˘a noua politic ˘a nu va fluctua prea mult.
M˘arimea mini-setului de antrenare s ,i num ˘arul de epoci folosite pentru agent sunt aceleas ,i
cu cele folosite pentru critic. Pentru ca funct ,ia obiectiv s ˘a poat ˘a fi folosit ˘a ca funct ,ie de cost,
aceasta este înmult ,it˘a înainte de toate cu 1. Ret ,eaua agentului va fi astfel optimizat ˘a pentru
minimizarea funct ,iei obiectiv surogat.

4. Proiectare s ,i implementare 31
4.5.5 Problema explor ˘arii
Considerând natura metodei de calculare a politicii în cazul actor-critic, explorarea nu mai poate
fi influent ,at˘a atât de us ,or. Pentru metode precum cele de Q-learning, unde sunt alese în mod di-
rect de c ˘atre agent act ,iunile care vor fi studiate la fiecare pas, se poate aplica metoda "greedy .
Astfel, nivelul de explorare al agentului poate fi foarte us ,or controlat prin hiperparametrul ".
În cazul metodelor care modific ˘a politica în mod direct, acest lucru nu mai este posibil. În
schimb, pentru a putea afecta gradul de explorare se foloses ,te o metod ˘a diferit ˘a bazat ˘a pe entro-
pia distribut ,iei de probabilitate a act ,iunilor politicii. O valoare mare a entropiei reflect ˘a faptul
c˘a agentul este înc ˘a foarte nesigur de act ,iunile corecte, s ,i va face astfel mai multe încerc ˘ari,
explorând noi metode.
În mod normal, o valoare mic ˘a a entropiei este dorit ˘a, deoarece reflect ˘a o stabilizare a po-
liticii. Exist ˘a îns ˘a situat ,ii în care, din lips ˘a de explorare, agentul r ˘amâne blocat pe un punct de
maxim global, s ,i nu reus ,es,te s˘a gaseasc ˘a politica optim ˘a. Pentru remedierea acestui aspect, o
tehnic ˘a utilizat ˘a adesea este aplicarea entropiei la funct ,ia de cost a actorului astfel:
Ltotal() =Lclip() +centrentr():
Se adaug ˘a astfel un nou hipermarametru: centr. Cu cât acesta este mai mare, cu atât va
încerca agentul s ˘a exploreze mai mult. Parametrul poate fi folosit s ,i pentru cazul opus în care
entropia este prea mare, s ,i nu reus ,es,te s˘a învet ,e suficient de repede. În cazul acesta se poate
folosi o valoare negativ ˘a pentrucentr.
4.6 Interpretarea datelor
Pentru a înt ,elege mai bine comportamentul agentului pe parcursul înv ˘at,˘arii, este important s ˘a
se urm ˘areasc ˘a rezultatele obt ,inute. În modul acesta se pot determina problemele pe care le
întâmpin ˘a s,i ce hiperparametri trebuie modificat ,i pentru optimizarea înv ˘at,˘arii. În cazul acesta,
metricile folosite au fost: recompensa medie obt ,inut˘a, funct ,ia de cost a criticului, funct ,ia de
cost a actorului s ,i entropia politicii.
Recompensa medie: Este obt ,inut˘a pe parcursul colect ˘arii datelor pentru antrenament s ,i
este cea mai simpl ˘a s,i eficient ˘a metod ˘a pentru a estima calitatea curent ˘a a politicii. Cu cât
aceasta este mai mare, cu atât a reus ,it agentul s ˘a acumuleze o recompens ˘a mai mare pe
parcursul unui episod. Pe lâng ˘a aceast ˘a metric ˘a, mai sunt cateva metrici folosite pentru
estimarea calit ˘at,ii, cum ar fi recompensa maxim ˘a obt ,inut˘a sau lungimea unui episod.
Acestea îns ˘a nu au fost folosite deoarece s-a dovedit c ˘a rezultatul depinde de problema
studiat ˘a foarte mult, s ,i nu este eficient în comporarea cu alt ,i algoritmi.
Funct ,ia de cost a criticului: Arat ˘a cât de bine s ,tie criticul s ˘a estimeze utilitatea situat ,iilor
în care se afl ˘a. Pe parcursul înv ˘at,˘arii, este normal ca aceste valori s ˘a fluctueze. Când
valoarea devine mai mare, înseamn ˘a c˘a agentul are de-a face cu situat ,ii noi pe care înc ˘a
nu le s ,tie estima. Cu cât agentul este mai bine antrenat, eroarea criticului ar trebui s ˘a
scad˘a treptat.
Funct ,ia de cost a agentului: Reflect ˘a modific ˘arile s ,i calitatea politicii. Ca în cazul cri-
ticului, este normal ca aceast ˘a valoare s ˘a fluctueze pe parcursul înv ˘at,˘arii în funct ,ie de
explorarea f ˘acut˘a.

32 4. Proiectare s ,i implementare
Figura 4.4: Rezultate part ,iale din mediul Ant-v2
Entropia: Reflect ˘a gradul de incertitudine a politicii. Este util ˘a pentru a descoperi când
agentul este blocat pe un punct de maxim local. În general, când recompensa acumulat ˘a
înceteaz ˘a s˘a mai avanseze s ,i entropia este mic ˘a, este un semn c ˘a ar trebui m ˘arit coeficien-
tul de entropie.
Pentru studiul acestor metrici a fost folosit tensorboard. La intervale regulate, noi rezultate vor
fi salvate pentru a putea fi interpetate.
4.7 Persistent ,a s,i evaluarea datelor
Clasa Model , folosit ˘a pentru antrenarea ret ,elei, dispune s ,i de un sistem de salvare s ,i înc˘arcare a
modelelor din diferite medii pentru ca antrenamentul s ˘a poat ˘a fi reluat dac ˘a sesiunea este oprit ˘a.
Fiecare mediu simulat va avea un director în care va fi salvat odat ˘a la50de iterat ,ii starea
curent ˘a a parametrilor ret ,elei neuronale. La fiecare 250sau500de iterat ,ii se va face o salvare
separat ˘a a modelului pentru a se putea observa ulterior evolut ,ia agentului. Pe lâng ˘a salvarea
modelului în sine, vor fi salvate într-un director separat toate rezultatele din timpul antrenamen-
tului pentru a putea fi us ,or interpetabile, s ,i ca m ˘asur˘a de backup în cazul în care log-urile de la
tensorboard sunt pierdute sau corupte.
La începutul oric ˘arui antrenament, se va c ˘auta s ,i înc ˘arca în mod automat orice copie a
modelului g ˘asit˘a pentru mediul respectiv, astfel încât înv ˘at,area s ˘a poat ˘a fi reluat ˘a de la iterat ,ia
la care s-a ajuns.
Pentru evaluarea modelelor salvate, clasa Model dispune s ,i de o metod ˘a de simulare folosind
un model dat. Se va deschide un nou mediu simulat, precum se întâmpl ˘a în mod normal la
antrenare. Folosind o copie a ret ,elei init ,ializate cu parametri din modelul dat, aceasta poate fi
folosit ˘a pentru obt ,inerea act ,iunilor pe baza politicii. Simularea se reinit ,ializeaz ˘a automat dup ˘a
terminarea unui episod, s ,i afis ,eaz˘a rezultatele medii obt ,inute de c ˘atre agent.

Capitolul 5
Rezultate experimentale
5.1 Hopper
Primul s ,i cel mai simplu mediu simulat este Hopper. Acesta are ca agent un model al unui
singur picior. Politica optim ˘a c˘autat ˘a în aceast ˘a situat ,ie este ca agentul s ˘a sar ˘a cât mai repede
f˘ar˘a a se împiedica. Rezultatele pot fi vizualizate în graficele din Figura 5.1.
În cazul acesta, problema este considerat ˘a rezolvat ˘a odat ˘a ce recompensa medie este de
peste 1000 . Conform rezultatelor, recompensa t ,int˘a a fost atins ˘a dup ˘a doar 191de iterat ,ii,
ajungând dup ˘a1000 de iterat ,ii la un rezultate de peste 2500 . Conform rezultatelor funct ,iei de
cost a agentului, politica începea s ˘a se stabilizeze în jurul iterat ,iei3000 . Rezultatele obt ,inute
sunt foarte bune, chiar s ,i f˘ar˘a optimiz ˘ari speciale aduse ret ,elei.
5.2 Walker
Al doilea mediu ca s ,i complexitate este reprezentat de Walker. Acesta are ca agent o pere-
che de picioare s ,i urm ˘ares ,te obt ,inerea unei forme de locomot ,ie pentru a înainta. Rezultatele
antrenamentului sunt vizibile în Figura 5.2.
Pentru acest mediu, problema este considerat ˘a rezolvat ˘a când agentul atinge o recompens ˘a
medie de peste 2000 . Pentru antrenamentul acesta, rezultatul a fost obt ,inut dup ˘a numai 964
de iterat ,ii s ,i a ajuns chiar s ,i la o recompens ˘a de peste 3000 . Conform rezultatelor de la cri-
tic, agentul nu a mai dat de st ˘ari noi, iar politica a început s ˘a se stabilizeze in jurul iterat ,iei
1000 . Tehnica obt ,inut˘a de agent este interesant ˘a deoarece a ales s ˘a sar ˘a într-un picior în loc s ˘a
înainteze folosindu-se de ambele.
5.3 HalfCheetah
Un mediu care prezint ˘a o problem ˘a s,i mai complex ˘a decât Walker, este HalfCheetah. De data
aceasta, agentul este reprezentat de o form ˘a simplificat ˘a a unui ghepard, având la dispozit ,ie
dou˘a picioare pentru a înainta. Rezultatele se pot vedea în Figura 5.3.
Fiind o problem ˘a mai complex ˘a, pentru rezolvarea acesteia, recompensa t ,int˘a este de data
aceasta de 3000 . Valoarea dorit ˘a a fost atins ˘a dup ˘a3248 de iterat ,ii. Rezultatul final a ajuns
cu put ,in peste limita de 3000 , dar conform graficului criticului, dac ˘a ar fi continuat antrenarea,
probabil s-ar fi ajuns la o politic ˘a mai bun ˘a.
Ceea ce este interesant la acest mediu, este faptul c ˘a primele încerc ˘ari nu au atins rezultatul
dorit. Agentul r ˘amânea blocat pe spate din cauza antrenamentului din primele iterat ,ii s,i ajungea
33

34 5. Rezultate experimentale
Figura 5.1: Rezultate Hopper-v2
Figura 5.2: Rezultate Walker2d-v2

5. Rezultate experimentale 35
Figura 5.3: Rezultate HalfCheetah-v2
la o politic ˘a limitat ˘a la doar 1300 . Acest exemplu demonstreaz ˘a important ,a obiceiurilor obt ,inute
la început. Pentru a remedia aceast ˘a problem ˘a am mics ,orat dimensiunea ret ,elelor criticului s ,i
agentului la 2straturi de m ˘arime 10, respectiv 5. Astfel, am redus spat ,iul ipotezelor, s ,i agentul a
reus ,it s˘a g˘aseasc ˘a o politic ˘a mai performant ˘a pe lung ˘a durat ˘a. Prin comparat ,ie fat ,˘a de rezultatele
finale ale antrenamentului, se poate observa c ˘a la prima încercare agentul a avansat foarte rapid
spre un punct de maxim local s ,i a r˘amas blocat acolo, în timp ce la ultimul antrenament, evolut ,ia
a fost constant ˘a de-a lungul iterat ,iilor.
5.4 Ant
Cele mai rapide s ,i impresionante rezultate au fost obt ,inute în mediul Ant-v2. În cazul acesta,
agentul este o furnic ˘a având patru picioare pentru deplasare. Rezultatele obt ,inute sunt cele din
Figura 5.4.
Pentru cazul acesta, recompensa medie obt ,inut˘a de agent trebuie s ˘a dep ˘as,easc˘a o valoare
de5000 . Pentru antrenamentul prezentat, aceast ˘a valoare a fost atins ˘a dup ˘a7231 de iterat ,ii.
Procesul de înv ˘at,are a fost destul de echilibrat s ,i nu a fost necesar ˘a adaptarea parametrilor
special pentru aceast ˘a problem ˘a.

36 5. Rezultate experimentale
Figura 5.4: Rezultate Ant-v2

Capitolul 6
Concluzii
În urma testelor f ˘acute, rezult ˘a faptul c ˘a algoritmul este capabil s ˘a proceseze s ,i s˘a învet ,e cu
succes doar pe baza recompenselor primite în medii cu observat ,ii s,i act ,iuni în domeniu continuu.
Pentru multe din problemele date, rezultatele au fost foarte bune, iar agent ,ii au ajuns s ˘a dezvolte
o tehnic ˘a de locomot ,ie f˘ar˘a a fi nevoie de alte optimiz ˘ari suplimentare sau de ajutor din exterior.
Pentru câteva dintre medii îns ˘a s-a dovedit c ˘a parametrii init ,iali nu au fost suficient ,i pentru
atingerea normelor stabilite. Prin studiul rezultatelor obt ,inute, performant ,a poate fi îns ˘a m˘arit˘a
destul de us ,or cu modific ˘ari minime.
Un alt aspect foarte important este predispozit ,ia politicilor de a se fixa pe o tehnic ˘a anume
din primele iterat ,ii de antrenare. Unele dintre aceste tehnici s-ar putea s ˘a fie eficiente doar la
început, dar s ˘a duc ˘a în final la o politic ˘a mai slab ˘a. Pentru a putea obt ,ine politica cea mai
apropiat ˘a de cea optim ˘a, este nevoie ca antrenamentul s ˘a fie rulat de mai multe ori cu init ,ializ˘ari
diferite pentru a ne asigura c ˘a au fost atinse cât mai multe posibilit ˘at,i.
Timpul necesar antrenamentelor s-a dovedit de asemenea destul de scurt, fiind necesare mai
put ,in de 10ore pentru majoritatea solut ,iilor. Valoarea aceasta este îns ˘a influent ,at˘a de m ˘arimea
observat ,iilor s ,i act ,iunilor agentului, s ,i ca urmare pentru probleme cu complexitate m ˘arit˘a este
de as ,teptat ca durata antrenamentelor s ˘a creasc ˘a.
Având în vedere c ˘a natura complexit ˘at,ii mediului influent ,eaz˘a anumit ,i parametri ai antre-
namentului, o form ˘a de îmbun ˘at˘at,ire pentru viitor ar fi determinarea unei metode automate de
optimizare a parametrilor pe baza caracteristicilor problemei care se urm ˘ares ,te rezolvat ˘a.
Înv˘at,area prin consolidare a devenit o metod ˘a standard pentru rezolvarea unei mari variet ˘at,i
de probleme din robotic ˘a. Des ,i au fost dezvoltate în timp metode tot mai performante de
înv˘at,are care s ˘a fac ˘a fat ,˘a la datele complexe cu care are de a face un robot, toate acestea se
bazeaz ˘a în general pe o form ˘a sau alta de ghidare. Pentru a g ˘asi rezultatul optim la mai multe
probleme este necesar ca robotul s ˘a învet ,e f˘ar˘a a primi foarte mult ajutor din exterior. Conside-
rând rezultatele obt ,inute la problemele studiate, înv ˘at,area automat ˘a poate fi într-adev ˘ar folosit ˘a
pentru a obt ,ine rezultate în medii asem ˘an˘atoare cu cele cu care au de a face robot ,ii în realitate
s,i s˘a creeze politici care vor putea fi ulterior folosite direct pe robot ,i.
37

38 6. Concluzii

Bibliografie
[1] V olodymyr Mnih, Koray Kavukcuoglu, David Silver and Alex Graves. Playing Atari with
Deep Reinforcement Learning
[2] John Schulman, Philipp Moritz, Sergey Levine, Michael I. Jordan and Pieter Abbeel.
High-Dimensional Continuous Control Using Generalized Advantage Estimation
[3] John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov. Proximal
Policy Optimization Algorithms
[4] Greg Brockman, Vicki Cheung, Ludwig Pettersson, Jonas Schneider, John Schulman, Jie
Tang, Wojciech Zaremba. OpenAI Gym
[5] Vincent François-Lavet, Peter Henderson, Riashat Islam, Marc G. Bellemare and Joelle
Pineau (2018). An Introduction to Deep Reinforcement Learning
[6] David E. Rumelhart Richard Durbin Richard Golden Yves Chauvin. Backpropagation:
The basic theory
[7] Osvaldo Simeone, Fellow, IEEE. A Very Brief Introduction to Machine Learning With
Applications to Communication Systems
[8] Bellman, R. 1957a. “A Markovian decision process”.
[9] Watkins, C. J. and P. Dayan. 1992. “Q-learning”. Machine learning.
[10] Sutton, R. S., D. A. McAllester, S. P. Singh, and Y . Mansour. 2000. “Policy gradient
methods for reinforcement learning with function approximation”
[11] Vijay R. Konda John N. Tsitsiklis. Actor-Critic Algorithms
[12] V olodymyr Mnih, Adrià Puigdomènech Badia, Mehdi Mirza, Alex Graves, Tim Harley,
Timothy P. Lillicrap, David Silver and Koray Kavukcuoglu. Asynchronous Methods for
Deep Reinforcement Learning
[13] Arthur Juliani, Vincent-Pierre Berges, Esh Vckay, Yuan Gao, Hunter Henry, Marwan Mat-
tar and Danny Lange. Unity: A General Platform for Intelligent Agents
[14] Emanuel Todorov, Tom Erez and Yuval Tassa. MuJoCo: A physics engine for model-based
control
39

Similar Posts