Virág Fausztin Asztrik. Gépi tanulás alkalmazása táblajátékokon. Eötvös Loránd Tudományegyetem Természettudományi Kar. Témavezet : Dr.

Hasonló dokumentumok
Statisztikai próbák. Ugyanazon problémára sokszor megvan mindkét eljárás.

d(f(x), f(y)) q d(x, y), ahol 0 q < 1.

4 2 lapultsági együttható =

Hipotézis vizsgálatok. Egy példa. Hipotézisek. A megfigyelt változó eloszlása Kérdés: Hatásos a lázcsillapító gyógyszer?

Ismételt játékok: véges és végtelenszer. Kovács Norbert SZE GT. Példa. Kiindulás: Cournot-duopólium játék Inverz keresleti görbe: P=150-Q, ahol

Support Vector Machines

s n s x A m és az átlag Standard hiba A m becslése Információ tartalom Átlag Konfidencia intervallum Pont becslés Intervallum becslés

KOMBINATORIKA ELŐADÁS osztatlan matematika tanár hallgatók számára. Szita formula

Méréselmélet: 5. előadás,

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika

2. A ξ valószín ségi változó eloszlásfüggvénye a következ : x 4 81 F (x) = x 4 ha 3 < x 0 különben

Egy negyedrendű rekurzív sorozatcsaládról

Regresszió. Fő cél: jóslás Történhet:

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Intelligens Rendszerek Elmélete

METROLÓGIA ÉS HIBASZÁMíTÁS

Az entrópia statisztikus értelmezése

A neurális hálózatok alapjai

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

IDA ELŐADÁS I. Bolgár Bence október 17.

Szárítás során kialakuló hővezetés számítása Excel VBA makróval

Philosophiae Doctores. A sorozatban megjelent kötetek listája a kötet végén található

Műszaki folyamatok közgazdasági elemzése. Kevert stratégiák és evolúciós játékok

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Algoritmusok és adatszerkezetek gyakorlat 09 Rendezések

Véletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31

A bankközi jutalék (MIF) elő- és utóélete a bankkártyapiacon. A bankközi jutalék létező és nem létező versenyhatásai a Visa és a Mastercard ügyek

Gibbs-jelenség viselkedésének vizsgálata egyszer négyszögjel esetén

Az elektromos kölcsönhatás

ORVOSI STATISZTIKA. Az orvosi statisztika helye. Egyéb példák. Példa: test hőmérséklet. Lehet kérdés? Statisztika. Élettan Anatómia Kémia. Kérdések!

Optikai elmozdulás érzékelő illesztése STMF4 mikrovezérlőhöz és robot helyzetérzékelése. Szakdolgozat

2015/16/1 Kvantummechanika B 2.ZH

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

2. Reprezentáció-függvények, Erdős-Fuchs tétel

Eseményvezérelt szimuláció

8. Programozási tételek felsoroló típusokra

Függvények határértéke, folytonossága

1.Tartalomjegyzék 1. 1.Tartalomjegyzék

Arany Dániel Matematikai Tanulóverseny 2017/2018-as tanév 2. forduló Haladók II. kategória

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Békefi Zoltán. Közlekedési létesítmények élettartamra vonatkozó hatékonyság vizsgálati módszereinek fejlesztése. PhD Disszertáció

KOVÁCS BÉLA, MATEMATIKA I.

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Julia halmazok, Mandelbrot halmaz

Lineáris regresszió. Statisztika I., 4. alkalom

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Ahol mindig Ön az első! Segítünk online ügyféllé válni Kisokos

20 PONT Aláírás:... A megoldások csak szöveges válaszokkal teljes értékőek!

Algoritmusok és adatszerkezetek I. 10. előadás

Biostatisztika e-book Dr. Dinya Elek

Függvények növekedési korlátainak jellemzése

Mesterséges Intelligencia MI

HALMAZELMÉLET feladatsor 1.

Számításelmélet. Második előadás

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Bázistranszformáció és alkalmazásai 2.

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Permutációk véges halmazon (el adásvázlat, február 12.)

Példák ekvivalencia relációra (TÉTELként kell tudni ezeket zárthelyin, vizsgán):

Markov-láncok stacionárius eloszlása

,...,q 3N és 3N impulzuskoordinátával: p 1,

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

1. Példa. A gamma függvény és a Fubini-tétel.

Statisztikai. Statisztika Sportszervező BSc képzés (levelező tagozat) Témakörök. Statisztikai alapfogalmak. Statisztika fogalma. Statisztika fogalma

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

(eseményalgebra) (halmazalgebra) (kijelentéskalkulus)

Egyváltozós függvények 1.

IT jelű DC/DC kapcsolóüzemű tápegységcsalád

Modellek és Algoritmusok - 2.ZH Elmélet

Lineáris egyenletrendszerek

1. Holtids folyamatok szabályozása

Orosz Gyula: Markov-láncok. 4. Statisztikus golyójátékok

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

Vázlat. Relációk. Példák direkt szorzatra

Függvények július 13. Határozza meg a következ határértékeket! 1. Feladat: x 0 7x 15 x ) = lim. x 7 x 15 x ) = (2 + 0) = lim.

Abszolút folytonos valószín ségi változó (4. el adás)

1. A k-szerver probléma

A Bradley-Terry modell elemzése

LINEÁRIS ALGEBRA (A, B, C) tematika (BSc) I. éves nappali programtervező informatikus hallgatóknak évi tanév I. félév

Megerősítéses tanulási módszerek és alkalmazásaik

Kvantum-tömörítés II.

A kvantum-információelmélet alapjai

Elméleti összefoglaló a Valószín ségszámítás kurzushoz

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

/11 Változtatások joga fenntartva. Kezelési útmutató. UltraGas kondenzációs gázkazán. Az energia megőrzése környezetünk védelme

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Relációk. Vázlat. Példák direkt szorzatra

Tanult nem paraméteres próbák, és hogy milyen probléma megoldására szolgálnak.

Egyenáramú szervomotor modellezése

Tiszta és kevert stratégiák

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

Megerősítéses tanulás 7. előadás

Periodikus figyelésű készletezési modell megoldása általános feltételek mellett

Táblázatok 4/5. C: t-próbát alkalmazunk és mivel a t-statisztika értéke 3, ezért mind a 10%-os, mind. elutasítjuk a nullhipotézist.

7. Mágneses szuszceptibilitás mérése

Átírás:

Eötvös Loránd Tudományegyetem Természettudomány Kar Vrág Fausztn Asztrk Gép tanulás alkalmazása táblajátékokon BSc Alkalmazott Matematkus Szakdolgozat Témavezet : Dr. Lukács András Számítástudomány Tanszék Budapest, 2017

Köszönetnylvánítás Köszönettel tartozom a témavezet mnek Dr. Lukács Andrásnak ak végg szabadkezett hagyott nekem a témában. Szeretném megköszönn Tamás Tímeának a rengeteg segítségét, am nélkül a szakdolgozatom tartalma és megjelenése messze elmaradna a jelenleg formájától. Szeretnék köszönetet mondan Maga Balázsnak, hasznos megjegyzéseért és a dolgozatban szerepl bzonyítások kegészítéseért. Továbbá köszönöm Fellner Máténak, aknek szakdolgozat témája és alapos munkája engem s motvált a saját témám során. Valamnt szeretném megköszönn a családomnak a folyamatos támogatást, f leg anyukámnak Vrág Rózsa Ibolyának ak végg szurkolt, hogy a programom végre elkezdjen tanuln. Végül, de nem utolsó sorban köszönöm barátamnak Molnár Tamásnak és Szabó Zsolt Dávdnak akk meganny kusza gondolatmenetet hallgattak végg a témával kapcsolatban, már akkor s amkor még nem s foglalkoztam vele gazán. 2

Tartalomjegyzék 1. Bevezetés 4 2. Mélyháló 5 2.1. Neuronok......................................... 5 2.2. Mélyháló felépítése.................................... 7 2.3. Tanulás.......................................... 8 3. Q-tanulás mélyhálóval 13 3.1. Markov döntés folyamat................................. 13 3.2. Eljárások......................................... 15 3.3. Q-tanulás......................................... 17 3.3.1. Cselekvés vsszajátszás folyamat........................ 17 3.4. Mély Q-tanulás...................................... 23 3.4.1. A módosított DQN algortmus......................... 24 4. Eredmények 25 4.1. Játékos programok, és táblakódolás........................... 25 4.2. Q-tanuló játékos..................................... 26 4.3. DQN játékos....................................... 26 3

