Az ötlet
A Q-tanulás célja, hogy minden állapot és cselekvés párhoz megtanuljon egy értéket, a Q-értéket. Ez azt becsüli, mennyi jövőbeli jutalom várható, ha az adott állapotban az adott cselekvést választjuk, majd tovább jól döntünk. Ha ezek az értékek pontosak, a jó politika egyszerűen adódik. Minden állapotban azt a cselekvést választjuk, amelynek a legmagasabb a Q-értéke. A tanulás lényege tehát ezeknek az értékeknek a fokozatos pontosítása a tapasztalatok alapján.
Hogyan frissül egy Q-érték
A Q-tanulás úgynevezett időbeli különbség (temporal difference) elven frissít. Amikor az ágens egy cselekvés után jutalmat kap és új állapotba kerül, összeveti a korábbi becslését azzal, amit most tapasztalt. Az új becslés a most kapott jutalomból és a következő állapot legjobb, diszkontált Q-értékéből áll össze. A régi Q-értéket ennek irányába mozdítja el, kis lépésekben. Így az értékek fokozatosan a helyes szint felé közelítenek, anélkül, hogy előre ismernénk a környezet szabályait. A felfedezés itt is fontos, mert csak akkor tanuljuk meg egy cselekvés valódi értékét, ha eleget próbáljuk ki.
- Cselekvés választásaAz ágens az aktuális Q-értékek alapján, epszilon-mohó módon lép.
- Jutalom és új állapotA környezet visszaadja az azonnali jutalmat és a következő állapotot.
- Célérték számításaA jutalom és a következő állapot legjobb diszkontált Q-értéke adja az új becslést.
- A Q-érték elmozdításaA régi becslést kis lépéssel a célérték felé toljuk, és a kör folytatódik.
Ahol a táblázat elfogy
A Q-táblázat addig működik jól, amíg az állapotok és cselekvések száma kicsi. A valós feladatoknál azonban az állapottér hatalmas lehet. Ha a bemenet egy játék képernyője, akkor gyakorlatilag végtelen sok különböző képpont-kombináció fordulhat elő, ezeket lehetetlen táblázatba írni. Ilyenkor függvényközelítésre van szükség. A Q-értéket nem tároljuk, hanem egy modellel becsüljük meg. Itt lép be a mély tanulás, és megszületik a mély Q-háló.
A DQN és az Atari
A mély Q-hálót a DeepMind kutatói mutatták be egy 2015-ös, a Nature folyóiratban megjelent tanulmányban, Human-level control through deep reinforcement learning címmel. A rendszer Atari 2600 játékokat tanult meg, kizárólag a képernyő képpontjaiból és a pontszámból, ugyanazzal a hálóarchitektúrával és beállításokkal minden játéknál. Két kulcsötlet tette stabillá a tanulást. Az egyik a tapasztalatvisszajátszás (experience replay), amely a korábbi tapasztalatokat egy tárolóban gyűjti, és véletlenszerűen mintavételez belőlük, így csökkentve az egymás utáni lépések erős összefüggését. A másik a célháló (target network), a Q-háló egy lassabban frissülő másolata, amely a tanulási célt kiszámítja, és megakadályozza, hogy a becslés önmagát kergesse.
Emberi szintű játék képpontokból. A DeepMind rendszere a korábbi módszereket a vizsgált játékok közül negyvenháromban felülmúlta, és a játékok több mint felében elérte a professzionális emberi játékos pontszámának legalább háromnegyedét. Mindezt előzetes játékspecifikus tudás nélkül tanulta meg. Forrás, Mnih és társai, Nature, 2015.
Mit érdemes megjegyezni
A Q-tanulás alapötlete a cselekvésértékek tanulása próbálgatással, az időbeli különbség elvén. A táblázatos változat kis feladatoknál elegáns, de nem skálázódik. A mély Q-háló ezt oldja fel azzal, hogy a Q-értéket neurális hálóval becsüli, és a tapasztalatvisszajátszás meg a célháló teszi stabillá a tanulást. A Q-tanulás értékalapú megközelítés, mert az értékekből vezeti le a politikát. A következő leckében egy másik családot nézünk meg, ahol az ágens közvetlenül a politikáját javítja.
Workshop
AI Transformation Day
Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.
Érdekel a program →