1 Megerősítéses tanulás 9. előadás Szita István, Lőrincz András
2 Backgammon (vagy Ostábla)
3
4 TD-Gammon 0.0 TD( ) tanulás (azaz időbeli differencia-módszer felelősségnyomokkal) függvényapproximátor: neuronháló 40 „rejtett” (belső) neuron 198 inputneuron, input: aktuális állás 1 outputneuron, output: nyerés valószínűsége csak a legalapvetőbb információk a játékról játékszabályok nincs megnyitáskönyv nincs végjátékkönyv nincs több lépésre előretekintés játék önmagával » játék után az eddigi legjobb számítógépes játékos szintje erős kezdő játékos
5 Neurogammon: az előző bajnok csak neuronháló, nincs megerősítéses tanulás felügyelt tanítás több százezer állás kiértékelése emberek által ezeken a mintákon tanítás input: előfeldolgozott
6 TD-gammon 2.0, 2.1, 3.0… + előfeldolgozott input + 2 lépés mélységű előretekintés + belső neuronok: 40 ! 80 ! önmaga elleni játszmák száma: ! ! veri a világbajnokot… néhány állást másképp értékel, mint az emberi szakértők azóta az emberi szakértők is átálltak elég pontatlanul becsli a valószínűségeket, de arányaiban jól részletek:
7 Összefoglaló: értékelőfüggvény-alapú módszerek szép elmélet, sok szép gyakorlati eredmény sikertörténetekről még lesz szó, van sok a módszer nagyjából elérte a korlátait a TD-gammon nagyjából a csúcsteljesítmény más játékoknál nem sikerült utolérni fontos alkalmazásokban (robotok irányítása pl.) nem sikerült áttörést elérni mi nem így működünk magas szinten bár alacsony szinten állítólag igen! (jutalom $ dopamin)
8 Alternatíva: direkt jutalommaximalizálás eddig közvetett módon maximalizáltunk: megjegyzés: mindegyik lépést csak részlegesen hajtják végre az algoritmusaink van közvetlen mód is! legyen ( ) az összjutalomfüggvény: az adott stratégiához tartozó várható összjutalom feladat: módszer: gradiensmódszer: -t módosítgatjuk irányában „stratégia-gradiens”-módszer
9 Stratégia-gradiens módszer: hátrányok könnyebb mondani, mint megcsinálni nehéz kiszámolni a gradienst még nehezebb jó becslést adni (kizárólag a minták alapján) a becslések szórása nagyon nagy lesz csak lokális maximum garantálható! 92-ben készen volt az első (és sokáig egyetlen) stratégia-gradiens módszer de a fenti hátrányok (és az értékelőfüggvényes módszer sikere miatt) csak 99-ben vették elő újra
10 Stratégia-gradiens módszer: előnyök fontos észrevételek: sok esetben a stratégia egyszerű, de az értékelőfüggvény bonyolult példa: egyszerű labirintus értékelőfv pontról pontra változik az optimális stratégiák egyszerűek (pl: balra, amíg falhoz nem érünk, utána fel) általában nem érdekel minket az összes állapot értéke … különösen óriási állapotterekben igazából egy állapot értéke sem érdekes, kizárólag az, hogy merre kell lépni a stratégia-gradiens módszer előnye függvényapproximátorokal jön elő: -t paraméterezzük: egyszerű stratégia: kis dimenziós (kevés paraméterrel leírható) -ra optimalizálunk cél
11 Stratégia-gradiens módszer: előnyök a konvergencia megmarad tetszőleges függvényapproximátorral! hiszen gradiensmódszer működik folytonos állapotterekre is! nem használja a Bellman-egyenletet, nem használja a Markov-tulajdonságot ! működik nem-Markov és nem teljesen megfigyelhető környezetekben is
12 Példák paraméterezett stratégiákra neuronhálók bemenet: s állapot, a akció kimenet: az a akció valószínűsége paramétervektor: a neuronháló súlyai triviális paraméterezés minden s,a párra külön s, a paraméter ( s, a ) = s, a csak arra kell ügyelni, hogy minden s -re b s, b = 1 (feltételes maximalizálás lesz) ehelyett gyakran: automatikusan 1-re szummázódik ha valamelyik s, a sokkal nagyobb, mint a többi, az exp miatt mohó akció lesz.
13 Példák paraméterezett stratégiákra lineáris függvényapproximátorok minden állapotról K db „tulajdonságot” ismerek: lineáris kombinációjukból keverem ki a stratégiát : K dimenziós súlyvektor röviden: i ( s, a )-kból alkotott vektor ( s, a ) paraméterezett stratégia lenne de itt is bevezetjük az előző trükköt:
14 Stratégia-gradiens: 0. próbálkozás K dimenziós, ezzel paraméterezzük a stratégiát ( ) kiértékeléséhez futtatjuk -t sok epizódon keresztül (mondjuk N ) egyik ( i.) komponensét picit megnöveljük (+ i ) az új ’-re kiszámoljuk ( ’ )-t (azaz N epizódon át próbálgatjuk) ugyanezt megcsináljuk – i -val is ugyanezt megcsináljuk minden i -re ezekből már ki tudjuk számolni a legmeredekebb növekedés irányát – a gradiensmódszer alapján teszünk arra egy kis lépést minden lépéshez N ¢ (2 K +1) epizód kellett! ez horribilisen sok nem használtuk ki, hogy a deriváltat számolással is megkaphatjuk
15 Stratégia-gradiens: egy kis számolgatás annak a valószínűsége, hogy x -ben leszek, ha a stratégiát követem
16 Stratégia-gradiens: egy kis számolgatás „likelihood-arány” egy epizód T lépésből áll, a p átmenetivszségek változásai becsülhetők közvetlenül a tapasztalatokból a sokféle becslés végezhető együtt a részletek csúnyák, sokféleképpen lehet csinálni, nem megyünk bele…
17 a stratégia-gradiens módszerről sok gond van vele: nagy a szórása a méréseknek ezért lassú a konvergencia csak kis lépésekben lehet haladni a gradiens mentén érzékeny a kiindulási stratégiára mégis sokszor jól használható példa, ami rávilágít az előnyökre és hátrányokra: robotkutya járni tanul
18 Példa: robotkutya járni tanul stratégia paraméterezése: minden láb egy fél-ellipszisen mozog ennek hossza, magassága, dőlésszöge késleltetések, időzítés összesen 12 paraméter fő nehézség: a kísérletezés sok idő! a kísérleti eredmények zajosak is! szerencsére kevés a paraméter a legelsőnek említett módszerrel optimalizálunk többféle kiindulási stratégia
19
20 Robotkutya járni tanul – különböző kiindulási stratégiák véletlen paraméterkészlet: (tipikusan a felállás sem megy) gyorsan megakad egy rossz lokális maximumban kézzel hangolt paraméterkészlet, a lehető legpontosabban: már önmaga is egy lokális maximum, nem javul kézzel hangolt paraméterkészlet, durva beállítás: sokat javul, de nem sokkal jobb, mint az előző kézzel hangolt paraméterkészlet, közepesen finom beállítás: ebből fejlődik ki a legjobb megoldás