1. fejezet Bevezetés A dolgozat alapötlete abból az észrevételb l jött, hogy az ember ahhoz képest mlyen kevés tudással s születk, mégs az élete során menny mndent meg tud tanuln. Valószín nek tartom, hogy az agyunk sajátos szerkezete matt vagyunk erre képesek. Szerettem volna ezt a jelenséget kcsben reprodukáln. Magától értet d volt az el z gondolat után, hogy a mesterséges neuronhálók körében kezdjek el keresn. Ezeket korábban, épp az ember agyról alkotott modell alapján kezdték el kdolgozn. Sokág kudarcot jelentettek, többek között a számítógépek kapactása sem volt megfelel. Mára már elég elterjedtek ahhoz, a legtöbb helyen jelen legyenek az életünkben, mondhatnám tt példának az önvezet autókat, de akár egy hétköznapbb tárgyat, a telefonunkat s. Unverzáls aproxmátorok lévén rengeteg a gyakorlat felhasználásuk, de talán a legtpkusabb példa a képfelsmer szofverek, ezekt javarészt mnd el re betanított neuronhálókat használnak. A legtöbb táblajáték olyan, amt a ksgyerekek s könnyen megtanulnak. Mvel nem rendelkeztem komolyabb gép er forrással, ezért gyekeztem egy kell en egyszer játékot választan, mnt például a 3 3 am ba. A cél az volt, hogy a program számára a játék egy fekete doboz legyen, semmlyen, a játékkal kapcsolatos nformácóval kezdetben ne rendelkezzen. Emellet szempont volt az s, hogy magától tanulja meg, vagys mközben játszk, folyamatosan tanuljon. Ezt nevezk meger sítéses tanulásnak, amt remekül kapcsolt össze neuráls hálókkal a mély meger sítéses tanulás témaköre, azon belül s az Atar játékokban ember szntet elér algortmust vettem alapul [10]. Ezen szakdolgozat gyekszk az alapoktól felépíten a szükséges fogalmakat és tételeket mnd a neuronhálók, mnd a meger sítéses tanulás témakörében. Néhány olyan tételt, am ugyan szükséges a témakörhöz, de a bzonyítása mer ben más témakör, lletve más fogalmakat használó csak kmondunk, de nem bzonyítunk. El bb megsmerkedünk a mélyhálónak nevezett neuráls hálóval, aztán egy specáls meger sítéses tanulás fajtával, a Q-tanulással, majd a dolgozat utolsó harmadában összekapcsoljuk a két témakört egy algortmus segítségével. A legvégén pedg az algortmus egy ksebb módosított formáját leteszteljük az am ba játékon. 4

2. fejezet Mélyháló Mnt azt már említettük, a mesterséges neuronhálók ötlete azon alapul, hogy megpróbáljuk lemásoln valahogy az ember agyat. Az agyban a becslések szernt 10 9 degsejt található és az ezek közt kapcsolatokon száguldó töltések eredményezk a gondolatankat, a szándékankat, de még az emlékenket s. Amkor tanulunk vagy élményeket szerzünk ezen kapcsolatok folyamatosan változnak. Míg egyesek meger södnek, mások meggyengülnek, esetenként akár új kapcsolatok jönnek létre vagy épp sz nnek meg. Ha ezeket a folyamatokat mepróbáljuk lemodellezn, akkor az egyk legegszer bb megoldás a mélyháló. A neuronok tt rétegekbe vannak rendezve, az nformácó/töltés pedg rétegr l rétegre terjed végg a hálón. Nncsenek olyan kapcsolatok, amk vsszafele mutatnának. Ebben a fejezetben el ször egyetlen egy neuront fogunk megvzsgáln. Megnézzük hogyan épül fel, lletve, hogy matematkalag gazából mre s képes. Ezután felépítjük a többréteg hálózatunkat, ahol a kapcsolatok er sségét egyszer élsúlyok formájában tároljuk. Majd véggvesszük az egyk klasszkus tanítás folyamatot, a backpropogaton algortmust, am nem más, mnt a gradens módszer alkalmazása az élsúlyokon. Ehhez szükségünk lesz olyan tanulómntákra, ahol tudjuk, hogy mlyen bemenetekre mlyen kmeneteket várunk el a mélyhálónktól. Denálunk egy költségfüggvényt arra, hogy mégs mennyre rossz eredményeket adott a neuronhálónk a tanulómntánkon és megpróbáljuk majd ezt a függvényt mnmalzáln. Az eddg tapasztalatok azt mutatják, hogy az lyen betanítások után a mélyhálónk jól általánosítja a megtanultakat. Vagys nem csak a tanító mntákon kapunk olyan eredményt, amt szeretnénk, hanem más el tte még nem látott bemenetekre s azt kapjuk, amt elvárnánk. Például ha képfelsmerésre tanítjuk, és megmutatunk nek sok sok képet tehenekr l, akkor a tanulás folyamat után ha készítünk egy képet a legel n egy szmpatkus állatról, akkor nagy valószín séggel el fogja tudn dönten, hogy egy boc van-e a képen. Rengeteg sok képfelsmer szoftver használ napjankban hasonló módszert. 2.1. Neuronok 2.1.1. Denícó. Perceptronnak, vagy más néven neuronnak nevezzük azt a (w, b, f) hármast, ahol, w R n a súlyvektor, b R a bas, f : R R aktvácós függvény (tpkusan nemlneárs). A neuron kmenete x R n adott bemenetre: y w,b,f (x) = f(x w + b) (2.1) Mvel kés bb látn fogjuk, hogy hasznos, ha egyszerre több bemeneten s tudjuk futtatn a hálónkat, ezért a továbbakban legyen az a konvencónk, hogy lyen esetben írjuk be ket egy 5

