1 Megerősítéses tanulás 10. előadás Szita István, Lőrincz András
2 Összefoglaló: megerősítéses tanulás a tanulóügynöknek meg kell oldania valamilyen feladatot cselekvéssort (stratégiát) kell kidolgoznia nem (feltétlenül) ismeri a feladatot nem (feltétlenül) ismeri a környezetét mindezt próba-szerencse alapon kell megtanulnia a feladat iszonyú nehéz! de léteznek ügyes megerősítéses tanulás-algoritmusok olyan feladatokat képesek megoldani, amit máshogy nem lehet … ehhez legtöbbször sokat kell ügyeskedni néhány alapmódszert néztünk meg
3 Összefoglaló: megerősítéses tanulás egyszerűsítő feltevéseket kell tennünk véges sok állapot, véges sok akció számszerűsíthető (skalár) jutalom, amit maximalizálni kell a környezet Markov-tulajdonságú azaz nem függ a jövő a régmúlttól azaz a memória bennefogllaltatik az állapotleírásban azaz az optimális stratégiának nincs szüksége memóriára az állapotok teljesen megfigyelhetők a megoldandó feladat egy Markov döntési folyamat
4 Összefoglaló: Markov döntési folyamat megoldása döntéshozatalhoz ismerni kellene a döntés hosszútávú hatásait (a hosszútávon gyűjtött jutalmat) de csak a közvetlen hatást tapasztaljuk! trükk: állapotértékelő függvények: V(s), Q(s, a) ők összefoglalják a hosszútávú hatást értékelőfüggvény birtokában könnyű döntést hozni rekurzív egyenlet írható fel rájuk (Bellman-egyenletek) a felírt egyenletrendszer meg is oldható!
5 Összefoglaló: Bellman-egyenletek megoldása ha ismert a modell, közvetlenül megoldható (dinamikus programozás) értékiteráció stratégiaiteráció általánosított stratégiaiteráció néhány lépésnyi kiértékelés-iteráció után stratégiajavítás ha nem ismert a modell a tapasztalatok alapján becsülhető ( ! közelítő dinamikus programozás) az értékelőfüggvények tanulhatók közvetlenül, modell nélkül is
6 Összefoglaló: RL modell nélkül Monte Carlo fix stratégia kiértékelése: sokszor elindulunk az adott állapotból -t követve, a gyűjtött jutalmak átlaga az állapot értéke lesz optimális stratégia meghatározása: stratégiaiteráció, kiértékelés Monte Carloval, javítás hagyományosan időbeli differenciák (TD) fix stratégia kiértékelése: csak a legelső közvetlen jutalmat mérem, a többi összegét az értékelőfüggvénnyel közelítem optimális stratégia meghatározása: dilemma, mivel csak közvetlen kölcsönhatásból szerezhetünk információt új akciókat kell kipróbálni, hogy információt szerezhessünk az értékükről az eddigi legjobb akciókat célszerű követni, hogy sok jutalmat gyűjtsünk kompromisszum: -mohó stratégia
7 Összefoglaló: TD optimális stratégia számolása: kétféle módszer Q-learning: -mohó stratégiát követünk, de a mohó stratégiát értékeljük ki („off-policy”) Sarsa: -mohó stratégiát követünk, és azt is értékeljük ki („on-policy”) kell: ! 0 továbbfejlesztés: felelősségnyomok módszere átmenet TD és MC között (mindkettőnél jobb) optimális stratégia számolására csak „on-policy” megy egyszerűen az eddigi módszerek elméletileg mind konvergálnak az optimális stratégiához (ha a megfelelő feltételek teljesülnek)
8 Összefoglaló: RL nagy állapottereken nem lehet minden állapot értékét eltárolni az értékelőfüggvényeket csak közelítjük valamilyen függvényapproximátorral a tapasztalatok alapján általánosítunk az egész állapottérre „igazi” problémákon muszáj használni de nincsenek elméleti konvergenciaeredmények
9 Összefoglaló: direkt stratégiakeresés nem használunk értékelőfüggvényt ehelyett néhány paraméterrel leírjuk a stratégiát, és direkt módon felírjuk az összjutalom függését a paraméterektől keressük azt a paramétert, ami maximalizálja az összjutalmat maximumkeresés: gradiensmódszerrel kiszámoljuk a gradienst (összjutalom deriváltja a stratégia szerint) valahogyan becsüljük a gradienst az ügynök tapasztalataiból konvergens – de csak lokális maximumot kapunk! jól használható „nagy” feladatokon de sok hangolást igényel
10 Néhány alkalmazás packet routing channel allocation papers/barbados/sb-channel.pdf papers/barbados/sb-channel.pdf sok egyéb link
11 Néhány alkalmazás – játékok Tetris ( course/student_proj/livnat/tetris.html) course/student_proj/livnat/tetris.html Black and White (a játék) (leírás) Warcraft Neverwinter Nights (a játék) ! Game AI
12 Néhány alkalmazás - robotok egyensúlyozás devilsticking járás helikopter robotfoci
13 Példa: Neverwinter Nights
14 szabályalapú viselkedés if healthpercentage < 50 then drink( "Potion of Healing" ); if roundnumber < 1 then cast( "Mirror Image" ); if distance( closestenemy( "Wizard" ), furthestenemy( "Wizard" ) ) < 200 then cast( "Fireball", centreenemy( "Wizard" ) ); if distance( closestenemy( "Fighter" ), furthestenemy( "Fighter" ) ) < 200 then cast( "Stinking Cloud", centreenemy( "Wizard" ) ); cast( strongoffensive, closestenemy ); cast( randomoffensive, randomenemy ); if distance( closestenemy ) > 200 then rangedattack( defaultenemy ); meleeattack( closestenemy );
15 Fehérek adaptív viselkedés kezdetben véletlen Feketék fix viselkedés „gyárilag” programozott