Megerősítéses tanulás 9. előadás 1
Backgammon (vagy Ostábla) 2
3
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» 300.000 játék után az eddigi legjobb számítógépes játékos szintje erős kezdő játékos 4
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 5
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! 160 + önmaga elleni játszmák száma: 300.000! 800.000! 1.500.000 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: http://www.research.ibm.com/massive/tdl.html 6
Ö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 DE: faktorizált RL (amit nem tárgyalunk) 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) 7
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 8
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 9
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ő: cél -t paraméterezzük: egyszerű stratégia: kis dimenziós (kevés paraméterrel leírható) -ra optimalizálunk 10
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 11
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. 12
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 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) 15
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 16
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 (2K+1) epizód kellett! ez horribilisen sok nem használtuk ki, hogy a deriváltat számolással is megkaphatjuk 17
Stratégia-gradiens: egy kis számolgatás 18
Stratégia-gradiens: egy kis számolgatás annak a valószínűsége, hogy x-trajektóriát járom be, ha a stratégiát követem 19
Stratégia-gradiens: egy kis számolgatás annak a valószínűsége, hogy x-trajektóriát járom be, ha a stratégiát követem 20
Stratégia-gradiens: egy kis számolgatás likelihood-arány egy epizód T lépésből áll, 21
Stratégia-gradiens: egy kis számolgatás likelihood-arány egy epizód T lépésből áll, 22
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 23
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 24
Példa: robotkutya járni tanul http://www.cs.utexas.edu/~austinvilla 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 25
26
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 27
Megnézzük 28
Megnézzük 29
Házi feladat http://en.wikipedia.org/wiki/mountain_car Sparse Coarse Coding Ritka kódolástól való függés: Hány csempe kell? Csempe (karakterisztikus fv.), vagy Gauss függvény típusú bázisfüggvény jobb? Hogyan függ a felelősségi nyom lambda paraméterétől Kíváncsi vagyok, ki mire jut egy ilyen kutatási (kevéssé specifikált) feladatban pl. a felelősségi nyom képlete vázlatosan adott alább pl. lehet akármelyik módszert használni Kiemelkedően jó és egyértelműen saját eredmény (a megoldással kapcsolatban keresztkérdéseket fogok feltenni ) esetén megajánlom a jelest. http://webdocs.cs.ualberta.ca/~sutton/book/8/node9.html#section00140000000000000000 30
TD felelősségnyomokkal inicializálás: V(s) = 0 minden s-re e(s) = 0 minden s-re t. időpont: a t a stratégia szerint s t+1 megfigyelése TD hiba: e(s) = e(s) minden s-re e(s t ) = 1 minden s-re t := t+1 31
RL+függvényillesztés = sok probléma TD becslés: se nem független, se nem torzítatlan bizony elképzelhető, hogy nem konvergál Akció értékelőfüggvény? Felelősségi nyom? az állapotot a theta vektor írja le Thetában van a felelősségi nyom grad helyett felelősségi nyom felelősségi nyom (új értéke) = régit kicsit felejtjük, új gradienst hozzáadjuk 32