2.1. ábra. A neuron felépítése mátrxba. Azaz ha a bemenetek: {x R n = 1... k} akkor a bemenet mátrx legyen az X R k n, ahol X -edk sora az x. Ekkor a fent denícót egy kcst kb vítve azt kapjuk, hogy a neuron kmenete a (2.1) alapján y w,b,f (X) = f(xw + 1 k 1 b) (2.2) ahol z R k esetén f(z) = (f(z 1 ),..., f(z k )) és 1 k l a k l csupa 1 mátrx. Az aktvácós függvényeknél fontos a nemlneartás, különben ahogy majd látn fogjuk, amkor rétegekbe rendezzük a neuronokat, az egész helyettesíthet lenne, egyetlen réteggel. Néhány gyakor aktvácós függvény: { 1 ha x 0 step: f(x) = 0 ha x < 0 sgmod: f(x) = 1 1+e λ t Relu: f(x) = max(0, x) tanh: f(x) = tanh(x) valamlyen rögzített λ > 0 valós számra A felsorolásba a step függvény csak a történelm jelent sége matt került be. Ugyans a bológa neuron egyk els modellje szernt, ha a neuronban összegy l töltés elér egy küszöbértéket, akkor a neuron ksül, vagys töltést küld tovább. Ha step függvényt használunk, akkor a bas pont ezt a küszöbérték szerepet tölt be. Ennek ellenére ez a függvény egyáltalán nem használható azon tanításra, amt m alkalmazn szeretnénk, ugyans ahogy kés bb látn fogjuk, ebben nagy szerepe van az aktvácós függvények derváltjának. Ez tt a majdnem konstans 0, am alapjaban rontja el a tanulást. 2.1.2. Példa. (AND és XOR) Vegyünk egy step aktvácós függvény, 2 bemenet neuront. A fent két logka m velet közül melyket képes egyáltalán megcsnáln? A feladat tehát az, hogy a (00), (01), (10), (11) bemenetekre az adott logka m veletnek megfelel 1-et vagy 0-t adjon. Ha a neuronhoz tartozó súlyvektor w és a bas b, akkor a xw + b = 0 egyenlet egy egyenest határoz meg a síkon. 2.1 alapján, a step függvénnyel akkor ad 1-et, ha bemenet az egyenes fölött helyezkedk el, különben 0-t ad. Ez magasabb dmenzóban ugyanígy m ködk a hpersíkokkal, és lneárs szeparálásnak hívjuk. Vagys a neuronunk tudása gazából nem más, mnt a lneárs szeparálás. Más aktvácós függvénnyel pl. a sgmod függvénnyel ugyanezt lágy lneárs szeparálásnak nevezzük. Tehát ha megnézzük a két eredet feladatunkat látszk, hogy az AND m veletet megfelel w-vel és b-vel képes lehet ellátn, de a XOR m veletet sohasem lesz képes megvalósítan. 6

2.2. Mélyháló felépítése 2.2. ábra. A XOR és a lneárs szeparálhatóság Most, hogy már láttuk, mre elég egyetlen egy neuron, nézzük meg, hogyan tudunk több neuront s hozzáadn az eddg kcs hálónkhoz. Továbbra s mnden új neuront összekapcsolunk az összes bemenettel. Ekkor a neuronok súlyvektora felírhatók egy mátrxba, oszlopvektorok formájában, hasonlóan így a hozzájuk tartozó basok egy vektort fognak alkotn. 2.2.1. Denícó. Rétegnek nevezzük a (W, b, f) hármast, ahol W R n m, b = (b 1,..., b m ) R m, f : R R. A j-edk neuronhoz tartozó súlyvektor W j-edk oszlopa, a hozzá tartozó bas pedg b j. Egy mátrxra f-et tt s elemenként végezzük el, így értelmezzük f : R k l R k l függvényt s. Adott X R k n réteg kmenete az y W,b,f (X) = f(xw + 1 k 1 b). Az egymást után csatlakoztatott rétegeket, ahol az el z réteg kmenete az következ réteg bemenete, nevezzük mélyhálónak. 2.2.2. Denícó. Legyen (W 1, b 1, f 1 ), (W 2, b 2, f 2 ),...,(W L, b L, f L ) L db réteg, ahol W R l 1 l = 1,..., L. Jelölje Θ = {(W 1, b 1 ),..., (W L, b L )} és Φ = {f 1,..., f L }. Az F Θ,Φ : R l0 R l L, F Θ,Φ (X) = f L (f L 1 (... f 2 (f 1 (XW 1 + 1 k,1 b 1 )W 2 + 1 k,1 b 2 )... ) X R k l0 függvényt L réteg mélyhálónak nevezzük. 2.2.3. Megjegyzés. Ha ez nem okoz félreértést, általában nem írjuk k külön a Θ-t és Φ-t. 2.2.4. Megjegyzés. Θ-ra gondolhatunk úgys, mnt a súlyvektorok és basok elemenként felsorolva egy hatalmas dmenzós vektorként. Amkor egy konkrét feladatra szeretnénk alkalmazn egy neuronhálót, akkor megfelel paraméterek kszámolására nem nagyon van lehet ségünk, de mégs szeretnénk a gyakorlatban jól m köd paramétereket találn. Erre alapvet en két megközelítést lehet használn, az egyk valamlyen evolúcós algortmus használata, jellemz en az élsúlyokra, de elképzelhet, hogy az egyedek eltér aktvácós függvényeket használnak. Ha párhuzamot szeretnénk vonn, ez ahogy a neve s sugalja, egy faj fejl désének felel meg. A másk ötlet, hogy egyedsznten fejlesszük a hálót, és ne s foglalkozzunk más egyedekkel. A szakrodalomban ezt nevezk tanulásnak, lyenkor az aktvácós függvényeket az elején rögzítjük és az élsúlyokat és basokat kezdetben véletlenszer en választjuk, majd a tanítás során ezeket változtatjuk. 7

2.3. ábra. A mélyháló felépítése 2.3. Tanulás A gép tanulás messze túlmutat a mélyhálók rodalmán, sok más egyéb tanuló rendszerek s léteznek. De alapvet en két f csoportra bonthatjuk, a szernt, hogy vannak-e tanítómntánk, avagy sem. 2.3.1. Denícó. (X, Y ) N elem (tanító)mnta, ha X R N n bemenetre egy F : R n R m mélyhálótól Y R N m kmenetet várjuk el. 2.3.2. Megjegyzés. Természetesen nem bztos, hogy a vzsgált mélyhálónk az X-re tényleg az Y -t adja, de a célunk, hogy a tanulás fázs végére hasonlót kapjunk. 2.3.3. Példa. Képfelsmerésben vannak képenk, amket már valak el re felcmkézett, hogy mket ábrázolnak. Ekkor a képek pxeljet sorfolytonosan tudjuk egy vektorban ábrázoln, ez lesz X egy sora. Kmenet dmenzójának pedg válasszuk az összes lehetséges címke darabszámát. A várt kmenet ekkor úgy néz k, hogy Y,j = 1, ha az -edk képen a j-edk címke szerepel. 2.3.4. Példa. Egy adott táblajátéknál konkrét meccsekb l kgy jtöttök, hogy melyk állásban mt léptek, vagy valamlyen heursztkával megjósoljuk, mt kellene lépn. Ekkor a tábla egy megfelel vektoros reprezentácója lehet a bemenet, a kmenet pedg tt s anny dmenzós, ahány lépés lehetséges (állástól függetlenül), és ott szerepel egyes, amelyket meglépték a partban. A másk lehet ség, hogy mnden lépéshez rendelünk egy értékét egy heursztkával, hogy mennyre jó lépés, és akkor a várt kmenet mnden álláshoz tartalmazza, hogy adott lépés mennyre jó. Ahol rendelkezésre állnak tanítómnták, azokat nevezzük felügyelt tanulásnak. Ha nncs lyen, akkor felügyelet nélkül tanulásról beszélünk. M most az el bbt fogjuk tárgyaln, bár utóbbra bevett stratéga az, hogy valam módon vsszavezetjük felügyelt tanulásra, például autoencoderek, ahol (X, X) mntákra végezzük a tanítást. Most pontosítsuk kcst a hasonlót. Egy bzonyos hbafüggvény szernt a lehet legksebb eltérést szeretnénk elérn. 8

2.3.5. Denícó. Adott (X, Y ) N elem tanítómnta és F Θ : R n R m mélyháló esetén az L (Θ) = 1 2N függvényt nevezzük négyzetes hbaösszegnek. N F Θ (X) Y 2 2 =1 2.3.6. Megjegyzés. Általában ezt a hbafüggvényt használják, hogy mérjék a mélyhálók tévedését. M s a továbbakban ezzel fogunk számoln, de természetesen más hbafüggvények s elképzelhet k. A tanítás során a gradens módszert fogjuk alkalmazn a hbafüggvényre (ennek egy leegyszer - sített ábrázolása található a 2.4 ábrán). Vagys rögzített tanítómnta esetén keressük a megfelel élsúlyokat a hálózathoz, amvel mnmalzáln tudjuk a mntánkon a hbát. El bb bemutatjuk, hogyan s lehet kszámoln az él- és basszám dmenzós gradenst egy hálózatban. Ehhez szükségünk lesz a Feedforward proogaton algortmusra, am mnden réteghez el állít egy-egy segédváltozót, amt a Backward propogaton algortmusban fogunk felhasználn a gradens kszámítására. Algorthm 1 Feedforward propogaton procedure Forward(X) Z (0) X for j = 1 : 1 : k do H (j) Z (j 1) W (j) + 1 N,1 b (j) Z (j) g j (H (j) ) N L 1 2N Z (k) Y 2 2 =1 a j-edk rétegben a neuronok kmenete aktvácós függvény nélkül a j-edk rétegben a neuron tényleges kmenete Algorthm 2 Backward propogaton procedure Backward(X, ( Y, α) Z (k) 1 N (Z (k) 1 Y 1 ),..., (Z (k) N Y N) H (k) Z (k) g k (H(k) ) L H K b (k) 1 1,N H (k) W (k) (Z (k 1) ) H (k) b (k) b (k) α b (k) W (k) W (k) α W (k) for j = k 1 : 1 : 1 do H (j) ( H (j+1) (W (j+1) ) ) g j (H(j) ) b (j) 1 1,N H (j) W (j) (Z (j 1) ) H (j) b (j) b (j) α b (j) W (j) W (j) α W (j) ) kszámítása 2.3.7. Megjegyzés. Az α-t tanulás együtthatónak nevezzük. 2.3.8. Megjegyzés. A segédváltozók valód jelentését kommentben feltüntetjük, de denícójuknak továbbra s tekntsük azt, am a pszeudókódban szerepel, és a jelentésük a következ tétel bzonyításából derül majd k. 9

2.4. ábra. A gradens módszer a hbafüggvényre 2.3.9. Tétel. A backward propogaton algortmus a gradens módszert hajtja végre a neuronhálón. Bzonyítás. A [3]-t átfogalmazzuk a m jelölésünkre. Az egyszer ség kedvéért tekntsük az algortmust egy mnta esetén, ekkor a H (j) és Z (j) változók sorvektorokat jelölnek, de a bzonyításból látszan fog, hogy több mnta esetén mnden gond nélkül alkalmazhatók a számolások úgy s, hogy ha mntaszámny sorból álló mátrxot jelölnek. Továbbá a félreértések elkerülésének érdekében jegyezzük meg, hogy a bzonyítás során tartjuk magunkat az algortmusban leírt jelölésekhez, ezért például a H (j) egy sorvektort jelöl, míg a H(j) W p,q egy parcáls derváltat. Kezdjük azzal, hogy kszámoljuk az utolsó réteg-bel súlyok parcáls derváltját. L W (k) j, ( ) ( Z (k), Y = Z (k) = = = ) (k) Z ( Y = Z (k) W j, ( ) ( Z (k) Y g k ( ) ( Z (k) Y g k ( ) ( Z (k) Y g k Nagyon hasonló b (k) -ra s. Ebb l adódóan: W (k) := H (k) H (k) H (k) ) H (k) ) W j, W j, ) Z (k 1) j ( Z (k 1)) H (k) Y ) g k ( p ( H (k) W j, ) Z p (k 1) W (k) p, + b(k) = H (k) Z (k 1) j b (k) := H (k) (2.3) ) 10

Most nézzük meg, m történk az utolsó el tt rétegben. L ( ) Z (k), Y = [ ] ( ) (k) Z Z p (k) p Y p p W (k 1) W (k 1) j, = p = p = p = p = p = p = p = p ( Z (k) p Y p ) g k [ ( ) ( Z p (k) Y p g k H (k) p [ [ [ [ [ H (k) p H (k) p g k ( H p (k) W (k 1) j, W (k 1) j, W (k),p j, ( H (k) p W (k 1) j, H (k) p ) ( q Z (k 1) W (k 1) j, H p (k) W (k),p g k 1 H p (k) W (k),p g k 1 H (k) p ( ( ( W (k),p g k 1 ] H (k 1) H (k 1) H (k 1) ) ] ) (k) H p W (k 1) j, Z q (k 1) W q,p (k) + b (k) q ] ) (k 1) H ) ) W (k 1) j, W (k 1) j, Z (k 2) j ] )] ( q Z q (k 2) W (k 1) q, + b (k 1) q = H (k 1) Z (k 2) j )] Innen már teljes ndukcóval könnyen kapjuk a backpropogaton algortmusban látott hbaterjedést: H (j) := ( H (j+1) (W (j+1) ) ) g j(h (j) ) b (j) := H (j) (2.4) W (j) := (Z (j 1) ) H (j) Tehát azt kaptuk, hogy a ( W (1), b (1),..., W (k), b (k)) vektor (megfelel en ndexelve) pont a ( Z (k), Y ) gradenssel egyenl. L Θ Vegyük észre, hogy a hbafüggvényünket szándékosan több mntára, átlagos hbaként denáltuk. Ugyans maga a hbafüggvény egy borzasztó nagy (él- plusz neuronszám) dmenzójú térb l képez a valósba. Különböz módszereket dolgoztak k, hogy a hba vsszaterjeszt algortmust mként használják a tanítás során. Két módszert smertetünk most, mndkett nél jól használható az eredetleg denált hbafüggvény. A módszerek alkalmazhatóságának elemzése túlmutat ezen dolgozat témáján, ezért ezekt l most eltekntünk. A tanítás folyamatot tanítás egységekre (epoch) fogjuk bontan. Egy tanítás egység egy eljárásnak teknthet, amt aztán többször megsmétlünk a tanítás során. A tanítás során legyen T darab tanítás egység, (X, Y ) a tanítómnták, ahol az X j a j-edk bemenethez tartozó 11

elvárt kmenet az Y j. Az egyszer ség kedvéért, jelölje α a tanulás együtthatók egy sorozatát, ahol az -edk együttható α. A sztochasztkus gradens módszer (stochastc gradent descent - SGD) megpróbál egy tanítás egység alatt a lehet legtöbbet elmozduln. Ha egyszerre futtatnánk a teljes tanító mnta halmazon a hba vsszaterjesztést, akkor egyetlen egy lépést teszünk, egyetlen egy gradens rányába, tt pedg amíg felhasználja a teljes tanító mnta halmazt, addg N darab gradens rányába mozdul el N-szer több lépést. Célszer ksebb α-kat használn, különben a sok gradens rányába túl nagyokat mozdul el. Ugyan nem a globáls mnmumba konvergál, de nagyon közel kerül hozzá. Algorthm 3 Sztochasztkus gradens módszer procedure SGD(X, Y, α) for = 1 : 1 : T do σ T egy véletlen permutácója for j = 1 : 1 : N do Backward(X σ(j), Y σ(j), α ) Az egyszer ség kedvéért tegyük most fel, hogy K osztja N-et. Általában 50 K 256, de feladattól függ en más s lehet persze. [4] Algorthm 4 Ksköteg gradens módszer procedure MMGD(X, Y, α, K) for = 1 : 1 : T do σ T egy véletlen permutácója for j = 0 : 1 : ( N K 1) do X (X σ(j K+1), X σ(j K+2), X σ(j K+3),..., X σ(j K+K) ) Y (Y σ(j K+1), Y σ(j K+2), Y σ(j K+3),..., Y σ(j K+K) ) Backward(X, Y, α ) 12

3. fejezet Q-tanulás mélyhálóval Ágensnek (agent) fogjuk hívn azt, am képes érzékeln a környezetét és cselekvéseket tud végezn benne, amkért általában jutalmakat, vagy büntetést (negatív jutalmat) kap. A meger sítéses tanulás (renforcement learnng) célja, hogy az ágens a saját cselekvésenek a következményéb l tanuljon és így a lehet legtöbb jutalmat gy jtse össze. Nem feltétlen jelent ez azt, hogy ez a nem felügyelt tanítás egy fajtája lenne, ugyans tt el állítáhatunk a cselekvések és a jutalmak által tanítómntákat. Sokkal nkább az a lényeg, hogy tt egy ágens, tanul a környezetében, ambe belehelyezzük, nem pedg tanítjuk kívülr l hozott nformácókkal. A közelmúltban több érdekes és látványos eredményt értek el ezen a területen. Például az aktuáls Go vlágbajnokot skerült megverne (a történelemben el ször) egy számítógépnek. [2] Pár évvel korábban pedg az ember teljesítménnyel egyenérték, vagy épp még jobb képeséggekkel rendelkez programokat fejlesztettek az Atar játékokhoz. [10] Ehhez tovább fejlesztették az úgynevezett Q-tanulás (Q-learnng) módszert, am amolyan reexszer vselkedést tanuló eljárás. A lényeg az, hogy mnden helyzetben tudja, hogy a lehetséges döntése mennyre jók. Mnt látn fogjuk, a Q-nak nevezett függvény pont ezt fogja megadn. Ksebb esetekben Q értékét csak kolvassuk egy táblázatból, vagy valamlyen aproxmátor (pl.: neuronháló) segítségével kalkuláljuk az értékét. Tehát az ágens egy adott helyzetben egy adott cselekvésre sznte azonnal tud mondan egy értékét, hogy mennyre találja jónak, de ebben semm gondolkodás nncs. Nem készít semmlyen tervet. Ahhoz, hogy ez tényleg használható becslés legyen, fontos, hogy olyan környezetben használjuk ezt, ahol a jöv nem függ a múlttól, csaks a jelent l, ezt Markov tulajdonságnak nevezzük. 3.1. Markov döntés folyamat 3.1.1. Denícó. [3] X 1,X 2,X 3,... valószín ség változók sorozatát Markov-láncnak, vagy Markov tulajdonságúnak nevezzük, ha n N és x R: P (X n+1 = x X n = x n,... X 1 = x 1 ) = P (X n+1 = x X n = x n ). A Q-tanulást sokszor hasonlítják ahhoz, mnt amkor az állatokat tanítják be. Ha valamt jól csnál az állat, akkor jutalmat kap, különben pedg büntetést. Ez pedg egy másk lényeges pontja ennek a tanításnak, ugyans a környezett l kapot vsszajelzés alapján tudunk egyáltalán valamlyen értékr l beszéln, amt szeretnék a Q függvénnyel egyre jobban becsüln. Matematkalag a környezetünk, amben az ágensük tanul, a következ képpen néz k: 13

3.1.2. Denícó. Markov döntés folyamatnak, vagy rövden MDF-nek nevezzük az (S, A, P, R, s 0 ) ötöst, ahol: S az állapotok véges halmaza, A véges halmaz eleme a cselekvések, P = {P s,s (a) := P (x = s s, a) s S, a A} az úgynevezett átmenet valószín ség, R = {R s (a) s S, a A} valószín ség változókból álló halmaz, amnek egy eleme határozza meg, hogy menny jutalmat kapunk, ha az s állapotban az a cselekvést választottuk, s 0 a kezdet állapot. Ezen felül feltesszük, hogy a folyamatból dszkrét d közönként meggyelhetünk (s t, a t, s t, r t ) négyeseket, ahol: s t a t-edk d pllanatbel állapot, a t az s t -ben végrehajtott cselekvés, s t az ezután állapot, r t a ténylegesen kapott jutalom ebben az d pllanatban. A meggyelés folyamatos és szünet nélkül, vagys s t = s t+1 teljesül végg és nncs olyan állapotátmenet, amt ne gyeltünk volna meg.[5] 3.1.3. Megjegyzés. Ez egy sztochasztkus folyamat, vagys egy adott állásban egy adott cselekvés után valamekkora valószín séggel jutunk egy-egy másk állapotba. Ezért denáltuk a jutalmat s úgy, mnt egy valószín ség változó, ugyans nem determnsztkus egy adott helyzetben, hogy mlyen állapotba kerülünk onnan. 3.1.4. Megjegyzés. Összesen megszámlálható sok meggyelést teszünk, t = 1, 2, 3,... d pllanatban. 3.1.5. Megjegyzés. Az ágens csak az észleléseket tapasztalja, például az átmenet valószín ségeket általában nem s smer. 3.1.6. Megjegyzés. s S esetén A(s) jelölje az s-b l elérhet cselekvések halmazát 3.1.7. Példa. Képzeljük el, hogy egy befagyott tavon kell eljutnunk egy adott helyre. Vegyünk egy n m négyzethálós pályát. Egy mez egy ks négyzet. Egy mez r l csak egy másk vele (oldal)szomszédos mez re tudunk csak továbbmenn, még pedg úgy, hogy amelyk rányt választjuk, abba az rányba csak 0.8 valószín séggel megy tovább és tovább 0.1 valószín séggel megy a választott rányhoz képest balra és ugyanenny eséllyel jobbra. (A széleken nylván kcst másképp denáljuk) (ÁBRA) Van egy cél mez, ahol a jutalom 1, és van egy rossz mez (egy lék a jégen), ahol 1. [3] S = {(x, y) 1 x n, 1 y m} A = {F EL, JOBBRA, BALRA, LE} P (x,y),(x+1,y) (F EL) = 0.1 14

3.1. ábra. A befagyott tó játék 3.1.8. Példa. Ha egy 3 3 am ba esetén az állások reprezentálhatók egy 9 hosszú vektorral, ahol az X-et és a O-t 1 lletve 1-gyel írjuk le, az üres mez t pedg 0-val. A folyamatban a véletlenszer séget tt az ellenfél jelent, ugyans ha lépünk valamt, utána a következ állapot ambe jutunk függ attól, hogy az ellenfél mt lép. A jutalom ±1 a játék végén, attól függ en, hogy nyertünk vagy veszítünk, különben mndg 0. Mvel a jutalom csak az aktuáls állástól és cselekvést l függ, ezért erre nylván teljesüln fog a Markov-tulajdonság. Fontos smét khangsúlyozn, hogy sem a jutalom, sem az átmenet valószín ségek nem a valód folyamatok tulajdonsága, csaks annak a modelljének. Bármlyen folyamatot tudunk MDF-ként modellezn, ha az állapottért kell en részletesre csnáljuk ahhoz, hogy a modellezend vlágból a releváns nformácókat tartalmazza. [6] 3.2. Eljárások 3.2.1. Denícó. Determnsztkus eljárásnak nevezzük a π : S A függvényt, am mnden állásra megmondja, hogy mt tegyen az ágens. Sztochasztkus eljárásnak nevezzük a π : S A [0, 1] valószín ségeket, vagys a π(s, a) megadja, hogy az s állapotban mekkora valószín séggel hajtjuk végre az a cselekvést tetsz leges d pllanatban. 3.2.2. Megjegyzés. A tanulás során az ágens magatartása az d során folyamatosan változk, így sem egyk sem másk, de az optmáls eljárás (kés bb) bztosan determnsztkus lesz. [6] Az eljárásokhoz kapcsolódóan vezessünk be néhány jelölést a korább fogalmankhoz. P s,s (π) := π (s, a) P s,s (a) (3.1) a A(s) Emellett jelöljük X (s, π, n)-nel azt a valószín ség változót, hogy az s állapotból ndulva n 0 lépés után a π eljárást követve melyk állapotba jutunk, és ugyanígy az R s (π, n)-nel a jutalmat. Szükségünk lesz még a várható jutalomra egy adott állapot után ezért legyenek R s (a) := E [R s (a)] és R s (π) = E [R s (π, 0)]. A tanuló ágensünk egyetlen célja az lesz, hogy valamlyen értelemben maxmalzálja a kapott jutalmat. Természetes ötlet lenne, hogy folyamatosan adja össze (addtív jutalmak) a jutalmakat 15

és törekedjen ezt maxmalzáln. Azonban van egy matematkalag könnyebben kezelhet másk megközelítés, am talán az ember vagy mégnkább az állat gondolkodástól sncs annyra távol. Próbáljunk a jelenre koncentráln és a nem túl távol jöv re. Úgys, am d ben nagyon távol van, nagyon nehezen jósolható meg pontosan. Ezt az elvet követ, az úgynevezett leszámítolt jutalmak (dscounted rewards), azaz r t + γr t+1 + γ 2 r t+2 +... számítás, ahol 0 < γ < 1 a leszámítolt tényez (dscounted factor). [6][3] A cél tehát az, hogy mnden álláshoz rendeljünk egy (releváns) értéket és mndg próbáljunk a lehet legjobb állásokba jutn. 3.2.3. Denícó. Egy[ rögzített π eljárás mellett (az állások) érték függvényének nevezzük a ] V π : S R V π (s) := E γ n R s (π, n) függvényt, ahol 0 < γ < 1. n=0 3.2.4. Állítás. Ha R s (a) s S, a A, akkor V π (s) s S. [6] Bzonyítás. V π (s) = E [R s (π, 0)] + γe [V π (X(s, π, 1))] = R s (π) + γ s S P s,s (π)v π (s ) Mvel az állapottér véges és R s (π) a feltételb l következ en létezk, egy S smeretlenb l és S egyenletb l álló lneárs egyenletrendszert kapunk. Ha egyoldalra rendezzük az smeretleneket, a másk oldalon csupa 0 marad. Ebb l következk, hogy létezk megoldás. A továbbakban mndg feltesszük, hogy R s (a) létezk mnden (s, a) párra. Ismervén R s (π)-t és P s,s (π)-t, a V π (s)-t s tudjuk számoln, de ez nagyon d gényes. Tehát most már egy adott eljárás alapján tudjuk értékeln az állásokat a várható jutalmakból, most szeretnénk egy olyan eljárást találn, am mnden állapotban a lehet legmagasabb értékékeket bztosítja. Legyen V (s) := sup V π (s). π 3.2.5. Denícó. Optmáls eljárásnak nevezzük és π -gal jelöljük azt az eljárást, ahol V (s) = V π (s) teljesül s S-re. 3.2.6. Denícó. Azt mondjuk, hogy adott MDF és 0 < γ < 1 esetén a v : S R függvény kelégít a folyamat Bellman-egyenletét, ha { } v(s) = max a A(s) R s (a) + γ s S P s,s (a)v(s ) s S. 3.2.7. Megjegyzés. Gyengébb feltételek mellett az MDF 3.1.2 egy leszámítolt tényez vel szokás denáln úgys, mnt sztochasztkus dnamkus programozás feladat. A továbbakban a γ leszámítolt tényez t m s az MDF részeként adottnak tekntjük. Messze nem trváls, de a Q tanulás szempontjából roppant fontos a következ tétel, de a bzonyítás hossza és bonyolultsága matt csak anélkül közöljük. 3.2.8. Tétel. A Bellman-egyenlet egyetlen megoldása V. [8] 3.2.9. Következmény. Létezk π, és ráadásul determnsztkus eljárás s. (Mnden állapothoz rendelje 3.2.6-bel maxmum cselekvést.) 16

3.3. Q-tanulás Ez az alfejezet teljes egészében (ha épp más forrás megjelölés nncs) a [7] alapján készült. 3.3.1. Denícó. Egy adott π eljárás mellett Q π (s, a) := R s (a) + γ s A(s) Q (s, a) := Q π (s, a)-t Q-függvénynek nevezzük. P s,s (a)v π (s )s S, a A. A Q-függvény adott eljárás mellett megmondja, hogy melyk cselekvésnek mennny lesz a várható leszámítolt jutalma. Nylván V (s) = max a A(s) Q (s, a), vagys ha a s jelöl a cselekvést, ahol felvesz a maxmumot, akkor 3.2.9 matt π (s) = a s. El fordulhat, hogy π nem egyértelm (több maxmumhely s van egy állapotnál), de Q egyértelm. A nevéb l adódóan a Q-tanulás (Q-learnng) célja megtanuln a Q függvényt. Mnt korábban szó volt róla, az MDF-hez hozzátartozk megszámlálhatóan sok meggyelés. Ezekb l tapasztalatokat gy jt ágens, amket epzódokba rendez. 3.3.2. Denícó. Az ágens tapasztalatanak nevezzük az n 1 (s n, a n, s n, r n ) epzódok sorozatát, ahol a n az s n állapotban végrehajtott cselekvés, amután az s n állapotba került a tanuló és r n a tényleges jutalom amt ekkor kapott. Megköveteljük azt s, hogy az n + 1-edk epzód kés bb meggyelésb l származzon, mnt az n-edk. 3.3.3. Megjegyzés. Az epzódok sorozatának nem kell folytonosnak lenne, azaz s n s n+1. 3.3.4. Denícó. Egy adott (s n, a n, s n, r n ) epzód sorozat, Q 0 : S A R függvény és rögzített α n poztív valós számsorozat mellett Q-tanulásnak, vagy Q-terácónak nevezzük a következ függvénysorozatot: ] (1 α Q n (s, a) = n )Q n 1 (s, a) + α n [r n + γ max Q n 1(s, a ) ha s = s n a = a n a A(s ) Q n 1 (s, a) különben 3.3.5. Megjegyzés. Q 0 értéket gyakran véletlenszer en választjuk meg. Az ágens n terácó után az arg max {Q n 1(s, a )} cselekvést választja. a A(s ) 3.3.6. Megjegyzés. Ehhez a tanuláshoz nncs szükség az állapotok között átmenet valószín - ségekre, és a tanulás során sem próbálja közelíten ezeket a valószín ségeket. Ezért ezt modell nélkül (model-free) tanításnak nevezzük. Watkns eredet bzonyítását fogjuk követn, hogy belássuk a Q n Q konvergencát. Ehhez denálunk egy az ágens tapasztalataból képzett másk epzód sorozatot. Most smertetjük a cselekvés vsszajátszás folyamatot, vagy rövden ARP-ot (Acton-Replay Process). 3.3.1. Cselekvés vsszajátszás folyamat Tekntsünk egy MDF-et, a hozzá tartozó epzódokat a szokásos jelölésekkel. Erre a továbbakban valód folyamatként fogunk hvatkozn. Valamnt vegyünk egy ehhez tartozó Q-tanulást. 17

3.3.7. Denícó. Legyen S = { s, n s S, n N} az ARP állapot-tere és nevezzünk az n-et szntnek. A = A az eredet cselekvések. Jelölje n az eredet epzódok közül annak az ndexét, ahol -edk alkalommal próbáltuk s állapoton az a cselekvést. Ekkor legyen { { arg max n < n } ha s állapotban a cselekvést hajtottak végre az n-edk epzódban := 0 különben Ekkor n jelöl az utolsó olyan epzód ndexét, am még az n-edk epzód el tt van és s állapotban az a cselekvést hajtották végre, és ugyanígy n 1 jelöl az els lyen epzód ndexét. Ha = 0, akkor legyen a jutalom Q 0 (s, a) és leállunk. Különben α n valószín séggel 1 (1 α n )α n 1 valószín séggel 2 (1 α e := n )(1 α n 1)α n 2 valószín séggel (3.2)... 0 =1 (1 α n ) valószín séggel jelölje a vsszajátszandó epzód sorszámát az (s, a)-t tartalmazó epzódok közül. e = 0 esetén a jutalom legyen megnt Q 0 (s, a) és álljunk le, különben a jutalom az r n e és a következ állapot az s n, n e e 1 lesz. A folyamat szemléletesen azt jelent, hogy az epzódokat ráírjuk kártyalapokra. Leteszünk egy kártyát, amre a Q 0 (s, a)-értéket írjuk, azután rátesszük még egy kártyát felírva rá az els epzód tartalmát, aztán a következ kártyára a másodk epzód tartalmát és így tovább. Vagys a paklban alulról számolva az (k + 1)-edk kártyára felírjuk az (s k, a k, s k, r k) adatokat. Ezt addg folytatjuk, amíg rá nem tettük az épül pakl tetejére, az (n 1)-edk epzódot s. Ekkor kész vagyunk a pakl elkészítésével. Ezután addg veszünk le a tetejér l lapokat, amíg olyannal nem találkozunk, ahol s állapotban az a cselekvést hajtottuk végre (n + 1-adk kártya alulról nézve). Feldobunk egy érmét, am α n valószín séggel fej, és α n valószín séggel írás. Ha fej, akkor kerülünk az s, n állapotból az s n, n 1 állapotba, mközben rn jutalmat kapunkk, vagys vsszajátszuk, hogy m történt a kártyán írt epzód szernt. Ha írást dobtunk, akkor eldobjuk a kártyát és megnt addg húzunk a paklból, amíg olyan kártyát nem találunk, amn az szerepel, hogy s állapotban a cselekvést csnáltuk. Itt újra feldobunk egy érmét, de tt az ehhez tartozó α valószín séggel kapunk fejet. Az lyen folyamatos laphúzások közepette ha a pakl aljára érünk, akkor csak vsszaadjuk jutalomnak a Q 0 (s, a)-t. Ez teknthet úgy, hogy egy specáls állapotba kerülünk, amb l már soha nem mozdulunk k, és a jutalmak mndg 0-k lesznek ezután az állapot után. Ez azt jelent, hogy továbbra s tudunk a leszámítolt jutalmakkal számolna végtelen sorként, de közben mégs van végállapot, am után lényegében nem folytatódk a folyamat. Az ARP esetén mndg véges sok állapoton megyünk keresztül, mert ahogy látszk s, mnden lépésben a sznt csökken, legalább 1-gyel. A leszámítolt tényez, legyen a valód folyamatnál használt γ. 3.3.8. Lemma. Q n (s, a) az optmáls érték az ARP s, n állapotában az ARP a cselekvése mellett. Azaz Q n (s, a) = Q ARP ( s, n, a) s S, a A, n 0. Bzonyítás. Teljes ndukcóval fogjuk belátn. Az állítás n = 0 esetre az ARP denícója szernt teljesül. Most tegyük fel, hogy n 1 szntg teljesül. Ha az eredet epzódokból, az s n, a n s, a-val, akkor 3.3.4 matt Q n (s, a) = Q n 1 (s, a) = Q ARP ( s, n 1, a) = Q ARP ( s, n, a). 18

A másodk egyenl ség következk az (n 1) = n -ból. Ellenkez esetben két dolog történhet s n, n állapotban a n cselekvés mellett. Vagy (1 α n ) valószín séggel ugyanaz történk, mnt am az s n, n 1 állapotban történk, vagy α n valószín séggel megkapjuk az r n jutalmat és átkerülünk az s n, n 1 állapotba. Ezek szernt Q ARP ( s n, n, a n ) = (1 α n )Q ARP ( s n, n 1, a n ) + α n (r n + max a Q ARP ( s n, n 1, a )) = (1 α n )Q n 1 ( s n, n 1, a n ) + α n (r n + max a Q n 1 ( s n, n 1, a )) = Q n (s, a) adódk 3.3.4 terácós lépéséb l. 3.3.9. Lemma. Legyen (a k ) m k=1 cselekvések egy tetsz leges sorozata, π pedg egy olyan eljárás, am az els m lépésben végrehatja (a k ) m k=1-et, utána tetsz leges. Ha a jutalmak korlátosak, akkor bármely s állapotra gaz, hogy az el z cselekvés sorozata után kapott leszámítolt jutalom, és a V π (s) különbsége tart 0-hoz, ha m tart végtelenhez. Bzonyítás. Mvel az els m tag megegyezk, így a különbség δ = γ m P sm,s m+1 (a m )V π (s m+1 ). s m+1 Legyen ekkor R a jutalmak fels korláta. Ekkor s S-re V π (s) < R 1 γ a mértan sorösszegképlet matt. Tehát R δ < γ m S 0 ha m. 1 γ 3.3.10. Lemma. Adott l sznt esetén létezk h sznt, úgy hogy tetsz legesen kcs annak a valószín sége, hogy a h szntr l ndulva m cselekvést végrehajtva az ARP-ban az l sznt alá jutunk. Bzonyítás. Legyen h := max {n n} és l := mn {n l}, valamnt α n 0 := 1. Ekkor 3.2 választása matt a valószín sége annak, hogy l alá jutunk az s, n, n > l állapotból végrehajtva az a cselekvést: [ l 1 h h ] l 1 h α n j (1 α n k) = (1 α n ) α n j (1 α n k) j=0 k=j+1 = l j=0 k=j+1 ( ) h = l (1 α n ) < exp h = l α n 0 ha n, és így h. Tehát adott δ-hoz (s, a) párra n s,a, hogy n > n s,a -ra az s, n állapotból ndulva, annak a valószín sége, hogy l sznt fölött maradunk az a cselekvés után 1 δ. Mvel az állapot- és cselekvéstér véges, ezért adott δ esetén létezk n 1 sznt, am felett bármely (s, a) párra teljesül ugyanez. Ekkor smételjük meg ugyanezt δ-val, de most l helyett legyen az alsó határ az n 1. Ezt smételgetve, δ megfelel választásával ɛ > 0-hoz tudunk találn egy h szntet, am a lemma állítását tudja. 3.3.11. Lemma. Ha X n valószín ség változóra a következ gaz: X n+1 = X n + β (ξ n X n ), ahol 0 β n < 1, β n =, βn 2 < és ξ n korlátos valószín ség változó Z várhatóértékkel, akkor =1 =1 X n Z ha n 1 valószín séggel. 19

3.3.12. Lemma. Jelölje P (n) s,s (a) azt a valószín séget, hogy s, n állapotból s, k állapotba kerülünk, és R s,n (a) a szokásos várható jutalmat az ARP-on belül. Ekkor P (n) s,s (a) P s,s (a) és R s,n (a) R s (a), ha n. Bzonyítás. R s,n +1 (a) = (1 α n +1) [(1 α n )(... ) + α n r n ] + α n +1r n +1 = (1 α n +1)R s,n (a) + α n +1r n +1 ( = R s,n (a) + α n +1 rn +1 R s,n (a) ). R-re és α-ra 3.3.11 feltétele teljesülnek, Z = R s (a) és (3.2), így azt kapjuk, hogy R s,n (a) R s (a)ha n 1 valószín séggel. Az állapot- és cselekvéstér végessége matt a konvergenca egyenletes. Denáljuk a { χ n (s 1 ha s ) := n = s 0 különben ndkátort az n-edk átmenetre. Így az átmenet valószín ségekre s fel tudunk írn egy hasonló összefüggést, mnt a jutalmaknál tettük. ( ) P (n+1 ) s,s (a) = P (n ) s,s (a) + α ) n +1 χ n +1 P (n s,s (a) Itt s alkalmazva a 3.3.11 lemmát, azt kapjuk, hogy P (n) s,s (a) P s,s (a) ha n 1 valószín séggel. A 3.3.10 és a függetlenség matt a konvergenca megmarad akkor s, ha feltesszük, hogy k sznt felett maradunk egy lépés után. 3.3.13. Lemma. Jelölje Ps,s (a) = 1,..., m egy m hosszú Markov láncnak az átmenet mátrxat és R s(a) a jutalom függvényeket. Ahol az átmenet valószín sége s 1 állapotból s 2 állapotba a 1 cselekvés mellett Ps 1 1,s 2 (a 1 ), aztán az a 2 cselekvés mellet s 3 állapotba Ps 2 2,s 3 (a 2 ). Adott ɛ > 0, ha Ps,s (a) P s,s (a) < ɛ R S és R s(a) R s (a) < ɛ a, s, s, és Q(s, a 1,..., a m ) jelöl az eredet folyamatban a várható jutalom s állapotból ndulva és végrehatjva sorban a cselekvéseket, Q (s, a 1,..., a m ) ugyanezt az m hosszú Markov lánc esetében, akkor Bzonyítás. m = 2 esetén Q (s, a 1,..., a m ) Q(s, a 1,..., a m ) < ɛm(m + 1). 2 Q(s, a 1, a 2 ) = R s (a 1 ) + γ s P s,s (a 1 )R s (a 2 )Q (s, a 1, a 2 ) = R 1 s(a 1 ) + γ s P 1 s,s (a 1)R 2 s (a 2). 20

Ekkor, ha R s(a) R s (a) < ɛ és Ps,s (a) P s,s (a) < ɛ R S a,, s, s, akkor: Q (s, a 1, a 2 ) Q(s, a 1, a 2 ) = R 1 s(a 1 ) R s (a 1 ) ( + γ P 1 s,s (a 1 )R 2 s (a 2) P s,s (a 1 )R s (a 2 ) ) s R 1 s (a 1 ) R s (a 1 ) ( + P 1 s,s (a 1 )R 2 s (a 2) P s,s (a 1 )R s (a 2 ) ) s + ( P 1 s,s (a 1 )R s (a 2 ) P s,s (a 1 )R s (a 2 ) ) s = R 1 s (a 1 ) R s (a 1 ) ( + P 1 s,s (a 1 ) ( R 2 s (a 2) R s (a 2 ) )) s + (( P 1 s,s (a 1 ) P s,s (a 1 ) ) R s (a 2 ) ) s ɛ + Ps,s 1 (a 2)ɛ + ɛ R S R s s 3ɛ. Hasonlóan m cselekvés esetén kapjuk, hogy Q (s, a1,..., a m ) Q(s, a 1,..., a m ) m(m + 1) ɛ. 2 3.3.14. Tétel. Ha a jutalmak korlátosak ( r n < R), a tanulás együtthatók 0 α n < 1 és α n (s,a) =, =1 =1 akkor Q n (s, a) Q (s, a) ha n, s, a. Bzonyítás. Feltehet, hogy Q 0 (s, a) < R 1 γ γ m [ ] 2 αn (s,a) < s S, a A (3.3) és R > 1. Legyen ɛ > 0 és válasszuk m-et úgy, hogy R 1 γ < ɛ 6. A 3.3.12 lemma matt 1 valószín séggel lehetséges elég nagy l-et választan úgy, hogy n > l és a, s, s -re P (n) Legyen δ olyan, hogy gaz legyen ɛ 3m(m + 1)R S s,s (a) P s,s (a) < R (n) s (a) R s (a) ɛ < 3m(m + 1). δ 1 δ < ɛ 3m(m + 1)R S. 21

A 3.3.10 alapján választható elég nagy h úgy, hogy n > h esetén { } ɛ(1 γ) P (m lépés után l alá kerülünk) < mn δ, 6mR, ɛ 3m(m + 1)R S teljesül. Jelölje P,(n) s,s (a) és R,(n) s (a) a korábbakat, feltéve, hogy m lépés után l sznt fölött maradunk. Ekkor tudjuk, hogy P (n) s,s (a) δ (n) P,(n) P s,s s,s (a) (a) 1 δ 1 δ. Ezután becsüljük (P,(n) s,s (a) P s,s (a))-t és az ellentetjét s. ( P,(n) s,s (a) P s,s (a) ) ( P s,s (a) P,(n) s,s (a) ) P (n) s,s (a) 1 δ Hasonló ügyeskedéssel belátható R,(n) s (a)-re s. P s,s (a) P (n) s,s (a) P (n) s,s 1 δ (a) + P (n) s,s (a) P s,s (a) < δ 1 δ + ɛ 3m(m + 1)R S 2ɛ < 3m(m + 1)R S P s,s (a) P (n) s,s (a) δ 1 δ P,(n) s,s (a) P s,s (a) < 2ɛ 3m(m + 1)R S (n) Ps,s (a) P (n) s,s (a) + P (n) P s,s s,s (a) (a) δ 1 δ (n) ɛ 3m(m + 1)R S + δ P s,s (a)δ 1 δ ɛ 3m(m + 1)R S + δ 1 δ 2ɛ < 3m(m + 1)R S és R,(n) 2ɛ s (a) R s (a) < 3m(m + 1) Tehát n > h esetén P,(n) s,s (a)-ra és R,(n) s (a)-ra teljesülnek 3.3.13 lemma feltétele. QARP( a,a,a1,a 2,...,a m Q(s, a 1, a 2,..., a m ) < ɛ(1 γ) 6mR 2mR 1 γ + ɛ 3m(m + 1) m(m + 1) 2 = 2ɛ 3. (3.4) Ahol az összeg els tagját kapjuk, akkor ha feltesszük, hogy az l sznt alá esünk és mértan sor összegképletével becsüljük felülr l, a másodk tagot pedg akkor kapjuk, ha feltesszük, hogy l sznt felett maradunk és alkalmazzuk a 3.3.13 lemmát. 22

A 3.3.9 szernt az m cselekvés megtétele után, az állapotok értéke már kevesebb, mnt ɛ/6-tal változk csak mnd az ARP, mnd az eredet folyamat során. Valamnt (3.4) alkalmazható, bármely cselekvés halmazon, így az optmálson s. Khasználva 3.3.8 lemmát, kapjuk, hogy Q ARP( s, n, a) Q (s, a) = Q n (s, a) Q (s, a) < ɛ Tehát 1 valószín séggel Q n (s, a) Q (s, a), ha n, amt akartunk. 3.4. Mély Q-tanulás A módszert Davd Slver és a Deepmnd alkotta meg és használta rendkívül eredményesen rég Atar játékokon [10], annak ellenére, hogy elmélet bzonyítás nncs a konvergencára. A Q-tanulás hatékony alkalmazásával az a nagy baj, hogy általában az MDF túl nagy állapot- és/vagy eseménytérrel rendelkezk. Ezért lehetetlen ténylegesen letároln az terácók során a Q n (s, a) függvényértékeket. A megoldás lyenkor az, hogy kombnálják a módszert aproxmátorokkal, mnt például a mélyhálók. A meger sítéses tanulásban az els skeres alkalmazása a területnek a TD-Gammon algortmus volt [?], am a Gammon nev táblajátékot tanulta meg olyan sznten, hogy az akkor vlágbajnokot képes volt megvern. Azonban ez az algortmus a Q függvény helyett az állapot-érték függvényeket tanulta egy két réteg neuronháló segítségével. A mély Q-tanulás (deep Q-learnng - DQN) f hlet je a neural tted Q teraton algortmus [11]. A DQN-t azzal a céllal hozták létre, hogy az ágens úgy tanuljon meg játszan, hogy ugyanazok a feltételek kötk, mnt az embert, vagys bemenetkén a képerny pxelet kapja (egy mnmáls egyszer sítést végeztek csak a képeken, mel tt beadták volna a programnak) és kemenetként a játékkonzol megfelel gomblenyomását kell vsszaadna. A felhasznált neuronháló F Θ : R S R A konvolúcós háló, am a 2.2.2 mélyháló továbbgondolása. (A pontos speckácótól eltekntünk, ugyans a 3 3 am ba esetén az el nye amúgy sem használhatók, azért m a korábban denált mélyhálót fogjuk használn.) Tehát adott (s, a) párra a tanulás során az aktuáls Q(s, a) értéket Q(s, a, Θ) := (F Θ (s)) a szernt denáljuk. Az ágensnek a legtöbb játék esetén mnden 4. képkockafrssítésnél kellett egy döntést hozna (természetesen cselekvésnek számított az s, ha nem csnált semmt), amt aztán a gép folyamatosan smételt a következ döntés hozatalg. A játék során az s állapotban mndg a arg max (Q(s, a)) cselekvést választja. a A tanítás, mvel a Q-tanuláson alapul, továbbra s modell nélkül. Az emulatortól kapott epzódokat felhasználva tanul, de csak az el z N epzódból dolgozk, a régebbeket törl. Ezt nevezk tapasztalat vsszajátszásnak (experence replay). Az algortmus ɛ-mohó stratégát (ɛ-greedy strategy) követ a tanulás során, vagys mnden döntéshozatalnál ɛ valószín séggel véletlenszer en választ egy cselekvést és 1 ɛ valószín séggel választja az arg max _a(q(s, a))-t. Általában ɛ a folyamat során folyamatosan csökken, így a tanulás elején, amkor még az ágens Q függvénye nem releváns, gyakran választ véletlenszer en cselekvéseket és próbál mnél több cselekvésr l nformácót szerezn. Ahogy javul a Q függvény, úgy lesz egyre ksebb szükség arra, hogy új cselekvéseket s kpróbáljon. A játék során gyakran el fordulhatnak olyan sztuácók, amkor például a szerepl t folyamatosan balra kell mozgatn egy man ver során. Ha ebb l a szakaszból tanulna sokat, akkor könnyen általánosítana arra, hogy mndg balra kell mozduln. A cselekvések ezen összefüggéséb l adódó problémát a sztochasztkus gradens segítségével küszöbölték k. A tanítás menete az volt, hogy mnden döntéshozatalnál a környezett l vsszakapott (s, a, s, r) epzódot beletették a tapasztalat vsszajátszóba, majd onnan véletlenszer en kválasztottak egy 23

(s j, a j, s j, r j) epzódot, amre kszámolták az { rj y j = r j + γ max Q(s, a, Θ) ha s j végállapot különben a értéket a 3.3.4 frssítés szabályát felhasználva. Vegyük észre, hogy a Q-terácó során mndg a max Q(s, a ) felé mozdítjuk a Q(s, a) eredet értékét. Jelen esetben a fent denált y j -t használva a vsszavezethetjük a mélyhálók körében felügyelt tanulásra, használva az SGD algortmust. 3.4.1. A módosított DQN algortmus Az am bához neuronhálónak egy mélyhálót használunk és az ágens tapasztalataból ( D) véletlenszer en kválasztott K darab epzódból kalkulált tanítómntákon fogjuk futtatn Backward eljárást. Ennek függvényében a tanulás együtthatót folyamatosan csökkentjük. Algorthm 5 DQN algortmus MMGD és Tapasztalat vsszajátszással táblajátékon 1: D ncalzálása 2: Θ ncalzálása véletlen értékekkel 3: u ncalzálás hány lépésenként fusson le a hba vsszaterjesztés 4: l 0 5: for epoch = 1 : 1 : T do 6: j 1 7: whle D nncs tele do 8: s j állapot ncalzálása akutáls állapot amben lépn kell 9: ɛ g(j) 10: a j ɛ -mohó választással 11: (r j, s j+1 ) a j végrehajtása s j állapotban 12: D (s j, a j, r j, s j+1 ) 13: f j mod u = 0 then 14: σ j egy véletlen permutácója 15: for k = 1 {: 1 : K do γrσ(k) ha s σ(k) 16: y k r σ(k) + γ max Q(s a σ(k), a, Θ) különben 17: X = ( ) s σ(1), s σ(2),..., s σ(k) 18: Y = (y 1, y 2,..., y K ) 19: Backward(X, Y, α l ) 20: l l + 1 21: j j + 1 24

4. fejezet Eredmények Példa játéknak a 3 3 am ba (Tc-Tac-Toe) játékot választottam. Elég könny játék, a gyerekek s kskorukban már hbátlanul tudják játszan. De még s elég bonyolult ahhoz, hogy egy olyan algortmus, am csak véletlenszer en tesz egy szabad helyre kmondottad rossz játékos legyen. Tovább érv volt még emellett az s, hogy a döntés fája, vagys az összes lehetséges állás kgenerálása és a helyes lépések kszámítása egyáltalán nem gényel nagy számítás kapactást, így a tanuló algortmusok játék ereje összevethet a tökéletesen játszó játékossal. Mnt smert, a játék lényege, hogy egy 3 3-as pályára tesznek a mez kre O-t és X-et felváltva a játékosok, és az nyer, aknek a szmbólumából összegy l 3 egy sorban vagy oszlopban, vagy valamelyk nagy átlóban. Ha ez senknek sem skerül, és már nncs üres mez, akkor döntetlen. A másodk játékosnak döntetlenez stratégája. Összesen 4520 féle állás fordulhat el a játék során, ebbe különböz nek tekntjük azokat az állásokat s, amk egymásba forgathatók vagy tükrözhet k. 4.1. Játékos programok, és táblakódolás A játék során az Am ba keretrendszer mndg meghívja a soronkövetkez játékos Lépés(s) függvényét, ahol az s R 9 vektor, ahol a 3 3 pálya sorfolyotnosan van ábrázolva, mégpedg úgy, hogy s rendre 1, 1, vagy 0 aszernt, hogy az adott mez re a játékos korábban tett-e már, vagy az ellenfele, vagy még üres. Egy játszma akkor ér véget, ha valak nyer, vagy döntetlen lesz az állás. Szabálytalan lépés, vagys amkor nem üres mez re próbál tenn azonnal veszít, és lyenkor a másk játékos automatkusan nyer. A játszma végén mndegyk játékos kap pontot: 1-et, ha nyer, 1-et ha veszít és 0.001-et, ha döntetlen. A döntetlen azért nem 0, mert kés bb, DQN algortmusnál így könnyebb volt megkülönböztetn a végállapotot a játszma több állapotától. A tesztekben szerepl játékosok (algortmusok): Véletlen játékos: Az üres mez k közül véletlenszer en választ egyet és odatesz. Tökéletes játékos: Egy mnmax algortmus [3] által el re kgenerált döntés fából keres k az adott állást, ahol a lehetséges jó lépések közül véletlenszer en választ egyet. Q-tanuló játékos: A 3.3.4 algortmust mplementáló játékos. DQN játékos: A 5 algortmust mplementáló játékos. Tensorow-val megvalósítva. A 3.1.8 példában már említettük, hogyan modellezük az am bát Markov döntés folyamatként, de most denáljuk pontosabnan s. Jelölje a T halmaz a játék során kalakulható állások azon részhalmazát, ahol a betanítandó ágens lehet a soron következ játékos. Például, ha az ágens van az X 25

jellel, akkor az üres tábla benne van T -ben, de a csak egy O-t tartalmazó állások, ahol mnden más mez üres nncsenek benne. Ha t T, akkor legyen s = Φ(t) R 9 olyan, hogy ha t -edk sorában a j-edk mez n X volt, akkor s 3( 1) + j + 1 koordnátája legyen 1 és ugyanígy, ha O volt, akkor 1, üres mez esetén pedg 0. Tehát az MDF állapothalmaza az S = {Φ(t) t T } S,ahol S = {ω 1, ω 0, ω 1 }. Kössük k azt s, hogy t T, amre Φ(t) = ω, ekkor ω 1 jelöl azt az állapotot, amre azt mondjuk, hogy ha az ágens ebbe jutott, akkor megnyerte a meccset, ugyanígy ω 0 a döntetlent és ω 1 a vereséget jelent. A cselekvéshalmaza legyen az A = {1, 2, 3,..., 9}, vagys annak a mez nek a sorszáma, ahova tenn akar az ágens. Jegyezzük meg, hogy ha egy s S állapotban végrehajt az ágens egy a A cselekvést, akkor az s állapot, ambe kerül az szntén eleme az S-nek, vagys sztochasztkus tulajdonság tt jelenk meg, amkor az ágens nem tudja el re, mt fog lépn az ellenfele. Az R(s, a) a legtöbb állapot-cselekvés párra konstans valószín ség változó lesz: R(s, a) = 0, kvéve amkor kerülhetünk egy S -bel állapotba s. Ott értelemszer en, ahogy már korábban említettük a gy zelem esetén 1, a vereség esetén 1, a döntetlennél pedg 0.001 jutalom jár. Ebben a fejezetben a fent említett játékosok közül a két utolsó játékerejének a változását fogjuk vzgyáln a tanulás során. Mnd a kett esetében három szempont szernt fogjuk vzsgáln a tanulásuk hatékonyságát (a szempontok között nncs fontosság sorrend). Az egyk jellemz a helyes lépések száma lesz, vagys {s S : Q(s, a) Q(s, a ) és Q (s, a) Q (s, a ) a A} (továbbakban úgy hvatkozunk rá, mnt a játékos statsztkája). A másk szempont az lesz, hogy 1000 meccsb l hányszor nyer, döntetlenezk vagy épp veszít a Tökéletes, lletve a Véletlen játékos ellen. Ne felejtsük el, hogy mndkett tartalmaz véletlent, így van értelme annak, hogy több meccset játszanak egymás ellen. Mndkét esetben megnézzük, mlyen különbséget jelenthet a tanulás során az, hogy kvel játszk. Mnden esetben kpróbáljuk a tanítást úgy, hogy a tökéletes játékos ellen játszk (továbbakban T-tanulás), aztán pedg kpróbáljuk úgy, hogy önmagával játszk. Fontos leszögezn, hogyan s kell ezt érten. Ugyanaz a példány hozza a döntéseket mndkét oldalon és mndkét oldalról kapott epzódokból tanul. Nevezzük ezt a továbbakban öntanulásnak. A lentebb bemutaott ábrák, egy-egy konkrét futás eredménye, de többször smétles esetén s hasonló ábrák születtek. 4.2. Q-tanuló játékos A 3.3.4 Q-tanuló algortmus megvalósítása. Mnden egyes lépés után futtatja a Q-terácót az abból a lépésb l kapott epzódra. Vagys az s állapotban az a cselekvést választja, utána a program meghívja a másk játékos Lépés függvényét vagy megállapítja a meccs végét és ezután a Q-tanuló megkapja az új s állást és r jutalmat, majd futtatja az terácót. A tanulás során N = 400000 meccset játszk. A tanulás együttható legyen α n =, a leszámítolt együttható γ = 0.35. A T- tanulás során nagyon ks ntervallumon ngadozk a statsztka, míg öntanulás során végg konstans maradt. A véletlen játékos ellen hasonlóan rosszul szerepelnek, de am érdekesebb, hogy a tökéletes játékos ellen a T-tanult játékos sokszor a meccsek felében döntetlent játszk. 4.3. DQN játékos Az mplementálás során a Google által tervezett, azóta nyílt forráskódú python csomagot, a Tensorow-t használtuk [12]. Neuronhálók fejlesztésére tervezték, a szükséges számításokat C++ nyelven mplementálták. A Tensorow bel eszközök sznte egy az egyben megfelelnek a mélyhálóval kapcsolatos denícóknak, ezért könnyen használható azok smeretében. N n+n 26

4.1. ábra. Teljesen konstans 4.2. ábra. Mnmálls ngadozás 4.3. ábra. Teljesen konstans 4.4. ábra. Mnmálls ngadozás Mndegyk neuronhálónál tanh(x) aktvácós függvényt használunk, mert meg rz a bemenet el jelét. Hogy összevethessük az el z ekkel tt s N = 400000 meccsre futtattjuk, és ugyanazt a tanulás együtthatót használjuk. A 5 algortmusban szerepl u értéket 1-nek választjuk a most következ példákban. A gradens módszernél a köteg mérete legyen 256. A tapasztalat vsszajátszó mérete 5000. A neuronhálónk egy rejtett réteggel rendelkezk, amben 27 neuron van. A tapasztalat azt mutatta, hogy a 9 többszöröse jól szerepelt a hosszabb tanításokban. Az ön- és T-tanulás között mnmáls különbség gyelhet meg, azonban a T-tanulás jobbnak t nk. A kezdet kísérletek s mnd azt mutatták, hogy a neuronhálót használó játékosoknál az öntanulás mndg hatékonyabb volt. 4.5. ábra. Jobban oszcllál 4.6. ábra. Kevesebb oszcllálás A következ esetben a neuronhálóknak növeljük eggyel a rejtett réteget. Az els rejtett réteg maradjon 27 neuron, az utána lév rejtett rétegben pedg legyen 81 neuron. Az elkészült dagram- 27

4.7. ábra. 100%-ban ver a tökéletes játékos 4.8. ábra. Elhanyagolható esetben döntetlenezk 4.9. ábra. Hullámzó teljesítmény 4.10. ábra. Elhanyagolható eredmények a véletlen játékos ellen mokat nem közüljük, mert mnden esetben sokkal rosszabb futást kaptunk, mnt az el z esetben. Jó példa ez, hogy a több neuron, vagy épp a több réteg nem mndg jár együtt hatékonyság javulással. A poztív példa kedvéért, legyen továbbra s egy darab rejtett réteg, amben most helyezzünk el 270 neuront. Az öntanuló statsztkája láthatóan jobb, mnt a T-tanulójé. Körülbelül 1500 meccs után már több, mnt 3000 állásban lép helyesen, mígy a T-tanuló statsztkája végg 3000 alatt marad. Vegyük észre, hogy azon állások, amk el fordulhatnak a tökéletes játékos ellen, egész specálsnak teknthet k, ugyans nem feltétlenül teljesít jól ellene egy jobb statsztkájú játékos. A másk játékos csak olyan állapotokból tudott tanuln, ahova a Tökéletes játékossal el tudott jutn, ezért jelent s esetben képes döntetlenezn vele. A véletlen játékos ellen sem teljesít annyra rosszul, átlagosan több 40%-ban képes nyern vagy döntetlenezn ellene. De a magasabb statsztkájú játékos jelent sen jobb eredményeket képes elérn, azonban a teljesítménye sokkal ngadozóbb. 28

Az eddg tesztek próbálták követn a Q-tanulás és a DQN algortmus rányelvet, mnt páldául a megfelel tanulás együttható választás, kcs köteg használása a hba vsszaterjesztésnél, valamn az u = 1 választás. Ilyen esetekben 4000 meccs alat körülbelül 16000 32000 alkalommal futott le hba vsszaterjesztés. Az egyk legskeresebb eredményeket produkáló konstrukcó a kísérletek során egy sokkal rtkábban frssít példány volt. Legyen α n = α n 1 0.96 n/15000, u = 1000 a köteg mérete 5000, a tapasztalat vsszajátszó mérete pedg 15000. Ekkor hasonló tanítás d vel, mnt a fenteknél könnyedén elérhat a 4400 körül statsztka és a tökéletes játékos ellen 90%-os döntetlenezés ráta. 29