Azberatucdetectareplagiatrogmail.com 601 Licenta Tudor Petre Radu (1) [607274]
Universitatea din Bucures ,ti
Facultatea de Matematică s ,i Informatică
LUCRARE DE LICENT ,Ă
Coordonator Absolvent: [anonimizat] ,ti
Iunie 2018
Universitatea din Bucures ,ti
Facultatea de Matematică s ,i Informatică
LUCRARE DE LICENT ,Ă
Agent Inteligent Pentru Jocuri pe Calculator
Antrenat pe Baza Imaginilor Folosind Învăt ,are
Ranforsată
Coordonator Absolvent: [anonimizat] ,ti
Iunie 2018
Referat asupra lucrării de licență “Agent Inteligent pentru Jocuri pe Calculator Antrenat pe baza Imaginilor folosind Învățare Ranforsată” realizată de Petre Radu Tudor Scopul acestei lucrări este de a realiza o incursiune într-un domeniu de actualitate al informaticii și anume antrenarea unui agent inteligent capabil să joace jocuri 2D pe baza capturilor de ecran ale jocurilor, folosind tehnici de utimă oră din Inteligența Artificială. În dezvoltarea modelului, autorul a utilizat limbajul de programare python, precum și librăria tensorflow. Lucrarea este structurată în cinci capitole. În primul capitol, autorul realizează o scurtă prezentare a temei abordate și a tehnicilor folosite pentru construirea agenților inteligenți. În al doilea capitol, autorul realizează o trecere în revistă a conceptelor teoretice studiate, anume învățarea automată, învățarea ranforsată de tip "deep", rețelele neuronale "state-of-the-art". În al treilea capitol sunt descrise metodele recente utilizate pentru rezolvarea problemei abordate în lucrare. Totodată, capitolul al treilea prezintă modelul propus pentru antrenarea bazată pe învățarea ranforsată a unui agent inteligent capabil să joace jocuri 2D având ca intrare capturi de ecran ale jocurilor. Al treilea capitol se încheie cu o serie de rezultate experimentale. În al patrulea capitol, autorul descrie tehnologiile folosite pentru dezvoltarea modelului, anume limbajul de programare python și librăriile numpy, tensorflow, pygame, shapely. Al cincilea capitol prezintă concluziile lucrării de față, precum și posibile dezvoltări ulterioare. În urma unei activități complexe de cercetare și documentare autorul reușește să elaboreze o lucrare originală și riguroasă, susținută și de o demonstrație practică a agentului antrenat. Lucrarea este deosebită prin faptul că încorporează un algoritm de învățare ranforsată "deep", care necesită un timp îndelungat de antrenare. Atât prin prisma temei abordate cât și prin rezultatele experimentale obținute, autorul a dat dovadă că stăpânește concepte avansate din domeniul Inteligenței Artificiale. Consider că lucrarea îndeplinește toate condițiile pentru a fi prezentată drept lucrare de licență. Propun notarea cu 10 (zece). Conf. Dr. Radu Ionescu
Cuprins
1 Introducere 3
2 Concepte Teoretice 5
2.1 Statistică s ,i Teoria Probabilităt ,ii . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Eveniment. Spat ,iul de Evenimente. . . . . . . . . . . . . . . . . 5
2.1.2 Probabilitate. Spat ,iu de Probabilitate. . . . . . . . . . . . . . . . 6
2.1.3 Independent ,a Evenimentelor . . . . . . . . . . . . . . . . . . . . 7
2.1.4 Variabile Aleatoare . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Învăt ,area Automată . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Sarcinile, T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Măsura performant ,ei,P. . . . . . . . . . . . . . . . . . . . . . 11
2.2.3 Experient ,a,E. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.4 Capacitatea de Generalizare . . . . . . . . . . . . . . . . . . . . 12
2.2.5 Hiperparametri s ,i Datele de Validare . . . . . . . . . . . . . . . . 13
2.2.6 Estimatori, "Bias" s ,i Variant ,ă . . . . . . . . . . . . . . . . . . . 14
2.2.7 Consistent ,a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.8 Optimizarea pe baza Gradientului . . . . . . . . . . . . . . . . . 17
2.3 Ret ,ele Neuronale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 Ret ,ele cu Propagare Înainte . . . . . . . . . . . . . . . . . . . . 20
2.3.2 Antrenarea Ret ,elelor pe baza Gradientului . . . . . . . . . . . . . 23
2.3.3 Ret ,ele Neuronale Convolut ,ionale . . . . . . . . . . . . . . . . . 26
2.4 Învăt ,area Ranforsată . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.1 Procese de Decizie Markov . . . . . . . . . . . . . . . . . . . . . 30
1
Cuprins
3 Metode recente pentru problema aleasă 35
3.1 Jucând Atari prin Învăt ,are Ranforsată "Deep" . . . . . . . . . . . . . . . 35
3.1.1 Algoritm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.2 Rezultate s ,i Experimente . . . . . . . . . . . . . . . . . . . . . . 39
3.2 Control la Nivel Uman prin Învăt ,are Ranforsată "Deep" . . . . . . . . . . 41
3.2.1 Algoritm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.2 Rezultate s ,i Experimente . . . . . . . . . . . . . . . . . . . . . . 42
3.3 Depăs ,irea Uitării Catastrofale în Ret ,elele Neuronale . . . . . . . . . . . . 42
3.3.1 Rezultate s ,i Experimente . . . . . . . . . . . . . . . . . . . . . . 45
4 Algoritm s ,i Rezultate 47
4.1 Algoritmul Propus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Jocuri Propuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.1 Atari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.2 Jocuri Implementate Personal . . . . . . . . . . . . . . . . . . . 54
4.3 Rezultate s ,i Experimente . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.3.1 Atari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.2 Consolidarea Ponderilor Elastice . . . . . . . . . . . . . . . . . . 65
4.3.3 Jocuri Implementate Personal . . . . . . . . . . . . . . . . . . . 67
5 Tehnologii Folosite 75
5.1 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2 NumPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.3 Tensorflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.4 Arcade Learning Environment . . . . . . . . . . . . . . . . . . . . . . . 90
5.5 Pygame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.6 Shapely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6 Concluzii 100
Bibliografie 102
2
Capitolul 1
Introducere
În mediul digital, jocurile au apărut cu scopul principal de a oferi utilizatorilor o
formămodernă,accesibilădedestindere,deodisponibilitatesemnificativridicatăfat ,ăde
cea a jocurilor tradit ,ionale (de exemplu, jocurile sportive, jocurile de cărt ,i, s,ahul etc.),
care inevitabil necesitau aproape de fiecare dată participarea a mai multor jucători s ,i
pretindeauresurses ,i/saucondit ,iiparticularegreudereprodussaugreudeobt ,inut,inutile
înafaracontextuluijoculuirespectivsaualuneiclaserestrânsedejocuriasemănătoarecu
jocul respectiv (de exemplu, un teren de joc, un pachet de cărt ,i, o tablă de joc). Jocurile
digitale au reprezentat un prim pas în centralizarea resurselor de joc, în eficientizarea s ,i
uniformizarea producerii lor s ,i în automatizarea atât a arbitrajului regulilor jocurilor, cât
s,iajucătorilorpropriu-zis ,i,prinintermediul,înmareparte,aunorprogramedeterministe
care iau decizii perfectibile pe baza stării jocului, cunoscută s ,i controlabilă în întregime
la fiecare moment de timp. Astfel s-a produs desolidarizarea unei activităt ,i care a făcut
parte mult timp din sfera ocupat ,iilor umane sociale, fapt care a permis, împreună cu
restul avantajelor platformelor digitale aflate în plină dezvoltare, crearea unui domeniu
comercial extraordinar de profitabil.
În esent ,ă, jocurile reprezintă o simulare. Ele imită, incomplet s ,i imperfect, fenomene
s,i concepte care alcătuiesc realitatea obiectivă s ,i realitatea interpretată cu care oamenii
interact ,ionează. În acest sens, jocurile digitale reprezintă o multitudine de reguli s ,i feno-
mene, de data aceasta discrete, cu care utilizatorii interact ,ionează s ,i care interact ,ionează
înapoicuutilizatorii,prinintermediulsimt ,urilor: vederea,auzul,simt ,ultactil. Eleconsti-
3
Capitolul 1. Introducere
tuiemodelealelumiiînconjurătoare,carecompromitcomplexitateînschimbulcontrolului
deplin asupra lor. Des ,i init,ial banale, aceste modele continuă să evolueze împreună cu
capacitatea fizică a platformelor pe care sunt dezvoltate (de la platformele consolelor
trecutului la calculatoarele din prezent s ,i până la dispozitivele de realitate virtuală din
viitor).
În acest viitor context al jocurilor digitale ca simulări verosimile, ele reprezintă un
mediu propice pentru dezvoltarea unor agent ,i inteligent ,i autonomi care să poată opera
în sens general cu lumea obiectivă exterioară. Jocurile oferă o multitudine de avantaje
în acest scop, printre care cele mai semnificative fiind eficient ,a cu care un astfel de
agent inteligent ar putea învăt ,a să interact ,ioneze cu un mediu al cărui complexitate este
controlabilă cu un indice de fidelitate atât de ridicat, gestionarea consecint ,elor (nu există
riscuri semnificative sau care să se afle în afara controlului dezvoltatorului agentului) s ,i
accesibilitatea replicării rezultatelor.
Au existat multiple solut ,ii deterministe sau pseudo-deterministe de-a lungul timpului
în vederea dezvoltării unor astfel de solut ,ii automate, performante, pentru problema
descrisă, însă majoritatea întâmpină dificultăt ,i în ceea ce prives ,te generalizarea; solut ,iile
suntpreaspecificejocurilorpentrucaresuntdezvoltatepentruaputeafifezabilevreodată
în afara domeniului jocurilor. Am ales, astfel, în mod specific tema antrenării agent ,ilor
inteligent ,i pe baza imaginilor pentru această lucrare, deoarece consider că apropierea de
spat,iulsenzorialuman(încadrulmediuluiinteractivaljocurilor,jucătoriiumaniauacces
numai la ceea ce furnizează înapoi mediul prin intermediul simt ,urilor: imagini, sunete,
vibrat ,ii) reprezintă un pas necesar în direct ,ia unor solut ,ii mai performante s ,i generale.
S,i, des ,i în cadrul acestei lucrări abordez jocuri digitale de o complexitate relativ scăzută
în comparat ,ie cu scopul ultim propus, motivat ,ia rămâne cercetarea unor astfel de solut ,ii
aplicabile în afara domeniului jocurilor digitale.
4
Capitolul 2
Concepte Teoretice
2.1 Statistică s ,i Teoria Probabilităt ,ii
Definit ,iile,teoremele,propozit ,iiles,iecuat ,iiledinaceastăsect ,iuneaufostpreluatedin
[1], [2].
2.1.1 Eveniment. Spat ,iul de Evenimente.
Teoriaprobabilităt ,iiesteoramurăamatematiciicareseocupădestudiuls ,imodelarea
experimentelor aleatoare. În acest sens se defines ,te evenimentul elementar pentru un
experimentaleatoriualescafiindoricaredintrerezultateleposibileobt ,inuteînurmaunei
singure realizări a experimentului respectiv (cu condit ,ia ca fiecare realizare să producă
exact un rezultat) s ,i se defines ,te spat ,iul de evenimente
,;ca fiind mult ,imea tuturor
evenimentelor elementare. În acest context, un eveniment Areprezintă o submult ,ime a
lui
(deci o mult ,ime de evenimente elementare): A
. Un eveniment Aare loc în
urmauneirealizăriaexperimentuluialeatoriu("serealizează")dacă Rrezultatulrealizării
respective apart ,ine mult ,imii evenimentului: R2A. Astfel,
este denumit evenimentul
sigur, deoarece toate rezultatele posibile unei realizări a experimentului aleatoriu vor fi
evenimente elementare s ,i, deci, conform definit ,iei, vor apart ,ine
, iar;este denumit
evenimentul imposibil, deoarece fiecare realizare a experimentului aleatoriu are exact
un rezultat, ci nu mai put ,in. Se împrumută din teoria mult ,imilor terminologia pentru
operat ,iile pe evenimente, a căror însemnătate urmează intuit ,ia:
5
Capitolul 2. Concepte Teoretice
•Reuniunea : evenimentul A[Bserealizeazădacăcelput ,inunuldintreevenimentele
AsauBse realizează
•Intersect ,ia: evenimentul A\Bse realizează dacă se realizează atât evenimentul
A, cât s ,i evenimentul B
•Complementarea : evenimentul Acse realizează dacă evenimentul Anu se reali-
zează
•Diferent ,a: evenimentul A Bserealizeazădacăserealizeazăevenimentul As,inu
se realizează evenimentul B
Două evenimente A;B2
sunt incompatibile (sau disjuncte) dacă A\B=;.
2.1.2 Probabilitate. Spat ,iu de Probabilitate.
Pentrudefiniprobabilitateacafunct ,iedeevenimente,estenecesarăîntâidefinireaunei
-algebre a lui
. Dată fiind o mult ,ime nevidă
,;, se numes ,te algebră a lui
o
familie nevidăFP (
)(Pmult,imea părt ,ilor lui
i.e.P=fAjA
g) astfel încât:
1.A2F) Ac2F(închiderea la complementare)
2.A;B2F) A[B2F(închiderea la reuniune)
Fse numes ,te-algebră a lui
dacă este închisă la reuniune numărabilă:
A1;A2;:::2F)1[
i=1Ai2F (2.1)
(
;F)se numes ,te spat ,iu măsurabil dacăFeste o-algebră a lui
.
În acest context, o măsură de probabilitate pe spat ,iul măsurabil (
;F)este o funct ,ie
P:F! [0;1)cu următoarele proprietăt ,i:
1.P(
)=1
2.P(1S
i=1Ai)=1P
i=1P(Ai),8A1;A2;:::2Fdisjuncte două câte două
Astfel, spat ,iul de probabilitate complet aditiv se defines ,te ca tripletul (
;F;P)unde
,;este spat ,iul evenimentelor, Feste o-algebră a lui
, iar Peste măsură de
probabilitate pe spat ,iul măsurabil (
;F).
6
2.1. Statistică s ,i Teoria Probabilităt ,ii
Pentru un spat ,iu de probabilitate (
;F;P)sunt adevărate următoarele:
1.P(;)=0
2.P(A)P(B),8A;B2F,AB
3.0P(A)1,8A2F
4.P(Ac)=1 P(A),8A2F
5.P(B A)=P(B) P(A),8A;B2F,AB
6.P(A[B)=P(A)+P(B) P(A\B),8A;B2F
2.1.3 Independent ,a Evenimentelor
Într-un spat ,iu de probabilitate (
;F;P), se numes ,te probabilitate condit ,ionată de un
eveniment B2F, notată P(jB) :F!R, raportul:
P(AjB)=P(A\B)
P(B);8A2F (2.2)
Evenimentele A1;A2;:::; An2F(n2)sunt independente dacă:
P(A1\A2\:::An)=P(A1)P(A2):::P(An) (2.3)
Totodată, As,iBsunt independente condit ,ionat de C2Fdacă:
P(A\B\C)P(C)=P(A\C)P(B\C) (2.4)
2.1.4 Variabile Aleatoare
Fie mult ,imea S(R)=f(a;b)ja<b;a;b2Rg. O variabilă aleatoare reală pe spat ,iul
de probabilitate (
;F;P)este o funct ,ieX:
!Rcu proprietatea că
X 1(B)=f!2
jX(!)2Bg2F;8B2B(R) (2.5)
undeB(R)=(S(R))este-algebra mult ,imilor boreliene pe R, sau cea mai mică -
algebră ce cont ,ine toate mult ,imile de forma S(R).
7
Capitolul 2. Concepte Teoretice
O funct ,ie':R!R;n1se numes ,te măsurabilă dacă
'
